{"version":3,"sources":["webpack:///src/app/confirm/error.component.ts","webpack:///src/app/selfRatingSection/selfRatingSection.component.ts","webpack:///src/app/selfRatingSection/selfRatingSection.component.html","webpack:///src/app/competency-report/competency-report.component.html","webpack:///src/app/competency-report/competency-report.component.ts","webpack:///src/app/position-ladder/position-ladder.component.html","webpack:///src/app/position-ladder/position-ladder.component.ts","webpack:///src/app/breadcrumb/breadcrumb.component.html","webpack:///src/app/breadcrumb/breadcrumb.component.ts","webpack:///src/app/functionalSkillMaster/functionalSkillMaster.component.ts","webpack:///src/app/functionalSkillMaster/functionalSkillMaster.component.html","webpack:///src/app/managerRatingSection/managerRatingSection.component.ts","webpack:///src/app/managerRatingSection/managerRatingSection.component.html","webpack:///src/environments/environment.ts","webpack:///src/app/superAdminUser/adminuser.component.ts","webpack:///src/app/superAdminUser/adminuser.component.html","webpack:///src/app/dashboard/index.ts","webpack:///src/app/nominate/nominate.component.ts","webpack:///src/app/nominate/nominate.component.html","webpack:///src/app/adminDashboard/adminDashboard.component.html","webpack:///src/app/adminDashboard/adminDashboard.component.ts","webpack:///src/app/util/app.config.ts","webpack:///src/app/util/common.ts","webpack:///src/app/addResource/addResource.component.ts","webpack:///src/app/addResource/addResource.component.html","webpack:///src/app/service/mail.service.ts","webpack:///src/app/service/commons-service.ts","webpack:///src/app/managementUser/managementusers.component.ts","webpack:///src/app/managementUser/managementusers.component.html","webpack:///src/app/behavioralSkillMaster/behavioralSkillMaster.component.ts","webpack:///src/app/behavioralSkillMaster/behavioralSkillMaster.component.html","webpack:///src/app/login/index.ts","webpack:///src/app/service/excel.service.ts","webpack:///src/app/dashboard/dashboard.component.ts","webpack:///src/app/dashboard/dashboard.component.html","webpack:///src/app/ibu/ibu.component.ts","webpack:///src/app/ibu/ibu.component.html","webpack:///node_modules/moment/locale sync ^\\.\\/.*$","webpack:///src/app/app.component.ts","webpack:///src/app/app.component.html","webpack:///src/app/tower/tower.component.ts","webpack:///src/app/tower/tower.component.html","webpack:///src/app/sidebarWrapper/sidebarWrapper.component.html","webpack:///src/app/sidebarWrapper/sidebarWrapper.component.ts","webpack:///src/app/skillRatingSection/skillRatingSection.component.ts","webpack:///src/app/skillRatingSection/skillRatingSection.component.html","webpack:///src/app/training/training.component.html","webpack:///src/app/training/training.component.ts","webpack:///src/app/app.module.ts","webpack:///src/app/header/headerCustom.component.ts","webpack:///src/app/header/headerCustom.component.html","webpack:///src/app/interested-users/interested-users.component.ts","webpack:///src/app/interested-users/interested-users.component.html","webpack:///src/app/scoreComputation/scoreComputation.component.ts","webpack:///src/app/scoreComputation/scoreComputation.component.html","webpack:///src/app/resourceIntervention/intervention.component.ts","webpack:///src/app/resourceIntervention/intervention.component.html","webpack:///src/app/user-dashboard/user-dashboard.component.ts","webpack:///src/app/user-dashboard/user-dashboard.component.html","webpack:///src/app/rating-history/rating-history.component.ts","webpack:///src/app/rating-history/rating-history.component.html","webpack:///src/app/util/index.ts","webpack:///src/app/skillRatingMaster/skillRatingMaster.component.ts","webpack:///src/app/skillRatingMaster/skillRatingMaster.component.html","webpack:///src/app/behavioralSkillMaster/index.ts","webpack:///src/app/app-routing.module.ts","webpack:///src/app/util/constant.config.ts","webpack:///src/app/login/login.component.ts","webpack:///src/app/login/login.component.html","webpack:///src/app/confirm/loginError.ts","webpack:///src/app/admin-sidebar/admin-sidebar.component.ts","webpack:///src/app/admin-sidebar/admin-sidebar.component.html","webpack:///src/main.ts","webpack:///$_lazy_route_resource lazy namespace object"],"names":["ErrorComponent","dialogRef","data","isChrome","error_message","localStorage","getItem","navigator","userAgent","indexOf","console","log","removeItem","close","window","location","reload","confirm","SelfRatingSectionComponent","router","formBuilder","excelService","commonService","common","appConfig","config","_compiler","notAbleToFillRating","showHideModel","loading","isDisabled","isDisabledView","message","modelData","users","fetchData","submitted","loginImageURL","baseURL","loginUserName","isShowModel","skillData","behSkillList","userUpdatedId","towerId","userRole","skillRatingData","selectedPositionId","dateRanges","convertedData","allPositions","isNextTowerSame","ibuList","ibu","functionList","selectedIbuId","alltowerList","towerList","tower","nextPositionId","undefined","clearCache","JSON","parse","userData","logout","userFullName","toLowerCase","userName","emailAddress","trim","length","email","userRoll","nextPosition","currentDate","Date","minDate","year","getFullYear","month","getMonth","day","getDate","markDisabled","getDefaultImgURL","fetchSkillsData","getAllBehSkills","user","navigate","fetchSkillRatingData","fetchUserData","userId","initalizeFunSkillForm","initalizeBehSkillForm","fetchPositions","getAllIBUInfo","groupForm","skillRatingFromDate","skillRatingToDate","i","skillName","required","functionalSkillRatingForm","group","behavioralSkillRatingForm","pipe","subscribe","setItem","showerror","error","statusText","postAllBehSkills","isFunctional","ratings1","ratings2","j","curIndex","getIndexOf","skillScore","newDateRange","formatDate","push","getAllPositionInfo","positionList","ibuId","getTowersListByIbuId","selecteTower","find","selectedTowerId","getFunctionListByIbuId","allInfoPosition","response","ibuName","towerName","functionName","test","resetFunctionValue","resetTowerValue","resetFunctionList","resetTowerList","functionId","filter","item","positionId","positionName","arr","userIds","getAllNextPositions","that","setTimeout","dateStr","isFuntion","fullBehRatingList","fullFunRatingList","getAllFunSkillsForUser","getAllBehSkillsForUser","getJSONObj","userSkill","funUserSkill","skillId","skillLevel","behUserSkill","getAllBehSelfRatingsForUser","convertData","getAllFunSelfRatingsForUser","postAllFunSkills","setFieldsData","isAppr","isApproved","fetchAllBehSkills","forEach","litem","index","categoriseLeaveUsers","countActiveAndInactiveUsers","userskillRatingToDate","isFound","currentTime","getTime","leavingTime","skillRatingForm","invalid","setUserSkillData","currentUserSkill","setUserCurrentSkillData","saveSkillRatingData","closeModels","isenabledFun","isenabledBeh","userFormDetails","userSkillData","skillObj","targetScore","getScoreBySkillName","getDateYYMMDD","score","ratingName","Number","saveSkillsData","reset","setDate","setMonth","value","dd","mm","yy","closeModel1","nativeElement","click","closeModel2","e","routeURL","CompetencyReportComponent","selectedLevel","userList","columnsList","tempTowerList","towerIdsBySelectedIbu","userReportData","behCompByTowers","tempTowerIdsBySelectedIbu","funCompByTowers","userAllNotesList","behDataByTower","funDataByTower","behDataByTowerForStatus","funDataByTowerForStatus","userIbuIds","ibuListForTraining","split","getIbuList","getTowerList","getBehDataByTowerIdForReport","getFunDataByTowerIdForReport","getAllUserNotes","getFunDataByTowerIdForReportForStatus","getBehDataByTowerIdForReportForStatus","findIndex","x","postData","getUsersForReportByTowerIdsArr","exportReportData","excelExportData","headers","strData","match","empCode","approvDate","approvedAt","getIbuNameById","empStatus","batchNo","journeyCompletionDate","getUserStatus","getPositionName","resourceManager","resourceManagerEmail","SLS","SLSE","getManagerBehCompLastDate","getManagerFunCompLastDate","compositeValues","getCompositeValueForExcel","checkSelfBehCompExist","checkSelfFunCompExist","checkManagerBehCompExist","checkManagerFunCompExist","isNaN","beh","fun","full","returnUserNotes","generateExcel","userNotes","$userId","lastDate","ratedByRole","createDate","date","compositeBehSum","compositeFunSum","managerPresentBeh","managerPresentFun","selfPresentBeh","selfPresentFun","countBeh","countFun","thisSkillsPercentage","Math","floor","count","getBehDataByTowerIdReportForStatus","getFunDataByTowerIdReportForStatus","Promise","resolve","reject","getBehDataByTowerIdReport","getFunDataByTowerIdReport","changeTower","getUserReportData","PositionLadderComponent","BreadcrumbComponent","selectedIbuName","selectedFunctionName","selectedTowerName","FunctionalSkillMasterComponent","modalService","formInfoList","activeUserCount","inactiveUserCount","superUserType","allTowers","allTraining","allIbus","towerSelect","maxDate","initUserInfo","formObj","skillCode","arrOfTraining","array","trainingPoint","initialization","get","arr_of_training","removeAt","obj","arr_of_training_update","getAllSkills","getPositionList","formInfo","addTrainingUpdate","checkSkillName","isSuperUser","element","saveFunSkill","updateFunSkill","userInfo","userDeletion","isSkillNameExits","modal","open","width","title","closeModel","ManagerRatingSectionComponent","isenabledMFun","isenabledMBeh","CometencyLevelCount","isMFRatingSubmitted","isMBRatingSubmitted","isBShow","isFShow","isShowCompForm","lastSubmittedDate","diffInDays","ratingInDays","active","getAllBehRatingsForUser","getAllFunRatingsForUser","k","tempStartDate","tempEndDate","dates","dateArray","fSubmittedDate","checkLastSubmitDate","date1","cDate","Difference_In_Time","Difference_In_Days","$","css","mBehRatings","mFunRatings","userEmail","environment","production","AdminUserComponent","superUserInfoList","imageURL","superUserForm","userPassword","userType","userStatus","getAllSuperUsersInfo","superUser","getSuperUserList","superUserInfo","checkUserAlreadyExits","saveSuperUserInfo","updationSuperUserInfo","isUserExits","ursName","NominateComponent","el","panelOpenState","marked","newNomi","attrValue","checkedEligiblity","disabledNominatiobtn","showEligCrtModel","nomination","errorNomination","successNominee","nomineeData","userparm","typesResource","selectedEmail","selectedSVEmail","selectedUserId","currentRole","currentPositionList","whyMove","experience","lastBSC","otherNextPosition","isOtherNextRole","maxCharForWhyToMoveLength","initiatedFormValue","maxLeftCharacterWhyToMove","initalizeUserForm","nomineeUserData","fetchuserData","fetchCurrentPositions","numericRegex","addUserForm","svEmail","sendEmailNiit","sendEmailToAll","getUsersListByPost","fetchUserSkillsData","dataValue","formTower","document","querySelector","formFunction","event","target","formIbu","fieldValue","formRole","fetchAllFunSkills","leaveDate","userLeaveDate","saveApplicantsData","resourceEmail","joinDate","updateUserData","setSkills","userSkills","fetchSkillData","re","String","formDetails","userid","getAUser","controls","setValue","onChangeIBU","newNomination","then","checked","slice","alert","onClickOK","AdminDashboardComponent","displayName","gotoNextPage","AppConfig","serveURL","defaultImgURL","protocol","Common","tempDate","setHours","start","end","dt","getDay","bookingdate","calDate","compareToDate","compareFromDate","AddResourceComponent","render","cdr","statusDiv","apprArry","status","nextPositionList","resetUserId","resetUserData","nominatedUseristory","dtOptions","userNotesList","empStatusList","EmpStatusList","batchNoList","BatchNoList","trStatusList","TrStatusList","curStatus","columnList","dropdownSettings","selectedItems","dtRendered","dtTrigger","initUserNotesForm","AddResourceAllColumnList","events","removeClass","body","remove","disabledFnc","initImportUserForm","singleSelection","idField","textField","selectAllText","unSelectAllText","itemsShowLimit","allowSearchFilter","AddResourceColumns","importUserForm","userFile","userNotesForm","notesId","noteUserId","noteUserName","addUserNotes","getElementById","getUserNotes","patchValue","notes","resourceName","SUPCode","SLSUPCode","TTA","currentPosition","typeResource","detectChanges","validateEmail","isResourceExit","saveUserData","selItem","item_text","column","slug","getEmpStatus","format","updateData","resetUserforRenomination","userProfileHistory","team","parseInt","createdByEmail","saveUserProfileHistory","result","splice","getNominatedUserHistory","items","formData","FormData","append","importUserData","files","file","fetchNextPositions","onSubmitUserNotes","excelReport","onItemSelect","onUnselectColumn","onSelectAll","MailService","http","getServerURL","toEmails","attendeesEmails","assignuserData","post","res","CommonService","username","password","loginas","ipAddress","ip","searchCSDNo","filteredIssues","selectedValue","csdno","startdate","enddate","bookingData","startDate","changeCSDStatus","selectedCSD","currentCSDStatus","userBookingData","updatedUserData","cSDNo","cSDStatus","bookedUsers","deletedUser","selectedCSDNo","deletedUserList","endDate","filterName","csdsStr","noOfCSD","updateSkillSetData","supervisorEmail","interventions","skillRating","ibuInfo","isFatchAll","towerInfo","managementUserInfo","moduleConfig","towerLocationInfo","reportEmailConfig","position","role","emailType","toEmail","ccEmail","type","formStatusDetails","targetRoleId","trStatus","ManagementUsersComponent","managementUserInfoList","towerInfoList","userRoles","isSuperAdmin","isHrUser","checkedIbuList","selectedUserIbu","updatedIbuList","getAllManagementUsersInfo","getAllTowsersInfo","getAllUserRoleList","managementUserForm","managementUser","isChecked","getManagementUsersList","getManagementUsersListByTowerId","getTowerInfo","join","saveManagementUserInfo","updateManagementUserInfo","stringify","roleId","userRoleName","userRoleId","BehavioralSkillMasterComponent","positionSelect","saveBehSkill","updateBehSkill","ExcelService","datePipe","header","workbook","worksheet","addWorksheet","headerRow","addRow","eachCell","cell","number","fill","pattern","fgColor","argb","bgColor","border","top","style","left","bottom","right","filteredData","convertJsonToAOA","d","row","qty","getCell","getColumn","xlsx","writeBuffer","blob","Blob","equals","one","two","before","after","DashboardComponent","calendar","selectedFunctionId","towersOfSelectedIbu","isBehData","isFunData","loadingTower","isHovered","fromDate","toDate","hoveredDate","isInside","isFrom","isTo","getToday","getNext","getBehDataForReport","getFunDataForReport","getFunctionNameById","ngOnInit","getFunctionList","tempArr","userJson","setTowerIdInLocalStorage","towerTempList","towerIdArray","toString","getCompositeValue","getAllNextPositions2","funData","behData","url","getTowerInfoByIbuId","IBUComponent","ibuInfoList","ibuForm","getAllIBUInfoByIbuId","checkIBUName","saveIBUInfo","updateIBUInfo","isIBUNameExits","map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","Error","code","keys","webpackContextKeys","Object","module","exports","AppComponent","val","TowerComponent","ordering","towerForm","checkTowerName","saveTowerInfo","updateTowerInfo","isTowerNameExits","SidebarWrapperComponent","show","buttonName","toggle","SkillRatingSectionComponent","TrainingComponent","materialModules","AppModule","provide","useClass","forRoot","HeaderCustomComponent","interesteNominee","isNomibtnShow","showNominateButton","getAllUsersForTower","userNewNominee","getUserId","getAllResoucesForTower","appr","checkNewNomination","openDashboard","InterestedUsersComponent","appRjctbtn","viewNominatedData","isNominated","getTowerId","whyApproved","buttonNameR","nextRole","showOtherNextRole","initialFormValueSet","valueChange","fromApprove","selectedTower","myGroup","formReject","dataForm","num","towerid","closeApproveModel1","oldApprsta","WhyApprRjc","isAppRj","whyApprove","ibuValue","towerValue","functionValue","nextRoleValue","formNextRole","oldStatus","newStatus","whyApprRjctOld","whyApprRjctNew","approveDisapprove","insertUserHistory","statusHistoryData","emit","getUserDetail","nextRoleVal","ScoreComputationComponent","userFunSkillList","userFunSkillRatingList","userSkillRatingData","skillList","userBehSkillRatingList","userBehSkillList","skillRatingList","functionalActive","behavioralActive","selectedType","isSkillDataPresent","currentPositionName","nextPositionName","getSkillDetails","getUsersList","getSkillRatingDetails","selectedCombinedId","currentUserId","getNextPosition","userNextPositionId","selectedUserTowerId","getUserFunSkillRatingInfo","filterFuncomputeScoreList","getUserBehSkillRatingInfo","filterBehComputeScoreList","skillRatingObj","managerRating","selfRating","SkillName","replaceSkillName","replace","cl","InterventionComponent","isEnable","headders","sDate","eDate","resourceSkillsData","resourceBehSkillsData","removeUsersFromList","chart","viewContent","totalMonth","selectedTab","addChartData","skillArray","consolidatedChartData","consolidatedBehChartData","consolidatedTableData","consolidatedBehTableData","selectedStoryLine","selectedLectora","selectedHTML","currentUserList","interventionList","usersInterventionList","interventionId","userInterventionList","selectedMonth","skillBehData","clickedSkillId","butDisabled","curRating","curRatingVal","ratingDataFunctional","ratingDataBehavioral","funClicked","behClicked","commonInterventionData","currentSkillIntervention","outsideDays","updateUserSkillForm","interventionForm","interventionFieldArray","createFields","fetchBehSkillsData","fetchSkillDataPost","fetchBehSkillDataPost","str","userFunSkillByTowerPosition","userBehSkillByTowerPosition","getInterventionList","getUsersInterventionList","c","interventionFieldsArray","interventionFieldForm","savedInterventionId","expectedLevel","actualLevel","interventionStartDate","interventionEndDate","skills","dataFor","getStartAndEndDate","getUserInfo","getCurrentSkillLevel","storyLineSkills","lectoraSkills","htmlSkills","beginner","intermediate","expert","numOfMonth","getDatesYYMMDD","getMonthsNameArray","getResourcesSkillHistory","getResourcesBehSkillHistory","usersInfo","filterUsers","filterUsersSkills","getTableCanvas","getConsolidatedChart","getConsolidatedTableData","userInfodata","userInfoList","isInvalidUser","includes","addedUsers","prefix","userSkillObj","getUserSkillLevel","filterUserInterventions","skillLevelData","lastFoundSkillLevel","foundRecord","skillDate","interventionType","interDateArray","getIndexFromArray","selectedDateArray","getIndexDateFromArray","checkWith","skillType","currentYear","currentMonth","ratings","pastYearRatings","toMonth","fromMonth","getMonthsName","usersData","getSkillData","skillObject","getSkillLevelData","level","ratingId","divId","userInfoBeh","colors","pointBackgroundColors","datasets","datasetsBeh","skillDataArray","getSkillResult","borderWidth","makeArrayForGraph","skillInterData","InterData","options","height","legend","display","fontSize","fontFamily","scales","xAxes","yAxes","ticks","max","min","stepSize","labels","dataArray","canvasData","tableCanvas","querySelectorAll","canvas","generateChart","on","updateUserSkill","updatedByEmail","updationResouceSkills","userIntervention","skillInfo","getUserskillInfo","feildsArray","validateFeild","getInterventionName","getSkillNameById","validDate","validateAlignIntervention","saveUserInterventions","getUserName","starDate","userInterventionId","intStartDate","intEndDate","getUserInterventions","internventionId","allSkills","offsetParent","disabled","f","feildData","clear","skillid","interv","getBehUserSkill","getFunUserSkill","loadUserData","funClick","behClick","UserDashboardComponent","showDashboardSections","compositePercentAverage","userStrengths","userOppurtunities","userWeaknesses","userThreats","activeTab","alreadyHalved","percentage","gaps","fullLabels","substring","gap","destroy","canvasContainerHeight","textColor","label","backgroundColor","maintainAspectRatio","responsive","fontColor","tooltips","callbacks","tooltipItem","datasetIndex","xLabel","stacked","generateSkillDevelopmentChart","generateFourBlocksData","selectedUserPosition","selectedUserName","sno","data1","data2","funcRatingData","functionalData","funSkillCount","selfRatingScore","managerRatingScore","behavioralData","behSkillCount","generateDashboardData","RatingHistoryComponent","funSkillRatingList","funSkillChartData","behSkillChartData","behSkillRatingList","isShowGraph","chartDataExist","getUserFunSkillRatinghistory","results","temDate","filteredRatingHistory","newArrIndex","funCount","getUserBehSkillRatinghistory","SkillRatingMasterComponent","remark","checkRatingName","checkScore","saveSkillRating","updateSkillRating","isRatingNameExits","isScoreExits","routes","path","component","redirectTo","AppRoutingModule","addResourceAllColumnList","item_id","addResourceColumnList","ConstantValue","LoginComponent","inputType","isCaptcha","getIP","generateCaptcha","loginForm","getIPAddress","string1","removeSpaces","string2","getBlankLoginErrorMsg","userNameArr","locIpAddr","login","showLoginError","getInvalidDetailsMsg","alpha","Array","a","random","b","waitForCaptch","elm","inputValue","selector","observer","MutationObserver","mutations","disconnect","observe","childList","subtree","innerHTML","string","hide","authenticatUser","LoginErrorComponent","AdminSidebarComponent","bootstrapModule","err","webpackEmptyAsyncContext"],"mappings":"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AAAK;;AACjC;;AAA4B;;AAAG;;AACjC;;AACF;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACE;;AAA4B;;AAAY;;AACxC;;AAA4B;;AAAS;;AACrC;;AACE;;AACF;;AACA;;AAA4B;;AAAS;;AACvC;;AACA;;AACE;;AAA4B;;AAAqB;;AACjD;;AAA4B;;AAAW;;AACvC;;AAA4B;;AAAK;;AACjC;;AAA4B;;AAAG;;AACjC;;AACA;;AACE;;AAA4B;;AAAW;;AACvC;;AAA4B;;AAAmB;;AAC/C;;AAA4B;;AAAK;;AACjC;;AAA4B;;AAAG;;AACjC;;AACA;;AACE;;AAA4B;;AAAmB;;AAC/C;;AAA4B;;AAAiB;;AAC7C;;AAA4B;;AAAK;;AACjC;;AAA4B;;AAAG;;AACjC;;AACF;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACE;;AAA4B;;AAAY;;AACxC;;AAA4B;;AAAS;;AACrC;;AACE;;AACF;;AACA;;AAA4B;;AAAS;;AACvC;;AACA;;AACE;;AACE;;AACF;;AACA;;AAA4B;;AAAiB;;AAC7C;;AAA4B;;AAAO;;AACnC;;AAA4B;;AAAG;;AACjC;;AACA;;AACE;;AAA4B;;AAAiB;;AAC7C;;AACE;;AACF;;AACA;;AAA4B;;AAAK;;AACjC;;AAA4B;;AAAG;;AACjC;;AACA;;AACE;;AACE;;AACF;;AACA;;AACE;;AACF;;AACA;;AAA4B;;AAAK;;AACjC;;AAA4B;;AAAG;;AACjC;;AACA;;AACE;;AACE;;AACF;;AACA;;AACE;;AACF;;AACA;;AAA4B;;AAAK;;AACjC;;AAA4B;;AAAG;;AACjC;;AACA;;AACE;;AACE;;AACF;;AACA;;AACE;;AACF;;AACA;;AAA4B;;AAAK;;AACjC;;AAA4B;;AAAG;;AACjC;;AACF;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACE;;AAA4B;;AAAY;;AACxC;;AAA4B;;AAAS;;AACrC;;AACE;;AACF;;AACA;;AAA4B;;AAAS;;AACvC;;AACA;;AACE;;AAA4B;;AAAoB;;AAChD;;AACE;;AACF;;AACA;;AAA4B;;AAAO;;AACnC;;AAA4B;;AAAG;;AACjC;;AACA;;AACE;;AACE;;AACF;;AACA;;AAA4B;;AAAa;;AACzC;;AAA4B;;AAAK;;AACjC;;AAA4B;;AAAG;;AACjC;;AACA;;AACE;;AAA4B;;AAAa;;AACzC;;AAA4B;;AAAoB;;AAChD;;AAA4B;;AAAK;;AACjC;;AAA4B;;AAAG;;AACjC;;AACA;;AACE;;AAA4B;;AAAoB;;AAChD;;AAA4B;;AAAgB;;AAC5C;;AAA4B;;AAAK;;AACjC;;AAA4B;;AAAG;;AACjC;;AACF;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACE;;AAA4B;;AAAY;;AACxC;;AAA4B;;AAAS;;AACrC;;AACE;;AACF;;AACA;;AAA4B;;AAAS;;AACvC;;AACA;;AACE;;AACE;;AACF;;AACA;;AAA4B;;AAAY;;AACxC;;AAA4B;;AAAK;;AACjC;;AAA4B;;AAAG;;AACjC;;AACA;;AACE;;AAA4B;;AAAY;;AACxC;;AACE;;AACF;;AACA;;AAA4B;;AAAK;;AACjC;;AAA4B;;AAAG;;AACjC;;AACA;;AACE;;AAA4B;;AAAM;;AAClC;;AAA4B;;AAAa;;AACzC;;AAA4B;;AAAK;;AACjC;;AAA4B;;AAAG;;AACjC;;AACA;;AACE;;AAA4B;;AAAa;;AACzC;;AAA4B;;AAAW;;AACvC;;AAA4B;;AAAK;;AACjC;;AAA4B;;AAAG;;AACjC;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;AAAA,qBAAS,IAAAwE,SAAA,EAAT;AAAoB,aAApB;;AACA;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AAEA;;AAEE;;AACE;;AACE;;AACE;;AACE;;AACE;;AACE;;AAAI;;AAA8B;;AACpC;;AACF;;AACA;;AACI;;;;A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A;AACA;AACA;AACA;;;;iBAEA,+BAAsBi7B,SAAtB,EAAiC;AAC/B;AACA;AAEA,iBAAK4G,6BAAL,CAAmC5G,SAAnC;AACA,iBAAK6G,sBAAL,CAA4B7G,SAA5B;AACA,iBAAKiF,qBAAL,GAA6B,IAA7B;AACD;;;iBAED,yBAAgB93B,UAAhB,EAA4B;AAC1B,iBAAK,IAAI5C,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKwB,YAAL,CAAkBrD,MAAtC,EAA8C6B,CAAC,EAA/C,EAAmD;AACjD,kBAAI,KAAKwB,YAAL,CAAkBxB,CAAlB,EAAqB4C,UAArB,IAAmCA,UAAvC,EACE,OAAO,KAAKpB,YAAL,CAAkBxB,CAAlB,EAAqB6C,YAA5B;AACH;AACF,W,CAED;;;;iBACQ,0BAAiB;AAAA;;AACvB;AACA,iBAAK3H,aAAL,CACGqG,kBADH,CACsB,IADtB,EAEGjB,IAFH,CAEQ,8DAFR,EAGGC,SAHH,CAII,UAACzG,IAAD,EAAU;AACR,sBAAI,CAAC0H,YAAL,GAAoB1H,IAApB;AACD,aANL,EAOI,UAAC4G,KAAD,EAAW;AACTzG,0BAAY,CAACuG,OAAb,CAAqB,UAArB,EAAiCE,KAAK,CAACC,UAAvC;;AACA,sBAAI,CAACzF,aAAL,CAAmBuF,SAAnB;;AACAxG,0BAAY,CAACO,UAAb,CAAwB,UAAxB;AACD,aAXL;AAaD,W,CAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;;;iBACQ,qCAA4B;AAAA;;AAClC,iBAAKgZ,cAAL,GAAsB,KAAK6a,kBAAL,CAAwBnmB,KAAxB,CAA8B,GAA9B,EAAmC,CAAnC,CAAtB;AACA,iBAAKvL,kBAAL,GAA0B,KAAK0xB,kBAAL,CAAwBnmB,KAAxB,CAA8B,GAA9B,EAAmC,CAAnC,CAA1B;AACA,gBAAIumB,mBAAmB,GAAG,KAAKJ,kBAAL,CAAwBnmB,KAAxB,CAA8B,GAA9B,EAAmC,CAAnC,CAA1B;;AAEA,gBAAI,CAAC,KAAKsL,cAAN,IAAwB,KAAKA,cAAL,IAAuB,aAAnD,EAAkE;AAChEvZ,0BAAY,CAACuG,OAAb,CAAqB,UAArB,EAAiC,2BAAjC;AACA,mBAAKtF,aAAL,CAAmBuF,SAAnB;AACAxG,0BAAY,CAACO,UAAb,CAAwB,UAAxB;AACA;AACD;;AACD,iBAAKiB,OAAL,GAAe,IAAf;AACA,gBAAIsH,OAAO,GAAG,CAACmD,MAAM,CAAC,KAAKsN,cAAN,CAAP,CAAd;AACA,gBAAIhU,MAAM,GAAQ0G,MAAM,CAAC,KAAKsN,cAAN,CAAxB;AAEA,iBAAKoa,gBAAL,GAAwB,QAAxB;AACA,iBAAKC,gBAAL,GAAwB,EAAxB;AACA,gBAAMrxB,OAAO,GAAGkB,IAAI,CAACC,KAAL,CAAW1D,YAAY,CAACC,OAAb,CAAqB,MAArB,CAAX,EAAyC0D,QAAzC,CAAkDpB,OAAlD,GACZkB,IAAI,CAACC,KAAL,CAAW1D,YAAY,CAACC,OAAb,CAAqB,MAArB,CAAX,EAAyC0D,QAAzC,CAAkDpB,OADtC,GAEZiyB,mBAFJ;AAIA,iBAAKvzB,aAAL,CACGwzB,yBADH,CAC6BlvB,MAD7B,EACqChC,SADrC,EACgD,KAAKb,kBADrD,EAEG2D,IAFH,CAEQ,8DAFR,EAGGC,SAHH,CAII,UAACzG,IAAD,EAAU;AACR,kBAAIA,IAAI,IAAIA,IAAI,CAACqE,MAAL,GAAc,CAA1B,EAA6B;AAC3B,wBAAI,CAACmvB,sBAAL,GAA8B,EAA9B;;AACA,qBAAK,IAAIttB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGlG,IAAI,CAACqE,MAAzB,EAAiC6B,CAAC,EAAlC,EAAsC;AACpC,sBAAIlG,IAAI,CAACkG,CAAD,CAAJ,CAAQ4C,UAAR,IAAsB,QAAI,CAACjG,kBAA/B,EAAmD;;AAEnD,0BAAI,CAAC2wB,sBAAL,CAA4BhsB,IAA5B,CAAiCxH,IAAI,CAACkG,CAAD,CAArC;AACD,iBAN0B,CAQ3B;AACA;;;AACA,wBAAI,CAAC26B,uBAAL,GAA+B,QAAI,CAACxT,iBAAL,EAA/B;AACA,wBAAI,CAACuT,qBAAL,GAA6B,IAA7B;AACD,eAZD,MAYO;AACL,wBAAI,CAACj/B,OAAL,GAAe,KAAf;AACA,wBAAI,CAAC6xB,sBAAL,GAA8B,EAA9B;AACArzB,4BAAY,CAACuG,OAAb,CAAqB,UAArB,EAAiC,6BAAjC;;AACA,wBAAI,CAACtF,aAAL,CAAmBuF,SAAnB;;AACA,wBAAI,CAACi6B,qBAAL,GAA6B,KAA7B;AACAzgC,4BAAY,CAACO,UAAb,CAAwB,UAAxB;AACD;AACF,aAzBL,EA0BI,UAACkG,KAAD,EAAW;AACT,sBAAI,CAACjF,OAAL,GAAe,KAAf;AACA,sBAAI,CAAC6xB,sBAAL,GAA8B,EAA9B;AACArzB,0BAAY,CAACuG,OAAb,CAAqB,UAArB,EAAiCE,KAAK,CAACC,UAAvC;;AACA,sBAAI,CAACzF,aAAL,CAAmBuF,SAAnB;;AACAxG,0BAAY,CAACO,UAAb,CAAwB,UAAxB;AACD,aAhCL;AAkCD;;;iBAEO,yBAAgB;AACtB,iBAAKgZ,cAAL,GAAsB,KAAK6a,kBAAL,CAAwBnmB,KAAxB,CAA8B,GAA9B,EAAmC,CAAnC,CAAtB;AACA,iBAAKvL,kBAAL,GAA0B,KAAK0xB,kBAAL,CAAwBnmB,KAAxB,CAA8B,GAA9B,EAAmC,CAAnC,CAA1B;;AAEA,iBAAK,IAAIlI,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKmH,QAAL,CAAchJ,MAAlC,EAA0C6B,CAAC,EAA3C,EAA+C;AAC7C,kBAAI,KAAKmH,QAAL,CAAcnH,CAAd,EAAiBR,MAAjB,IAA2B,KAAKgU,cAApC,EAAoD;AAClD,qBAAK+oB,oBAAL,GAA4B,KAAKp1B,QAAL,CAAcnH,CAAd,EAAiB6C,YAA7C;AACA,qBAAK25B,gBAAL,GAAwB,KAAKr1B,QAAL,CAAcnH,CAAd,EAAiBhC,QAAzC;AACA,qBAAKT,cAAL,GAAsB,KAAK4J,QAAL,CAAcnH,CAAd,EAAiB1B,YAAvC;AACD;AACF;;AAED,iBAAKswB,yBAAL;AACD,W,CAED;;;;iBACQ,yBAAgB;AAAA;;AACtB,gBAAI7lB,eAAe,GAAG,EAAtB;AACA,gBAAIC,OAAO,GAAG,CACZ,OADY,EAEZ,YAFY,EAGZ,aAHY,EAIZ,gBAJY,EAKZ,KALY,EAMZ,QANY,EAOZ,iBAPY,CAAd;AAUA,gBAAItF,SAAS,GAAG,CAAC,KAAK+pB,sBAAN,EAA8B,KAAKH,sBAAnC,CAAhB;AACA,gBAAImP,GAAG,GAAG,CAAV;AAEA,iBAAKvhC,aAAL,CACGwzB,yBADH,CAEI,KAAKlb,cAFT,EAGIhW,SAHJ,EAII;AACA,iBAAKb,kBALT,EAOG2D,IAPH,CAOQ,8DAPR,EAQGC,SARH,CAQa,UAACm8B,KAAD,EAAW;AACpB,sBAAI,CAACxhC,aAAL,CACG0zB,yBADH,CAEI,QAAI,CAACpb,cAFT,EAGIhW,SAHJ,EAII;AACA,sBAAI,CAACb,kBALT,EAOG2D,IAPH,CAOQ,8DAPR,EAQGC,SARH,CASI,UAACo8B,KAAD,EAAW;AACT;AACA,oBAAIC,cAAc,GAAG,EAArB;AAEA,oBAAIC,cAAc,GAAG,EAArB;AACA,oBAAIC,aAAa,GAAG,CAApB;;AACA,oBAAIJ,KAAK,IAAIA,KAAK,CAACv+B,MAAN,GAAe,CAA5B,EAA+B;AAC7B,uBAAK,IAAI6B,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG08B,KAAK,CAACv+B,MAA1B,EAAkC6B,CAAC,EAAnC,EAAuC;AACrC88B,iCAAa;AACb,wBACEJ,KAAK,CAAC18B,CAAD,CAAL,CAAS4C,UAAT,IAAuB,QAAI,CAACjG,kBAA5B,IACA+/B,KAAK,CAAC18B,CAAD,CAAL,CAASiL,WAAT,IAAwB,CAF1B,EAIE;AACF,wBAAIkD,GAAG,GAAG;AACRvK,6BAAO,EAAE84B,KAAK,CAAC18B,CAAD,CAAL,CAAS4D,OADV;AAER3D,+BAAS,EAAEy8B,KAAK,CAAC18B,CAAD,CAAL,CAASC,SAFZ;AAGR88B,qCAAe,EAAEL,KAAK,CAAC18B,CAAD,CAAL,CAASmB,UAHlB;AAIR67B,wCAAkB,EAAE,EAJZ;AAKRn3B,iCAAW,EAAE62B,KAAK,CAAC18B,CAAD,CAAL,CAAS6F,WALd;AAMR4vB,+BAAS,EAAE;AANH,qBAAV;AAQAoH,kCAAc,CAACv7B,IAAf,CAAoB6M,GAApB;;AACA,wBAAIuuB,KAAK,CAACv+B,MAAV,EAAkB;AAAA,qDAEP6C,CAFO;AAGd,4BACE07B,KAAK,CAAC17B,CAAD,CAAL,CAAS4B,UAAT,IAAuB,QAAI,CAACjG,kBAA5B,IACA+/B,KAAK,CAAC17B,CAAD,CAAL,CAASiK,WAAT,IAAwB,CAF1B,EAIE;AAEF,4BAAIxG,KAAK,GAAGo4B,cAAc,CAACn0B,SAAf,CACV,UAAC/F,IAAD;AAAA,iCAAUA,IAAI,CAACiB,OAAL,IAAgB84B,KAAK,CAAC17B,CAAD,CAAL,CAAS4C,OAAnC;AAAA,yBADU,CAAZ;;AAGA,4BAAIa,KAAK,IAAI,CAAC,CAAd,EAAiB;AACfo4B,wCAAc,CAACp4B,KAAD,CAAd,CAAsBu4B,kBAAtB,GACEN,KAAK,CAAC17B,CAAD,CAAL,CAASG,UADX;AAED;AAfa;;AAChB;AACA,2BAAK,IAAIH,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG07B,KAAK,CAACv+B,MAA1B,EAAkC6C,CAAC,EAAnC,EAAuC;AAAA,2CAA9BA,CAA8B;;AAAA,iDAKnC;AASH;AACF;AACF;AACF;;AACD,oBAAIi8B,cAAc,GAAG,EAArB;AACA,oBAAIC,aAAa,GAAG,CAApB;;AACA,oBAAIP,KAAK,IAAIA,KAAK,CAACx+B,MAAN,GAAe,CAA5B,EAA+B;AAC7B,uBAAK,IAAI6B,IAAC,GAAG,CAAb,EAAgBA,IAAC,GAAG28B,KAAK,CAACx+B,MAA1B,EAAkC6B,IAAC,EAAnC,EAAuC;AACrCk9B,iCAAa;AACb,wBACEP,KAAK,CAAC38B,IAAD,CAAL,CAAS4C,UAAT,IAAuB,QAAI,CAACjG,kBAA5B,IACAggC,KAAK,CAAC38B,IAAD,CAAL,CAASiL,WAAT,IAAwB,CAF1B,EAIE;AACF,wBAAIkD,IAAG,GAAG;AACRvK,6BAAO,EAAE+4B,KAAK,CAAC38B,IAAD,CAAL,CAAS4D,OADV;AAER3D,+BAAS,EAAE08B,KAAK,CAAC38B,IAAD,CAAL,CAASC,SAFZ;AAGR88B,qCAAe,EAAEJ,KAAK,CAAC38B,IAAD,CAAL,CAASmB,UAHlB;AAIR67B,wCAAkB,EAAE,EAJZ;AAKRn3B,iCAAW,EAAE82B,KAAK,CAAC38B,IAAD,CAAL,CAAS6F,WALd;AAMR4vB,+BAAS,EAAE;AANH,qBAAV;AASAwH,kCAAc,CAAC37B,IAAf,CAAoB6M,IAApB;;AAEA,wBAAIwuB,KAAK,CAACx+B,MAAV,EAAkB;AAAA,qDAEP6C,GAFO;AAGd,4BACE27B,KAAK,CAAC37B,GAAD,CAAL,CAAS4B,UAAT,IAAuB,QAAI,CAACjG,kBAA5B,IACAggC,KAAK,CAAC37B,GAAD,CAAL,CAASiK,WAAT,IAAwB,CAF1B,EAIE;AAEF,4BAAIxG,KAAK,GAAGw4B,cAAc,CAACv0B,SAAf,CACV,UAAC/F,IAAD;AAAA,iCAAUA,IAAI,CAACiB,OAAL,IAAgB+4B,KAAK,CAAC37B,GAAD,CAAL,CAAS4C,OAAnC;AAAA,yBADU,CAAZ;;AAGA,4BAAIa,KAAK,IAAI,CAAC,CAAd,EAAiB;AACfw4B,wCAAc,CAACx4B,KAAD,CAAd,CAAsBu4B,kBAAtB,GACEL,KAAK,CAAC37B,GAAD,CAAL,CAASG,UADX;AAED;AAfa;;AAChB;AACA,2BAAK,IAAIH,GAAC,GAAG,CAAb,EAAgBA,GAAC,GAAG27B,KAAK,CAACx+B,MAA1B,EAAkC6C,GAAC,EAAnC,EAAuC;AAAA,4CAA9BA,GAA8B;;AAAA,kDAKnC;AASH;AACF;AACF;AACF;;AACD,oBAAIwsB,SAAS,GAAG,EAAhB;;AACA,oBAAIqP,cAAc,IAAII,cAAtB,EAAsC;AACpCzP,2BAAS,aAAOqP,cAAP,EAA0BI,cAA1B,CAAT;AACD;;AACD,oBAAIzP,SAAS,IAAIA,SAAS,CAACrvB,MAAV,GAAmB,CAApC,EAAuC;AACrC,uBAAK,IAAI6B,IAAC,GAAG,CAAb,EAAgBA,IAAC,GAAGwtB,SAAS,CAACrvB,MAA9B,EAAsC6B,IAAC,EAAvC,EAA2C;AACzC,wBAAIlG,IAAI,GAAG,EAAX;AAEAA,wBAAI,CAACkP,OAAO,CAAC,CAAD,CAAR,CAAJ,GAAmB,EAAEyzB,GAArB;AAEA3iC,wBAAI,CAACkP,OAAO,CAAC,CAAD,CAAR,CAAJ,GAAmBwkB,SAAS,CAACxtB,IAAD,CAAT,CAAaC,SAAhC;AACAnG,wBAAI,CAACkP,OAAO,CAAC,CAAD,CAAR,CAAJ,GAAmBwkB,SAAS,CAACxtB,IAAD,CAAT,CAAa+8B,eAAhC;AACAjjC,wBAAI,CAACkP,OAAO,CAAC,CAAD,CAAR,CAAJ,GAAmBwkB,SAAS,CAACxtB,IAAD,CAAT,CAAag9B,kBAAhC;AACAljC,wBAAI,CAACkP,OAAO,CAAC,CAAD,CAAR,CAAJ,GACEwkB,SAAS,CAACxtB,IAAD,CAAT,CAAa6F,WAAb,GAA2B2nB,SAAS,CAACxtB,IAAD,CAAT,CAAag9B,kBAD1C;AAEAljC,wBAAI,CAACkP,OAAO,CAAC,CAAD,CAAR,CAAJ,GAAmBwkB,SAAS,CAACxtB,IAAD,CAAT,CAAa6F,WAAhC;AACA/L,wBAAI,CAACkP,OAAO,CAAC,CAAD,CAAR,CAAJ,GAAmBwkB,SAAS,CAACxtB,IAAD,CAAT,CAAay1B,SAAhC,CAXyC,CAYzC;;AACA1sB,mCAAe,CAACzH,IAAhB,CAAqBxH,IAArB;AACD,mBAfoC,CAgBrC;AAEA;;;AACA,0BAAI,CAACmB,YAAL,CAAkB4P,aAAlB,CACE7B,OADF,EAEED,eAFF,EAGE,QAAI,CAACyzB,gBAHP,EAnBqC,CAyBrC;AACA;;;AACA,0BAAI,CAAC7B,uBAAL,GAA+B,QAAI,CAACxT,iBAAL,EAA/B;AACA,0BAAI,CAACuT,qBAAL,GAA6B,IAA7B;AACD,iBA7BD,MA6BO;AACL,0BAAI,CAACj/B,OAAL,GAAe,KAAf,CADK,CAEL;;AACAxB,8BAAY,CAACuG,OAAb,CAAqB,UAArB,EAAiC,6BAAjC;;AACA,0BAAI,CAACtF,aAAL,CAAmBuF,SAAnB;;AACA,0BAAI,CAACi6B,qBAAL,GAA6B,KAA7B;AACAzgC,8BAAY,CAACO,UAAb,CAAwB,UAAxB;AACD;AACF,eAtIL,EAuII,UAACkG,KAAD,EAAW;AACT,wBAAI,CAACjF,OAAL,GAAe,KAAf,CADS,CAET;;AACAxB,4BAAY,CAACuG,OAAb,CAAqB,UAArB,EAAiCE,KAAK,CAACC,UAAvC;;AACA,wBAAI,CAACzF,aAAL,CAAmBuF,SAAnB;;AACAxG,4BAAY,CAACO,UAAb,CAAwB,UAAxB;AACD,eA7IL;AA+ID,aAxJH,EAfsB,CAyKtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACD,W,CAED;;;;iBACQ,qCAA4B;AAAA;;AAClC,iBAAKgZ,cAAL,GAAsB,KAAK6a,kBAAL,CAAwBnmB,KAAxB,CAA8B,GAA9B,EAAmC,CAAnC,CAAtB;AACA,iBAAKvL,kBAAL,GAA0B,KAAK0xB,kBAAL,CAAwBnmB,KAAxB,CAA8B,GAA9B,EAAmC,CAAnC,CAA1B;AACA,gBAAIumB,mBAAmB,GAAG,KAAKJ,kBAAL,CAAwBnmB,KAAxB,CAA8B,GAA9B,EAAmC,CAAnC,CAA1B;;AAEA,gBAAI,CAAC,KAAKsL,cAAN,IAAwB,KAAKA,cAAL,IAAuB,aAAnD,EAAkE;AAChEvZ,0BAAY,CAACuG,OAAb,CAAqB,UAArB,EAAiC,2BAAjC;AACA,mBAAKtF,aAAL,CAAmBuF,SAAnB;AACAxG,0BAAY,CAACO,UAAb,CAAwB,UAAxB;AACA;AACD;;AACD,iBAAKiB,OAAL,GAAe,IAAf;AACA,gBAAIsH,OAAO,GAAG,CAACmD,MAAM,CAAC,KAAKsN,cAAN,CAAP,CAAd;AACA,gBAAIhU,MAAM,GAAQ0G,MAAM,CAAC,KAAKsN,cAAN,CAAxB;AAEA,iBAAKoa,gBAAL,GAAwB,EAAxB;AACA,iBAAKC,gBAAL,GAAwB,QAAxB;AACA,gBAAMrxB,OAAO,GAAGkB,IAAI,CAACC,KAAL,CAAW1D,YAAY,CAACC,OAAb,CAAqB,MAArB,CAAX,EAAyC0D,QAAzC,CAAkDpB,OAAlD,GACZkB,IAAI,CAACC,KAAL,CAAW1D,YAAY,CAACC,OAAb,CAAqB,MAArB,CAAX,EAAyC0D,QAAzC,CAAkDpB,OADtC,GAEZiyB,mBAFJ;AAGA,iBAAKvzB,aAAL,CACG0zB,yBADH,CAC6BpvB,MAD7B,EACqChC,SADrC,EACgD,KAAKb,kBADrD,EAEG2D,IAFH,CAEQ,8DAFR,EAGGC,SAHH,CAII,UAACzG,IAAD,EAAU;AACR,kBAAIA,IAAI,IAAIA,IAAI,CAACqE,MAAL,GAAc,CAA1B,EAA6B;AAC3B;AACA,wBAAI,CAACsvB,sBAAL,GAA8B,EAA9B;;AACA,qBAAK,IAAIztB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGlG,IAAI,CAACqE,MAAzB,EAAiC6B,CAAC,EAAlC,EAAsC;AACpC,sBAAIlG,IAAI,CAACkG,CAAD,CAAJ,CAAQ4C,UAAR,IAAsB,QAAI,CAACjG,kBAA/B,EAAmD;;AAEnD,0BAAI,CAAC8wB,sBAAL,CAA4BnsB,IAA5B,CAAiCxH,IAAI,CAACkG,CAAD,CAArC;AACD,iBAP0B,CAS3B;;;AACA,wBAAI,CAACm9B,qBAAL,CAA2B,KAA3B;;AACA,wBAAI,CAACzO,yBAAL;;AACA,wBAAI,CAACgM,qBAAL,GAA6B,IAA7B;AACD,eAbD,MAaO;AACL,wBAAI,CAACj/B,OAAL,GAAe,KAAf;AACA,wBAAI,CAACgyB,sBAAL,GAA8B,EAA9B;AACAxzB,4BAAY,CAACuG,OAAb,CAAqB,UAArB,EAAiC,6BAAjC;;AACA,wBAAI,CAACtF,aAAL,CAAmBuF,SAAnB;;AACA,wBAAI,CAACi6B,qBAAL,GAA6B,KAA7B;AACAzgC,4BAAY,CAACO,UAAb,CAAwB,UAAxB;AACD;AACF,aA1BL,EA2BI,UAACkG,KAAD,EAAW;AACT,sBAAI,CAACjF,OAAL,GAAe,KAAf;AACA,sBAAI,CAACgyB,sBAAL,GAA8B,EAA9B;AACAxzB,0BAAY,CAACuG,OAAb,CAAqB,UAArB,EAAiCE,KAAK,CAACC,UAAvC;;AACA,sBAAI,CAACzF,aAAL,CAAmBuF,SAAnB;;AACAxG,0BAAY,CAACO,UAAb,CAAwB,UAAxB;AACD,aAjCL,EApBkC,CAwDlC;AACD;;;iBAEO,6BAAoB;AAC1B,gBAAI4Q,eAAe,GAAG,CAAtB;AAAA,gBACEC,eAAe,GAAG,CADpB;AAEA,gBAAIK,QAAQ,GAAG,CAAf;AAAA,gBACEC,QAAQ,GAAG,CADb;;AAGA,iBAAK,IAAI3L,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKytB,sBAAL,CAA4BtvB,MAAhD,EAAwD6B,CAAC,EAAzD,EAA6D;AAC3D,kBAAI,KAAKytB,sBAAL,CAA4BztB,CAA5B,EAA+BiL,WAA/B,KAA+C,CAAnD,EAAsD;AAEtD,kBAAIW,oBAAoB,GACrB,KAAK6hB,sBAAL,CAA4BztB,CAA5B,EAA+BmB,UAA/B,GAA4C,GAA7C,GACA,KAAKssB,sBAAL,CAA4BztB,CAA5B,EAA+B6F,WAFjC;AAIAuF,6BAAe,IACbQ,oBAAoB,GAAG,GAAvB,GAA6B,GAA7B,GAAmCA,oBADrC;AAEAF,sBAAQ;AACT;;AAED,iBAAK,IAAI1K,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKssB,sBAAL,CAA4BnvB,MAAhD,EAAwD6C,CAAC,EAAzD,EAA6D;AAC3D,kBAAI,KAAKssB,sBAAL,CAA4BtsB,CAA5B,EAA+BiK,WAA/B,KAA+C,CAAnD,EAAsD;AAEtD,kBAAIW,oBAAoB,GACrB,KAAK0hB,sBAAL,CAA4BtsB,CAA5B,EAA+BG,UAA/B,GAA4C,GAA7C,GACA,KAAKmsB,sBAAL,CAA4BtsB,CAA5B,EAA+B6E,WAFjC;AAIAwF,6BAAe,IACbO,oBAAoB,GAAG,GAAvB,GAA6B,GAA7B,GAAmCA,oBADrC;AAEAD,sBAAQ;AACT,aA5ByB,CA6B1B;;;AACA,mBAAO;AACLhB,kBAAI,EAAEkB,IAAI,CAACC,KAAL,CACHV,eAAe,GAAGM,QAAnB,GAA+B,GAA/B,GAAsCL,eAAe,GAAGM,QAAnB,GAA+B,GADhE,CADD;AAILlB,iBAAG,EAAEoB,IAAI,CAACC,KAAL,CAAWV,eAAe,GAAGM,QAA7B,CAJA;AAKLhB,iBAAG,EAAEmB,IAAI,CAACC,KAAL,CAAWT,eAAe,GAAGM,QAA7B;AALA,aAAP;AAOD,W,CAED;;;;iBACQ,yBAAgBR,IAAhB,EAAqC;AAC3C,gBAAI,CAAC,KAAK6a,QAAN,IAAkB,CAAC,KAAKC,MAA5B,EAAoC;AAClC,mBAAKD,QAAL,GAAgB7a,IAAhB;AACD,aAFD,MAEO,IAAI,KAAK6a,QAAL,IAAiB,CAAC,KAAKC,MAAvB,IAAiCV,KAAK,CAACpa,IAAD,EAAO,KAAK6a,QAAZ,CAA1C,EAAiE;AACtE,mBAAKC,MAAL,GAAc9a,IAAd;AACD,aAFM,MAEA;AACL,mBAAK8a,MAAL,GAAc,IAAd;AACA,mBAAKD,QAAL,GAAgB7a,IAAhB;AACD;AACF,W,CAED;;;;iBACO,sBAAapE,CAAb,EAAgBC,QAAhB,EAA0B;AAC/B,iBAAKjM,MAAL,CAAYsE,QAAZ,CAAqB,CAAC2H,QAAD,CAArB;AACD,W,CAED;;;;iBACQ,kBAAS;AACf,iBAAK9L,aAAL,CAAmB2C,MAAnB;AACD;AACD;;;;;;iBAGA,uBAAc0I,KAAd,EAAqB;AACnB,gBAAIiE,KAAK,CAACjE,KAAD,CAAL,IAAgBA,KAAK,IAAI,IAAzB,IAAiCA,KAAK,IAAI,MAA1C,IAAoDA,KAAK,IAAI,EAAjE,EAAqE;AACnE,qBAAO,EAAP;AACD,aAFD,MAEO;AACL,qBAAOA,KAAK,GAAG,IAAf;AACD;AACF;;;;;;;yBAt1BUk0B,sB,EAAsB,uI,EAAA,oI,EAAA,uH,EAAA,gH,EAAA,oH,EAAA,uH;AAAA,O;;;cAAtBA,sB;AAAsB,2C;AAAA,kB;AAAA,gB;AAAA,q7D;AAAA;AAAA;ACcnC;;AAEA;;AAEA;;AACI;;AACI;;AACE;;AACE;;AACE;;AACE;;AACE;;AACE;;AAAI;;AAAS;;AACb;;AACF;;AACF;;AACF;;AACF;;AAEA;;AACE;;AAAyB;;AAAW;;AACpC;;AACE;;AAUF;;AACA;;AACI;;AAA+D;;AAC7D;;AAAS;;AAAiD;;AAAU;;AAAO;;AACjF;;AACA;;AACE;;AACF;;AACF;;AAIA;;AACE;;AACE;;AACE;;AACE;;AAEE;;AAEE;;AACE;;AACE;;AAA0B;;AAAa;;AACvC;;AAA0B;;AAA2B;;AAEvD;;AACA;;AACE;;AAAwB;;AAAW;;AACnC;;AAAyB;;AAAS;;AACpC;;AACA;;AACE;;AAAwB;;AAAe;;AACvC;;AAAyB;;AAAU;;AACrC;;AACA;;AACE;;AAAwB;;AAAiB;;AACzC;;AAAyB;;AAAY;;AACvC;;AACA;;AAEE;;AAAyB;;AAAS;;AAClC;;AAAyB;;AAAqC;;AAChE;;AACF;;AACF;;AACF;;AACF;;AACF;;AACA;;AAAuB;;AAAsK;;AAE7L;;AACE;;AACE;;AAA8D;AAAS,kBAAA0C,qBAAA,CAAsB,KAAtB;AAA8B,qBAAF,gBAAc,KAAZ;AAAiB,aAAxD;;AAA0D;;AAAuB;;AACjJ;;AACA;;AACE;;AAA8D;AAAS,kBAAAA,qBAAA,CAAsB,KAAtB;AAA8B,qBAAF,gBAAc,KAAZ;AAAiB,aAAxD;;AAA0D;;AAAuB;;AACjJ;;AACF;;AAEA;;AACE;;AACA;;AACF;;AAEA;;AACE;;AAEE;;AACE;;AAA6B;;AAAmB;;AAClD;;AACA;;AACE;;AACE;;AACE;;AAA8B;;AAAS;;AACvC;;AAEI;;AACE;;AAIA;;AAIF;;AACJ;;AACF;;AACF;;AACA;;AACE;;AACE;;AAA8B;;AAAgB;;AAC9C;;AAEE;;AACE;;AAIA;;AAIF;;AAEF;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AAA8B;;AAAa;;AAC3C;;AAEE;;AACE;;AAIA;;AAIF;;AAEF;;AACF;;AACF;;AAEA;;AACE;;AACE;;AAA8B;;AAAsB;;AACpD;;AAEE;;AACE;;AAIA;;AAIF;;AAEF;;AACF;;AACF;;AACF;;AACF;;AACA;;AACI;;AACE;;AAAyC;;AAAsB;;AACjE;;AACA;;AACE;;AACE;;AAAsC;;AAAW;;AACnD;;AACF;;AAEF;;AACJ;;AAEF;;AACA;;AACE;;AACE;;AACE;;AACE;;AAAQ;;AAAW;;AACrB;;AACA;;AACE;;AACE;;AACF;;AACA;;AACE;;AACF;;AACF;;AACA;;AACE;;AACE;;AACF;;AACA;;AACE;;AACF;;AACF;;AACA;;AACE;;AACE;;AACF;;AACA;;AACE;;AACF;;AACF;;AACA;;AACE;;AACE;;AACF;;AACA;;AACE;;AACF;;AACF;;AACF;;AACF;;AAEA;;AACE;;AACE;;AACE;;AAAQ;;AAAa;;AACvB;;AACF;;AACF;;AAEF;;AACF;;AACF;;AACF;;AAWA;;AAmBF;;AACN;;;;AAlQsE;;AAAA;;AAY/C;;AAAA;;AACM;;AAAA;;AAGuE;;AAAA;;AAMlE;;AAAA;;AAWoB;;AAAA;;AAGO;;AAAA;;AAIA;;AAAA;;AAIA;;AAAA;;AAOR;;AAAA;;AAWb;;AAAA;;AAGA;;AAAA;;AAKQ;;AAAA;;AACA;;AAAA;;AAgBoB;;AAAA;;AAIrB;;AAAA;;AAcmB;;AAAA;;AAIrB;;AAAA;;AAiBqB;;AAAA;;AAIrB;;AAAA;;AAgBqB;;AAAA;;AAIrB;;AAAA;;AAgBS;;AAAA;;AACU;;AAAA;;AAuEvB;;AAAA;;;;;;;;;;;;;;;;;;;;;ACnUzC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACyBoC;;AACI;;AAAuE;;AACvE;;AACJ;;;;;;AAFY;;AAAA;;AAA+D;;AAAA;;;;;;;;AANvF;;AACI;;AACI;;AAA6B;AAAA;;AAAA;;AAAA;AAAA,aAAgC,eAAhC,EAAgC;AAAA;;AAAA;;AAAA,yCAC1B,KAD0B;AACrB,WADX;;AAEzB;;AAA4B;;AAAW;;AACvC;;AAIJ;;AACJ;;AACJ;;;;;;AATqC;;AAAA;;AAGM;;AAAA;;;;;;;;;;;;;;AAa3C;;AACI;;AACI;;AACI;AAAA;;AAAA;;AAAA,8CAAmC,KAAnC;AAA2C,mBAAH,oBAAe,KAAZ;AAAiB,WAA5D;;AAA8D;;AAAuB;;AAC7F;;AACA;;AACI;;AACI;AAAA;;AAAA;;AAAA;AAAA,uCAAkD,KAAlD;AAAuD,WAAvD;;AAAyD;;AAAuB;;AAExF;;AACJ;;;;;;AAR4B;;AAAA;;AAIA;;AAAA;;;;;;AAK5B;;AACkC;;AAClC;;;;;;AACA;;AAC2C;;AAC3C;;;;;;AAGQ;;AACI;;AAAyC;;AAAsB;;AACnE;;;;;;;;;;;;AAJR;;AACI;;AACI;;AAGA;;AACI;;AACI;;AAAqC;;AAAW;;AACpD;;AACJ;;AAEJ;;AACJ;;;;;;AAVkB;;AAAA;;AAIwB;;AAAA;;AACW;;AAAA;;;;;;AAmC7C;;AACI;;AACJ;;;;;;AADI;;AAAA;;;;;;AAFR;;AACI;;AAGJ;;;;;;AAHmB;;AAAA;;;;;;AAYf;;AACI;;AACI;;AAAK;;AAAQ;;AACjB;;AACJ;;;;;;AAFa;;AAAA;;;;;;AAPrB;;AACI;;AACI;;AACI;;AAAK;;AAAO;;AAChB;;AACA;;AAKJ;;AACJ;;;;;;;AARiB;;AAAA;;AAEsB;;AAAA;;;;;;AAnB/C;;AACI;;AACI;;AACI;;AAAI;;AAAK;;AACT;;AAAI;;AAAK;;AACT;;AAAI;;AAAY;;AAChB;;AAKJ;;AACJ;;AACA;;AACI;;AAaJ;;AACJ;;;;;;AAtBsC;;AAAA;;AAQA;;AAAA;;;;UD3FzCC,sB;AAsBT,wCACYliC,aADZ,EAEYH,MAFZ,EAGYK,SAHZ,EAIYD,MAJZ,EAKYG,SALZ,EAK+B;AAAA;;AAJnB,eAAAJ,aAAA,GAAAA,aAAA;AACA,eAAAH,MAAA,GAAAA,MAAA;AACA,eAAAK,SAAA,GAAAA,SAAA;AACA,eAAAD,MAAA,GAAAA,MAAA;AACA,eAAAG,SAAA,GAAAA,SAAA;AA1BX,eAAAQ,KAAA,GAAa,EAAb;AAEA,eAAAqL,QAAA,GAAkB,EAAlB;AACA,eAAA1L,OAAA,GAAU,KAAV;AAGA,eAAA4yB,kBAAA,GAA0B,aAA1B;AACA,eAAA2M,SAAA,GAAY,KAAZ;AAEA,eAAAC,aAAA,GAAyB,KAAzB;AAGD,eAAAoC,kBAAA,GAA0B,EAA1B;AACA,eAAAC,iBAAA,GAA0B,EAA1B;AACA,eAAAC,iBAAA,GAA0B,EAA1B;AACA,eAAAC,kBAAA,GAA0B,EAA1B;AACA,eAAAC,WAAA,GAAmB,KAAnB;AACA,eAAAC,cAAA,GAAsB,IAAtB;AACA,eAAA9gC,UAAA,GAAmB,EAAnB;AACA,eAAAmT,iBAAA,GAAyB,EAAzB;AACA,eAAAlT,aAAA,GAAwB,EAAxB;;AAQI,eAAKvB,SAAL,CAAemC,UAAf;;AACA,eAAK3B,KAAL,GAAa4B,IAAI,CAACC,KAAL,CAAW1D,YAAY,CAACC,OAAb,CAAqB,MAArB,CAAX,CAAb;;AACA,cAAI,CAAC,KAAK4B,KAAN,IAAe,CAAC,KAAKA,KAAL,CAAW8B,QAA/B,EAAyC;AACrC,iBAAK1C,aAAL,CAAmB2C,MAAnB;AACA;AACH;;AACD,cAAI,KAAK/B,KAAL,IAAc,KAAKA,KAAL,CAAW8B,QAA7B,EAAuC;AACnC,gBAAI,KAAK9B,KAAL,CAAW8B,QAAX,CAAoBE,YAAxB,EAAsC;AAClC,mBAAK3B,aAAL,GAAqB,KAAKL,KAAL,CAAW8B,QAAX,CAAoBE,YAAzC;AACH,aAFD,MAEO;AACH,mBAAK3B,aAAL,GAAqB,KAAKL,KAAL,CAAW8B,QAAX,CAAoBI,QAAzC;AACH;;AACD,iBAAKK,QAAL,GAAgB,KAAKvC,KAAL,CAAW8B,QAAX,CAAoBS,QAApC;AACH;AACJ;;;;iBAED,oBAAW;AACP,iBAAK8vB,YAAL;AACH,W,CACD;;;;iBACQ,wBAAe;AAAA;;AACnB,iBAAK1yB,OAAL,GAAe,IAAf;AACA,gBAAI2V,SAAS,GAAG,EAAhB;AACA,gBAAI1T,IAAI,CAACC,KAAL,CAAW1D,YAAY,CAACC,OAAb,CAAqB,MAArB,CAAX,EAAyC0D,QAAzC,CAAkDS,QAAlD,IAA8D,CAAlE,EACI+S,SAAS,GAAG1T,IAAI,CAACC,KAAL,CAAW1D,YAAY,CAACC,OAAb,CAAqB,MAArB,CAAX,EAAyC0D,QAAzC,CAAkDwT,SAA9D;AACJ,iBAAKlW,aAAL,CAAmB0Z,kBAAnB,CAAsClX,IAAI,CAACC,KAAL,CAAW1D,YAAY,CAACC,OAAb,CAAqB,MAArB,CAAX,EAAyC0D,QAAzC,CAAkDpB,OAAxF,EAAiG4U,SAAjG,EAA4G9Q,IAA5G,CAAiH,8DAAjH,EAA0HC,SAA1H,CACI,UAAAzG,IAAI,EAAI;AACJ,sBAAI,CAAC2B,OAAL,GAAe,KAAf;;AACA,kBAAI3B,IAAI,IAAIA,IAAI,CAACqE,MAAL,GAAc,CAA1B,EAA6B;AACzB,wBAAI,CAACgJ,QAAL,GAAgBrN,IAAhB;AACH,eAFD,MAEO;AACHG,4BAAY,CAACuG,OAAb,CAAqB,UAArB,EAAiC,iBAAjC;;AACA,wBAAI,CAACtF,aAAL,CAAmBuF,SAAnB;;AACAxG,4BAAY,CAACO,UAAb,CAAwB,UAAxB;AACH;AACJ,aAVL,EAUO,UAAAkG,KAAK,EAAI;AACR,sBAAI,CAACjF,OAAL,GAAe,KAAf;AACAxB,0BAAY,CAACuG,OAAb,CAAqB,UAArB,EAAiCE,KAAK,CAACC,UAAvC;;AACA,sBAAI,CAACzF,aAAL,CAAmBuF,SAAnB;;AACAxG,0BAAY,CAACO,UAAb,CAAwB,UAAxB;AACH,aAfL;AAiBH;;;iBACO,uBAAci7B,SAAd,EAAyB;AAC7B,iBAAKiI,cAAL,GAAsB,IAAtB;AACA,iBAAKL,kBAAL,GAA0B,EAA1B;AACA,iBAAKC,iBAAL,GAAyB,EAAzB;AACA,iBAAKE,kBAAL,GAA0B,EAA1B;AACA,iBAAKD,iBAAL,GAAyB,EAAzB;AACA,iBAAK3O,yBAAL;AACH;AACD;;;;;;iBAGQ,qCAA4B;AAAA;;AAChC,iBAAKoM,SAAL,GAAiB,KAAjB;AACA,iBAAKqC,kBAAL,GAA0B,EAA1B;AACA,iBAAKC,iBAAL,GAAyB,EAAzB;AACA,iBAAK9pB,cAAL,GAAsB,KAAK6a,kBAAL,CAAwBnmB,KAAxB,CAA8B,GAA9B,EAAmC,CAAnC,CAAtB;AACA,iBAAKvL,kBAAL,GAA0B,KAAK0xB,kBAAL,CAAwBnmB,KAAxB,CAA8B,GAA9B,EAAmC,CAAnC,CAA1B;AACA,gBAAIumB,mBAAmB,GAAG,KAAKJ,kBAAL,CAAwBnmB,KAAxB,CAA8B,GAA9B,EAAmC,CAAnC,CAA1B;;AAEA,gBAAI,CAAC,KAAKsL,cAAN,IAAwB,KAAKA,cAAL,IAAuB,aAAnD,EAAkE;AAC9DvZ,0BAAY,CAACuG,OAAb,CAAqB,UAArB,EAAiC,2BAAjC;AACA,mBAAKtF,aAAL,CAAmBuF,SAAnB;AACAxG,0BAAY,CAACO,UAAb,CAAwB,UAAxB;AACA;AACH;;AACD,iBAAKiB,OAAL,GAAe,IAAf;AACA,iBAAKP,aAAL,CAAmByiC,4BAAnB,CAAgDz3B,MAAM,CAAC,KAAKsN,cAAN,CAAtD,EAA6EtN,MAAM,CAAC,KAAKvJ,kBAAN,CAAnF,EAA8G4D,SAA9G,CAAwH,UAAAq9B,OAAO,EAAI;AAC/H,kBAAGA,OAAH,EAAY;AACR,wBAAI,CAACP,kBAAL,GAA0BO,OAA1B;AACA,oBAAIC,OAAO,GAAQ,EAAnB;AACA,oBAAIC,qBAAqB,GAAG,EAA5B;AACA,oBAAIC,WAAW,GAAG,CAAlB;AACA,oBAAI1yB,eAAe,GAAG,CAAtB;AACA,oBAAI2yB,QAAQ,GAAG,CAAf;;AACA,oBAAI,QAAI,CAACX,kBAAL,CAAwBl/B,MAA5B,EAAoC;AAChC;AACA,0BAAI,CAAC6F,WAAL,CAAiB,IAAjB;;AACA,uBAAK,IAAIhE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,QAAI,CAACq9B,kBAAL,CAAwBl/B,MAA5C,EAAoD6B,CAAC,EAArD,EAAyD;AACrD,wBAAImL,IAAI,GAAQ,IAAI3M,IAAJ,CAAS,QAAI,CAAC6+B,kBAAL,CAAwBr9B,CAAxB,EAA2BkL,UAApC,CAAhB;AACAC,wBAAI,GAAGA,IAAI,CAACxM,WAAL,KAAqB,GAArB,GAA2BuH,MAAM,CAACiF,IAAI,CAACtM,QAAL,KAAkB,CAAnB,CAAjC,GAAyD,GAAzD,GAA+DsM,IAAI,CAACpM,OAAL,EAAtE;AACA,wBAAMmM,UAAU,GAAGC,IAAnB;AACA,wBAAIgD,GAAG,GAAG;AACNhD,0BAAI,EAAE,EADA;AAENnF,2BAAK,EAAE;AAFD,qBAAV;;AAIA,wBAAI63B,OAAO,IAAI3yB,UAAX,IAAyB2yB,OAAO,IAAI,EAAxC,EAA4C;AACxCG,8BAAQ;AACX,qBAFD,MAEO;AACHD,iCAAW;AACX5vB,yBAAG,GAAG;AACFhD,4BAAI,EAAE,EADJ;AAEFnF,6BAAK,EAAE;AAFL,uBAAN;AAIAg4B,8BAAQ,GAAG,CAAX;AACH;;AACD7vB,uBAAG,CAAChD,IAAJ,GAAWD,UAAX;AACA,wBAAIU,oBAAoB,GAAI,QAAI,CAACyxB,kBAAL,CAAwBr9B,CAAxB,EAA2BmB,UAA3B,GAAwC,GAAzC,GAAgD,QAAI,CAACk8B,kBAAL,CAAwBr9B,CAAxB,EAA2B6F,WAAtG;AACAwF,mCAAe,IAAKO,oBAAoB,GAAG,GAAvB,GAA6B,GAA7B,GAAmCA,oBAAvD;AACAuC,uBAAG,CAACnI,KAAJ,GAAY6F,IAAI,CAACC,KAAL,CAAWT,eAAe,GAAG2yB,QAA7B,CAAZ;AACAF,yCAAqB,CAACC,WAAD,CAArB,GAAqC5vB,GAArC;AAEA0vB,2BAAO,GAAG3yB,UAAV;;AACA,wBAAIlL,CAAC,IAAI,QAAI,CAACq9B,kBAAL,CAAwBl/B,MAAxB,GAAiC,CAA1C,EAA6C;AACzC7D,6BAAO,CAACC,GAAR,CAAY,uBAAZ,EAAqCujC,qBAArC;AACA,8BAAI,CAACR,iBAAL,GAAyBQ,qBAAzB;AACA,8BAAI,CAACL,WAAL,GAAmB,IAAnB;;AACA,8BAAI,CAACpB,6BAAL,CAAmC,KAAnC;AACH;AACJ;AACJ,iBAnCD,MAmCO;AACH,0BAAI,CAACqB,cAAL,GAAsB,KAAtB;AACAzjC,8BAAY,CAACuG,OAAb,CAAqB,UAArB,EAAiC,0BAAjC;;AACA,0BAAI,CAACtF,aAAL,CAAmBuF,SAAnB;;AACAxG,8BAAY,CAACO,UAAb,CAAwB,UAAxB;AACA;AACH;AAEJ;;AACD,sBAAI,CAACiB,OAAL,GAAe,KAAf;AACH,aArDD,EAqDG,UAAAiF,KAAK,EAAI;AACR,sBAAI,CAACjF,OAAL,GAAe,KAAf;AACAnB,qBAAO,CAACC,GAAR,CAAY,OAAZ,EAAqBmG,KAArB;AACH,aAxDD;AA2DH;AACD;;;;;;iBAGQ,qCAA4B;AAAA;;AAChC,iBAAKs6B,SAAL,GAAiB,KAAjB;AACA,iBAAKqC,kBAAL,GAA0B,EAA1B;AACA,iBAAKC,iBAAL,GAAyB,EAAzB;AACA,iBAAK9pB,cAAL,GAAsB,KAAK6a,kBAAL,CAAwBnmB,KAAxB,CAA8B,GAA9B,EAAmC,CAAnC,CAAtB;AACA,iBAAKvL,kBAAL,GAA0B,KAAK0xB,kBAAL,CAAwBnmB,KAAxB,CAA8B,GAA9B,EAAmC,CAAnC,CAA1B;AACA,gBAAIumB,mBAAmB,GAAG,KAAKJ,kBAAL,CAAwBnmB,KAAxB,CAA8B,GAA9B,EAAmC,CAAnC,CAA1B;;AAEA,gBAAI,CAAC,KAAKsL,cAAN,IAAwB,KAAKA,cAAL,IAAuB,aAAnD,EAAkE;AAC9DvZ,0BAAY,CAACuG,OAAb,CAAqB,UAArB,EAAiC,2BAAjC;AACA,mBAAKtF,aAAL,CAAmBuF,SAAnB;AACAxG,0BAAY,CAACO,UAAb,CAAwB,UAAxB;AACA;AACH;;AACD,iBAAKiB,OAAL,GAAe,IAAf;AACA,iBAAKP,aAAL,CAAmB+iC,4BAAnB,CAAgD/3B,MAAM,CAAC,KAAKsN,cAAN,CAAtD,EAA6EtN,MAAM,CAAC,KAAKvJ,kBAAN,CAAnF,EAA8G4D,SAA9G,CAAwH,UAAAq9B,OAAO,EAAI;AAC/H,kBAAIA,OAAJ,EAAa;AACT,wBAAI,CAACJ,kBAAL,GAA0BI,OAA1B,CADS,CAET;;AACA,wBAAI,CAAC55B,WAAL,CAAiB,KAAjB;;AACA,oBAAI65B,OAAO,GAAQ,EAAnB;AACA,oBAAIC,qBAAqB,GAAG,EAA5B;AACA,oBAAIC,WAAW,GAAG,CAAlB;AACA,oBAAI1yB,eAAe,GAAG,CAAtB;AACA,oBAAI2yB,QAAQ,GAAG,CAAf;;AACA,oBAAI,QAAI,CAACR,kBAAL,CAAwBr/B,MAA5B,EAAoC;AAChC,uBAAK,IAAI6B,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,QAAI,CAACw9B,kBAAL,CAAwBr/B,MAA5C,EAAoD6B,CAAC,EAArD,EAAyD;AACrD,wBAAImL,IAAI,GAAQ,IAAI3M,IAAJ,CAAS,QAAI,CAACg/B,kBAAL,CAAwBx9B,CAAxB,EAA2BkL,UAApC,CAAhB;AACAC,wBAAI,GAAGA,IAAI,CAACxM,WAAL,KAAqB,GAArB,GAA2BuH,MAAM,CAACiF,IAAI,CAACtM,QAAL,KAAkB,CAAnB,CAAjC,GAAyD,GAAzD,GAA+DsM,IAAI,CAACpM,OAAL,EAAtE;AACA,wBAAMmM,UAAU,GAAGC,IAAnB;AACA,wBAAIgD,GAAG,GAAG;AACNhD,0BAAI,EAAE,EADA;AAENnF,2BAAK,EAAE;AAFD,qBAAV;;AAIA,wBAAI63B,OAAO,IAAI3yB,UAAX,IAAyB2yB,OAAO,IAAI,EAAxC,EAA4C;AACxCG,8BAAQ;AACX,qBAFD,MAEO;AACHD,iCAAW;AACX5vB,yBAAG,GAAG;AACFhD,4BAAI,EAAE,EADJ;AAEFnF,6BAAK,EAAE;AAFL,uBAAN;AAIAg4B,8BAAQ,GAAG,CAAX;AACH;;AACD7vB,uBAAG,CAAChD,IAAJ,GAAWD,UAAX;AACA,wBAAIU,oBAAoB,GAAI,QAAI,CAAC4xB,kBAAL,CAAwBx9B,CAAxB,EAA2BmB,UAA3B,GAAwC,GAAzC,GAAgD,QAAI,CAACq8B,kBAAL,CAAwBx9B,CAAxB,EAA2B6F,WAAtG;AACAwF,mCAAe,IAAKO,oBAAoB,GAAG,GAAvB,GAA6B,GAA7B,GAAmCA,oBAAvD;AACAuC,uBAAG,CAACnI,KAAJ,GAAY6F,IAAI,CAACC,KAAL,CAAWT,eAAe,GAAG2yB,QAA7B,CAAZ;AACAF,yCAAqB,CAACC,WAAD,CAArB,GAAqC5vB,GAArC;AAEA0vB,2BAAO,GAAG3yB,UAAV;;AACA,wBAAIlL,CAAC,IAAI,QAAI,CAACw9B,kBAAL,CAAwBr/B,MAAxB,GAAiC,CAA1C,EAA6C;AACzC,8BAAI,CAACo/B,iBAAL,GAAyBO,qBAAzB;AACA,8BAAI,CAACL,WAAL,GAAmB,IAAnB;;AACA,8BAAI,CAACpB,6BAAL,CAAmC,KAAnC;AACH;AACJ;AACJ,iBAhCD,MAgCO;AACH,0BAAI,CAACqB,cAAL,GAAsB,KAAtB;AACAzjC,8BAAY,CAACuG,OAAb,CAAqB,UAArB,EAAiC,0BAAjC;;AACA,0BAAI,CAACtF,aAAL,CAAmBuF,SAAnB;;AACAxG,8BAAY,CAACO,UAAb,CAAwB,UAAxB;AACA;AACH;AAEJ;;AACD,sBAAI,CAACiB,OAAL,GAAe,KAAf;AACH,aApDD,EAoDG,UAAAiF,KAAK,EAAI;AACR,sBAAI,CAACjF,OAAL,GAAe,KAAf;AACAnB,qBAAO,CAACC,GAAR,CAAY,OAAZ,EAAqBmG,KAArB;AACH,aAvDD;AAyDH,W,CAED;;;;iBACQ,uCAA8B+0B,SAA9B,EAAyC;AAC7C,gBAAIjI,SAAJ;;AACA,gBAAIiI,SAAS,KAAK,KAAlB,EAAyB;AACrBjI,uBAAS,GAAG,KAAK+P,iBAAjB;AACH,aAFD,MAEO;AACH/P,uBAAS,GAAG,KAAK8P,iBAAjB;AACA,mBAAKrC,aAAL,GAAqB,IAArB;AACH;;AACD,gBAAIrF,OAAO,GAAG,EAAd;AAAA,gBAAkBoC,MAAM,GAAG,EAA3B;AAAA,gBAA+BmD,IAAI,GAAG,EAAtC;AAAA,gBAA0CC,UAAU,GAAG,EAAvD;;AACA,iBAAK,IAAIp7B,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGwtB,SAAS,CAACrvB,MAA9B,EAAsC6B,CAAC,EAAvC,EAA2C;AAEvC41B,qBAAO,CAACt0B,IAAR,CAAaksB,SAAS,CAACxtB,CAAD,CAAT,CAAagG,KAA1B;AAEA,kBAAI/F,SAAS,GAAGutB,SAAS,CAACxtB,CAAD,CAAT,CAAamL,IAA7B;AACA6sB,oBAAM,CAAC12B,IAAP,CAAYrB,SAAZ;AACAm7B,wBAAU,CAAC95B,IAAX,CAAgBksB,SAAS,CAACxtB,CAAD,CAAT,CAAamL,IAA7B;AAEA,kBAAImwB,GAAG,GAAG,MAAM9N,SAAS,CAACxtB,CAAD,CAAT,CAAagG,KAA7B;AACAm1B,kBAAI,CAAC75B,IAAL,CAAUg6B,GAAG,GAAG,CAAN,GAAUA,GAAV,GAAgB,CAA1B;AACH;;AAID,gBAAI,KAAKzL,KAAT,EAAgB;AACZ,mBAAKA,KAAL,CAAW0L,OAAX;AACH;;AAGD,iBAAKC,qBAAL,GAA8BxD,MAAM,CAAC75B,MAAP,GAAgB,EAAjB,GAAuB,GAAvB,GAA6B,IAA1D;AAIA,iBAAK0xB,KAAL,GAAa,IAAI,8CAAJ,CAAU,yBAAV,EAAqC;AAC9C5O,kBAAI,EAAE,eADwC;AAE9C;AACA;AACAnnB,kBAAI,EAAE;AACFk+B,sBAAM,EAAEA,MADN;AAEFyD,yBAAS,EAAE,SAFT;AAGF9E,wBAAQ,EAAE,CAAC;AACP+E,uBAAK,EAAE,SADA;AAEP5hC,sBAAI,EAAE87B,OAFC;AAGP+F,iCAAe,EAAE,SAHV,CAGoB;;AAHpB,iBAAD,EAKV;AACID,uBAAK,EAAE,KADX;AAEI5hC,sBAAI,EAAEqhC,IAFV;AAGIQ,iCAAe,EAAE,SAHrB,CAG+B;;AAH/B,iBALU;AAHR,eAJwC;AAkB9CxE,qBAAO,EAAE;AACLyE,mCAAmB,EAAE,KADhB;AAELC,0BAAU,EAAE,IAFP;AAILxE,sBAAM,EAAE;AACJW,wBAAM,EAAE;AACJ;AACA8D,6BAAS,EAAE;AAFP;AADJ,iBAJH;AAWLC,wBAAQ,EAAE;AACNC,2BAAS,EAAE;AACP5sB,yBAAK,EAAE,eAAU6sB,WAAV,EAAuBniC,IAAvB,EAA6B;AAChC,6BAAOshC,UAAU,CAACa,WAAW,CAAC,CAAD,CAAX,CAAex3B,KAAhB,CAAjB;AACH,qBAHM;AAIPi3B,yBAAK,EAAE,eAAUO,WAAV,EAAuBniC,IAAvB,EAA6B;AAChC,0BAAI4hC,KAAK,GAAG5hC,IAAI,CAAC68B,QAAL,CAAcsF,WAAW,CAACC,YAA1B,EAAwCR,KAAxC,IAAiD,EAA7D;;AAEA,0BAAIA,KAAJ,EAAW;AACPA,6BAAK,IAAI,IAAT;AACH;;AAEDA,2BAAK,IAAIO,WAAW,CAACE,MAArB;AACA,6BAAOT,KAAP;AACH;AAbM;AADL,iBAXL;AA4BLjE,sBAAM,EAAE;AACJC,uBAAK,EAAE,CAAC;AACJ0E,2BAAO,EAAE,IADL;AAEJxE,yBAAK,EAAE;AACHC,yBAAG,EAAE,GADF;AAEHC,yBAAG,EAAE,CAFF;AAGHC,8BAAQ,EAAE;AAHP;AAFH,mBAAD,CADH;AASJJ,uBAAK,EAAE,CAAC;AACJyE,2BAAO,EAAE,IADL;AAEJ;AACAxE,yBAAK,EAAE;AACHC,yBAAG,EAAE,GADF;AAEHC,yBAAG,EAAE,CAFF;AAGHC,8BAAQ,EAAE;AAHP;AAHH,mBAAD;AATH;AA5BH;AAlBqC,aAArC,CAAb;AAmEH;AACD;;;;;;iBAGQ,qBAAYl3B,YAAZ,EAA0B;AAC9B,gBAAIC,QAAJ;AACAxG,mBAAO,CAACC,GAAR,CAAY,yBAAZ,EAAuC,KAAK8iC,kBAA5C;AACA,gBAAGx8B,YAAH,EACEC,QAAQ,GAAG,KAAKu8B,kBAAhB,CADF,KAGEv8B,QAAQ,GAAG,KAAK08B,kBAAhB;AAGF,gBAAIz8B,QAAQ,GAAG,EAAf,CAT8B,CAU9B;;AACA,iBAAKnE,UAAL,GAAkB,EAAlB;AACA,iBAAKmT,iBAAL,GAAyB,EAAzB;AACA,gBAAI/O,CAAC,GAAG,CAAR;AACA,gBAAIqP,CAAC,GAAG,CAAR;AACA/V,mBAAO,CAACC,GAAR,CAAY,wBAAZ,EAAsCuG,QAAtC;AACA,gBAAIwP,aAAa,GAAE,EAAnB;AACA,gBAAIC,WAAW,GAAG,EAAlB;;AACA,iBAAK,IAAIC,KAAK,GAAG,CAAjB,EAAoBA,KAAK,GAAG1P,QAAQ,CAAC3C,MAArC,EAA6CqS,KAAK,EAAlD,EAAsD;AAClD,kBAAIpP,YAAY,GAAG,KAAKC,UAAL,CAAgBP,QAAQ,CAAC0P,KAAD,CAAR,CAAgB1Q,mBAAhC,IAAuD,KAAvD,GACb,KAAKuB,UAAL,CAAgBP,QAAQ,CAAC0P,KAAD,CAAR,CAAgBzQ,iBAAhC,CADN;;AAEA,kBAAI,KAAKnD,UAAL,CAAgBvC,OAAhB,CAAwB+G,YAAxB,MAA0C,CAAC,CAA/C,EAAkD;AAC9C,qBAAKxE,UAAL,CAAgB0E,IAAhB,CAAqBF,YAArB;AACH;AACJ;;AACD,iBAAI,IAAIpB,CAAC,GAAG,CAAZ,EAAcA,CAAC,GAACc,QAAQ,CAAC3C,MAAzB,EAAgC6B,CAAC,EAAjC,EAAqC;AACnC,kBAAIiB,QAAQ,GAAG,KAAKC,UAAL,CAAgBH,QAAhB,EAA0BD,QAAQ,CAACd,CAAD,CAAR,CAAYC,SAAtC,CAAf;;AAEA,kBAAIgB,QAAQ,KAAK,CAAC,CAAlB,EAAqB;AACnBF,wBAAQ,CAACC,CAAD,CAAR,GAAc,EAAd;AACAD,wBAAQ,CAACC,CAAD,CAAR,CAAY,CAAZ,IAAiBF,QAAQ,CAACd,CAAD,CAAR,CAAYC,SAA7B;AACAc,wBAAQ,CAACC,CAAD,CAAR,CAAY,CAAZ,IAAiBF,QAAQ,CAACd,CAAD,CAAR,CAAY6F,WAA7B;AACA5E,wBAAQ,GAAGD,CAAX;AACAA,iBAAC;;AACD,qBAAK,IAAIyP,SAAS,GAAG,CAArB,EAAwBA,SAAS,GAAG,KAAK7T,UAAL,CAAgBuB,MAApD,EAA4DsS,SAAS,EAArE,EAAyE;AACrE1P,0BAAQ,CAACE,QAAD,CAAR,CAAmBK,IAAnB,CAAwBR,QAAQ,CAACd,CAAD,CAAR,CAAYmB,UAApC;AACD;AACJ,eAZkC,CAapC;AACD;AACA;AACA;AACA;AACA;AACA;;;AACE7G,qBAAO,CAACC,GAAR,CAAY,iBAAZ,EAA+B,KAAKqC,UAApC;AACA,kBAAI8T,cAAc,GAAG5P,QAAQ,CAACd,CAAD,CAAR,CAAYkL,UAAjC,CArBmC,CAqBU;;AAC7C,kBAAI,KAAK6E,iBAAL,CAAuB1V,OAAvB,CAA+BqW,cAA/B,MAAmD,CAAC,CAAxD,EAA2D;AACzD,qBAAKX,iBAAL,CAAuBzO,IAAvB,CAA4BoP,cAA5B;AACD;AACF;;AACD,iBAAK7T,aAAL,GAAsBkE,QAAtB;AACAzG,mBAAO,CAACC,GAAR,CAAY,oBAAZ,EAAkC,KAAKsC,aAAvC;AACH;AACD;;;;;;iBAGQ,oBAAWiG,GAAX,EAAgBH,IAAhB,EAAsB;AAC1B,iBAAI,IAAI3C,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC8C,GAAG,CAAC3E,MAAlB,EAAyB6B,CAAC,EAA1B,EAA8B;AAE5B,kBAAG8C,GAAG,CAAC9C,CAAD,CAAH,IAAU8C,GAAG,CAAC9C,CAAD,CAAH,CAAO,CAAP,MAAc2C,IAA3B,EACE,OAAO3C,CAAP;AACH;;AACD,mBAAO,CAAC,CAAR;AACH;;;iBACO,oBAAWmD,OAAX,EAAoB;AACxB,mBAAO,IAAI3E,IAAJ,CAAS2E,OAAT,EAAkBpE,OAAlB,KAA8B,GAA9B,IAAqC,IAAIP,IAAJ,CAAS2E,OAAT,EAAkBtE,QAAlB,KAA+B,CAApE,IAAyE,GAAzE,GAA+E,IAAIL,IAAJ,CAAS2E,OAAT,EAAkBxE,WAAlB,EAAtF;AACD;;;;;;;yBAtZMy+B,sB,EAAsB,uI,EAAA,uH,EAAA,gH,EAAA,oH,EAAA,uH;AAAA,O;;;cAAtBA,sB;AAAsB,2C;AAAA,iB;AAAA,e;AAAA,k9D;AAAA;AAAA;ACdnC;;AAEA;;AACA;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AAAI;;AAAY;;AAChB;;AACJ;;AACJ;;AACJ;;AACJ;;AAEA;;AACI;;AAAyB;;AAAW;;AACpC;;AACI;;AAYJ;;AAEJ;;AAEA;;AACI;;AACI;;AAWA;;AAGA;;AAGA;;AAaJ;;AACJ;;AAEJ;;AACJ;;AACJ;;AACJ;;AAGA;;AAEE;;AACE;;AACE;;AACE;;AAAwB;;AAAmB;;AAC3C;;AACE;;AAAyB;;AAAO;;AAClC;;AACF;;AACA;;AACE;;AACI;;AACI;;AA8BJ;;AACJ;;AACF;;AAEF;;AACF;;AACF;;;;AA1G8E;;AAAA;;AAkBG;;AAAA;;AAW/B;;AAAA;;AAGA;;AAAA;;AAGQ;;AAAA;;AAmCW;;AAAA;;;;;;;;;;;;;;;;;;;;;AC3FrE;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;;;;;;;;;;;ACAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;AC0EQ;;;;;;;;AAyCE;;AAAsE;AAAA;;AAAA;;AAAA;AAAA;;AACvC;;AAAS;;;;;;AAAtC;;;;;;;;AACF;;AACE;AAAA;;AAAA;;AAAA;AAAA;;AAA2C;;AAAY;;;;;;;;;;;;AAxDnE;;AAEE;;AACE;;AACE;;AACE;;AACE;;AAAwB;;AAAwB;;AAChD;;AACE;;AAAyB;;AAAO;;AAClC;;AACF;;AAEA;;AAEA;;AACE;;AACE;;AAAsE;;AAAW;;AACjF;;AACE;;AAGF;;AACF;;AAEA;;AACE;;AAAiE;;AAAK;;AACtE;;AACE;;AAGF;;AACF;;AAEA;;AACE;;AAAiE;;AAAM;;AACvE;;AACE;;AAGF;;AACF;;AAWF;;AACA;;AACE;;AAEA;;AAEA;;AAA4F;;AAAM;;AACpG;;AACF;;AACF;;AACF;;AACF;;;;;;AA3DU;;AAAA;;AASM;;AAAA;;AAMiB;;AAAA;;AASE;;AAAA;;AASF;;AAAA;;AAiBd;;AAAA;;AAEA;;AAAA;;;;;;;;AAgDD;;AACE;;AACE;;AAAK;;AAAsC;;AAC7C;;AACA;;AACE;;AAAK;;AAAkB;;AACzB;;AACA;;AACE;;AAAK;;AAAuB;;AAC9B;;AAEA;;AACE;;AAAK;;AAAmB;;AAC1B;;AAMA;;AACE;;AACqC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AACnC;;AACF;;AAKF;;AACF;;;;;;;;AA3BS;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;AAIA;;AAAA;;;;;;AA1BjB;;AACE;;AACE;;AACE;;AACE;;AACE;;AAAI;;AAAI;;AACR;;AAAI;;AAAK;;AACT;;AAAI;;AAAW;;AACf;;AAAI;;AAAM;;AAEV;;AAAI;;AAAM;;AACZ;;AACF;;AACA;;AACE;;AA8BF;;AACF;;AACF;;AACF;;;;;;AAjCiC;;AAAA;;;;;;AAuC3C;;AACI;;AAGI;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACJ;;AACJ;;;;;;;;UD5Mac,0B;AAqBX,4CAAoBnxB,YAApB,EACUhS,MADV,EAEUC,WAFV,EAGUE,aAHV,EAIUE,SAJV,EAKEC,MALF,EAMUF,MANV,EAOUG,SAPV,EAO+B;AAAA;;AAPX,eAAAyR,YAAA,GAAAA,YAAA;AACV,eAAAhS,MAAA,GAAAA,MAAA;AACA,eAAAC,WAAA,GAAAA,WAAA;AACA,eAAAE,aAAA,GAAAA,aAAA;AACA,eAAAE,SAAA,GAAAA,SAAA;AAEA,eAAAD,MAAA,GAAAA,MAAA;AACA,eAAAG,SAAA,GAAAA,SAAA;AAzBT,eAAAQ,KAAA,GAAa,EAAb;AAGA,eAAAkR,YAAA,GAAsB,EAAtB;AACA,eAAAhR,SAAA,GAAY,KAAZ;AACA,eAAAC,aAAA,GAAqB,EAArB;AACA,eAAAE,aAAA,GAAqB,EAArB;AACA,eAAAD,OAAA,GAAe,IAAf;AACA,eAAAV,aAAA,GAAyB,IAAzB;AACA,eAAAC,OAAA,GAAmB,KAAnB;AACA,eAAAwR,eAAA,GAA0B,CAA1B;AACA,eAAAC,iBAAA,GAA4B,CAA5B;AAGA,eAAAC,aAAA,GAAqB,EAArB;AACA,eAAAC,SAAA,GAAiB,EAAjB;AACA,eAAAE,OAAA,GAAe,EAAf;;AAUC,eAAKhS,SAAL,CAAemC,UAAf;;AACA,eAAK3B,KAAL,GAAa4B,IAAI,CAACC,KAAL,CAAW1D,YAAY,CAACC,OAAb,CAAqB,MAArB,CAAX,CAAb;;AACA,cAAI,CAAC,KAAK4B,KAAN,IAAe,CAAC,KAAKA,KAAL,CAAW8B,QAA/B,EAAyC;AACvC,iBAAK1C,aAAL,CAAmB2C,MAAnB;AACA;AACD;;AACD,cAAI,KAAK/B,KAAL,IAAc,KAAKA,KAAL,CAAW8B,QAA7B,EAAuC;AACrC,iBAAK3B,aAAL,GAAqB,qBAArB;AACA,iBAAKE,aAAL,GAAqB,KAAKL,KAAL,CAAW8B,QAAX,CAAoBE,YAAzC;AACA,iBAAKtB,OAAL,GAAe,KAAKV,KAAL,CAAW8B,QAAX,CAAoBpB,OAAnC;AACA,iBAAK0F,SAAL,GAAiBjI,YAAY,CAACC,OAAb,CAAqB,WAArB,CAAjB;AACD;;AACD,cAAID,YAAY,CAACC,OAAb,CAAqB,eAArB,CAAJ,EAA2C;AACzC,iBAAKiT,aAAL,GAAqBlT,YAAY,CAACC,OAAb,CAAqB,eAArB,CAArB;AACD;;AACD,cAAIqE,WAAW,GAAG,IAAIC,IAAJ,EAAlB;AACA,eAAKnD,MAAL,GAAcA,MAAd;AACA,eAAKA,MAAL,CAAYoD,OAAZ,GAAsB;AAAEC,gBAAI,EAAEH,WAAW,CAACI,WAAZ,KAA4B,EAApC;AAAwCC,iBAAK,EAAEL,WAAW,CAACM,QAAZ,EAA/C;AAAuEC,eAAG,EAAEP,WAAW,CAACQ,OAAZ;AAA5E,WAAtB;AACA,eAAK1D,MAAL,CAAYmS,OAAZ,GAAsB;AAAE9O,gBAAI,EAAE,IAAR;AAAcE,iBAAK,EAAE,EAArB;AAAyBE,eAAG,EAAE;AAA9B,WAAtB;AACA,eAAKzD,MAAL,CAAY2D,YAAZ,GAA2B,KAA3B;AACA,eAAKyO,YAAL;AACD,S,CAED;;;;;iBACA,oBAAW;AACT,iBAAKC,OAAL,GAAe,KAAK1S,WAAL,CAAiBoF,KAAjB,CAAuB;AACpCk2B,sBAAQ,EAAE,IAAI,0DAAJ,CAAgB,IAAhB,CAD0B;AAEpCtwB,mBAAK,EAAE,CAAC,EAAD,EAAK,0DAAW9F,QAAhB,CAF6B;AAGpC+F,wBAAU,EAAE,CAAC,EAAD,EAAK,0DAAW/F,QAAhB,CAHwB;AAIpCi+B,oBAAM,EAAE,CAAC,EAAD,EAAK,0DAAWj+B,QAAhB,CAJ4B;AAKpC1D,qBAAO,EAAE,IAAI,0DAAJ,CAAgB,CAAhB;AAL2B,aAAvB,CAAf;AAOA,iBAAKuR,cAAL;AACD,W,CAED;;;;iBACQ,0BAAiB;AACvB;AACA;AACA;AACA;AACA;AACA,iBAAKzO,oBAAL;;AACA,gBAAG,KAAKnE,MAAL,CAAYuT,WAAZ,EAAH,EAA8B;AAC5B,mBAAKtG,YAAL;AACD;AACF,W,CAED;;;;iBACC,wBAAe;AACd,iBAAKsF,OAAL,GAAe,KAAK1S,WAAL,CAAiBoF,KAAjB,CAAuB;AACpCk2B,sBAAQ,EAAE,IAAI,0DAAJ,CAAgB,IAAhB,CAD0B;AAEpCtwB,mBAAK,EAAE,CAAC,EAAD,EAAK,0DAAW9F,QAAhB,CAF6B;AAGpC+F,wBAAU,EAAE,CAAC,EAAD,EAAK,0DAAW/F,QAAhB,CAHwB;AAIpCi+B,oBAAM,EAAE,CAAC,EAAD,EAAK,0DAAWj+B,QAAhB,CAJ4B;AAKpC1D,qBAAO,EAAE,IAAI,0DAAJ,CAAgB,CAAhB;AAL2B,aAAvB,CAAf;AAOD,W,CAED;;;;iBACQ,2BAAkB+R,QAAlB,EAA4B;AAClC,iBAAKd,YAAL;AACA,iBAAKC,OAAL,GAAe,KAAK1S,WAAL,CAAiBoF,KAAjB,CAAuB;AACpCk2B,sBAAQ,EAAE,IAAI,0DAAJ,CAAgB/nB,QAAQ,CAAC+nB,QAAzB,CAD0B;AAEpCtwB,mBAAK,EAAE,IAAI,0DAAJ,CAAgBuI,QAAQ,CAACvI,KAAzB,CAF6B;AAGpCC,wBAAU,EAAE,IAAI,0DAAJ,CAAgBsI,QAAQ,CAACtI,UAAzB,CAHwB;AAIpCk4B,oBAAM,EAAE,IAAI,0DAAJ,CAAgB5vB,QAAQ,CAAC4vB,MAAzB,CAJ4B;AAKpC3hC,qBAAO,EAAE,IAAI,0DAAJ,CAAgB+R,QAAQ,CAAC/R,OAAzB;AAL2B,aAAvB,CAAf;AAOD,W,CAED;;;;iBACQ,gCAAuB;AAAA;;AAC7B,iBAAKf,OAAL,GAAe,IAAf;AACA,iBAAKuR,YAAL,GAAoB,EAApB;AACA,iBAAK9R,aAAL,CAAmBoE,oBAAnB,GAA0CgB,IAA1C,CAA+C,8DAA/C,EAAwDC,SAAxD,CACE,UAAAzG,IAAI,EAAI;AACN,sBAAI,CAACkT,YAAL,GAAoBlT,IAApB;AACA,sBAAI,CAAC2B,OAAL,GAAe,KAAf;AACD,aAJH,EAKE,UAAAiF,KAAK,EAAI;AACP,sBAAI,CAACjF,OAAL,GAAe,KAAf;AACAxB,0BAAY,CAACuG,OAAb,CAAqB,UAArB,EAAiCE,KAAK,CAACC,UAAvC;;AACA,sBAAI,CAACF,SAAL;AACD,aATH;AAWD,W,CAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;;;iBACQ,kBAAS8N,QAAT,EAAmB;AAAA;;AACzB,gBAAI,KAAKb,OAAL,CAAaxI,OAAjB,EAA0B;AACxB,mBAAKlJ,SAAL,GAAiB,IAAjB;AACA;AACD,aAHD,MAGO;AACL;AACA,kBAAI,KAAKoiC,eAAL,CAAqB7vB,QAAQ,CAACtI,UAA9B,CAAJ,EAA+C;AAC7ChM,4BAAY,CAACuG,OAAb,CAAqB,UAArB,EAAiC+N,QAAQ,CAACtI,UAAT,GAAsB,uBAAvD;AACA,qBAAKxF,SAAL;AACA;AACD;;AACD,kBAAI,KAAK49B,UAAL,CAAgB9vB,QAAQ,CAACvI,KAAzB,CAAJ,EAAqC;AACnC/L,4BAAY,CAACuG,OAAb,CAAqB,UAArB,yBAAiD+N,QAAQ,CAACvI,KAA1D;AACA,qBAAKvF,SAAL;AACA;AACD;;AACD,mBAAKhF,OAAL,GAAe,IAAf;;AACA,kBAAG,CAAC,KAAKN,MAAL,CAAYuT,WAAZ,EAAJ,EAA+B;AAC7B;AACA;AACAH,wBAAQ,CAACjR,KAAT,GAAiBI,IAAI,CAACC,KAAL,CAAW1D,YAAY,CAACC,OAAb,CAAqB,MAArB,CAAX,EAAyC0D,QAAzC,CAAkDpB,OAAnE;AACD;;AACD,mBAAKtB,aAAL,CAAmBojC,eAAnB,CAAmC/vB,QAAnC,EAA6CjO,IAA7C,CAAkD,8DAAlD,EAA2DC,SAA3D,CACE,UAAAzG,IAAI,EAAI;AACN,wBAAI,CAAC2B,OAAL,GAAe,KAAf;;AACA,wBAAI,CAACiS,OAAL,CAAatH,KAAb;;AACAnM,4BAAY,CAACuG,OAAb,CAAqB,UAArB,EAAiC,6BAAjC;;AACA,wBAAI,CAACuN,cAAL;;AACA,wBAAI,CAACtN,SAAL;AACD,eAPH,EAQE,UAAAC,KAAK,EAAI;AACP,wBAAI,CAACjF,OAAL,GAAe,KAAf;AACAxB,4BAAY,CAACuG,OAAb,CAAqB,UAArB,EAAiC,4BAAjC;;AACA,wBAAI,CAACC,SAAL;AACD,eAZH;AAcD;AACF,W,CAED;;;;iBACQ,2BAAkB8N,QAAlB,EAA4B;AAAA;;AAClC,gBAAI,KAAKb,OAAL,CAAaxI,OAAjB,EAA0B;AACxBjL,0BAAY,CAACuG,OAAb,CAAqB,UAArB,EAAiC,gCAAjC;AACA,mBAAKC,SAAL;AACA;AACD;;AAED,gBAAI8N,QAAQ,IAAI,IAAhB,EAAsB;AACpB,kBAAIA,QAAJ,EAAc;AACZ,qBAAK9S,OAAL,GAAe,IAAf,CADY,CAEZ;;AACA,qBAAKP,aAAL,CAAmBqjC,iBAAnB,CAAqChwB,QAArC,EAA+CjO,IAA/C,CAAoD,8DAApD,EAA6DC,SAA7D,CACE,UAAAzG,IAAI,EAAI;AACN,0BAAI,CAAC2B,OAAL,GAAe,KAAf;;AACA,0BAAI,CAACsS,cAAL;;AACA,0BAAI,CAACxI,WAAL;;AACAtL,8BAAY,CAACuG,OAAb,CAAqB,UAArB,EAAiC,uCAAjC;;AACA,0BAAI,CAACC,SAAL;AACD,iBAPH,EAQE,UAAAC,KAAK,EAAI;AACP,0BAAI,CAACjF,OAAL,GAAe,KAAf;AACAxB,8BAAY,CAACuG,OAAb,CAAqB,UAArB,EAAiCE,KAAK,CAACC,UAAvC;;AACA,0BAAI,CAACF,SAAL;AACD,iBAZH;AAcD;AACF;AACF,W,CAED;;;;iBACQ,wBAAeqO,QAAf,EAAyB;AAAA;;AAC/B,iBAAKrT,OAAL,GAAe,IAAf,CAD+B,CAE/B;;AACA,iBAAKP,aAAL,CAAmB6T,YAAnB,CAAgCD,QAAhC,EAA0CxO,IAA1C,CAA+C,8DAA/C,EAAwDC,SAAxD,CACE,UAAAzG,IAAI,EAAI;AACN,sBAAI,CAAC2B,OAAL,GAAe,IAAf;;AACA,sBAAI,CAACsS,cAAL;;AACA9T,0BAAY,CAACuG,OAAb,CAAqB,UAArB,EAAiC,iCAAjC;AACAvG,0BAAY,CAACO,UAAb,CAAwB,UAAxB;;AACA,sBAAI,CAACiG,SAAL;AACD,aAPH,EAQE,UAAAC,KAAK,EAAI;AACP,sBAAI,CAACjF,OAAL,GAAe,KAAf;AACAxB,0BAAY,CAACuG,OAAb,CAAqB,UAArB,EAAiCE,KAAK,CAACC,UAAvC;;AACA,sBAAI,CAACF,SAAL;AACD,aAZH;AAcD,W,CAED;;;;iBACQ,yBAAgBwF,UAAhB,EAA4B;AAClC,gBAAIu4B,iBAAiB,GAAG,KAAxB;;AACA,iBAAK,IAAIx+B,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKgN,YAAL,CAAkB7O,MAAtC,EAA8C6B,CAAC,EAA/C,EAAmD;AACjD,kBAAIiG,UAAU,CAAClI,WAAX,MAA4B,KAAKiP,YAAL,CAAkBhN,CAAlB,EAAqBiG,UAArB,CAAgClI,WAAhC,EAAhC,EAA+E;AAC7EygC,iCAAiB,GAAG,IAApB;AACA;AACD;AACF;;AACD,mBAAOA,iBAAP;AACD,W,CAED;;;;iBACQ,oBAAWx4B,KAAX,EAAkB;AACxB,gBAAIy4B,YAAY,GAAG,KAAnB;;AACA,iBAAK,IAAIz+B,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKgN,YAAL,CAAkB7O,MAAtC,EAA8C6B,CAAC,EAA/C,EAAmD;AACjD,kBAAIgG,KAAK,IAAI,KAAKgH,YAAL,CAAkBhN,CAAlB,EAAqBgG,KAAlC,EAAyC;AACvCy4B,4BAAY,GAAG,IAAf;AACA;AACD;AACF;;AACD,mBAAOA,YAAP;AACD,W,CAED;;;;iBACA,qBAAY;AACV;AACA;AACA;AACA;AACA,gBAAMxvB,KAAK,GAAG,KAAKlC,YAAL,CAAkBmC,IAAlB,CAAuB,uEAAvB,EAAuC;AACnDC,mBAAK,EAAE,MAD4C;AAEnDrV,kBAAI,EAAE;AAAEsV,qBAAK,EAAE,eAAT;AAA0BxT,uBAAO,EAAE;AAAnC;AAF6C,aAAvC,CAAd;AAID,W,CAED;;;;iBACQ,uBAAc;AACpB,iBAAKyT,UAAL,CAAgBzI,aAAhB,CAA8BC,KAA9B;AACD,W,CAED;;;;iBACQ,gBAAOE,CAAP,EAAUC,QAAV,EAAoB;AAC1B,iBAAK9L,aAAL,CAAmB2C,MAAnB;AACD,W,CAED;;;;iBACQ,sBAAakJ,CAAb,EAAgBC,QAAhB,EAA0B;AAChC,iBAAKjM,MAAL,CAAYsE,QAAZ,CAAqB,CAAC2H,QAAD,CAArB;AACD;;;iBAEO,wBAAe;AAAA;;AACrB,iBAAKvL,OAAL,GAAe,IAAf;AACA,iBAAKP,aAAL,CAAmBkN,YAAnB,GAAkC9H,IAAlC,CAAuC,8DAAvC,EAAgDC,SAAhD,CACE,UAAAzG,IAAI,EAAI;AACN,sBAAI,CAAC2B,OAAL,GAAe,KAAf;AACA,sBAAI,CAAC2R,SAAL,GAAiBtT,IAAjB;AACD,aAJH,EAKE,UAAA4G,KAAK,EAAI;AACP,sBAAI,CAACjF,OAAL,GAAe,KAAf;AACAxB,0BAAY,CAACuG,OAAb,CAAqB,UAArB,EAAiCE,KAAK,CAACC,UAAvC;;AACA,sBAAI,CAACF,SAAL;AACD,aATH;AAWD;;;;;;;yBAhSUy9B,0B,EAA0B,mI,EAAA,uH,EAAA,2H,EAAA,uI,EAAA,gH,EAAA,+I,EAAA,oH,EAAA,uH;AAAA,O;;;cAA1BA,0B;AAA0B,qC;AAAA;AAAA;8EAEL,wD;;;;;;;;;;;;;;AC4ClC;;AAGA;;AAkEA;;AACI;;AACI;;AACI;;AACE;;AACE;;AACE;;AACE;;AACE;;AACE;;AACE;;AAAsC;;AAAoB;;AAC5D;;AACA;;AAAuD;;AAAmB;;AAC5E;;AACF;;AACF;;AACF;;AACA;;AACE;;AAA0H;AAAA,qBAAS,IAAAzwB,YAAA,EAAT;AAAuB,aAAvB;;AAAyB;;AAC5I;;AACT;;AACF;;AACF;;AACF;;AAgDF;;AACF;;AAEN;;AAEA;;;;AA9IM;;AAAA;;AA4EuB;;AAAA;;AAakB;;AAAA;;AAqD1B;;AAAA;;;;;;;;;;;;;;;;;;;;;AC5MrB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;;;;;;;;;;;ACAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AA0BA,UAAMixB,MAAM,GAAW,CACrB;AAAEC,YAAI,EAAE,EAAR;AAAYC,iBAAS,EAAE;AAAvB,OADqB,EAErB;AAAED,YAAI,EAAE,OAAR;AAAiBC,iBAAS,EAAE;AAA5B,OAFqB,EAGrB;AAAED,YAAI,EAAE,WAAR;AAAqBC,iBAAS,EAAE;AAAhC,OAHqB,EAIrB;AAAED,YAAI,EAAE,aAAR;AAAuBC,iBAAS,EAAE;AAAlC,OAJqB,EAKrB;AAAED,YAAI,EAAE,cAAR;AAAwBC,iBAAS,EAAE;AAAnC,OALqB,EAMrB;AAAED,YAAI,EAAE,kBAAR;AAA4BC,iBAAS,EAAE;AAAvC,OANqB,EAOrB;AAAED,YAAI,EAAE,aAAR;AAAuBC,iBAAS,EAAE;AAAlC,OAPqB,EAQrB;AAAED,YAAI,EAAE,YAAR;AAAsBC,iBAAS,EAAE;AAAjC,OARqB,EASrB;AAAED,YAAI,EAAE,eAAR;AAAyBC,iBAAS,EAAE;AAApC,OATqB,EAUrB;AAAED,YAAI,EAAE,gBAAR;AAA0BC,iBAAS,EAAE;AAArC,OAVqB,EAWrB;AAAED,YAAI,EAAE,KAAR;AAAeC,iBAAS,EAAE;AAA1B,OAXqB,EAYrB;AAAED,YAAI,EAAE,OAAR;AAAiBC,iBAAS,EAAE;AAA5B,OAZqB,EAarB;AAAED,YAAI,EAAE,aAAR;AAAuBC,iBAAS,EAAE;AAAlC,OAbqB,EAcrB;AAAED,YAAI,EAAE,gBAAR;AAA0BC,iBAAS,EAAE;AAArC,OAdqB,EAerB;AAAED,YAAI,EAAE,gBAAR;AAA0BC,iBAAS,EAAE;AAArC,OAfqB,EAgBrB;AAAED,YAAI,EAAE,gBAAR;AAA0BC,iBAAS,EAAE;AAArC,OAhBqB,EAiBrB;AAAED,YAAI,EAAE,mBAAR;AAA6BC,iBAAS,EAAE;AAAxC,OAjBqB,EAkBrB;AAAED,YAAI,EAAE,eAAR;AAAyBC,iBAAS,EAAE;AAApC,OAlBqB,EAmBrB;AAAED,YAAI,EAAE,iBAAR;AAA2BC,iBAAS,EAAE;AAAtC,OAnBqB,EAoBrB;AAAED,YAAI,EAAE,UAAR;AAAoBC,iBAAS,EAAE;AAA/B,OApBqB,EAqBrB;AAAED,YAAI,EAAE,UAAR;AAAoBC,iBAAS,EAAE;AAA/B,OArBqB,EAsBrB;AAAED,YAAI,EAAE,kBAAR;AAA4BC,iBAAS,EAAE;AAAvC,OAtBqB,EAuBrB;AAAED,YAAI,EAAE,gBAAR;AAA0BC,iBAAS,EAAE;AAArC,OAvBqB,EAwBrB;AAAED,YAAI,EAAE,kBAAR;AAA4BC,iBAAS,EAAE;AAAvC,OAxBqB,EAyBrB;AAAED,YAAI,EAAE,IAAR;AAAcE,kBAAU,EAAE;AAA1B,OAzBqB,CAAvB;AA2BA;;UAMaC,gB;;;;;cAAAA;;;;2BAAAA,gB;AAAgB,S;AAAA,kBAJlB,CAAC,6DAAa5U,OAAb,CAAqBwU,MAArB,CAAD,CAIkB,EAHjB,4DAGiB;;;;4HAAhBI,gB,EAAgB;AAAA;AAAA,oBAHjB,4DAGiB;AAAA,S;AAHL,O;;;;;;;;;;;;;;;;;ACxDxB;AAAA;;;AAAA;AAAA;AAAA;;AAAA,UAAMhmB,aAAa,GAAG,CAClB;AAAE,eAAO,UAAT;AAAqB,iBAAS;AAA9B,OADkB,EAElB;AAAE,eAAO,QAAT;AAAmB,iBAAS;AAA5B,OAFkB,EAGlB;AAAE,eAAO,UAAT;AAAqB,iBAAS;AAA9B,OAHkB,CAAtB;AAMA,UAAME,WAAW,GAAG,CAAC,QAAD,EAAU,QAAV,EAAmB,QAAnB,EAA4B,QAA5B,EAAqC,QAArC,EAA8C,QAA9C,EAAuD,QAAvD,EAAgE,QAAhE,EAAyE,QAAzE,EAAkF,SAAlF,CAApB;AAEA,UAAME,YAAY,GAAG,CACjB;AAAE,eAAO,UAAT;AAAqB,iBAAS;AAA9B,OADiB,EAEjB;AAAE,eAAO,UAAT;AAAqB,iBAAS;AAA9B,OAFiB,EAGjB;AACA;AAAE,eAAO,eAAT;AAA0B,iBAAS;AAAnC,OAJiB,EAKjB;AAAE,eAAO,cAAT;AAAyB,iBAAS;AAAlC,OALiB,EAMjB;AAAE,eAAO,UAAT;AAAqB,iBAAS;AAA9B,OANiB,EAOjB;AAAE,eAAO,WAAT;AAAsB,iBAAS;AAA/B,OAPiB,CAArB;AAUA,UAAM6lB,wBAAwB,GAAG,CAC7B;AAAEC,eAAO,EAAE,CAAX;AAAc9iB,YAAI,EAAE,SAApB;AAA+BF,iBAAS,EAAE;AAA1C,OAD6B,EAE7B;AAAEgjB,eAAO,EAAE,CAAX;AAAc9iB,YAAI,EAAE,UAApB;AAAgCF,iBAAS,EAAE;AAA3C,OAF6B,EAG7B;AAAEgjB,eAAO,EAAE,CAAX;AAAc9iB,YAAI,EAAE,OAApB;AAA6BF,iBAAS,EAAE;AAAxC,OAH6B,EAI7B;AAAEgjB,eAAO,EAAE,CAAX;AAAc9iB,YAAI,EAAE,iBAApB;AAAuCF,iBAAS,EAAE;AAAlD,OAJ6B,EAK7B;AAAEgjB,eAAO,EAAE,CAAX;AAAc9iB,YAAI,EAAE,cAApB;AAAoCF,iBAAS,EAAE;AAA/C,OAL6B,EAM7B;AAAEgjB,eAAO,EAAE,CAAX;AAAc9iB,YAAI,EAAE,WAApB;AAAiCF,iBAAS,EAAE;AAA5C,OAN6B,EAO7B;AAAEgjB,eAAO,EAAE,CAAX;AAAc9iB,YAAI,EAAE,SAApB;AAA+BF,iBAAS,EAAE;AAA1C,OAP6B,EAQ7B;AAAEgjB,eAAO,EAAE,CAAX;AAAc9iB,YAAI,EAAE,uBAApB;AAA6CF,iBAAS,EAAE;AAAxD,OAR6B,EAS7B;AAAEgjB,eAAO,EAAE,CAAX;AAAc9iB,YAAI,EAAE,YAApB;AAAkCF,iBAAS,EAAE;AAA7C,OAT6B,EAU7B;AAAEgjB,eAAO,EAAE,EAAX;AAAe9iB,YAAI,EAAE,YAArB;AAAmCF,iBAAS,EAAE;AAA9C,OAV6B,EAW7B;AAAEgjB,eAAO,EAAE,EAAX;AAAe9iB,YAAI,EAAE,QAArB;AAA+BF,iBAAS,EAAE;AAA1C,OAX6B,CAAjC;AAcE,UAAMijB,qBAAqB,GAAG,CAC5B;AAAED,eAAO,EAAE,CAAX;AAAc9iB,YAAI,EAAE,SAApB;AAA+BF,iBAAS,EAAE;AAA1C,OAD4B,EAE5B;AAAEgjB,eAAO,EAAE,CAAX;AAAc9iB,YAAI,EAAE,UAApB;AAAgCF,iBAAS,EAAE;AAA3C,OAF4B,EAG5B;AAAEgjB,eAAO,EAAE,CAAX;AAAc9iB,YAAI,EAAE,iBAApB;AAAuCF,iBAAS,EAAE;AAAlD,OAH4B,EAI5B;AAAEgjB,eAAO,EAAE,CAAX;AAAc9iB,YAAI,EAAE,cAApB;AAAoCF,iBAAS,EAAE;AAA/C,OAJ4B,EAK5B;AAAEgjB,eAAO,EAAE,CAAX;AAAc9iB,YAAI,EAAE,WAApB;AAAiCF,iBAAS,EAAE;AAA5C,OAL4B,EAM5B;AAAEgjB,eAAO,EAAE,CAAX;AAAc9iB,YAAI,EAAE,YAApB;AAAkCF,iBAAS,EAAE;AAA7C,OAN4B,CAA9B;AASK,UAAMkjB,aAAa,GAAG;AACzBnmB,qBAAa,EAAED,aADU;AAEzBG,mBAAW,EAAED,WAFY;AAGzBG,oBAAY,EAAED,YAHW;AAIzBuB,0BAAkB,EAAEwkB,qBAJK;AAKzBtlB,gCAAwB,EAAEolB;AALD,OAAtB;;;;;;;;;;;;;;;;ACvCP;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;ACyFQ;;AACE;;AACE;;AAAyB;;AAAO;;AAClC;;AACA;;AACE;;AAMF;;AACA;;AACE;;AAGE;AAAA;;AAAA;;AAAA;AAAA;;AACD;;AACH;;AACF;;;;;;AACA;;AACE;;AACE;;AAAyB;;AAAa;;AACxC;;AACA;;AACE;;AACF;;AACF;;;;;;AAUN;;AACE;;AAGE;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACF;;AACF;;;;UDlIWI,c;AAWX,gCACUnkC,WADV,EAEUD,MAFV,EAGUG,aAHV,EAIEE,SAJF,EAKUE,SALV,EAK6B;AAAA;;AAJnB,eAAAN,WAAA,GAAAA,WAAA;AACA,eAAAD,MAAA,GAAAA,MAAA;AACA,eAAAG,aAAA,GAAAA,aAAA;AAEA,eAAAI,SAAA,GAAAA,SAAA;AAdV,eAAAG,OAAA,GAAU,KAAV;AACA,eAAAS,OAAA,GAAe,IAAf;AAGO,eAAAutB,IAAA,GAAgB,KAAhB;AACA,eAAA2V,SAAA,GAAiB,UAAjB;AACP,eAAA5gB,SAAA,GAAiB,CAAjB;AAEA,eAAA6gB,SAAA,GAAqB,KAArB;;AAQE,eAAK/jC,SAAL,CAAemC,UAAf;;AACA,eAAKrC,SAAL,GAAiBA,SAAjB;AACA,eAAKc,OAAL,GAAed,SAAS,CAAC0iB,YAAV,EAAf;AACD;;;;iBAED,oBAAW;AACT;AACA;AACA;AACA;AACA;AACA,iBAAKwhB,KAAL;AACA,iBAAKC,eAAL;AACA,iBAAKC,SAAL,GAAiB,KAAKxkC,WAAL,CAAiBoF,KAAjB,CAAuB;AACtCie,sBAAQ,EAAE,CAAC,EAAD,EAAK,0DAAWne,QAAhB,CAD4B;AAEtCoe,sBAAQ,EAAE,CAAC,EAAD,EAAK,0DAAWpe,QAAhB,CAF4B;AAGtCqe,qBAAO,EAAE,CAAC,MAAD,EAAS,0DAAWre,QAApB;AAH6B,aAAvB,CAAjB;AAKD;;;iBAED,kBAAS;AACP,iBAAKupB,IAAL,GAAY,CAAC,KAAKA,IAAlB,CADO,CAGP;;AACA,gBAAI,KAAKA,IAAT,EAAe,KAAK2V,SAAL,GAAiB,MAAjB,CAAf,KACK,KAAKA,SAAL,GAAiB,UAAjB;AACN;AACD;;;;;;iBAGA,iBAAQ;AAAA;;AACN,iBAAKlkC,aAAL,CAAmBukC,YAAnB,GAAkCl/B,SAAlC,CAA4C,UAAC4d,GAAD,EAAc;AACxD7jB,qBAAO,CAACC,GAAR,CAAY,QAAZ,EAAsB4jB,GAAtB;AACA,sBAAI,CAACK,SAAL,GAAiBL,GAAG,CAACM,EAArB;AACD,aAHD;AAID,W,CACD;;;;iBACA,2BAAkB;AAAA;;AAChB,gBAAI,KAAK4gB,SAAT,EAAoB;AAClB,kBAAIK,OAAO,GAAG,KAAKC,YAAL,CACO3qB,QAAQ,CAACiG,cAAT,CAAwB,aAAxB,EAAwC1U,KAD/C,CAAd;AAGA,kBAAIq5B,OAAO,GAAG,KAAKD,YAAL,CACO3qB,QAAQ,CAACiG,cAAT,CAAwB,UAAxB,EAAqC1U,KAD5C,CAAd;;AAGA,kBAAIm5B,OAAO,IAAIE,OAAf,EAAwB;AACtB3lC,4BAAY,CAACuG,OAAb,CAAqB,UAArB,EAAiC,4BAAjC;AACA,qBAAKtF,aAAL,CAAmBuF,SAAnB;AACA;AACD;AACF,aAbe,CAchB;;;AACA,gBACE,CAAC,KAAK++B,SAAL,CAAejpB,QAAf,CAAwB8H,QAAxB,CAAiC9X,KAAlC,IACA,CAAC,KAAKi5B,SAAL,CAAejpB,QAAf,CAAwB+H,QAAxB,CAAiC/X,KAFpC,EAGE;AACAtM,0BAAY,CAACuG,OAAb,CAAqB,UAArB,EAAiC,KAAKpF,SAAL,CAAeykC,qBAAf,EAAjC;AACA,mBAAK3kC,aAAL,CAAmBuF,SAAnB;AACA;AACD;;AACD,gBAAMq/B,WAAW,GAAG,KAAKN,SAAL,CAAejpB,QAAf,CAAwB8H,QAAxB,CAAiC9X,KAAjC,CAAuC2B,KAAvC,CAA6C,GAA7C,CAApB;AACA,gBAAMlK,QAAQ,GAAG8hC,WAAW,CAAC,CAAD,CAA5B;AACA,gBAAIC,SAAS,GAAG,CAAhB;AACA,iBAAKtkC,OAAL,GAAe,IAAf;AACA,iBAAKP,aAAL,CACG8kC,KADH,CAEIhiC,QAFJ,EAGI,KAAKwhC,SAAL,CAAejpB,QAAf,CAAwB+H,QAAxB,CAAiC/X,KAHrC,EAII,KAAKi5B,SAAL,CAAejpB,QAAf,CAAwBgI,OAAxB,CAAgChY,KAJpC,EAKI,KAAKiY,SALT,EAOGle,IAPH,CAOQ,8DAPR,EAQGC,SARH,CASI,UAAC4d,GAAD,EAAS;AACP,sBAAI,CAAC1iB,OAAL,GAAe,KAAf;;AACA,kBAAI0iB,GAAG,IAAIA,GAAG,CAACrkB,IAAX,IAAmBqkB,GAAG,CAACrkB,IAAJ,CAASqE,MAAT,GAAkB,CAAzC,EAA4C;AAC1C7D,uBAAO,CAACC,GAAR,CAAY,YAAZ,EAA0B4jB,GAAG,CAACrkB,IAA9B;;AACA,oBACE,CAACqkB,GAAG,CAACrkB,IAAJ,CAAS,CAAT,EAAYmE,YAAb,IACAkgB,GAAG,CAACrkB,IAAJ,CAAS,CAAT,EAAYmE,YAAZ,CAAyBC,IAAzB,GAAgCC,MAAhC,IAA0C,CAF5C,EAGE;AACA,sBAAIggB,GAAG,CAACrkB,IAAJ,CAAS,CAAT,EAAYsE,KAAhB,EAAuB;AACrB+f,uBAAG,CAACrkB,IAAJ,CAAS,CAAT,EAAY,cAAZ,IAA8BqkB,GAAG,CAACrkB,IAAJ,CAAS,CAAT,EAAYsE,KAA1C;AACD,mBAFD,MAEO,IAAI+f,GAAG,CAACrkB,IAAJ,CAAS,CAAT,EAAYsX,SAAhB,EAA2B;AAChC+M,uBAAG,CAACrkB,IAAJ,CAAS,CAAT,EAAY,cAAZ,IAA8BqkB,GAAG,CAACrkB,IAAJ,CAAS,CAAT,EAAYsX,SAA1C;AACD;AACF;;AACD,oBAAI+M,GAAG,CAACrkB,IAAJ,CAAS,CAAT,EAAY0C,OAAhB,EAAyB;AACvB2hB,qBAAG,CAACrkB,IAAJ,CAAS,CAAT,EAAY0C,OAAZ,GAAsB2hB,GAAG,CAACrkB,IAAJ,CAAS,CAAT,EAAY0C,OAAZ,CAAoB0qB,QAApB,EAAtB;AACD;;AACD,oBACE/I,GAAG,CAACrkB,IAAJ,CAAS,CAAT,EAAY0C,OAAZ,IACA2hB,GAAG,CAACrkB,IAAJ,CAAS,CAAT,EAAY0C,OAAZ,CAAoB0L,KAApB,CAA0B,GAA1B,EAA+B/J,MAA/B,GAAwC,CAF1C,EAGE;AACAggB,qBAAG,CAACrkB,IAAJ,CAAS,CAAT,EAAYmtB,YAAZ,GAA2B9I,GAAG,CAACrkB,IAAJ,CAAS,CAAT,EAAY0C,OAAZ,CAAoB0L,KAApB,CAA0B,GAA1B,CAA3B;AACAiW,qBAAG,CAACrkB,IAAJ,CAAS,CAAT,EAAY0C,OAAZ,GAAsB2hB,GAAG,CAACrkB,IAAJ,CAAS,CAAT,EAAY0C,OAAZ,CAAoB0L,KAApB,CAA0B,GAA1B,EAA+B,CAA/B,CAAtB;AACD,iBAND,MAMO;AACLiW,qBAAG,CAACrkB,IAAJ,CAAS,CAAT,EAAYmtB,YAAZ,GAA2B,EAA3B;AACD;;AACDhtB,4BAAY,CAACuG,OAAb,CACE,MADF,EAEE9C,IAAI,CAACglB,SAAL,CAAe;AAAE9kB,0BAAQ,EAAEugB,GAAG,CAACrkB,IAAJ,CAAS,CAAT;AAAZ,iBAAf,CAFF;AAKAQ,uBAAO,CAACC,GAAR,CAAY,UAAZ,EAAwB4jB,GAAG,CAACrkB,IAAJ,CAAS,CAAT,CAAxB;AACA,oBAAIqkB,GAAG,CAACrkB,IAAJ,CAAS,CAAT,EAAYuE,QAAZ,IAAwB,GAA5B,EACE,QAAI,CAACtD,MAAL,CAAYsE,QAAZ,CAAqB,CAAC,iBAAD,CAArB,EADF,KAEK,IAAI8e,GAAG,CAACrkB,IAAJ,CAAS,CAAT,EAAYuE,QAAZ,IAAwB,GAA5B,EACH,QAAI,CAACtD,MAAL,CAAYsE,QAAZ,CAAqB,CAAC,aAAD,CAArB,EADG,KAEA,QAAI,CAACtE,MAAL,CAAYsE,QAAZ,CAAqB,CAAC,YAAD,CAArB;AACN,eAnCD,MAmCO,IAAI8e,GAAG,CAACzd,KAAR,EAAe;AACpB,oBAAIyd,GAAG,CAACkhB,SAAR,EAAmB;AACjB,0BAAI,CAACA,SAAL,GAAiBlhB,GAAG,CAACkhB,SAArB;;AACA,0BAAI,CAACE,eAAL;AACD;;AACDtlC,4BAAY,CAACuG,OAAb,CAAqB,UAArB,EAAiC2d,GAAG,CAACzd,KAArC;;AACA,wBAAI,CAACxF,aAAL,CAAmB+kC,cAAnB;;AACAhmC,4BAAY,CAACO,UAAb,CAAwB,UAAxB;AACD;AACF,aAvDL,EAwDI,UAACkG,KAAD,EAAW;AACT,sBAAI,CAACjF,OAAL,GAAe,KAAf;AACAxB,0BAAY,CAACuG,OAAb,CACE,UADF,EAEE,QAAI,CAACpF,SAAL,CAAe8kC,oBAAf,EAFF;;AAIA,sBAAI,CAAChlC,aAAL,CAAmBuF,SAAnB;AACD,aA/DL;AAiED;;;iBAED,2BAAkB;AAChB,gBAAI0/B,KAAK,GAAG,IAAIC,KAAJ,CACV,GADU,EAEV,GAFU,EAGV,GAHU,EAIV,GAJU,EAKV,GALU,EAMV,GANU,EAOV,GAPU,EAQV,GARU,EASV,GATU,EAUV,GAVU,EAWV,GAXU,EAYV,GAZU,EAaV,GAbU,EAcV,GAdU,EAeV,GAfU,EAgBV,GAhBU,EAiBV,GAjBU,EAkBV,GAlBU,EAmBV,GAnBU,EAoBV,GApBU,EAqBV,GArBU,EAsBV,GAtBU,EAuBV,GAvBU,EAwBV,GAxBU,EAyBV,GAzBU,EA0BV,GA1BU,EA2BV,GA3BU,EA4BV,GA5BU,EA6BV,GA7BU,EA8BV,GA9BU,EA+BV,GA/BU,EAgCV,GAhCU,EAiCV,GAjCU,EAkCV,GAlCU,EAmCV,GAnCU,EAoCV,GApCU,EAqCV,GArCU,EAsCV,GAtCU,EAuCV,GAvCU,EAwCV,GAxCU,EAyCV,GAzCU,EA0CV,GA1CU,EA2CV,GA3CU,EA4CV,GA5CU,EA6CV,GA7CU,EA8CV,GA9CU,EA+CV,GA/CU,EAgDV,GAhDU,EAiDV,GAjDU,EAkDV,GAlDU,EAmDV,GAnDU,EAoDV,GApDU,EAqDV,GArDU,EAsDV,GAtDU,EAuDV,GAvDU,EAwDV,GAxDU,EAyDV,GAzDU,EA0DV,GA1DU,EA2DV,GA3DU,EA4DV,GA5DU,EA6DV,GA7DU,EA8DV,GA9DU,CAAZ;AAgEA,gBAAIpgC,CAAJ;;AACA,iBAAKA,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAG,CAAhB,EAAmBA,CAAC,EAApB,EAAwB;AACtB,kBAAIqgC,CAAC,GAAGF,KAAK,CAACt0B,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACy0B,MAAL,KAAgBH,KAAK,CAAChiC,MAAjC,CAAD,CAAb;AACA,kBAAIoiC,CAAC,GAAGJ,KAAK,CAACt0B,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACy0B,MAAL,KAAgBH,KAAK,CAAChiC,MAAjC,CAAD,CAAb;AACA,kBAAIq0B,CAAC,GAAG2N,KAAK,CAACt0B,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACy0B,MAAL,KAAgBH,KAAK,CAAChiC,MAAjC,CAAD,CAAb;AACA,kBAAIumB,CAAC,GAAGyb,KAAK,CAACt0B,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACy0B,MAAL,KAAgBH,KAAK,CAAChiC,MAAjC,CAAD,CAAb;AACA,kBAAI4I,CAAC,GAAGo5B,KAAK,CAACt0B,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACy0B,MAAL,KAAgBH,KAAK,CAAChiC,MAAjC,CAAD,CAAb;AACA,kBAAI47B,CAAC,GAAGoG,KAAK,CAACt0B,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACy0B,MAAL,KAAgBH,KAAK,CAAChiC,MAAjC,CAAD,CAAb;AACD;;AACD,gBAAIsqB,IAAI,GAAG4X,CAAC,GAAG,EAAJ,GAASE,CAAT,GAAa,EAAb,GAAkB,EAAlB,GAAuB/N,CAAvB,GAA2B,EAA3B,GAAgC9N,CAAhC,GAAoC,EAApC,GAAyC3d,CAAzC,GAA6C,EAA7C,GAAkDgzB,CAA7D,CA1EgB,CA4EhB;;AACA,gBAAI,KAAKsF,SAAT,EAAoB;AAClB,mBAAKmB,aAAL,CAAmB,aAAnB,EAAkC7pB,IAAlC,CAAuC,UAAC8pB,GAAD,EAAS;AAC9C,oBAAIC,UAAU,GACZ1rB,QAAQ,CAACiG,cAAT,CAAwB,aAAxB,CADmC,CAElC1U,KAFkC,GAE1BkiB,IAFX;AAGD,eAJD;AAKD;AACF;;;iBACD,uBAAckY,QAAd,EAAwB;AACtB,mBAAO,IAAIz0B,OAAJ,CAAY,UAACC,OAAD,EAAa;AAC9B,kBAAI6I,QAAQ,CAACiG,cAAT,CAAwB0lB,QAAxB,CAAJ,EAAuC;AACrC,uBAAOx0B,OAAO,CAAC6I,QAAQ,CAACiG,cAAT,CAAwB0lB,QAAxB,CAAD,CAAd;AACD;;AAED,kBAAMC,QAAQ,GAAG,IAAIC,gBAAJ,CAAqB,UAACC,SAAD,EAAe;AACnD,oBAAI9rB,QAAQ,CAACiG,cAAT,CAAwB0lB,QAAxB,CAAJ,EAAuC;AACrCx0B,yBAAO,CAAC6I,QAAQ,CAACiG,cAAT,CAAwB0lB,QAAxB,CAAD,CAAP;AACAC,0BAAQ,CAACG,UAAT;AACD;AACF,eALgB,CAAjB;AAOAH,sBAAQ,CAACI,OAAT,CAAiBhsB,QAAQ,CAAC8E,IAA1B,EAAgC;AAC9BmnB,yBAAS,EAAE,IADmB;AAE9BC,uBAAO,EAAE;AAFqB,eAAhC;AAID,aAhBM,CAAP;AAiBD;;;iBAED,6BAAoB;AAClB,gBAAI,KAAK7B,SAAT,EAAoB;AAClB,kBAAIK,OAAO,GAAG,KAAKC,YAAL,CACO3qB,QAAQ,CAACiG,cAAT,CAAwB,aAAxB,EAAwC1U,KAD/C,CAAd;AAGA,kBAAIq5B,OAAO,GAAG,KAAKD,YAAL,CACO3qB,QAAQ,CAACiG,cAAT,CAAwB,UAAxB,EAAqC1U,KAD5C,CAAd;;AAGA,kBAAIm5B,OAAO,IAAIE,OAAf,EAAwB;AACtB5qB,wBAAQ,CAACiG,cAAT,CAAwB,SAAxB,EAAmCkmB,SAAnC,GACE,gCADF,CADsB,CAGtB;;AACA,uBAAO,IAAP;AACD,eALD,MAKO;AACLnsB,wBAAQ,CAACiG,cAAT,CAAwB,OAAxB,EAAiCkmB,SAAjC,GACE,+BADF,CADK,CAGL;;AACA,uBAAO,KAAP;AACD;AACF;AACF;;;iBACD,sBAAaC,MAAb,EAAqB;AACnB,mBAAOA,MAAM,CAACl5B,KAAP,CAAa,GAAb,EAAkBqa,IAAlB,CAAuB,EAAvB,CAAP;AACD;;;iBAED,qBAAY;AACV,iBAAK8e,IAAL,GAAY,MAAZ;AACD;;;;;;;yBAzRUlC,c,EAAc,2H,EAAA,uH,EAAA,uI,EAAA,gH,EAAA,uH;AAAA,O;;;cAAdA,c;AAAc,qC;AAAA,iB;AAAA,e;AAAA,8wC;AAAA;AAAA;ACE3B;;AAWE;;AACE;;AAA0C;AAAA,qBAAY,IAAAmC,eAAA,EAAZ;AAA6B,aAA7B;;AACxC;;AACE;;AACE;;AACE;;AACF;;AACA;;AACE;;AACE;;AAAO;;AACP;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAyB;;AAAQ;;AACnC;;AACA;;AACE;;AAKE;;AAA2B;;AAAW;;AACtC;;AAA2B;;AAAU;;AACrC;;AAAwB;;AAAU;;AAClC;;AAAmB;;AAAE;;AACrB;;AAAqB;;AAAI;;AACzB;;AAAqB;;AAAgB;;AACvC;;AACF;;AACF;;AAEA;;AACE;;AACE;;AAAyB;;AAAQ;;AACnC;;AACA;;AACE;;AAOF;;AACF;;AACA;;AACE;;AACE;;AAAyB;;AAAQ;;AACnC;;AACA;;AACE;;AAOA;;AAGE;AAAA,qBAAS,IAAA3X,MAAA,EAAT;AAAiB,aAAjB;;AACD;;AACH;;AACF;;AACA;;AAoBA;;AASA;;AACE;;AACE;;AAAsC;;AAAK;;AAC7C;;AACF;;AACF;;AACF;;AACF;;AACA;;AAcF;;AACA;;AACE;;AAAG;;AAAuE;;AAC5E;;;;AAxHsB;;AAAA;;AAqDR;;AAAA;;AAaY;;AAAA;;AAoBA;;AAAA;;AAiBH;;AAAA;;;;;;;;;;;;;;;;;;;;;AC/HvB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAkCa4X,mB;AAKX,qCACS1nC,SADT,EAEkCC,IAFlC,EAEkD;AAAA;;AADzC,eAAAD,SAAA,GAAAA,SAAA;AACyB,eAAAC,IAAA,GAAAA,IAAA;AAHlC,eAAAC,QAAA,GAAgB,KAAhB;AAKE,eAAKC,aAAL,GAAqBC,YAAY,CAACC,OAAb,CAAqB,UAArB,CAArB;;AACA,cAAIC,SAAS,CAACC,SAAV,CAAoBC,OAApB,CAA4B,QAA5B,KAAyC,CAAC,CAA9C,EAAiD;AAC/CC,mBAAO,CAACC,GAAR,CAAY,gBAAZ;AACA,iBAAKR,QAAL,GAAgB,IAAhB;AACD;AACF;;;;iBAED,mBAAO;AACLE,wBAAY,CAACO,UAAb,CAAwB,UAAxB;AACA,iBAAKX,SAAL,CAAeY,KAAf;AACD;;;iBAED,iBAAK;AACH,iBAAKZ,SAAL,CAAeY,KAAf;AACD;;;iBAED,mBAAO;AACLC,kBAAM,CAACC,QAAP,CAAgBC,MAAhB;AACD;;;;;;;yBA3BU2mC,mB,EAAmB,sI,EAAA,gEAOpB,wEAPoB,C;AAOL,O;;;cAPdA,mB;AAAmB,gC;AAAA,iB;AAAA,e;AAAA,4V;AAAA;AAAA;AA1BnB;;AAIP;;AACE;;AACE;;AAAoC;AAAA,qBAAS,IAAA9mC,KAAA,EAAT;AAAgB,aAAhB;;AAAkB;;AAAO;;AAC/D;;AACA;;AACE;;AACF;;AAEA;;AACE;;AAGE;AAAA,qBAAS,IAAAI,OAAA,EAAT;AAAkB,aAAlB;;AAEA;;AACF;;AACF;;AACF;;AACF;;AACA;;;;AAdM;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UCXG2mC,qB;AAOX,yCAAc;AAAA;;AALN,eAAA1lC,KAAA,GAAa,EAAb;AACD,eAAA2tB,IAAA,GAAe,KAAf;AACA,eAAAC,UAAA,GAAiB,MAAjB;AACC,eAAArrB,QAAA,GAAmB,CAAnB;AAES;;;;iBAEjB,oBAAW,CACV;;;iBAED,kBAAS;AACP,iBAAKorB,IAAL,GAAY,CAAC,KAAKA,IAAlB,CADO,CAGP;;AACA,gBAAG,KAAKA,IAAR,EACE,KAAKC,UAAL,GAAkB,MAAlB,CADF,KAGE,KAAKA,UAAL,GAAkB,MAAlB;AACH;;;;;;;yBApBU8X,qB;AAAqB,O;;;cAArBA,qB;AAAqB,0C;AAAA,iB;AAAA,gB;AAAA,guB;AAAA;AAAA;ACPlC;;AACE;;AACE;;AAAQ;AAAA,qBAAS,IAAA7X,MAAA,EAAT;AAAiB,aAAjB;;AAEN;;AACF;;AAIF;;AACA;;AAIE;;AACE;;AACE;;AACE;;AACE;;AACF;;AACA;;AAA2B;;AAAE;;AAC/B;;AACF;;AACA;;AACE;;AACE;;AACE;;AACF;;AACA;;AAA2B;;AAAM;;AACnC;;AACF;;AACA;;AACI;;AACE;;AACE;;AACF;;AACA;;AAA2B;;AAAe;;AAC5C;;AACF;;AACF;;AACE;;AACE;;AACE;;AACF;;AACA;;AAA2B;;AAAW;;AAAK;;AAAY;;AACzD;;AACF;;AACA;;AACE;;AACE;;AACE;;AACF;;AACA;;AAA2B;;AAAW;;AAAK;;AAAY;;AACzD;;AACF;;AACF;;AACF;;AACF;;;;AAzDK;;AAec;;AAAA;;AACG;;AAAA;;AAOH;;AAAA;;AACO;;AAAA;;AAOP;;AAAA;;AACkB;;AAAA;;AAOlB;;AAAA;;AACwB;;AAAA;;AAOxB;;AAAA;;AACU;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1C7B,UAAI,sEAAYrY,UAAhB,EAA4B;AAC1B;AACD;;AAED,kFAAyBmwB,eAAzB,CAAyC,yDAAzC,WACS,UAAAC,GAAG;AAAA,eAAIpnC,OAAO,CAACoG,KAAR,CAAcghC,GAAd,CAAJ;AAAA,OADZ;;;;;;;;;;;;;;;ACVA,eAASC,wBAAT,CAAkCxZ,GAAlC,EAAuC;AACtC;AACA;AACA,eAAOjc,OAAO,CAACC,OAAR,GAAkBwK,IAAlB,CAAuB,YAAW;AACxC,cAAI5P,CAAC,GAAG,IAAIyhB,KAAJ,CAAU,yBAAyBL,GAAzB,GAA+B,GAAzC,CAAR;AACAphB,WAAC,CAAC0hB,IAAF,GAAS,kBAAT;AACA,gBAAM1hB,CAAN;AACA,SAJM,CAAP;AAKA;;AACD46B,8BAAwB,CAACjZ,IAAzB,GAAgC,YAAW;AAAE,eAAO,EAAP;AAAY,OAAzD;;AACAiZ,8BAAwB,CAACx1B,OAAzB,GAAmCw1B,wBAAnC;AACA9Y,YAAM,CAACC,OAAP,GAAiB6Y,wBAAjB;AACAA,8BAAwB,CAACvZ,EAAzB,GAA8B,MAA9B","file":"main-es5.js","sourcesContent":["import { Component, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\nexport interface ErrorModel {\r\n title: string;\r\n message: string;\r\n}\r\n@Component({\r\n selector: 'confirm',\r\n template: `\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ error_message }}\r\n
\r\n
\r\n \r\n OK\r\n \r\n
\r\n
\r\n \r\n
`,\r\n styleUrls: ['./error.component.css'],\r\n})\r\nexport class ErrorComponent {\r\n title: string;\r\n message: string;\r\n error_message: any;\r\n isChrome: any = false;\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: ErrorModel\r\n ) {\r\n this.error_message = localStorage.getItem('errorMsg');\r\n if (navigator.userAgent.indexOf('Chrome') != -1) {\r\n console.log('Browser Chrome');\r\n this.isChrome = true;\r\n }\r\n }\r\n\r\n confirm(): void {\r\n localStorage.removeItem('errorMsg');\r\n this.dialogRef.close();\r\n }\r\n\r\n close(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n refresh(): void {\r\n window.location.reload();\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n Compiler,\r\n ViewChild,\r\n ElementRef,\r\n} from '@angular/core';\r\nimport { first, retry } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { FormBuilder, Validators, FormControl } from '@angular/forms';\r\nimport { NgbDatepickerConfig } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AppConfig } from '../util';\r\nimport { CommonService } from '../service/commons-service';\r\nimport { Common } from '../util/common';\r\nimport { ExcelService } from '../service/excel.service';\r\nimport { HeaderCustomComponent } from '../header/headerCustom.component';\r\n\r\n@Component({\r\n templateUrl: 'selfRatingSection.component.html',\r\n styleUrls: ['selfRatingSection.component.css'],\r\n})\r\nexport class SelfRatingSectionComponent implements OnInit {\r\n @ViewChild('closeModel1', { read: ElementRef }) closeModel1: ElementRef;\r\n @ViewChild('closeModel2', { read: ElementRef }) closeModel2: ElementRef;\r\n notAbleToFillRating: boolean = false;\r\n showHideModel: boolean = false;\r\n loading: boolean = false;\r\n isAppr: number;\r\n isDisabled: boolean = true;\r\n isDisabledView: boolean = true;\r\n message = '';\r\n modelData: any[] = [];\r\n users: any = {};\r\n behavioralSkillRatingForm: any;\r\n functionalSkillRatingForm: any;\r\n config: any;\r\n fetchData: any[] = [];\r\n submitted = false;\r\n loginImageURL: any = '';\r\n baseURL: any = null;\r\n loginUserName: any = '';\r\n isShowModel: boolean = true;\r\n skillData: any[] = [];\r\n behSkillList: any[] = [];\r\n //Add users form fields\r\n userUpdatedId: Number = 0;\r\n skillRatingFromDate: any;\r\n towerId: number = 0;\r\n userRole: number = 0;\r\n skillRatingData: any[] = [];\r\n selectedPositionId: Number = 0;\r\n dateRanges: any[] = [1];\r\n fullFunRatingList: any;\r\n fullBehRatingList: any;\r\n convertedData: any[][] = [];\r\n allPositions: any = [];\r\n positionList: any;\r\n isNextTowerSame: boolean = true;\r\n ibuList: any = [];\r\n ibu: any = '';\r\n functionList: any = [];\r\n function: any = '';\r\n selectedIbuId: any = null;\r\n alltowerList: any = [];\r\n towerList: any = [];\r\n selectedTowerId: any;\r\n tower: any = '';\r\n nextPositionId: number = undefined;\r\n\r\n constructor(\r\n private router: Router,\r\n private formBuilder: FormBuilder,\r\n private excelService: ExcelService,\r\n private commonService: CommonService,\r\n private common: Common,\r\n private appConfig: AppConfig,\r\n config: NgbDatepickerConfig,\r\n private _compiler: Compiler\r\n ) {\r\n this._compiler.clearCache();\r\n this.users = JSON.parse(localStorage.getItem('user'));\r\n if (!this.users || !this.users.userData) {\r\n this.commonService.logout();\r\n return;\r\n }\r\n if (this.users && this.users.userData) {\r\n this.users = this.users.userData;\r\n if (this.users.userFullName) {\r\n this.loginUserName = this.users.userFullName;\r\n this.users.userFullName = this.users.userFullName.toLowerCase();\r\n } else {\r\n this.loginUserName = this.users.userName;\r\n this.users.userFullName = this.users.userName.toLowerCase();\r\n }\r\n if (\r\n !this.users.emailAddress ||\r\n this.users.emailAddress.trim().length == 0\r\n ) {\r\n this.users['emailAddress'] = this.users.email;\r\n }\r\n this.userRole = this.users.userRoll;\r\n this.towerId = this.users.towerId;\r\n this.nextPositionId = this.users.nextPosition;\r\n debugger;\r\n }\r\n let currentDate = new Date();\r\n this.config = config;\r\n this.config.minDate = {\r\n year: currentDate.getFullYear(),\r\n month: currentDate.getMonth() + 1,\r\n day: currentDate.getDate(),\r\n };\r\n this.config.markDisabled = false;\r\n this.loginImageURL = this.appConfig.getDefaultImgURL();\r\n this.fetchSkillsData();\r\n this.getAllBehSkills();\r\n }\r\n\r\n ngOnInit() {\r\n if (JSON.parse(localStorage.user).userData.userRoll == 3) {\r\n this.router.navigate(['/interested-users']);\r\n }\r\n this.fetchSkillRatingData();\r\n if (this.userRole == 1) {\r\n this.fetchUserData(null, null);\r\n } else if (this.userRole == 5 || !this.userRole) {\r\n this.fetchUserData(this.users.userId, this.towerId);\r\n } else {\r\n this.fetchUserData(null, this.towerId);\r\n }\r\n this.initalizeFunSkillForm();\r\n this.initalizeBehSkillForm();\r\n this.fetchPositions();\r\n this.getAllIBUInfo();\r\n }\r\n\r\n // initalize Functional Skill Form\r\n private initalizeFunSkillForm() {\r\n this.userUpdatedId = 0;\r\n this.selectedPositionId = 0;\r\n let groupForm = {\r\n skillRatingFromDate: [],\r\n skillRatingToDate: [],\r\n };\r\n if (this.skillData && this.skillData.length > 0) {\r\n for (let i = 0; i < this.skillData.length; i++) {\r\n groupForm[this.skillData[i].skillName] = new FormControl(\r\n '1',\r\n Validators.required\r\n );\r\n }\r\n }\r\n this.functionalSkillRatingForm = this.formBuilder.group(groupForm);\r\n }\r\n\r\n //Initalize Behavioral Skill Form\r\n private initalizeBehSkillForm() {\r\n this.userUpdatedId = 0;\r\n this.selectedPositionId = 0;\r\n let groupForm = {\r\n skillRatingFromDate: [],\r\n skillRatingToDate: [],\r\n };\r\n\r\n if (this.behSkillList && this.behSkillList.length > 0) {\r\n for (let i = 0; i < this.behSkillList.length; i++) {\r\n groupForm[this.behSkillList[i].skillName] = new FormControl(\r\n '1',\r\n Validators.required\r\n );\r\n }\r\n }\r\n this.behavioralSkillRatingForm = this.formBuilder.group(groupForm);\r\n }\r\n\r\n // /fetch user information data\r\n private fetchSkillRatingData() {\r\n this.skillRatingData = [];\r\n this.commonService\r\n .fetchSkillRatingData()\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data && data.length > 0) {\r\n this.skillRatingData = data;\r\n } else {\r\n localStorage.setItem('errorMsg', 'Data Not Found');\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n // Get Behavioral Skill Details From Skill Master\r\n private getAllBehSkills() {\r\n this.loading = true;\r\n this.commonService\r\n .postAllBehSkills(undefined, this.nextPositionId)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.loading = false;\r\n if (data && data.length > 0) {\r\n this.behSkillList = data;\r\n this.initalizeBehSkillForm();\r\n } else {\r\n this.loading = false;\r\n localStorage.setItem(\r\n 'errorMsg',\r\n 'Behavioral Skills Data Not Found'\r\n );\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n private convertData(isFunctional, data) {\r\n var ratings1;\r\n if (isFunctional) ratings1 = data;\r\n else ratings1 = data;\r\n\r\n var ratings2 = [];\r\n this.dateRanges = [1];\r\n let j = 0;\r\n for (let i = 0; i < ratings1.length; i++) {\r\n var curIndex = this.getIndexOf(ratings2, ratings1[i].skillName);\r\n if (curIndex === -1) {\r\n ratings2[j] = [];\r\n ratings2[j][0] = ratings1[i].skillName;\r\n ratings2[j][1] = ratings1[i].skillScore;\r\n curIndex = j;\r\n j++;\r\n }\r\n\r\n // ratings2[curIndex].push(ratings1[i].skillScore);\r\n\r\n let newDateRange = this.formatDate(ratings1[i].skillRatingFromDate); //+ \" - \"\r\n // + this.formatDate(ratings1[i].skillRatingToDate);\r\n\r\n if (this.dateRanges.indexOf(newDateRange) === -1)\r\n this.dateRanges.push(newDateRange);\r\n }\r\n this.convertedData = ratings2;\r\n }\r\n\r\n // /fetch user information data\r\n private fetchPositions() {\r\n //var towerId = JSON.parse(localStorage.user).userData.towerId;\r\n this.commonService\r\n .getAllPositionInfo(null)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.positionList = data;\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n private getTowersListByIbuId(ibuId, towerId) {\r\n this.commonService.getTowersListByIbuId(ibuId, null).subscribe(\r\n (data) => {\r\n this.towerList = data;\r\n this.alltowerList = data;\r\n let selecteTower = this.towerList.find(\r\n (tower) => tower.towerId == towerId\r\n );\r\n this.selectedTowerId = selecteTower;\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n private getFunctionListByIbuId(ibuId) {\r\n this.functionList = [];\r\n this.commonService.getFunctionListByIbuId(ibuId).subscribe(\r\n (data) => {\r\n this.functionList = data;\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n private getAllIBUInfo() {\r\n this.loading = true;\r\n this.commonService\r\n .getAllIBUInfo()\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.ibuList = data;\r\n this.loading = false;\r\n },\r\n (error) => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n public setFieldsData(data) {\r\n this.commonService\r\n .allInfoPosition(data.nextPosition)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data && data.length) {\r\n const response = data[0];\r\n this.modelData['isNextTowerSame'] =\r\n response.towerId == this.modelData['towerId'];\r\n this.modelData['nextPositionIbuName'] = response.ibuName;\r\n this.modelData['nextPositionTowerName'] = response.towerName;\r\n this.modelData['nextPositionFunctionName'] = response.functionName;\r\n console.log({ response, test: this.modelData });\r\n }\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n private onChangeIBU() {\r\n this.resetFunctionValue();\r\n this.resetTowerValue();\r\n if (this.ibu?.ibuId) {\r\n this.getFunctionListByIbuId(this.ibu?.ibuId);\r\n this.getTowersListByIbuId(this.ibu?.ibuId, 0);\r\n } else {\r\n this.resetFunctionList();\r\n this.resetTowerList();\r\n }\r\n }\r\n\r\n private onChangeFunction() {\r\n this.resetTowerValue();\r\n if (this.function?.functionId) {\r\n console.log(this.function?.functionId);\r\n this.towerList = this.alltowerList.filter(\r\n (item) => item.functionId == this.function.functionId\r\n );\r\n } else {\r\n this.towerList = this.alltowerList;\r\n }\r\n }\r\n\r\n private resetFunctionValue() {\r\n this.function = '';\r\n }\r\n\r\n private resetTowerValue() {\r\n this.tower = '';\r\n }\r\n\r\n private resetFunctionList() {\r\n this.functionList = [];\r\n }\r\n\r\n private resetTowerList() {\r\n this.towerList = [];\r\n }\r\n\r\n private getPositionName(positionId) {\r\n for (let i in this.positionList) {\r\n if (this.positionList[i].positionId == positionId)\r\n return this.positionList[i].positionName;\r\n }\r\n }\r\n\r\n private getIndexOf(arr, item) {\r\n for (let i = 0; i < arr.length; i++) {\r\n if (arr[i] && arr[i][0] === item) return i;\r\n }\r\n return -1;\r\n }\r\n\r\n //fetch user skills data\r\n private getAllNextPositions(userIds, towerId) {\r\n this.loading = true;\r\n this.commonService\r\n .getAllNextPositions(userIds, towerId)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.allPositions = data;\r\n var that = this;\r\n setTimeout(function () {\r\n that.loading = false;\r\n }, 1000);\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n private formatDate(dateStr) {\r\n return (\r\n new Date(dateStr).getDate() +\r\n '/' +\r\n (new Date(dateStr).getMonth() + 1) +\r\n '/' +\r\n new Date(dateStr).getFullYear()\r\n );\r\n }\r\n\r\n // edit user skill information data\r\n private onEditSubmit(userData, isFuntion) {\r\n this.fullBehRatingList = [];\r\n this.fullFunRatingList = [];\r\n this.convertedData = [];\r\n this.dateRanges = [1];\r\n if (isFuntion) this.getAllFunSkillsForUser(userData.userId);\r\n else this.getAllBehSkillsForUser(userData.userId);\r\n\r\n if (userData) {\r\n this.userUpdatedId = userData.userId;\r\n this.selectedPositionId = userData.positionId;\r\n this.selectedPositionId = userData.nextPosition;\r\n let groupForm = {\r\n skillRatingFromDate: new FormControl(\r\n this.common.getJSONObj(userData.skillRatingFromDate)\r\n ),\r\n skillRatingToDate: new FormControl(\r\n this.common.getJSONObj(userData.skillRatingFromDate)\r\n ),\r\n };\r\n if (isFuntion) {\r\n // set value of functional skill from\r\n let userSkill = userData.funUserSkill;\r\n if (this.skillData && this.skillData.length > 0) {\r\n for (let i = 0; i < this.skillData.length; i++) {\r\n if (userSkill && userSkill.length > 0) {\r\n for (let j = 0; j < userSkill.length; j++) {\r\n if (userSkill[j].skillId == this.skillData[i].skillId) {\r\n groupForm[this.skillData[i].skillName] = new FormControl(\r\n userSkill[j].skillLevel\r\n );\r\n }\r\n }\r\n }\r\n if (!groupForm[this.skillData[i].skillName]) {\r\n groupForm[this.skillData[i].skillName] = new FormControl('1');\r\n }\r\n }\r\n }\r\n this.functionalSkillRatingForm = this.formBuilder.group(groupForm);\r\n } else {\r\n // set value of behavioral skill from\r\n let userSkill = userData.behUserSkill;\r\n if (this.behSkillList && this.behSkillList.length > 0) {\r\n for (let i = 0; i < this.behSkillList.length; i++) {\r\n if (userSkill && userSkill.length > 0) {\r\n for (let j = 0; j < userSkill.length; j++) {\r\n if (userSkill[j].skillId == this.behSkillList[i].skillId) {\r\n groupForm[this.behSkillList[i].skillName] = new FormControl(\r\n userSkill[j].skillLevel\r\n );\r\n }\r\n }\r\n }\r\n if (!groupForm[this.behSkillList[i].skillName]) {\r\n groupForm[this.behSkillList[i].skillName] = new FormControl('1');\r\n }\r\n }\r\n }\r\n this.behavioralSkillRatingForm = this.formBuilder.group(groupForm);\r\n }\r\n }\r\n }\r\n\r\n // Get Behavioral Skill Details From Skill Master\r\n private getAllBehSkillsForUser(userId) {\r\n this.loading = true;\r\n\r\n this.commonService\r\n .getAllBehSelfRatingsForUser(this.towerId, userId)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.notAbleToFillRating = false;\r\n this.loading = false;\r\n if (data && data.length > 0) {\r\n this.fullBehRatingList = data;\r\n this.convertData(false, this.fullBehRatingList);\r\n this.showHideModel = true;\r\n } else {\r\n this.showHideModel = true;\r\n this.notAbleToFillRating = true;\r\n // this.closeModels();\r\n //this.loading = false;\r\n // localStorage.setItem('errorMsg', \"Behavioral Ratings Data Not Found\");\r\n // this.commonService.showerror();\r\n // localStorage.removeItem('errorMsg');\r\n }\r\n },\r\n (error) => {\r\n this.showHideModel = true;\r\n this.notAbleToFillRating = true;\r\n // this.loading = false;\r\n // localStorage.setItem('errorMsg', error.statusText);\r\n // this.commonService.showerror();\r\n // localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n // Get Behavioral Skill Details From Skill Master\r\n private getAllFunSkillsForUser(userId) {\r\n this.loading = true;\r\n this.commonService\r\n .getAllFunSelfRatingsForUser(this.towerId, userId)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n //this.userId\r\n this.notAbleToFillRating = false;\r\n this.loading = false;\r\n if (data && data.length > 0) {\r\n this.fullFunRatingList = data;\r\n this.convertData(true, this.fullFunRatingList);\r\n this.showHideModel = true;\r\n } else {\r\n this.showHideModel = true;\r\n this.notAbleToFillRating = true;\r\n this.loading = false;\r\n // // this.closeModels();\r\n // this.loading = false;\r\n // localStorage.setItem('errorMsg', \"Functional Ratings Data Not Found\");\r\n // this.commonService.showerror();\r\n // localStorage.removeItem('errorMsg');\r\n }\r\n },\r\n (error) => {\r\n this.showHideModel = true;\r\n this.notAbleToFillRating = true;\r\n this.loading = false;\r\n // this.loading = false;\r\n // localStorage.setItem('errorMsg', error.statusText);\r\n // this.commonService.showerror();\r\n // localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n //fetch skills data\r\n private fetchSkillsData() {\r\n this.commonService\r\n .postAllFunSkills(undefined, this.nextPositionId)\r\n .pipe(first())\r\n .subscribe(\r\n //fetchskillsdata()\r\n (data) => {\r\n this.skillData = data;\r\n console.log(this.skillData);\r\n this.initalizeFunSkillForm();\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n // /fetch user information data\r\n private fetchUserData(userId, towerId) {\r\n this.commonService\r\n .fetchUserData(userId, towerId, '')\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n let userIds = [];\r\n for (let i = 0; i < data.length; i++) {\r\n if (data[i].userId) {\r\n userIds.push(data[i].userId);\r\n }\r\n }\r\n if (userIds.length > 0) {\r\n this.fetchData = data;\r\n for (let i in this.fetchData) {\r\n if (this.fetchData[i].userId == userId) {\r\n this.modelData = this.fetchData[i];\r\n this.setFieldsData(this.modelData);\r\n this.isAppr = this.fetchData[i].isApproved;\r\n }\r\n }\r\n // this.fetchData[0].isenabled = \"false\"\r\n // this.fetchUserFunctSkillsData(userIds, data);\r\n }\r\n this.getAllNextPositions(\r\n userIds,\r\n JSON.parse(localStorage.user).userData.towerId\r\n );\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n //fetch user functional skills data\r\n private fetchUserFunctSkillsData(userIds: any[], userData) {\r\n // this.commonService.fetchAllFunSkills(userIds).pipe(first()).subscribe(\r\n // data => {\r\n // for (let j = 0; j < userData.length; j++) {\r\n // let userSkill = [];\r\n // for (let i = 0; i < data.length; i++) {\r\n // if (userData[j].userId == data[i].userId) {\r\n // let skillLevel = data[i].skillLevel;\r\n // let skillName = '';\r\n // this.skillData.forEach((litem, index) => {\r\n // if (litem.skillId == data[i].skillId) {\r\n // skillName = litem.skillName\r\n // }\r\n // });\r\n // userSkill.push({ skillId: data[i].skillId, skillLevel: skillLevel, skillName: skillName });\r\n // }\r\n // }\r\n // userData[j]['funUserSkill'] = userSkill;\r\n // }\r\n // this.fetchData = userData;\r\n // this.categoriseLeaveUsers()\r\n // this.countActiveAndInactiveUsers();\r\n // this.fetchUserBehSkillsData(userIds, this.fetchData);\r\n // },\r\n // error => {\r\n // localStorage.setItem('errorMsg', error.statusText);\r\n // this.commonService.showerror();\r\n // localStorage.removeItem('errorMsg');\r\n // }\r\n // )\r\n }\r\n\r\n //fetch user skills data\r\n private fetchUserBehSkillsData(userIds: any[], userData) {\r\n this.commonService\r\n .fetchAllBehSkills(userIds)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n for (let j = 0; j < userData.length; j++) {\r\n let userSkill = [];\r\n for (let i = 0; i < data.length; i++) {\r\n if (userData[j].userId == data[i].userId) {\r\n let skillLevel = data[i].skillLevel;\r\n let skillName = '';\r\n this.behSkillList.forEach((litem, index) => {\r\n if (litem.skillId == data[i].skillId) {\r\n skillName = litem.skillName;\r\n }\r\n });\r\n userSkill.push({\r\n skillId: data[i].skillId,\r\n skillLevel: skillLevel,\r\n skillName: skillName,\r\n });\r\n }\r\n }\r\n userData[j]['behUserSkill'] = userSkill;\r\n }\r\n this.fetchData = userData;\r\n this.categoriseLeaveUsers();\r\n this.countActiveAndInactiveUsers();\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n //categorise leave users\r\n private categoriseLeaveUsers() {\r\n for (let i = 0; i < this.fetchData.length; i++) {\r\n if (this.fetchData[i].skillRatingToDate) {\r\n let currentDate = new Date();\r\n let userskillRatingToDate = new Date(\r\n this.fetchData[i].skillRatingToDate\r\n );\r\n if (currentDate > userskillRatingToDate) {\r\n this.fetchData[i]['leaveStyle'] = 'red';\r\n }\r\n }\r\n }\r\n }\r\n\r\n // validate resoucre leaving date should be equal or lessthen from current date\r\n private countActiveAndInactiveUsers() {\r\n for (let i = 0; i < this.fetchData.length; i++) {\r\n let isFound = false;\r\n //remove user from the list if having leave date less then current date\r\n let currentTime = this.common.getTime(new Date());\r\n if (this.fetchData[i].skillRatingToDate) {\r\n let leavingTime = this.common.getTime(\r\n this.fetchData[i].skillRatingToDate\r\n );\r\n if (currentTime > leavingTime) {\r\n isFound = true;\r\n }\r\n }\r\n if (isFound) {\r\n this.fetchData[i]['leaveUserCSS'] = 'leaveUserCSS';\r\n } else {\r\n this.fetchData[i]['leaveUserCSS'] = '';\r\n }\r\n }\r\n }\r\n\r\n // suave user information\r\n private onSubmit(skillRatingForm, isFunctional) {\r\n debugger;\r\n if (isFunctional) {\r\n if (this.functionalSkillRatingForm.invalid) {\r\n this.submitted = true;\r\n return;\r\n }\r\n } else {\r\n if (this.behavioralSkillRatingForm.invalid) {\r\n this.submitted = true;\r\n return;\r\n }\r\n }\r\n let skillRatingData = this.setUserSkillData(\r\n skillRatingForm,\r\n this.userUpdatedId,\r\n isFunctional\r\n );\r\n let currentUserSkill = this.setUserCurrentSkillData(\r\n skillRatingForm,\r\n this.userUpdatedId,\r\n isFunctional\r\n );\r\n this.loading = true;\r\n\r\n this.commonService\r\n .saveSkillRatingData(\r\n skillRatingData,\r\n currentUserSkill,\r\n isFunctional,\r\n this.towerId\r\n )\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.loading = false;\r\n this.closeModels();\r\n if (\r\n this.fetchData[0] &&\r\n data != 'Ratings are already present for these days.'\r\n ) {\r\n if (isFunctional) this.fetchData[0].isenabledFun = 'false';\r\n else this.fetchData[0].isenabledBeh = 'false';\r\n }\r\n this.isShowModel = false;\r\n localStorage.setItem('errorMsg', data);\r\n this.closeModels();\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n },\r\n (error) => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', 'Must Enter all the fields');\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n //set user skill data\r\n private setUserSkillData(userFormDetails: any, userId: any, isFunctional) {\r\n let userSkillData = [];\r\n if (isFunctional) {\r\n for (let i = 0; i < this.skillData.length; i++) {\r\n // if (this.skillData[i].positionId != this.selectedPositionId) continue;\r\n\r\n let skillObj = {};\r\n skillObj['userId'] = userId;\r\n skillObj['skillId'] = this.skillData[i].skillId;\r\n skillObj['targetScore'] = this.skillData[i].targetScore;\r\n skillObj['skillScore'] = this.getScoreBySkillName(\r\n userFormDetails[this.skillData[i].skillName]\r\n );\r\n skillObj['skillRatingBy'] = this.users.emailAddress;\r\n skillObj['skillRatingFromDate'] = this.common.getDateYYMMDD(\r\n userFormDetails.skillRatingFromDate\r\n );\r\n skillObj['skillRatingToDate'] = this.common.getDateYYMMDD(\r\n userFormDetails.skillRatingToDate\r\n );\r\n skillObj['createDate'] = new Date();\r\n skillObj['ratedByRole'] = this.users.userRoll;\r\n userSkillData.push(skillObj);\r\n }\r\n } else {\r\n for (let i = 0; i < this.behSkillList.length; i++) {\r\n if (\r\n this.getScoreBySkillName(\r\n userFormDetails[this.behSkillList[i].skillName]\r\n ) === 0\r\n )\r\n continue;\r\n\r\n let skillObj = {};\r\n skillObj['userId'] = userId;\r\n skillObj['skillId'] = this.behSkillList[i].skillId;\r\n skillObj['targetScore'] = this.behSkillList[i].targetScore;\r\n skillObj['skillScore'] = this.getScoreBySkillName(\r\n userFormDetails[this.behSkillList[i].skillName]\r\n );\r\n skillObj['skillRatingBy'] = this.users.emailAddress;\r\n skillObj['skillRatingFromDate'] = this.common.getDateYYMMDD(\r\n userFormDetails.skillRatingFromDate\r\n );\r\n skillObj['skillRatingToDate'] = this.common.getDateYYMMDD(\r\n userFormDetails.skillRatingToDate\r\n );\r\n skillObj['createDate'] = new Date();\r\n skillObj['ratedByRole'] = this.users.userRoll;\r\n userSkillData.push(skillObj);\r\n }\r\n }\r\n return userSkillData;\r\n }\r\n\r\n private getScoreBySkillName(skillName) {\r\n let score = 1;\r\n if (skillName && skillName.trim().length > 0) {\r\n for (let i = 0; i < this.skillRatingData.length; i++) {\r\n if (\r\n this.skillRatingData[i].ratingName.toLowerCase() ==\r\n skillName.toLowerCase()\r\n ) {\r\n score = this.skillRatingData[i].score;\r\n break;\r\n }\r\n }\r\n }\r\n return score;\r\n }\r\n //set user skill data\r\n private setUserCurrentSkillData(\r\n userFormDetails: any,\r\n userId: any,\r\n isFunctional\r\n ) {\r\n let userSkillData = [];\r\n if (isFunctional) {\r\n for (let i = 0; i < this.skillData.length; i++) {\r\n //if (this.skillData[i].positionId != this.selectedPositionId) continue;\r\n let skillObj = {};\r\n skillObj['userId'] = userId;\r\n skillObj['skillId'] = this.skillData[i].skillId;\r\n skillObj['skillName'] = this.skillData[i].skillName;\r\n skillObj['skillLevel'] = Number(\r\n userFormDetails[this.skillData[i].skillName]\r\n );\r\n skillObj['createdByEmail'] = this.users.emailAddress;\r\n skillObj['skillRatingFromDate'] = this.common.getDateYYMMDD(\r\n userFormDetails.skillRatingFromDate\r\n );\r\n skillObj['skillRatingToDate'] = this.common.getDateYYMMDD(\r\n userFormDetails.skillRatingToDate\r\n );\r\n skillObj['ratedByRole'] = Number(this.users.userRoll);\r\n\r\n userSkillData.push(skillObj);\r\n }\r\n } else {\r\n for (let i = 0; i < this.behSkillList.length; i++) {\r\n // if (this.behSkillList[i].positionId != this.selectedPositionId)\r\n // continue;\r\n\r\n let skillObj = {};\r\n skillObj['userId'] = userId;\r\n skillObj['skillId'] = this.behSkillList[i].skillId;\r\n skillObj['skillName'] = this.behSkillList[i].skillName;\r\n skillObj['skillLevel'] = Number(\r\n userFormDetails[this.behSkillList[i].skillName]\r\n );\r\n skillObj['createdByEmail'] = this.users.emailAddress;\r\n skillObj['skillRatingFromDate'] = this.common.getDateYYMMDD(\r\n userFormDetails.skillRatingFromDate\r\n );\r\n skillObj['skillRatingToDate'] = this.common.getDateYYMMDD(\r\n userFormDetails.skillRatingToDate\r\n );\r\n skillObj['ratedByRole'] = Number(this.users.userRoll);\r\n userSkillData.push(skillObj);\r\n }\r\n }\r\n return userSkillData;\r\n }\r\n\r\n //save skills data\r\n private saveSkillsData(userSkillData) {\r\n this.commonService\r\n .saveSkillsData(userSkillData, this.users.emailAddress)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data && data != null) {\r\n this.functionalSkillRatingForm.reset();\r\n localStorage.setItem(\r\n 'errorMsg',\r\n 'User successfully added as a TR Nominee'\r\n );\r\n localStorage.setItem('isReload', 'true');\r\n this.commonService.showerror();\r\n }\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', 'Must Enter all the fields');\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n //set start date\r\n private setStartDate() {\r\n let currentDate = new Date();\r\n this.config.minDate = {\r\n year: currentDate.getFullYear(),\r\n month: currentDate.getMonth() + 1,\r\n day: currentDate.getDate(),\r\n };\r\n }\r\n\r\n //set end dates\r\n private setEndDate() {\r\n let currentDate = new Date();\r\n currentDate.setDate(currentDate.getDate() + 1);\r\n currentDate.setMonth(currentDate.getMonth() + 3);\r\n if (this.functionalSkillRatingForm.value.skillRatingFromDate) {\r\n var dd = currentDate.getDate();\r\n var mm = currentDate.getMonth();\r\n var yy = currentDate.getFullYear();\r\n this.config.minDate = { year: yy, month: mm, day: dd };\r\n } else if (this.behavioralSkillRatingForm.value.skillRatingFromDate) {\r\n var dd = currentDate.getDate();\r\n var mm = currentDate.getMonth();\r\n var yy = currentDate.getFullYear();\r\n this.config.minDate = { year: yy, month: mm, day: dd };\r\n } else {\r\n localStorage.setItem('errorMsg', 'Please select Start Date');\r\n this.commonService.showerror();\r\n return;\r\n }\r\n }\r\n\r\n //close dailog box\r\n private closeModels() {\r\n this.closeModel1.nativeElement.click();\r\n this.closeModel2.nativeElement.click();\r\n }\r\n\r\n //forward to next section\r\n public gotoNextPage(e, routeURL) {\r\n this.router.navigate([routeURL]);\r\n }\r\n\r\n // logout and forward to login page\r\n private logout() {\r\n this.commonService.logout();\r\n }\r\n}\r\n","\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n TR Nominee Functional Competency Rating Form\r\n
\r\n \r\n ×\r\n \r\n
\r\n \r\n
\r\n \r\n You will not be able to fill the ratings yet. You can fill\r\n self-ratings after HR initiates the process for you.\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n\r\n \r\n
\r\n \r\n Cancel\r\n \r\n\r\n \r\n Submit Rating\r\n \r\n
\r\n \r\n\r\n
\r\n 1\"\r\n >\r\n \r\n \r\n S.No.\r\n Skill\r\n\r\n \r\n \r\n {{ dateRange == 1 ? \"\" : dateRange }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{ i + 1 }}
\r\n \r\n \r\n \r\n
{{ cell }}
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n TR Nominee Behavioral Competency Rating Form\r\n
\r\n \r\n ×\r\n \r\n
\r\n \r\n
\r\n \r\n You will not be able to fill the ratings yet. You can fill\r\n self-ratings after HR initiates the process for you.\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n Cancel\r\n \r\n \r\n Submit Rating\r\n \r\n
\r\n \r\n\r\n
\r\n 1\"\r\n >\r\n \r\n \r\n S.No.\r\n Skill\r\n \r\n \r\n {{ dateRange == 1 ? \"\" : dateRange }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{ i + 1 }}
\r\n \r\n \r\n \r\n
{{ cell }}
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

My Details

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Functional Rating\r\n \r\n \r\n Behavioral Rating\r\n \r\n \r\n View\r\n \r\n \r\n \r\n \r\n
S.No.Emp CodeEmp NameSupervisorCurrent RoleNext RoleNomination Status
\r\n
\r\n
\r\n
0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Functional Rating\r\n \r\n \r\n Behavioral Rating\r\n \r\n \r\n View\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
S.No.Emp CodeEmp NameSupervisorCurrent RoleNext RoleNomination Status
\r\n
\r\n {{ fetchData.indexOf(fetchuserData) + 1 }}\r\n
\r\n
\r\n
\r\n {{ fetchuserData.empCode }}\r\n
\r\n
\r\n
\r\n {{ fetchuserData.userName }}\r\n
\r\n
\r\n
\r\n {{ fetchuserData.resourceManager }}\r\n
\r\n
\r\n
{{ fetchuserData.positionName }}
\r\n
\r\n
{{ getPositionName(fetchuserData.nextPosition) }}
\r\n
\r\n \r\n \r\n {{\r\n commonService.getUserStatus(fetchuserData.isApproved)\r\n }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
Applicant Detail Form
\r\n \r\n ×\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Your Request has been Rejected.
\r\n Please contact to your HR for more query!\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n","\n\n\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

Competency Report

\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t
\n
\n\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
","import { Component, OnInit, Compiler } from '@angular/core';\nimport { first, retry } from 'rxjs/operators';\nimport { Chart } from 'chart.js';\nimport { Router } from '@angular/router';\nimport { FormBuilder, Validators, FormControl } from '@angular/forms';\nimport { NgbDatepickerConfig } from '@ng-bootstrap/ng-bootstrap';\nimport { AppConfig } from '../util';\nimport { CommonService } from '../service/commons-service';\nimport { Common } from '../util/common';\nimport { ExcelService } from '../service/excel.service';\n\n@Component({\n selector: 'app-competency-report',\n templateUrl: './competency-report.component.html',\n styleUrls: ['./competency-report.component.css']\n})\nexport class CompetencyReportComponent implements OnInit {\n selectedLevel: any = '';\n users: any = [];\n baseUrl: any;\n loginUserName: any;\n loading: any = false;\n userList: any = [];\n columnsList: any = [];\n userData: any = [];\n ibuList: any = [];\n towerList: any = [];\n tempTowerList: any = [];\n selectedIbuId: any = '';\n selectedTowerId: any = '';\n towerIdsBySelectedIbu: any = [];\n userReportData: any = [];\n behCompByTowers: any = [];\n tempTowerIdsBySelectedIbu: any = [];\n ibuName: any = '';\n funCompByTowers: any = [];\n userAllNotesList: any = [];\n positionList: any = [];\n behDataByTower: any = [];\n funDataByTower: any = [];\n behDataByTowerForStatus: any = [];\n funDataByTowerForStatus: any = [];\n userIbuIds: any = [];\n ibuListForTraining: any = []\n userRole = 0;\n constructor(\n private router: Router,\n private formBuilder: FormBuilder,\n private excelService: ExcelService,\n private commonService: CommonService,\n private common: Common,\n private appConfig: AppConfig, config: NgbDatepickerConfig, private _compiler: Compiler\n ) {\n this.users = JSON.parse(localStorage.getItem('user'));\n // this.baseUrl = this.appConfig.getBaseUrl();\n if (!this.users || !this.users.userData) {\n this.commonService.logout();\n return;\n }\n if (this.users && this.users.userData) {\n this.users = this.users.userData;\n this.loginUserName = this.users.userFullName;\n this.userIbuIds = (this.users.ibuId) ? this.users.ibuId.split(',') : [];\n this.userRole = this.users.userRoll;\n }\n }\n\n ngOnInit(): void {\n this.getIbuList();\n this.getTowerList();\n this.getBehDataByTowerIdForReport();\n this.getFunDataByTowerIdForReport();\n this.getAllUserNotes();\n this.getFunDataByTowerIdForReportForStatus();\n this.getBehDataByTowerIdForReportForStatus();\n this.fetchPositions()\n }\n /**\n * Get list of IBU\n */\n getIbuList() {\n this.ibuList = [];\n this.commonService.getAllIBUInfo().subscribe(data => {\n if (data.length) {\n for (let i = 0; i < data.length; i++) {\n const index = this.userIbuIds.findIndex(x => Number(x) == data[i].ibuId);\n if (index != -1) {\n this.ibuListForTraining.push(data[i]);\n }\n }\n this.ibuList = data;\n }\n },\n error => {\n console.log('Ibu list not found', error);\n });\n }\n /**\n * Change IBU\n */\n changeIbu() {\n var tempTowerList = []\n this.towerIdsBySelectedIbu = [];\n this.towerList = this.tempTowerList;\n for (let i = 0; i < this.towerList.length; i++) {\n if (this.selectedIbuId == this.towerList[i].ibuId) {\n tempTowerList.push(this.towerList[i]);\n this.towerIdsBySelectedIbu.push(this.towerList[i].towerId);\n }\n if (i == this.towerList.length - 1) {\n this.towerList = tempTowerList;\n // Used in only change tower fun. if selected tower unselected.\n this.tempTowerIdsBySelectedIbu = this.towerIdsBySelectedIbu;\n }\n }\n this.getFunDataByTowerIdForReportForStatus();\n this.getBehDataByTowerIdForReportForStatus();\n this.getBehDataByTowerIdForReport();\n this.getFunDataByTowerIdForReport();\n }\n /**\n * Get Tower List\n */\n getTowerList() {\n this.commonService.getTowerList().subscribe(data => {\n this.towerList = data;\n this.tempTowerList = data;\n },\n error => {\n console.log('Error', error);\n })\n }\n /**\n * Get the skill report on tower change.\n */\n changeTower() {\n // Push tower id \n this.towerIdsBySelectedIbu = [];\n if (this.selectedTowerId) {\n this.towerIdsBySelectedIbu.push(this.selectedTowerId);\n } else {\n this.towerIdsBySelectedIbu = this.tempTowerIdsBySelectedIbu;\n }\n this.getFunDataByTowerIdForReportForStatus();\n this.getBehDataByTowerIdForReportForStatus();\n this.getBehDataByTowerIdForReport();\n this.getFunDataByTowerIdForReport();\n }\n /**\n * Get user report data.\n */\n getUserReportData() {\n this.loading = true;\n let postData = { towerId: this.towerIdsBySelectedIbu };\n this.commonService.getUsersForReportByTowerIdsArr(postData).pipe(first()).subscribe(\n data => {\n let userIds = [];\n if (data && data.length > 0) {\n this.userReportData = data;\n this.exportReportData();\n // this.loading = false;\n } else {\n this.loading = false;\n localStorage.setItem('errorMsg', 'Users Not Found');\n this.commonService.showerror();\n }\n },\n error => {\n this.loading = false;\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n )\n }\n /**\n * Excel Report\n */\n async exportReportData() {\n\n\n let excelExportData = [];\n // let headers = [\"S.No.\", \"Employee Code\", \"Employee Name\", \"Email id\", \"IBU\", \"Function\", \"Tower\", \"Current Role\", \"Target Role\", \"Final Rating Status\", \"Self Rating Status (Behavioral)\", \"Self Rating Status (Functional)\", \"Manager Rating Status (Behavioral)\", \"Manager Rating Status (Functional)\", \"Rating Score Behavioral\", \"Rating Score Functional\", \"Aggregate Score\", \"Role Change Status\"];\n let headers = [\"S.No.\", \"Employee Code\", \"Employee Name\", \"Approve Date\", \"Email id\", \"IBU\", \"Function\", \"Tower\", \"Employee Status\", \"Batch Number\", \"Journey Completion Date\", \"TR Status\", \"Current Role\", \"Target Role\",\n \"Supervisor (1st Level)\", \"Supervisor (1st Level) Email\", \"Supervisor (2nd Level)\", \"Supervisor (2nd Level) Email\", \"Beh. Comp Submitted Date\", \"Fun. Comp Submitted Date\", \"Self Rating Status (Behavioral)\",\n \"Self Rating Status (Functional)\", \"Manager Rating Status (Behavioral)\", \"Manager Rating Status (Functional)\", \"Final Rating Status\", \"Rating Score Behavioral\",\n \"Rating Score Functional\", \"Average Score\", \"Role Change Status\", \"Notes\"];\n // for (let i of this.fetchData)\n\n\n for (let i = 0; i < this.userReportData.length; i++) {\n let strData = '' + this.userReportData[i].email;\n if (strData.match(/_old$/)) continue;\n let data = {};\n data[headers[0]] = i + 1;\n data[headers[1]] = this.userReportData[i].empCode;\n data[headers[2]] = this.userReportData[i].userName;\n let approvDate = new Date(this.userReportData[i].approvedAt);\n data[headers[3]] = (this.userReportData[i].approvedAt) ? approvDate.getDate() + \"-\" + Number(approvDate.getMonth() + 1) + \"-\" + approvDate.getFullYear() : '';\n data[headers[4]] = this.userReportData[i].email;\n data[headers[5]] = this.getIbuNameById();\n data[headers[6]] = this.userReportData[i].functionName;\n data[headers[7]] = this.userReportData[i].towerName;\n if (this.userReportData[i].empStatus == 0) {\n data[headers[8]] = \"Deactive\";\n } else if (this.userReportData[i].empStatus == 2) {\n data[headers[8]] = \"Resigned\";\n } else {\n data[headers[8]] = \"Active\";\n }\n data[headers[9]] = this.userReportData[i].batchNo;\n data[headers[10]] = this.userReportData[i].journeyCompletionDate;\n data[headers[11]] = this.commonService.getUserStatus(this.userReportData[i].isApproved)\n data[headers[12]] = this.userReportData[i].positionName;\n // data[headers[5]] = this.allPositions[this.fetchData[i].userId];\n data[headers[13]] = this.getPositionName(this.userReportData[i].nextPosition);\n data[headers[14]] = this.userReportData[i].resourceManager;\n data[headers[15]] = this.userReportData[i].resourceManagerEmail;\n data[headers[16]] = this.userReportData[i].SLS;\n data[headers[17]] = this.userReportData[i].SLSE;\n data[headers[18]] = this.getManagerBehCompLastDate(this.userReportData[i].userId);\n data[headers[19]] = this.getManagerFunCompLastDate(this.userReportData[i].userId);\n\n\n // var status = \"Pending with Self\";\n var compositeValues: any = this.getCompositeValueForExcel(this.userReportData[i].userId);\n \n\n data[headers[20]] = (this.checkSelfBehCompExist(this.userReportData[i].userId) > 0) ? 'Submitted' : 'Pending';\n data[headers[21]] = (this.checkSelfFunCompExist(this.userReportData[i].userId) > 0) ? 'Submitted' : 'Pending';\n data[headers[22]] = (this.checkManagerBehCompExist(this.userReportData[i].userId) > 0) ? 'Submitted' : 'Pending';\n data[headers[23]] = (this.checkManagerFunCompExist(this.userReportData[i].userId) > 0) ? 'Submitted' : 'Pending';\n\n \n if ((data[headers[20]] == 'Submitted' && data[headers[21]] == 'Submitted') && ((data[headers[22]] == 'Submitted' && data[headers[23]] == 'Submitted'))) {\n data[headers[24]] = 'Completed'\n }\n if (data[headers[22]] == 'Pending' || data[headers[23]] == 'Pending') {\n data[headers[24]] = 'Pending With Manager'\n }\n if (data[headers[20]] == 'Pending' || data[headers[21]] == 'Pending') {\n data[headers[24]] = 'Pending With Self'\n }\n\n\n data[headers[25]] = isNaN(compositeValues.beh) ? \"\" : compositeValues.beh;\n data[headers[26]] = isNaN(compositeValues.fun) ? \"\" : compositeValues.fun;\n data[headers[27]] = isNaN(compositeValues.full) ? \"\" : compositeValues.full;\n if (data[headers[27]] >= 80) { data[headers[28]] = \"Ready Now\"; }\n if (data[headers[27]] >= 60 && data[headers[27]] < 80) { data[headers[28]] = \"Ready Soon\"; }\n if (data[headers[27]] >= 30 && data[headers[27]] < 60) { data[headers[28]] = \"Ready Future\"; }\n if (data[headers[27]] < 30) { data[headers[28]] = \" \"; }\n data[headers[29]] = this.returnUserNotes(this.userReportData[i].userId)\n excelExportData.push(data);\n if (i == (this.userReportData.length - 1)) {\n this.loading = false;\n this.excelService.generateExcel(headers, excelExportData, 'Dashboard_Data');\n }\n }\n \n }\n /**\n * Get the competency and competency rating by towerIds\n */\n // Get Beh comp data\n\n\n /**\n* Get user Notes\n*/\n getAllUserNotes() {\n this.commonService.getAllUserNotes().subscribe(data => {\n this.loading = false;\n if (data) {\n this.userAllNotesList = data;\n\n }\n }, error => {\n console.log('Error', error);\n this.loading = false;\n });\n }\n /**\n * Return Users notes\n */\n returnUserNotes(userId) {\n for (let i = 0; i < this.userAllNotesList.length; i++) {\n if (userId == this.userAllNotesList[i].userId) {\n return this.userAllNotesList[i].userNotes;\n }\n }\n\n }\n\n private getPositionName(positionId) {\n for (let i = 0; i < this.positionList.length; i++) {\n if (this.positionList[i].positionId == positionId)\n return this.positionList[i].positionName;\n }\n }\n\n // Check users have self beh. competency submitted or not.\n getManagerBehCompLastDate($userId) {\n let lastDate = '';\n for (let i = 0; i < this.behDataByTowerForStatus.length; i++) {\n if (this.behDataByTowerForStatus[i].userId == $userId && this.behDataByTowerForStatus[i].ratedByRole == 4 && (lastDate == '' || new Date(lastDate) < new Date(this.behDataByTowerForStatus[i].createDate))) {\n\n lastDate = this.behDataByTowerForStatus[i].createDate;\n }\n }\n if (lastDate) {\n let date = new Date(lastDate);\n return date.getDate() + \"-\" + Number(date.getMonth() + 1) + \"-\" + date.getFullYear();\n } else {\n return lastDate;\n }\n }\n // Check users have self beh. competency submitted or not.\n getManagerFunCompLastDate($userId) {\n let lastDate = '';\n for (let i = 0; i < this.funDataByTowerForStatus.length; i++) {\n if (this.funDataByTowerForStatus[i].userId == $userId && this.funDataByTowerForStatus[i].ratedByRole == 4 && (lastDate == '' || new Date(lastDate) < new Date(this.funDataByTowerForStatus[i].createDate))) {\n\n lastDate = this.funDataByTowerForStatus[i].createDate;\n }\n }\n if (lastDate) {\n let date = new Date(lastDate);\n return date.getDate() + \"-\" + Number(date.getMonth() + 1) + \"-\" + date.getFullYear();\n } else {\n return lastDate;\n }\n }\n\n private getCompositeValueForExcel(userId) {\n var compositeBehSum = 0, compositeFunSum = 0;\n var managerPresentBeh = false, managerPresentFun = false, selfPresentBeh = false, selfPresentFun = false;\n var countBeh = 0, countFun = 0;\n\n for (var i = 0; i < this.behCompByTowers.length; i++) {\n if (this.behCompByTowers[i].ratedByRole == 4 && this.behCompByTowers[i].userId == userId) {\n managerPresentBeh = true;\n selfPresentBeh = true;\n }\n\n if (this.behCompByTowers[i].ratedByRole !== 4 || this.behCompByTowers[i].userId != userId) continue;\n\n var thisSkillsPercentage = (this.behCompByTowers[i].skillScore * 100) / this.behCompByTowers[i].targetScore;\n compositeBehSum += (thisSkillsPercentage > 100 ? 100 : thisSkillsPercentage);\n \n countBeh++;\n }\n\n for (var j = 0; j < this.funCompByTowers.length; j++) {\n if (this.funCompByTowers[j].ratedByRole == 4 && this.funCompByTowers[j].userId == userId) {\n managerPresentFun = true;\n selfPresentFun = true;\n }\n\n if (this.funCompByTowers[j].ratedByRole !== 4 || this.funCompByTowers[j].userId != userId) continue;\n\n var thisSkillsPercentage = (this.funCompByTowers[j].skillScore * 100) / this.funCompByTowers[j].targetScore;\n\n compositeFunSum += (thisSkillsPercentage > 100 ? 100 : thisSkillsPercentage);\n countFun++;\n }\n\n return {\n full: Math.floor(((compositeBehSum / countBeh) * 0.3 + (compositeFunSum / countFun) * 0.7)),\n beh: Math.floor(compositeBehSum / countBeh),\n fun: Math.floor(compositeFunSum / countFun),\n managerPresentFun,\n managerPresentBeh,\n selfPresentFun,\n selfPresentBeh\n };\n\n }\n\n // Check users have self beh. competency submitted or not.\n checkSelfBehCompExist($userId) {\n let count = 0;\n for (let i = 0; i < this.behDataByTowerForStatus.length; i++) {\n if (this.behDataByTowerForStatus[i].userId == $userId && this.behDataByTowerForStatus[i].ratedByRole == 5) {\n count++;\n }\n }\n return count;\n }\n // Check users have self beh. competency submitted or not.\n checkManagerBehCompExist($userId) {\n let count = 0;\n for (let i = 0; i < this.behDataByTowerForStatus.length; i++) {\n if (this.behDataByTowerForStatus[i].userId == $userId && this.behDataByTowerForStatus[i].ratedByRole == 4) {\n count++;\n }\n }\n return count;\n }\n\n // Check users have self beh. competency submitted or not.\n checkSelfFunCompExist($userId) {\n let count = 0;\n for (let i = 0; i < this.funDataByTowerForStatus.length; i++) {\n if (this.funDataByTowerForStatus[i].userId == $userId && this.funDataByTowerForStatus[i].ratedByRole == 5) {\n count++;\n }\n }\n return count;\n }\n // Check users have self beh. competency submitted or not.\n checkManagerFunCompExist($userId) {\n let count = 0;\n for (let i = 0; i < this.funDataByTowerForStatus.length; i++) {\n if (this.funDataByTowerForStatus[i].userId == $userId && this.funDataByTowerForStatus[i].ratedByRole == 4) {\n count++;\n }\n }\n return count;\n }\n\n\n // Get Beh comp data\n private getBehDataByTowerIdForReportForStatus() {\n this.loading = true;\n // let postData = { towerId: this.selectedTowerId };\n let postData = { towerId: this.towerIdsBySelectedIbu };\n this.commonService.getBehDataByTowerIdReportForStatus(postData).pipe(first()).subscribe(\n data => {\n this.behDataByTowerForStatus = data;\n this.loading = false;\n \n },\n error => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n )\n }\n\n // Get Beh comp data\n private getFunDataByTowerIdForReportForStatus() {\n this.loading = true;\n // let postData = { towerId: this.selectedTowerId };\n let postData = { towerId: this.towerIdsBySelectedIbu };\n this.commonService.getFunDataByTowerIdReportForStatus(postData).pipe(first()).subscribe(\n data => {\n this.funDataByTowerForStatus = data;\n this.loading = false;\n \n },\n error => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n )\n }\n\n\n\n async getBehDataByTowerIdForReport() {\n let postData = { towerId: this.towerIdsBySelectedIbu };\n return new Promise((resolve, reject) => {\n this.commonService.getBehDataByTowerIdReport(postData).pipe(first()).subscribe(\n data => {\n data = (data) ? data : [];\n this.behCompByTowers = data;\n \n resolve(data);\n },\n error => {\n reject(error);\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n this.loading = false;\n }\n )\n });\n\n }\n // Get functional competency and competency rating details.\n async getFunDataByTowerIdForReport() {\n let postData = { towerId: this.towerIdsBySelectedIbu };\n return new Promise((resolve, reject) => {\n this.commonService.getFunDataByTowerIdReport(postData).pipe(first()).subscribe(\n data => {\n this.funCompByTowers = data;\n resolve(data);\n },\n error => {\n reject(error);\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n )\n })\n }\n // Get IBU name\n getIbuNameById() {\n for (let i = 0; i < this.ibuList.length; i++) {\n if (this.ibuList[i].ibuId == this.selectedIbuId) {\n this.ibuName = this.ibuList[i].ibuName;\n return this.ibuList[i].ibuName;\n }\n }\n }\n\n private fetchPositions() {\n this.commonService.getAllPositionInfo(this.selectedTowerId).pipe(first()).subscribe(\n data => {\n this.positionList = data;\n },\n error => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n )\n }\n\n\n \n \n\n}\n","\n\n\n
\n
\n
\n
\n
\n
\n
\n

Role Ladder

\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Role Ladder
Delivery Manager
Senior Project Manager
Project Manager
Associate Project Manager
Project  Lead
Associate Lead
Senior Software Engineer II
Senior Software Engineer I
\n
\n
\n
\n
\n
\n
\n\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-position-ladder',\n templateUrl: './position-ladder.component.html',\n styleUrls: ['./position-ladder.component.css']\n})\nexport class PositionLadderComponent implements OnInit {\n loading: boolean = false;\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","\n
\n \n
\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-breadcrumb',\n templateUrl: './breadcrumb.component.html',\n styleUrls: ['./breadcrumb.component.css']\n})\nexport class BreadcrumbComponent implements OnInit {\n selectedIbuName: any = '';\n selectedFunctionName: any = '';\n selectedTowerName: any = '';\n users: any = {};\n userRoll: number = 0;\n constructor() { \n this.users = JSON.parse(localStorage.getItem('user'));\n\n if (this.users && this.users.userData) {\n this.userRoll = this.users.userData.userRoll;\n \n }\n this.selectedIbuName = localStorage.getItem('ibuName');\n this.selectedFunctionName = localStorage.getItem('functionName');\n this.selectedTowerName = localStorage.getItem('selectedTowerName');\n }\n\n ngOnInit(): void {\n }\n\n}\n","import { Component, OnInit, Compiler, ViewChild, Input, ElementRef } from '@angular/core';\r\nimport { first, retry } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { ErrorComponent } from '../confirm/error.component';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { FormBuilder, Validators, FormControl, FormArray } from '@angular/forms';\r\nimport { NgbDatepickerConfig } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AppConfig } from '../util';\r\nimport { CommonService } from '../service/commons-service';\r\nimport { Common } from '../util/common';\r\n\r\n@Component({ templateUrl: './functionalSkillMaster.component.html', styleUrls: ['./functionalSkillMaster.component.css'] })\r\nexport class FunctionalSkillMasterComponent implements OnInit {\r\n\r\n @ViewChild('closeModel', {read: ElementRef}) closeModel: ElementRef;\r\n users: any = {};\r\n formObj: any;\r\n config: any;\r\n formInfoList: any[] = [];\r\n submitted = false;\r\n loginImageURL: any = \"\";\r\n loginUserName: any = \"\";\r\n baseURL: any = null;\r\n showHideModel: boolean = true;\r\n loading: boolean = false;\r\n activeUserCount: number = 0;\r\n inactiveUserCount: number = 0;\r\n towerId: any;\r\n towerName: any;\r\n superUserType: any = \"\";\r\n allTowers: any = [];\r\n allTraining: any = [];\r\n allIbus: any = [];\r\n positionName: any;\r\n allPositions: any = [];\r\n selectedTowerId: any = 0;\r\n selectedPositionId: any = 0; //10\r\n towerSelect: any = \"1\";\r\n currIndex:number;\r\n\r\n\r\n constructor(private modalService: MatDialog,\r\n private router: Router,\r\n private formBuilder: FormBuilder,\r\n private commonService: CommonService,\r\n private appConfig: AppConfig,\r\n config: NgbDatepickerConfig,\r\n public common: Common,\r\n private _compiler: Compiler) {\r\n this._compiler.clearCache();\r\n this.users = JSON.parse(localStorage.getItem('user'));\r\n if (!this.users || !this.users.userData) {\r\n this.commonService.logout\r\n return;\r\n }\r\n if (this.users && this.users.userData) {\r\n this.loginImageURL = '/assets/default.png';\r\n this.loginUserName = this.users.userData.userFullName;\r\n this.towerId = this.users.userData.towerId;\r\n this.towerName = localStorage.getItem('towerName');\r\n // All process done with tower selected on dashboard\r\n this.selectedTowerId = (this.towerId != null || this.towerId != undefined) ? this.towerId : 0;\r\n }\r\n if (localStorage.getItem('superUserType')) {\r\n this.superUserType = localStorage.getItem('superUserType');\r\n }\r\n let currentDate = new Date();\r\n this.config = config;\r\n this.config.minDate = { year: currentDate.getFullYear() - 10, month: currentDate.getMonth(), day: currentDate.getDate() };\r\n this.config.maxDate = { year: 2099, month: 12, day: 31 };\r\n this.config.markDisabled = false;\r\n this.initUserInfo();\r\n }\r\n\r\n //initailised user form\r\n ngOnInit() {\r\n this.formObj = this.formBuilder.group({\r\n skillName: ['', Validators.required],\r\n skillId: new FormControl(null),\r\n towerId: new FormControl(this.selectedTowerId),\r\n skillCode: ['Dummy', Validators.required],\r\n targetScore: ['', Validators.required],\r\n positionId: ['', Validators.required],\r\n arrOfTraining : this.formBuilder.array([this.formBuilder.group({trainingPoint:''})])\r\n });\r\n this.initialization();\r\n }\r\n\r\n get arr_of_training() {\r\n return this.formObj.get('arrOfTraining') as FormArray;\r\n }\r\n\r\n addTraining() {\r\n this.arr_of_training.push(this.formBuilder.group({trainingPoint:''})); \r\n }\r\n\r\n deleteTraining(i) {\r\n this.arr_of_training.removeAt(-1); \r\n }\r\n\r\n get arr_of_training_update() {\r\n return this.formObj.get('arrOfTraining') as FormArray;\r\n }\r\n\r\n addTrainingUpdate(obj?) {\r\n if(obj){\r\n this.arr_of_training_update.push(this.formBuilder.group({trainingPoint:obj.trainingPoint})); \r\n }else{\r\n this.arr_of_training_update.push(this.formBuilder.group({trainingPoint:''})); \r\n } \r\n }\r\n\r\n deleteTrainingUpdate(i) {\r\n this.arr_of_training_update.removeAt(-1); \r\n }\r\n\r\n \r\n\r\n //initial setup level assets\r\n private initialization() {\r\n this.getAllSkills();\r\n this.getTowerList();\r\n this.getPositionList(this.selectedTowerId); \r\n }\r\n /**\r\n * Update position list if cange tower in add comp. form\r\n */\r\n updatePositionList() {\r\n this.getPositionList(this.selectedTowerId);\r\n }\r\n //reset user form\r\n initUserInfo() {\r\n this.formObj = this.formBuilder.group({\r\n skillName: ['', Validators.required],\r\n skillId: new FormControl(null),\r\n towerId: new FormControl(this.selectedTowerId),\r\n skillCode: ['Dummy', Validators.required],\r\n targetScore: ['', Validators.required],\r\n positionId: ['', Validators.required],\r\n arrOfTraining: new FormArray([])\r\n \r\n });\r\n }\r\n\r\n //reset user form \r\n private setUpdateUserInfo(formInfo, i) {\r\n this.initUserInfo();\r\n this.allTraining = JSON.parse(this.formInfoList[i].arrOfTraining);\r\n\r\n this.formObj = this.formBuilder.group({\r\n skillName: new FormControl(formInfo.skillName),\r\n skillId: new FormControl(formInfo.skillId),\r\n towerId: new FormControl(formInfo.towerId),\r\n skillCode: new FormControl(formInfo.skillCode),\r\n targetScore: new FormControl(formInfo.targetScore),\r\n positionId: new FormControl(formInfo.positionId),\r\n arrOfTraining: new FormArray([])\r\n });\r\n\r\n for(const obj of this.allTraining) {\r\n this.addTrainingUpdate(obj);\r\n }\r\n }\r\n\r\n // Get All user list\r\n private getAllSkills() {\r\n this.formInfoList = [];\r\n if(this.selectedTowerId > 0 && this.selectedPositionId > 0) {\r\n this.loading = true;\r\n this.commonService.postAllFunSkills(this.selectedTowerId, this.selectedPositionId).pipe(first()).subscribe( data => {\r\n this.formInfoList = data;\r\n this.loading = false;\r\n if(data.length === 0) {\r\n localStorage.setItem('errorMsg', \"No results! Please change the filter to see the results.\");\r\n this.showerror();\r\n }\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n }\r\n\r\n \r\n\r\n // Save new user profile\r\n private onSubmit(formInfo) {\r\n if (this.formObj.invalid) {\r\n this.submitted = true;\r\n return;\r\n } else {\r\n // check ibu name is already exits\r\n if (this.checkSkillName(formInfo.skillName)) {\r\n localStorage.setItem('errorMsg', formInfo.skillName + ' competency already exits!');\r\n this.showerror();\r\n return;\r\n }\r\n this.loading = true;\r\n if (!this.common.isSuperUser()) {\r\n delete formInfo.towerId;\r\n formInfo.towerId = 0;\r\n formInfo.towerId = this.selectedTowerId;\r\n }\r\n formInfo.arrOfTraining.forEach((element, index) => {\r\n formInfo.arrOfTraining[index]['id'] = index+1;\r\n });\r\n this.commonService.saveFunSkill(formInfo).pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.formObj.reset();\r\n localStorage.setItem('errorMsg', 'Competency Added successfully!');\r\n this.initialization();\r\n this.closeModels();\r\n this.showerror();\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', 'Must enter all the fields!');\r\n this.showerror();\r\n }\r\n )\r\n }\r\n }\r\n\r\n // update user profile \r\n private updateSkill(formInfo) {\r\n if (this.formObj.invalid) {\r\n localStorage.setItem('errorMsg', 'Please enter user information!');\r\n this.showerror(); \r\n return\r\n }\r\n if (formInfo != null) {\r\n if (formInfo) {\r\n this.loading = true;\r\n formInfo.arrOfTraining.forEach((element, index) => {\r\n formInfo.arrOfTraining[index]['id'] = index+1;\r\n });\r\n this.commonService.updateFunSkill(formInfo).pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.initialization();\r\n this.closeModels();\r\n localStorage.setItem('errorMsg', 'Competency is updated successfully!');\r\n this.showerror();\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n }\r\n }\r\n\r\n // Delete user profile\r\n private onDeleteSubmit(userInfo) {\r\n this.loading = true;\r\n //set login user email\r\n this.commonService.userDeletion(userInfo).pipe(first()).subscribe(\r\n data => {\r\n this.loading = true;\r\n this.initialization();\r\n localStorage.setItem('errorMsg', 'Record is deleted successfully!');\r\n localStorage.removeItem('errorMsg');\r\n this.showerror();\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n\r\n // check if name is already exits\r\n private checkSkillName(skillName) {\r\n let isSkillNameExits = false;\r\n for (let i = 0; i < this.formInfoList.length; i++) {\r\n if (skillName.toLowerCase() == this.formInfoList[i].skillName.toLowerCase()) {\r\n isSkillNameExits = true;\r\n break;\r\n }\r\n }\r\n return isSkillNameExits;\r\n }\r\n\r\n //show dailog box for user messages\r\n showerror() {\r\n const modal = this.modalService.open(ErrorComponent, {\r\n width: 'auto',\r\n data: { title: 'Confirm title', message: 'Confirm message' }\r\n });\r\n }\r\n\r\n //close dailog box\r\n private closeModels() {\r\n this.closeModel.nativeElement.click();\r\n }\r\n\r\n\r\n private getTowerList() {\r\n this.loading = true;\r\n this.commonService.getTowerList().pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.allTowers = data;\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n\r\n getPositionList(towerId) {\r\n \r\n if(towerId > 0) {\r\n this.loading = true; \r\n this.commonService.getPositionList(towerId).pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.allPositions = data;\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n } else {\r\n this.formInfoList = [];\r\n this.allPositions = [];\r\n this.selectedPositionId = 0;\r\n }\r\n \r\n }\r\n\r\n}\r\n","\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Functional Competencies Form
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n  \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n  \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Functional Competencies Information

\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n Definition\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
0\">\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
0\">\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Level 1\r\n \r\n \r\n Clear need to improve in the competency (deficiency/improvement required)\r\n \r\n
\r\n Needs handholding\r\n
\r\n
\r\n
\r\n Level 2\r\n \r\n \r\n Not always up to standard, with inconsistent demonstration of the competency (below average)\r\n \r\n
\r\n Needs review\r\n
\r\n
\r\n
\r\n Level 3\r\n \r\n \r\n Mostly demonstrates the competency as expected (at standard/average)\r\n \r\n
\r\n Needs audit\r\n
\r\n
\r\n
\r\n Level 4\r\n \r\n \r\n Notable strength in the competency (better than most)\r\n \r\n
\r\n Is independent\r\n
\r\n
\r\n
\r\n Level 5\r\n \r\n \r\n Strong role model (one of the best)\r\n \r\n
\r\n Can train others\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
0\">\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n
S.NoCompetency nameTarget scoreTowerPositionAction
\r\n
{{formInfoList.indexOf(formInfo) + 1}}
\r\n
\r\n
{{formInfo.skillName}}
\r\n
\r\n
{{formInfo.targetScore}}
\r\n
\r\n
{{formInfo.towerName}}
\r\n
\r\n
{{formInfo.positionName}}
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import {\r\n Component,\r\n OnInit,\r\n Compiler,\r\n ViewChild,\r\n ElementRef,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { first, retry } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { FormBuilder, Validators, FormControl } from '@angular/forms';\r\nimport { NgbDatepickerConfig } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AppConfig } from '../util';\r\nimport { CommonService } from '../service/commons-service';\r\nimport { Common } from '../util/common';\r\nimport { ExcelService } from '../service/excel.service';\r\nimport { ThisReceiver } from '@angular/compiler';\r\nimport { MatTabGroup } from '@angular/material/tabs';\r\n\r\n@Component({\r\n templateUrl: 'managerRatingSection.component.html',\r\n styleUrls: ['managerRatingSection.component.css'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class ManagerRatingSectionComponent implements OnInit {\r\n @ViewChild('closeModel1', { read: ElementRef }) closeModel1: ElementRef;\r\n @ViewChild('closeModel2', { read: ElementRef }) closeModel2: ElementRef;\r\n @ViewChild(MatTabGroup) tabGroup: MatTabGroup;\r\n\r\n loading: boolean = false;\r\n users: any = {};\r\n behavioralSkillRatingForm: any;\r\n functionalSkillRatingForm: any;\r\n config: any;\r\n fetchData: any[] = [];\r\n submitted = false;\r\n loginImageURL: any = '';\r\n baseURL: any = null;\r\n loginUserName: any = '';\r\n showHideModel: boolean = true;\r\n skillData: any[] = [];\r\n behSkillList: any[] = [];\r\n //Add users form fields\r\n userUpdatedId: Number = 0;\r\n selectedPositionId: Number = 0;\r\n skillRatingFromDate: any;\r\n towerId: number = 0;\r\n userRole: number = 0;\r\n skillRatingData: any[] = [];\r\n fullFunRatingList: any;\r\n fullBehRatingList: any;\r\n convertedData: any[][] = [];\r\n dateRanges: any[] = [1];\r\n allPositions: any = [];\r\n isenabledMFun: any = 'false';\r\n isenabledMBeh: any = 'false';\r\n positionList: any = [];\r\n CometencyLevelCount: any = 0;\r\n isMFRatingSubmitted: any = 0;\r\n isMBRatingSubmitted: any = 0;\r\n isBShow: any = true;\r\n isFShow: any = true;\r\n isShowCompForm: any = true;\r\n lastSubmittedDate: any = [];\r\n diffInDays: any = 0;\r\n ratingInDays: any = 60;\r\n active = 0;\r\n constructor(\r\n private router: Router,\r\n private formBuilder: FormBuilder,\r\n private excelService: ExcelService,\r\n private commonService: CommonService,\r\n private common: Common,\r\n private appConfig: AppConfig,\r\n config: NgbDatepickerConfig,\r\n private _compiler: Compiler\r\n ) {\r\n this._compiler.clearCache();\r\n this.users = JSON.parse(localStorage.getItem('user'));\r\n if (!this.users || !this.users.userData) {\r\n this.commonService.logout();\r\n return;\r\n }\r\n if (this.users && this.users.userData) {\r\n this.users = this.users.userData;\r\n if (this.users.userFullName) {\r\n this.loginUserName = this.users.userFullName;\r\n this.users.userFullName = this.users.userFullName.toLowerCase();\r\n } else {\r\n this.loginUserName = this.users.userName;\r\n this.users.userFullName = this.users.userName.toLowerCase();\r\n }\r\n if (\r\n !this.users.emailAddress ||\r\n this.users.emailAddress.trim().length == 0\r\n ) {\r\n this.users['emailAddress'] = this.users.email;\r\n }\r\n this.userRole = this.users.userRoll;\r\n this.towerId = this.users.towerId;\r\n }\r\n let currentDate = new Date();\r\n this.config = config;\r\n this.config.minDate = {\r\n year: currentDate.getFullYear() - 1,\r\n month: currentDate.getMonth() + 1,\r\n day: currentDate.getDate(),\r\n };\r\n this.config.markDisabled = false;\r\n this.loginImageURL = this.appConfig.getDefaultImgURL();\r\n this.fetchSkillsData();\r\n this.getAllBehSkills();\r\n }\r\n\r\n ngOnInit() {\r\n this.fetchSkillRatingData();\r\n if (this.userRole == 1) {\r\n this.fetchUserData(null, null);\r\n } else if (this.userRole == 5 || !this.userRole) {\r\n this.fetchUserData(this.users.userId, this.towerId);\r\n } else {\r\n this.fetchUserData(null, this.towerId);\r\n }\r\n this.initalizeFunSkillForm();\r\n this.initalizeBehSkillForm();\r\n this.fetchPositions();\r\n }\r\n\r\n // initalize Functional Skill Form\r\n private initalizeFunSkillForm() {\r\n this.userUpdatedId = 0;\r\n this.selectedPositionId = 0;\r\n let groupForm = {\r\n skillRatingFromDate: ['', Validators.required],\r\n skillRatingToDate: ['', Validators.required],\r\n };\r\n if (this.skillData && this.skillData.length > 0) {\r\n for (let i = 0; i < this.skillData.length; i++) {\r\n groupForm[this.skillData[i].skillName] = new FormControl('1');\r\n }\r\n }\r\n this.functionalSkillRatingForm = this.formBuilder.group(groupForm);\r\n }\r\n\r\n //Initalize Behavioral Skill Form\r\n private initalizeBehSkillForm() {\r\n this.userUpdatedId = 0;\r\n this.selectedPositionId = 0;\r\n let groupForm = {\r\n skillRatingFromDate: ['', Validators.required],\r\n skillRatingToDate: ['', Validators.required],\r\n };\r\n\r\n if (this.behSkillList && this.behSkillList.length > 0) {\r\n for (let i = 0; i < this.behSkillList.length; i++) {\r\n groupForm[this.behSkillList[i].skillName] = new FormControl('1');\r\n }\r\n }\r\n this.behavioralSkillRatingForm = this.formBuilder.group(groupForm);\r\n }\r\n\r\n // /fetch user information data\r\n private fetchSkillRatingData() {\r\n this.skillRatingData = [];\r\n this.commonService\r\n .fetchSkillRatingData()\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data && data.length > 0) {\r\n this.skillRatingData = data;\r\n } else {\r\n localStorage.setItem('errorMsg', 'Data Not Found');\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n // Get Behavioral Skill Details From Skill Master\r\n private getAllBehSkills() {\r\n this.loading = true;\r\n this.commonService\r\n .postAllBehSkills(this.towerId)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.loading = false;\r\n if (data && data.length > 0) {\r\n this.behSkillList = data;\r\n this.initalizeBehSkillForm();\r\n } else {\r\n this.loading = false;\r\n localStorage.setItem(\r\n 'errorMsg',\r\n 'Behavioral Skills Data Not Found'\r\n );\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n // Get Behavioral Skill Details From Skill Master\r\n private getAllBehSkillsForUser(userId) {\r\n this.loading = true;\r\n this.isShowCompForm = true;\r\n this.commonService\r\n .getAllBehRatingsForUser(this.towerId, userId)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n console.log('Beh comp list of user', data);\r\n this.loading = false;\r\n if (data && data.length > 0) {\r\n this.fullBehRatingList = data;\r\n this.convertData(false);\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n // Get Behavioral Skill Details From Skill Master\r\n private getAllFunSkillsForUser(userId) {\r\n this.loading = true;\r\n this.isShowCompForm = true;\r\n this.commonService\r\n .getAllFunRatingsForUser(this.towerId, userId)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n //this.userId\r\n this.loading = false;\r\n if (data && data.length > 0) {\r\n this.fullFunRatingList = data;\r\n this.convertData(true);\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n private convertData(isFunctional) {\r\n console.log('convert data');\r\n this.active = 0;\r\n var ratings1;\r\n if (isFunctional) ratings1 = this.fullFunRatingList;\r\n else ratings1 = this.fullBehRatingList;\r\n\r\n var ratings2 = [];\r\n this.dateRanges = [1];\r\n this.lastSubmittedDate = [];\r\n let j = 0;\r\n let k = 1;\r\n console.log('List fullFunRatingList', this.fullFunRatingList);\r\n var tempStartDate = '';\r\n var tempEndDate = '';\r\n for (let dates = 0; dates < ratings1.length; dates++) {\r\n let newDateRange =\r\n this.formatDate(ratings1[dates].skillRatingFromDate) +\r\n ' - ' +\r\n this.formatDate(ratings1[dates].skillRatingToDate);\r\n\r\n if (this.dateRanges.indexOf(newDateRange) === -1) {\r\n this.dateRanges.push(newDateRange);\r\n }\r\n }\r\n for (let i = 0; i < ratings1.length; i++) {\r\n var curIndex = this.getIndexOf(ratings2, ratings1[i].skillName);\r\n if (curIndex === -1) {\r\n ratings2[j] = [];\r\n ratings2[j][0] = ratings1[i].skillName;\r\n curIndex = j;\r\n j++;\r\n for (\r\n let dateArray = 1;\r\n dateArray < this.dateRanges.length;\r\n dateArray++\r\n ) {\r\n ratings2[curIndex].push(ratings1[i].skillScore);\r\n }\r\n }\r\n\r\n let fSubmittedDate = ratings1[i].createDate; //this.formatDate();\r\n if (this.lastSubmittedDate.indexOf(fSubmittedDate) === -1) {\r\n this.lastSubmittedDate.push(fSubmittedDate);\r\n }\r\n }\r\n console.log('ratings2', ratings2);\r\n this.convertedData = ratings2;\r\n setTimeout(() => {\r\n this.active = 0;\r\n }, 1000);\r\n this.checkLastSubmitDate();\r\n }\r\n /**\r\n * Check supervisor can fill competency again or not\r\n */\r\n checkLastSubmitDate() {\r\n if (this.lastSubmittedDate.length) {\r\n const lastSubmittedDate =\r\n this.lastSubmittedDate[this.lastSubmittedDate.length - 1]; // '2020-11-25';\r\n const date1 = new Date(lastSubmittedDate);\r\n const cDate = new Date();\r\n var Difference_In_Time = cDate.getTime() - date1.getTime();\r\n // To calculate the no. of days between two dates\r\n var Difference_In_Days = Math.floor(\r\n Difference_In_Time / (1000 * 3600 * 24)\r\n );\r\n this.diffInDays = Difference_In_Days;\r\n this.isShowCompForm = true;\r\n if (Difference_In_Days < this.ratingInDays) {\r\n this.isShowCompForm = false;\r\n }\r\n console.log('Difference_In_Days', Difference_In_Days);\r\n }\r\n }\r\n private getIndexOf(arr, item) {\r\n for (let i = 0; i < arr.length; i++) {\r\n if (arr[i] && arr[i][0] === item) return i;\r\n }\r\n return -1;\r\n }\r\n\r\n private formatDate(dateStr) {\r\n return (\r\n new Date(dateStr).getDate() +\r\n '/' +\r\n (new Date(dateStr).getMonth() + 1) +\r\n '/' +\r\n new Date(dateStr).getFullYear()\r\n );\r\n }\r\n\r\n // /fetch user information data\r\n private fetchPositions() {\r\n // var towerId = JSON.parse(localStorage.user).userData.towerId;\r\n let towerId = null;\r\n this.commonService\r\n .getAllPositionInfo(towerId)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.positionList = data;\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n private getPositionName(positionId) {\r\n for (let i = 0; i < this.positionList.length; i++) {\r\n if (this.positionList[i].positionId == positionId)\r\n return this.positionList[i].positionName;\r\n }\r\n }\r\n\r\n // edit user skill information data\r\n private onEditSubmit(userData, isFuntion) {\r\n this.active = 0;\r\n setTimeout(() => {\r\n $('.mat-ink-bar').css('width', '160px');\r\n }, 100);\r\n this.CometencyLevelCount = 0;\r\n this.fullBehRatingList = [];\r\n this.fullFunRatingList = [];\r\n this.convertedData = [];\r\n this.dateRanges = [1];\r\n if (isFuntion) this.getAllFunSkillsForUser(userData.userId);\r\n else this.getAllBehSkillsForUser(userData.userId);\r\n\r\n if (userData) {\r\n this.userUpdatedId = userData.userId;\r\n // this.selectedPositionId = userData.positionId;\r\n this.selectedPositionId = userData.nextPosition;\r\n\r\n this.isenabledMFun = userData.isenabledMFun;\r\n this.isenabledMBeh = userData.isenabledMBeh;\r\n\r\n if (userData.mBehRatings == 1) {\r\n this.isBShow = false;\r\n }\r\n if (userData.mFunRatings == 1) {\r\n this.isFShow = false;\r\n }\r\n\r\n let groupForm = {\r\n skillRatingFromDate: new FormControl(\r\n this.common.getJSONObj(userData.skillRatingFromDate)\r\n ),\r\n skillRatingToDate: new FormControl(\r\n this.common.getJSONObj(userData.skillRatingToDate)\r\n ), //TODO is this right\r\n };\r\n if (isFuntion) {\r\n // set value of functional skill from\r\n let userSkill = userData.funUserSkill;\r\n if (this.skillData && this.skillData.length > 0) {\r\n for (let i = 0; i < this.skillData.length; i++) {\r\n if (userSkill && userSkill.length > 0) {\r\n for (let j = 0; j < userSkill.length; j++) {\r\n if (userSkill[j].skillId == this.skillData[i].skillId) {\r\n groupForm[this.skillData[i].skillName] = new FormControl(\r\n userSkill[j].skillLevel\r\n );\r\n }\r\n }\r\n }\r\n if (!groupForm[this.skillData[i].skillName]) {\r\n groupForm[this.skillData[i].skillName] = new FormControl('1');\r\n }\r\n }\r\n }\r\n this.functionalSkillRatingForm = this.formBuilder.group(groupForm);\r\n } else {\r\n // set value of behavioral skill from\r\n let userSkill = userData.behUserSkill;\r\n if (this.behSkillList && this.behSkillList.length > 0) {\r\n for (let i = 0; i < this.behSkillList.length; i++) {\r\n if (userSkill && userSkill.length > 0) {\r\n for (let j = 0; j < userSkill.length; j++) {\r\n if (userSkill[j].skillId == this.behSkillList[i].skillId) {\r\n groupForm[this.behSkillList[i].skillName] = new FormControl(\r\n userSkill[j].skillLevel\r\n );\r\n }\r\n }\r\n }\r\n if (!groupForm[this.behSkillList[i].skillName]) {\r\n groupForm[this.behSkillList[i].skillName] = new FormControl('1');\r\n }\r\n }\r\n }\r\n this.behavioralSkillRatingForm = this.formBuilder.group(groupForm);\r\n }\r\n console.log('Skill Datatttttttt', this.skillData);\r\n }\r\n }\r\n\r\n //fetch skills data\r\n private fetchSkillsData() {\r\n this.commonService\r\n .postAllFunSkills(this.towerId)\r\n .pipe(first())\r\n .subscribe(\r\n //fetchSkill(s)Data\r\n (data) => {\r\n this.skillData = data;\r\n this.initalizeFunSkillForm();\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n //fetch user skills data\r\n private getAllNextPositions(userIds, towerId) {\r\n this.loading = true;\r\n this.commonService\r\n .getAllNextPositions(userIds, towerId)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.allPositions = data;\r\n var that = this;\r\n setTimeout(function () {\r\n that.loading = false;\r\n }, 1000);\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n // /fetch user information data\r\n private fetchUserData(userId, towerId) {\r\n this.loading = true;\r\n var userEmail = '';\r\n if (JSON.parse(localStorage.getItem('user')).userData.userRoll == 4)\r\n userEmail = JSON.parse(localStorage.getItem('user')).userData.userEmail;\r\n\r\n this.commonService\r\n .fetchUserData(userId, towerId, userEmail)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n let userIds = [];\r\n for (let i = 0; i < data.length; i++) {\r\n if (data[i].userId) {\r\n userIds.push(data[i].userId);\r\n }\r\n }\r\n if (userIds.length > 0) {\r\n this.fetchData = data;\r\n // this.fetchUserFunctSkillsData(userIds, data);\r\n }\r\n\r\n console.log('this.fetchData', this.fetchData);\r\n this.getAllNextPositions(\r\n userIds,\r\n JSON.parse(localStorage.user).userData.towerId\r\n );\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n //fetch user skills data\r\n private fetchUserBehSkillsData(userIds: any[], userData) {\r\n this.commonService\r\n .fetchAllBehSkills(userIds)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n for (let j = 0; j < userData.length; j++) {\r\n let userSkill = [];\r\n for (let i = 0; i < data.length; i++) {\r\n if (userData[j].userId == data[i].userId) {\r\n let skillLevel = data[i].skillLevel;\r\n let skillName = '';\r\n this.behSkillList.forEach((litem, index) => {\r\n if (litem.skillId == data[i].skillId) {\r\n skillName = litem.skillName;\r\n }\r\n });\r\n userSkill.push({\r\n skillId: data[i].skillId,\r\n skillLevel: skillLevel,\r\n skillName: skillName,\r\n });\r\n }\r\n }\r\n userData[j]['behUserSkill'] = userSkill;\r\n }\r\n this.fetchData = userData;\r\n this.categoriseLeaveUsers();\r\n this.countActiveAndInactiveUsers();\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n //categorise leave users\r\n private categoriseLeaveUsers() {\r\n for (let i = 0; i < this.fetchData.length; i++) {\r\n if (this.fetchData[i].skillRatingToDate) {\r\n let currentDate = new Date();\r\n let userskillRatingToDate = new Date(\r\n this.fetchData[i].skillRatingToDate\r\n );\r\n if (currentDate > userskillRatingToDate) {\r\n this.fetchData[i]['leaveStyle'] = 'red';\r\n }\r\n }\r\n }\r\n }\r\n\r\n // validate resoucre leaving date should be equal or lessthen from current date\r\n private countActiveAndInactiveUsers() {\r\n for (let i = 0; i < this.fetchData.length; i++) {\r\n let isFound = false;\r\n //remove user from the list if having leave date less then current date\r\n let currentTime = this.common.getTime(new Date());\r\n if (this.fetchData[i].skillRatingToDate) {\r\n let leavingTime = this.common.getTime(\r\n this.fetchData[i].skillRatingToDate\r\n );\r\n if (currentTime > leavingTime) {\r\n isFound = true;\r\n }\r\n }\r\n if (isFound) {\r\n this.fetchData[i]['leaveUserCSS'] = 'leaveUserCSS';\r\n } else {\r\n this.fetchData[i]['leaveUserCSS'] = '';\r\n }\r\n }\r\n }\r\n\r\n // save user information\r\n private onSubmit(skillRatingForm, isFunctional) {\r\n if (isFunctional) {\r\n if (this.functionalSkillRatingForm.invalid) {\r\n this.submitted = true;\r\n return;\r\n }\r\n } else {\r\n if (this.behavioralSkillRatingForm.invalid) {\r\n this.submitted = true;\r\n return;\r\n }\r\n }\r\n let skillRatingData = this.setUserSkillData(\r\n skillRatingForm,\r\n this.userUpdatedId,\r\n isFunctional\r\n );\r\n let currentUserSkill = this.setUserCurrentSkillData(\r\n skillRatingForm,\r\n this.userUpdatedId,\r\n isFunctional\r\n );\r\n this.loading = true;\r\n this.commonService\r\n .saveSkillRatingData(\r\n skillRatingData,\r\n currentUserSkill,\r\n isFunctional,\r\n this.towerId\r\n )\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (isFunctional) {\r\n this.isMFRatingSubmitted = 1;\r\n this.isFShow = false;\r\n this.getAllFunSkillsForUser(this.userUpdatedId);\r\n this.functionalSkillRatingForm.reset();\r\n } else {\r\n this.isMBRatingSubmitted = 1;\r\n this.getAllBehSkillsForUser(this.userUpdatedId);\r\n this.behavioralSkillRatingForm.reset();\r\n this.isBShow = false;\r\n }\r\n\r\n localStorage.setItem('errorMsg', data);\r\n this.closeModels();\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n },\r\n (error) => {\r\n console.log('error', error);\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', 'Must Enter all the fields');\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n //set user skill data\r\n private setUserSkillData(userFormDetails: any, userId: any, isFunctional) {\r\n let userSkillData = [];\r\n if (isFunctional) {\r\n for (let i = 0; i < this.skillData.length; i++) {\r\n console.log(\r\n 'this.skillData[i].positionId',\r\n this.skillData[i].positionId\r\n );\r\n console.log('this.selectedPositionId', this.selectedPositionId);\r\n if (this.skillData[i].positionId != this.selectedPositionId) continue;\r\n console.log('reached1');\r\n let skillObj = {};\r\n skillObj['userId'] = userId;\r\n skillObj['skillId'] = this.skillData[i].skillId;\r\n skillObj['skillScore'] = this.getScoreBySkillName(\r\n userFormDetails[this.skillData[i].skillName]\r\n );\r\n skillObj['skillRatingBy'] = this.users.emailAddress;\r\n skillObj['skillRatingFromDate'] = this.common.getDateYYMMDD(\r\n userFormDetails.skillRatingFromDate\r\n );\r\n skillObj['skillRatingToDate'] = this.common.getDateYYMMDD(\r\n userFormDetails.skillRatingToDate\r\n );\r\n skillObj['createDate'] = new Date();\r\n skillObj['ratedByRole'] = this.users.userRoll;\r\n userSkillData.push(skillObj);\r\n }\r\n } else {\r\n for (let i = 0; i < this.behSkillList.length; i++) {\r\n if (\r\n this.getScoreBySkillName(\r\n userFormDetails[this.behSkillList[i].skillName]\r\n ) === 0\r\n )\r\n continue;\r\n let skillObj = {};\r\n skillObj['userId'] = userId;\r\n skillObj['skillId'] = this.behSkillList[i].skillId;\r\n skillObj['skillScore'] = this.getScoreBySkillName(\r\n userFormDetails[this.behSkillList[i].skillName]\r\n );\r\n skillObj['skillRatingBy'] = this.users.emailAddress;\r\n skillObj['skillRatingFromDate'] = this.common.getDateYYMMDD(\r\n userFormDetails.skillRatingFromDate\r\n );\r\n skillObj['skillRatingToDate'] = this.common.getDateYYMMDD(\r\n userFormDetails.skillRatingToDate\r\n );\r\n skillObj['createDate'] = new Date();\r\n skillObj['ratedByRole'] = this.users.userRoll;\r\n userSkillData.push(skillObj);\r\n }\r\n }\r\n\r\n console.log('userSkilldata', userSkillData);\r\n return userSkillData;\r\n }\r\n\r\n private getScoreBySkillName(skillName) {\r\n let score = 1;\r\n if (skillName && skillName.trim().length > 0) {\r\n for (let i = 0; i < this.skillRatingData.length; i++) {\r\n if (\r\n this.skillRatingData[i].ratingName.toLowerCase() ==\r\n skillName.toLowerCase()\r\n ) {\r\n score = this.skillRatingData[i].score;\r\n break;\r\n }\r\n }\r\n }\r\n return score;\r\n }\r\n //set user skill data\r\n private setUserCurrentSkillData(\r\n userFormDetails: any,\r\n userId: any,\r\n isFunctional\r\n ) {\r\n let userSkillData = [];\r\n console.log('userFormDetails', userFormDetails);\r\n if (isFunctional) {\r\n for (let i = 0; i < this.skillData.length; i++) {\r\n if (this.skillData[i].positionId != this.selectedPositionId) continue;\r\n\r\n let skillObj = {};\r\n skillObj['userId'] = userId;\r\n skillObj['skillId'] = this.skillData[i].skillId;\r\n skillObj['skillName'] = this.skillData[i].skillName;\r\n // skillObj[\"targetScore\"] = this.skillData[i].targetScore;\r\n skillObj['skillLevel'] = Number(\r\n userFormDetails[this.skillData[i].skillName]\r\n );\r\n skillObj['createdByEmail'] = this.users.emailAddress;\r\n skillObj['skillRatingFromDate'] = this.common.getDateYYMMDD(\r\n userFormDetails.skillRatingFromDate\r\n );\r\n skillObj['skillRatingToDate'] = this.common.getDateYYMMDD(\r\n userFormDetails.skillRatingToDate\r\n );\r\n skillObj['ratedByRole'] = Number(this.users.userRoll);\r\n\r\n userSkillData.push(skillObj);\r\n }\r\n } else {\r\n for (let i = 0; i < this.behSkillList.length; i++) {\r\n if (this.behSkillList[i].positionId != this.selectedPositionId)\r\n continue;\r\n\r\n let skillObj = {};\r\n skillObj['userId'] = userId;\r\n skillObj['skillId'] = this.behSkillList[i].skillId;\r\n skillObj['skillName'] = this.behSkillList[i].skillName;\r\n // skillObj[\"targetScore\"] = this.behSkillList[i].targetScore;\r\n skillObj['skillLevel'] = Number(\r\n userFormDetails[this.behSkillList[i].skillName]\r\n );\r\n skillObj['createdByEmail'] = this.users.emailAddress;\r\n skillObj['skillRatingFromDate'] = this.common.getDateYYMMDD(\r\n userFormDetails.skillRatingFromDate\r\n );\r\n skillObj['skillRatingToDate'] = this.common.getDateYYMMDD(\r\n userFormDetails.skillRatingToDate\r\n );\r\n skillObj['ratedByRole'] = Number(this.users.userRoll);\r\n userSkillData.push(skillObj);\r\n }\r\n }\r\n return userSkillData;\r\n }\r\n\r\n //save skills data\r\n private saveSkillsData(userSkillData) {\r\n this.commonService\r\n .saveSkillsData(userSkillData, this.users.emailAddress)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data && data != null) {\r\n this.functionalSkillRatingForm.reset(); //TODO: This is how to reset the form\r\n localStorage.setItem(\r\n 'errorMsg',\r\n 'User successfully added as a TR Nominee'\r\n );\r\n localStorage.setItem('isReload', 'true');\r\n this.commonService.showerror();\r\n }\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', 'Must Enter all the fields');\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n //set start date\r\n private setStartDate() {\r\n let currentDate = new Date();\r\n this.config.minDate = {\r\n year: currentDate.getFullYear() - 1,\r\n month: currentDate.getMonth() + 1,\r\n day: currentDate.getDate(),\r\n };\r\n }\r\n\r\n //set end dates\r\n private setEndDate() {\r\n let currentDate = new Date();\r\n currentDate.setDate(currentDate.getDate() + 1);\r\n currentDate.setMonth(currentDate.getMonth() + 3);\r\n if (this.functionalSkillRatingForm.value.skillRatingFromDate) {\r\n var dd = currentDate.getDate();\r\n var mm = currentDate.getMonth();\r\n var yy = currentDate.getFullYear();\r\n this.config.minDate = { year: yy - 1, month: mm, day: dd };\r\n } else if (this.behavioralSkillRatingForm.value.skillRatingFromDate) {\r\n var dd = currentDate.getDate();\r\n var mm = currentDate.getMonth();\r\n var yy = currentDate.getFullYear();\r\n this.config.minDate = { year: yy - 1, month: mm, day: dd };\r\n } else {\r\n localStorage.setItem('errorMsg', 'Please select Start Date');\r\n this.commonService.showerror();\r\n return;\r\n }\r\n }\r\n\r\n //close dailog box\r\n private closeModels() {\r\n this.closeModel1.nativeElement.click();\r\n this.closeModel2.nativeElement.click();\r\n this.active = 0;\r\n }\r\n\r\n //forward to next section\r\n public gotoNextPage(e, routeURL) {\r\n this.router.navigate([routeURL]);\r\n }\r\n\r\n // logout and forward to login page\r\n private logout() {\r\n this.commonService.logout();\r\n }\r\n /**\r\n * For competency level count.\r\n * @param count\r\n */\r\n countFunCompLevel(count) {\r\n this.CometencyLevelCount++;\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
TR Nominee Functional Competency Rating
\r\n \r\n ×\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n You will not be able to fill the ratings yet. You can fill the\r\n ratings after this nominee has completed self-rating.\r\n
\r\n
\r\n You will be able to fill the ratings after\r\n {{ ratingInDays - diffInDays }} Days\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Competency Levels\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n {{ skillRating.ratingName }}\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n Competency Rating Start Date\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Competency Rating End Date\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Cancel\r\n \r\n \r\n Submit Rating\r\n \r\n
\r\n
\r\n
\r\n \r\n
Competency Level data not found!.
\r\n
\r\n \r\n
\r\n
\r\n 1\">\r\n \r\n
\r\n 1\"\r\n >\r\n \r\n \r\n S.No.\r\n Skill\r\n \r\n \r\n {{ dateRange == 1 ? \"\" : dateRange }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{ i + 1 }}
\r\n \r\n \r\n \r\n
{{ cell }}
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
TR Nominee Behavioral Competency Rating
\r\n \r\n ×\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n You will not be able to fill the ratings yet. You can fill the\r\n ratings after this nominee has completed self-rating.\r\n
\r\n
\r\n You will be able to fill the ratings after\r\n {{ ratingInDays - diffInDays }} Days\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Competency Levels\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n {{ skillRating.ratingName }}\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n 0\"\r\n >\r\n 0\"\r\n >\r\n Competency Rating Start Date\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n 0\"\r\n >\r\n Competency Rating End Date\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Cancel\r\n \r\n\r\n \r\n Submit Rating\r\n \r\n
\r\n
\r\n \r\n \r\n
Competency Levels data not found!.
\r\n \r\n \r\n \r\n \r\n 1\">\r\n \r\n
\r\n 1\"\r\n >\r\n \r\n \r\n S.No.\r\n Skill\r\n\r\n \r\n \r\n {{ dateRange == 1 ? \"\" : dateRange }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{ i + 1 }}
\r\n \r\n \r\n \r\n
{{ cell }}
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Manager Section

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Definition\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
S.No.Employee NameTR Nominee ManagerCurrent RoleNext RoleFunctional RatingsBehavioral Ratings
\r\n
\r\n {{ fetchData.indexOf(fetchuserData) + 1 }}\r\n
\r\n
\r\n
\r\n {{ fetchuserData.userName }}\r\n
\r\n
\r\n
\r\n {{ fetchuserData.resourceManager }}\r\n
\r\n
\r\n
{{ fetchuserData.positionName }}
\r\n
\r\n
{{ getPositionName(fetchuserData.nextPosition) }}
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false\r\n};\r\n\r\n/*\r\n * In development mode, to ignore zone related error stack frames such as\r\n * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can\r\n * import the following file, but please comment it out in production mode\r\n * because it will have performance impact when throw error\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import { Component, OnInit, Compiler, ViewChild, ElementRef } from '@angular/core';\r\nimport { first, retry } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { ErrorComponent } from '../confirm/error.component';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { FormBuilder, Validators, FormControl } from '@angular/forms';\r\nimport { NgbDatepickerConfig } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AppConfig } from '../util';\r\nimport { CommonService } from '../service/commons-service';\r\nimport { Common } from '../util/common';\r\nimport { HeaderCustomComponent } from '../header/headerCustom.component';\r\n\r\n@Component({ templateUrl: './adminuser.component.html', styleUrls: ['./adminuser.component.css'] })\r\nexport class AdminUserComponent implements OnInit {\r\n\r\n @ViewChild('closeModel', {read: ElementRef}) closeModel: ElementRef;\r\n users: any = {};\r\n superUserForm: any;\r\n config: any;\r\n superUserInfoList: any[] = [];\r\n submitted = false;\r\n loginImageURL: any = \"\";\r\n loginUserName: any = \"\";\r\n baseURL: any = null;\r\n showHideModel: boolean = true;\r\n loading: boolean = false;\r\n activeUserCount: number = 0;\r\n inactiveUserCount: number = 0;\r\n towerId: any;\r\n towerName: any;\r\n superUserType: any = \"\";\r\n imageURL = \"https://i0.wp.com/www.winhelponline.com/blog/wp-content/uploads/2017/12/user.png?fit=256%2C256&quality=100&ssl=1\";\r\n\r\n constructor(private modalService: MatDialog,\r\n private router: Router,\r\n private formBuilder: FormBuilder,\r\n private commonService: CommonService,\r\n private appConfig: AppConfig,\r\n config: NgbDatepickerConfig,\r\n private common: Common,\r\n private _compiler: Compiler) {\r\n this._compiler.clearCache();\r\n this.users = JSON.parse(localStorage.getItem('user'));\r\n if (!this.users || !this.users.userData) {\r\n this.commonService.logout\r\n return;\r\n }\r\n if (this.users && this.users.userData) {\r\n this.loginImageURL = this.users.userData.imageURL;\r\n this.loginUserName = this.users.userData.userFullName;\r\n this.towerId = this.users.userData.towerId;\r\n this.towerName = localStorage.getItem('towerName');\r\n }\r\n if (localStorage.getItem('superUserType')) {\r\n this.superUserType = localStorage.getItem('superUserType');\r\n }\r\n let currentDate = new Date();\r\n this.config = config;\r\n this.config.minDate = { year: currentDate.getFullYear() - 10, month: currentDate.getMonth(), day: currentDate.getDate() };\r\n this.config.maxDate = { year: 2099, month: 12, day: 31 };\r\n this.config.markDisabled = false;\r\n this.initUserInfo();\r\n }\r\n\r\n //initailised user form\r\n ngOnInit() {\r\n this.superUserForm = this.formBuilder.group({\r\n userFullName: ['', Validators.required],\r\n userEmail: ['', Validators.required],\r\n userPassword: ['', Validators.required],\r\n userType: new FormControl(\"Select Role\"),\r\n userStatus: new FormControl(\"User Status\"),\r\n imageURL: new FormControl(this.imageURL),\r\n });\r\n\r\n this.getAllSuperUsersInfo();\r\n }\r\n\r\n //reset user form\r\n initUserInfo() {\r\n this.superUserForm = this.formBuilder.group({\r\n userFullName: ['', Validators.required],\r\n userEmail: ['', Validators.required],\r\n userPassword: ['', Validators.required],\r\n userType: new FormControl(\"Select Role\"),\r\n userStatus: new FormControl(\"User Status\"),\r\n imageURL: new FormControl(this.imageURL),\r\n });\r\n }\r\n\r\n //reset user form \r\n private setUpdateUserInfo(superUser) {\r\n this.initUserInfo();\r\n this.superUserForm = this.formBuilder.group({\r\n userFullName: new FormControl(superUser.userFullName),\r\n userEmail: new FormControl(superUser.userEmail),\r\n userPassword: new FormControl(superUser.userPassword),\r\n userType: new FormControl(superUser.userType),\r\n userStatus: new FormControl(superUser.userStatus),\r\n userId: new FormControl(superUser.userId),\r\n imageURL: new FormControl(superUser.imageURL),\r\n });\r\n }\r\n\r\n //Get all accounts info\r\n private getAllSuperUsersInfo() {\r\n this.loading = true;\r\n this.superUserInfoList = [];\r\n this.commonService.getSuperUserList().pipe(first()).subscribe(\r\n data => {\r\n this.superUserInfoList = data;\r\n this.loading = false;\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n\r\n // Save new user profile\r\n private onSubmit(superUserInfo) {\r\n if (this.superUserForm.invalid) {\r\n this.submitted = true;\r\n return;\r\n } else {\r\n if (superUserInfo.userType == \"Select User Type\") {\r\n localStorage.setItem('errorMsg', 'Must Select User Type!');\r\n this.showerror();\r\n return;\r\n }\r\n if (this.checkUserAlreadyExits(superUserInfo.userEmail)) {\r\n localStorage.setItem('errorMsg', 'This user already exits!');\r\n this.showerror();\r\n return\r\n }\r\n this.loading = true;\r\n //set login user email\r\n this.commonService.saveSuperUserInfo(superUserInfo).pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.superUserForm.reset();\r\n localStorage.setItem('errorMsg', 'Profile Added successfully!');\r\n this.getAllSuperUsersInfo();\r\n this.showerror();\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', 'Must enter all the fields!');\r\n this.showerror();\r\n }\r\n )\r\n }\r\n }\r\n\r\n // update user profile \r\n private updateSuperUserInfo(superUserInfo) {\r\n if (this.superUserForm.invalid) {\r\n localStorage.setItem('errorMsg', 'Please enter user information!');\r\n this.showerror();\r\n return\r\n }\r\n if (superUserInfo != null) {\r\n if (superUserInfo) {\r\n if (superUserInfo.userType == \"Select User Type\") {\r\n localStorage.setItem('errorMsg', 'Must Select User Type!');\r\n this.showerror();\r\n return;\r\n }\r\n this.loading = true;\r\n //set login user email\r\n this.commonService.updationSuperUserInfo(superUserInfo).pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.getAllSuperUsersInfo();\r\n this.closeModels()\r\n localStorage.setItem('errorMsg', 'Profile updated successfully!');\r\n this.showerror();\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n }\r\n }\r\n\r\n // Delete user profile\r\n private onDeleteSubmit(userInfo) {\r\n this.loading = true;\r\n //set login user email\r\n this.commonService.userDeletion(userInfo).pipe(first()).subscribe(\r\n data => {\r\n this.loading = true;\r\n localStorage.setItem('errorMsg', 'IBU is deleted successfully!');\r\n localStorage.removeItem('errorMsg');\r\n this.showerror();\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n\r\n //check super user already exits\r\n private checkUserAlreadyExits(userName) {\r\n let isUserExits = false;\r\n userName = userName.toLowerCase();\r\n for (let i = 0; i < this.superUserInfoList.length; i++) {\r\n let ursName = this.superUserInfoList[i].userEmail.toLowerCase();\r\n if (ursName == userName) {\r\n isUserExits = true;\r\n }\r\n }\r\n return isUserExits;\r\n }\r\n\r\n //close dailog box\r\n private closeModels() {\r\n this.closeModel.nativeElement.click();\r\n }\r\n //show dailog box for user messages\r\n showerror() {\r\n // this.dialogService.addDialog(ErrorComponent, {\r\n // title: 'Confirm title',\r\n // message: 'Confirm message'\r\n // })\r\n const modal = this.modalService.open(ErrorComponent, {\r\n width: 'auto',\r\n data: { title: 'Confirm title', message: 'Confirm message' }\r\n });\r\n }\r\n\r\n //logout and forward to login page\r\n private logout(e, routeURL) {\r\n this.commonService.logout();\r\n }\r\n\r\n //forward next section\r\n private gotoNextPage(e, routeURL) {\r\n this.router.navigate([routeURL]);\r\n }\r\n}\r\n","\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
Super Admin Detail Form
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
0\">\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
S.NoFull NameUser EmailUser RoleAction
\r\n
{{superUserInfoList.indexOf(superUser) + 1}}
\r\n
\r\n
{{superUser.userFullName}}
\r\n
\r\n
{{superUser.userEmail}}
\r\n
\r\n
{{superUser.userType}}
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","export * from './dashboard.component';","import {\n Component,\n OnInit,\n Compiler,\n ViewChild,\n ElementRef,\n} from '@angular/core';\nimport { first, retry } from 'rxjs/operators';\nimport { Router } from '@angular/router';\nimport { FormBuilder, Validators, FormControl } from '@angular/forms';\nimport { NgbDatepickerConfig } from '@ng-bootstrap/ng-bootstrap';\nimport { AppConfig } from '../util';\nimport { CommonService } from '../service/commons-service';\nimport { Common } from '../util/common';\nimport { ExcelService } from '../service/excel.service';\nimport { HeaderCustomComponent } from '../header/headerCustom.component';\nimport { IfStmt } from '@angular/compiler';\n@Component({\n selector: 'app-nominate',\n templateUrl: './nominate.component.html',\n styleUrls: ['./nominate.component.css'],\n})\nexport class NominateComponent implements OnInit {\n panelOpenState = false;\n ibuList: any = [];\n ibu: any;\n functionList: any = [];\n function: any = '';\n selectedIbuId: any = null;\n towerList: any = [];\n selectedTowerId: any;\n alltowerList: any = [];\n tower: any = '';\n marked: boolean = false;\n isAppr: number;\n newNomi = '';\n attrValue = '';\n checkedEligiblity: boolean = false;\n disabledNominatiobtn: boolean = true;\n showHideModel: boolean = true;\n @ViewChild('closeModel', { read: ElementRef }) closeModel: ElementRef;\n //shruti - 8/6/2020\n userFormDetails: any;\n showEligCrtModel: boolean = false;\n nomination: boolean = false;\n errorNomination: boolean = false;\n successNominee: boolean = false;\n nomineeData: any[] = [];\n userparm: any = '';\n userFullName: string = '';\n // -------------------------\n users: any = {};\n addUserForm: any;\n config: any;\n loading: boolean = false;\n fetchData: any[] = [];\n submitted = false;\n userId: any = 0;\n loginImageURL: any = '';\n baseURL: any = null;\n loginUserName: any = '';\n // private showHideModel: boolean = true;\n skillData: any[] = [];\n //Add users form fields\n userUpdatedId: Number = 0;\n empCode: any;\n resourceName: any;\n resourceEmail: any;\n typesResource: any = 'Regular';\n joinDate: any;\n leaveDate: any;\n // private selectedTeam: any = \"Engineering\";\n selectedEmail: any = '';\n selectedSVEmail: any = '';\n selectedUserId: any = '';\n resourceManager: any;\n resourceManagerEmail: any;\n currentRole: any = JSON.parse(localStorage.user).userData.userRoll;\n inactiveUserCount = 0;\n activeUserCount = 0;\n skillRatingData: any[] = [];\n towerId: any;\n positionList: any = [];\n currentPositionList: any = [];\n userRoll: number = 0;\n userType: any = '';\n allPositions: any = [];\n userRole: any = JSON.parse(localStorage.user).userData.userRoll;\n whyMove: any = '';\n experience: any = '';\n lastBSC: any = '';\n nextPosition: any = '';\n otherNextPosition: any = '';\n isOtherNextRole: boolean = false;\n maxCharForWhyToMoveLength: any = 500;\n initiatedFormValue: boolean = false;\n maxLeftCharacterWhyToMove: any = this.maxCharForWhyToMoveLength;\n\n constructor(\n private router: Router,\n private formBuilder: FormBuilder,\n private el: ElementRef,\n private excelService: ExcelService,\n private commonService: CommonService,\n private common: Common,\n private appConfig: AppConfig,\n config: NgbDatepickerConfig,\n private _compiler: Compiler\n ) {\n this._compiler.clearCache();\n this.users = JSON.parse(localStorage.getItem('user'));\n if (!this.users || !this.users.userData) {\n this.commonService.logout();\n return;\n }\n if (this.users && this.users.userData) {\n this.users = this.users.userData;\n\n this.loginUserName = this.users.userFullName;\n // this.users.userFullName = this.users.userFullName.toLowerCase();\n this.towerId = this.users.towerId;\n }\n if (this.users && this.users.userData) {\n if (this.users.userData.userFullName) {\n this.loginUserName = this.users.userData.userFullName;\n } else {\n this.loginUserName = this.users.userData.userName;\n }\n this.userRoll = this.users.userData.userRoll;\n switch (this.users.userData.userRoll) {\n case '1':\n this.userType = 'Super Admin';\n break;\n case '2':\n this.userType = 'Admin';\n break;\n case '3':\n this.userType = 'HR';\n break;\n case '4':\n this.userType = 'Manager';\n break;\n case '5':\n this.userType = 'Employee';\n break;\n default:\n this.userType = 'Employee';\n break;\n }\n }\n let currentDate = new Date();\n this.config = config;\n this.config.minDate = {\n year: currentDate.getFullYear() - 10,\n month: currentDate.getMonth(),\n day: currentDate.getDate(),\n };\n this.config.maxDate = { year: 2099, month: 12, day: 31 };\n this.config.markDisabled = false;\n this.loginImageURL = this.appConfig.getDefaultImgURL();\n // this.fetchPositions();\n }\n ngOnInit() {\n if (JSON.parse(localStorage.user).userData.userRoll == 3) {\n this.router.navigate(['/interested-users']);\n }\n this.initalizeUserForm();\n this.nomineeUserData();\n\n this.fetchuserData();\n this.fetchSkillRatingData();\n this.fetchSkillsData();\n this.getAllIBUInfo();\n this.fetchCurrentPositions();\n\n // this.initalizeUserForm();\n\n //this.userId = JSON.parse(localStorage.user).userData.userId;\n //this.getAUser(this.userId);\n }\n // /fetch user information data\n private fetchSkillRatingData() {\n this.skillRatingData = [];\n this.commonService\n .fetchSkillRatingData()\n .pipe(first())\n .subscribe(\n (data) => {\n if (data && data.length > 0) {\n this.skillRatingData = data;\n } else {\n localStorage.setItem('errorMsg', 'Data Not Found');\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n initalizeUserForm() {\n this.userUpdatedId = 0;\n let numericRegex = /^[a-zA-Z0-9]+$/;\n let groupForm = {\n experience: ['', [Validators.required]],\n whyMove: ['', [Validators.required]],\n lastBSC: ['', [Validators.required]],\n nextPosition: [null, [Validators.required]],\n otherNextPosition: [''],\n };\n this.addUserForm = this.formBuilder.group(groupForm);\n }\n // edit user information\n private onEditSubmit(fetchuserData) {\n if (fetchuserData) {\n this.userUpdatedId = fetchuserData.userId;\n let groupForm = {\n experience: new FormControl(fetchuserData.experience),\n whyMove: new FormControl(fetchuserData.whyMove),\n lastBSC: new FormControl(fetchuserData.lastBSC),\n };\n this.addUserForm = this.formBuilder.group(groupForm);\n }\n }\n private showPrompt() {\n // this.loading = false;\n var that = this;\n setTimeout(function () {\n localStorage.setItem(\n 'errorMsg',\n 'Please correctly fill all the required fields'\n );\n that.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }, 2000);\n\n // localStorage.removeItem('errorMsg');\n // return;\n }\n //close dailog box\n private closeModels() {\n this.closeModel.nativeElement.click();\n }\n private onEmailClick() {\n var email = this.selectedEmail;\n var svEmail = this.selectedSVEmail;\n // let myTag = this.el.nativeElement.querySelector(\".modal-backdrop\");\n // myTag.classList.remove('show');\n // this.closeModels();\n // this.showHideModel = false;\n this.commonService\n .sendEmailNiit(\n 'sendRatingInvi',\n email,\n svEmail,\n 'true',\n 'true',\n this.selectedUserId,\n this.towerId\n )\n .pipe(first())\n .subscribe(\n (data) => {\n this.loading = false;\n localStorage.setItem('errorMsg', 'Email sent!');\n this.commonService.showerror();\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n private onAllEmailClick() {\n var email = this.selectedEmail;\n var svEmail = this.selectedSVEmail;\n // let myTag = this.el.nativeElement.querySelector(\".modal-backdrop\");\n // myTag.classList.remove('show');\n // this.closeModels();\n // this.showHideModel = false;\n this.commonService\n .sendEmailToAll('sendRatingInviToAll')\n .pipe(first())\n .subscribe(\n (data) => {\n this.loading = false;\n localStorage.setItem(\n 'errorMsg',\n 'Email has been sent to all these resources!'\n );\n this.commonService.showerror();\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n // private sendEmailToAll(towerId) {\n // this.commonService.sendEmailToAll(\"sendRatingInviToAll\").pipe(first()).subscribe(\n // data => {\n // this.loading = false;\n // localStorage.setItem('errorMsg', 'Email sent to all these resources!');\n // this.commonService.showerror();\n // },\n // error => {\n // localStorage.setItem('errorMsg', error.statusText);\n // this.commonService.showerror();\n // localStorage.removeItem('errorMsg');\n // }\n // )\n // }\n // /fetch user information data\n private fetchuserData() {\n this.loading = true;\n var userEmail = '';\n if (JSON.parse(localStorage.getItem('user')).userData.userRoll == 4)\n userEmail = JSON.parse(localStorage.getItem('user')).userData.userEmail;\n this.commonService\n .getUsersListByPost(\n JSON.parse(localStorage.getItem('user')).userData.towerId,\n userEmail\n )\n .pipe(first())\n .subscribe(\n (data) => {\n let userIds = [];\n for (let i = 0; data && i < data.length; i++) {\n if (data[i].userId) {\n userIds.push(data[i].userId);\n }\n }\n if (userIds.length > 0) {\n this.fetchUserSkillsData(userIds, data);\n this.getAllNextPositions(\n userIds,\n JSON.parse(localStorage.user).userData.towerId\n );\n } else {\n this.loading = false;\n localStorage.setItem('errorMsg', 'Users Not Found');\n this.commonService.showerror();\n }\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n\n private getTowersListByIbuId(ibuId, towerId, dataValue) {\n this.commonService.getTowersListByIbuId(ibuId, null).subscribe(\n (data) => {\n this.towerList = data;\n this.alltowerList = data;\n let selecteTower = this.towerList.find(\n (tower) => tower.towerId == towerId\n );\n this.selectedTowerId = selecteTower;\n\n console.log({ dataValue });\n\n if (dataValue) {\n const formTower: any = document.querySelector('#form-tower');\n if (formTower) {\n setTimeout(() => {\n formTower.value = dataValue.towerId;\n this.fetchPositions(dataValue.towerId, dataValue.positionId);\n }, 200);\n }\n }\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n\n private getFunctionListByIbuId(ibuId, dataValue) {\n this.functionList = [];\n this.commonService.getFunctionListByIbuId(ibuId).subscribe(\n (data) => {\n this.functionList = data;\n if (dataValue) {\n const formFunction: any = document.querySelector('#form-function');\n console.log({ dataValue, formFunction });\n\n if (formFunction) {\n setTimeout(() => {\n formFunction.value = dataValue.functionId;\n }, 200);\n }\n }\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n\n private getAllIBUInfo() {\n this.loading = true;\n this.commonService\n .getAllIBUInfo()\n .pipe(first())\n .subscribe(\n (data) => {\n this.ibuList = data;\n this.loading = false;\n },\n (error) => {\n this.loading = false;\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n private onChangeIBU(event, dataValue) {\n let ibu = dataValue ? dataValue.ibuId : event.target.value;\n\n if (dataValue) {\n const formIbu: any = document.querySelector('#form-ibu');\n\n if (formIbu) {\n formIbu.value = this.nomineeData[0].ibuId;\n }\n }\n\n this.resetFunctionValue();\n this.resetTowerValue();\n if (ibu) {\n this.getFunctionListByIbuId(ibu, dataValue);\n this.getTowersListByIbuId(ibu, 0, dataValue);\n } else {\n this.resetFunctionList();\n this.resetTowerList();\n }\n }\n\n private onChangeFunction(event) {\n let functionId = event.target.value;\n this.resetTowerValue();\n if (functionId) {\n this.towerList = this.alltowerList.filter(\n (item) => item.functionId == functionId\n );\n } else {\n this.towerList = this.alltowerList;\n }\n }\n private onChangeTower(event) {\n this.fetchPositions(event.target.value);\n }\n\n private resetFunctionValue() {\n this.function = '';\n }\n\n private resetTowerValue() {\n this.tower = '';\n }\n\n private resetFunctionList() {\n this.functionList = [];\n }\n\n private resetTowerList() {\n this.towerList = [];\n }\n // /fetch user information data\n private fetchPositions(towerId, fieldValue = '') {\n //var towerId = JSON.parse(localStorage.user).userData.towerId;\n this.commonService\n .getAllPositionInfo(towerId)\n .pipe(first())\n .subscribe(\n (data) => {\n this.positionList = data;\n const formRole: any = document.querySelector('#form-other-next-role');\n if (formRole) {\n setTimeout(() => {\n formRole.value = fieldValue;\n }, 0);\n }\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n // /fetch user information data\n private fetchCurrentPositions() {\n var towerId = JSON.parse(localStorage.user).userData.towerId;\n this.commonService\n .getAllPositionInfo(towerId)\n .pipe(first())\n .subscribe(\n (data) => {\n this.currentPositionList = data;\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n private getPositionName(positionId) {\n for (let i = 0; i < this.positionList.length; i++) {\n if (this.positionList[i].positionId == positionId)\n return this.positionList[i].positionName;\n }\n }\n //fetch user skills data\n private fetchUserSkillsData(userIds: any[], userData) {\n this.commonService\n .fetchAllFunSkills(userIds)\n .pipe(first())\n .subscribe(\n (data) => {\n for (let j = 0; j < userData.length; j++) {\n let userSkill = [];\n for (let i = 0; i < data.length; i++) {\n if (userData[j].userId == data[i].userId) {\n let skillLevel = data[i].skillLevel;\n let skillName = '';\n this.skillData.forEach((litem, index) => {\n if (litem.skillId == data[i].skillId) {\n skillName = litem.skillName;\n }\n });\n userSkill.push({\n skillId: data[i].skillId,\n skillLevel: skillLevel,\n skillName: skillName,\n });\n }\n }\n userData[j]['userSkill'] = userSkill;\n }\n this.fetchData = userData;\n this.categoriseLeaveUsers();\n this.countActiveAndInactiveUsers();\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n //fetch user skills data\n private getAllNextPositions(userIds, towerId) {\n this.commonService\n .getAllNextPositions(userIds, towerId)\n .pipe(first())\n .subscribe(\n (data) => {\n this.allPositions = data;\n var that = this;\n setTimeout(function () {\n that.loading = false;\n }, 1000);\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n //categorise leave users\n private categoriseLeaveUsers() {\n for (let i = 0; i < this.fetchData.length; i++) {\n if (this.fetchData[i].leaveDate) {\n let currentDate = new Date();\n let userLeaveDate = new Date(this.fetchData[i].leaveDate);\n if (currentDate > userLeaveDate) {\n this.fetchData[i]['leaveStyle'] = 'red';\n }\n }\n }\n }\n // validate resoucre leaving date should be equal or lessthen from current date\n private countActiveAndInactiveUsers() {\n this.inactiveUserCount = 0;\n this.activeUserCount = 0;\n for (let i = 0; i < this.fetchData.length; i++) {\n let isFound = false;\n //remove user from the list if having leave date less then current date\n let currentTime = this.common.getTime(new Date());\n if (this.fetchData[i].leaveDate) {\n let leavingTime = this.common.getTime(this.fetchData[i].leaveDate);\n if (currentTime > leavingTime) {\n isFound = true;\n }\n }\n if (isFound) {\n this.inactiveUserCount++;\n this.fetchData[i]['leaveUserCSS'] = 'leaveUserCSS';\n } else {\n this.fetchData[i]['leaveUserCSS'] = '';\n this.activeUserCount++;\n }\n }\n }\n // suave user information\n private onSubmit(userFormDetails) {\n this.userFormDetails = userFormDetails;\n debugger;\n this.userFormDetails['experience'] = this.experience;\n this.userFormDetails['lastBSC'] = this.lastBSC;\n this.userFormDetails['whyMove'] = this.whyMove;\n this.userFormDetails['userId'] = JSON.parse(\n localStorage.user\n ).userData.userId;\n this.userFormDetails['nextPosition'] = this.nextPosition;\n this.userFormDetails['isApproved'] = 7; // Submitted => self nominated\n console.log('this.userFormDetails', this.userFormDetails);\n if (\n !this.userFormDetails.nextPosition ||\n this.userFormDetails.nextPosition == null ||\n this.userFormDetails.nextPosition == 'null'\n ) {\n localStorage.setItem('errorMsg', 'Please select next role');\n this.commonService.showerror();\n return;\n }\n if (!this.userFormDetails.experience) {\n localStorage.setItem('errorMsg', 'Please enter experience');\n this.commonService.showerror();\n return;\n }\n if (!this.userFormDetails.lastBSC) {\n localStorage.setItem(\n 'errorMsg',\n 'Please enter latest BSC score (H1 / H2)'\n );\n this.commonService.showerror();\n return;\n }\n if (!this.userFormDetails.whyMove) {\n localStorage.setItem(\n 'errorMsg',\n 'Please enter why you want to move to next role'\n );\n this.commonService.showerror();\n return;\n }\n if (\n this.userFormDetails.nextPosition == 'other' &&\n !this.userFormDetails.otherNextPosition\n ) {\n localStorage.setItem('errorMsg', 'Please enter other next role');\n this.commonService.showerror();\n return;\n }\n if (this.userFormDetails.nextPosition == 'other') {\n this.userFormDetails['nextPosition'] =\n this.userFormDetails.otherNextPosition;\n this.userFormDetails['otherNextPosition'] = null;\n }\n // shruti- 8/6/2020\n\n if (this.experience >= 24 && this.lastBSC >= 80 && this.whyMove) {\n this.nomination = true;\n this.errorNomination = false;\n this.userFormDetails['isNominated'] = 1;\n this.nomineeUserData();\n this.commonService\n .saveApplicantsData(this.userFormDetails)\n .pipe(first())\n .subscribe(\n (data) => {\n this.addUserForm.reset();\n // this.nomination = false;\n // this.router.navigate(['/selfRating']);\n },\n (error) => {\n localStorage.setItem('errorMsg', 'Must Enter all the fields');\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n } // && this.marked == true\n else if (this.experience && this.lastBSC && this.whyMove) {\n this.nomination = true;\n this.errorNomination = true;\n this.userFormDetails['isNominated'] = 1;\n this.nomineeUserData();\n this.commonService\n .saveApplicantsData(this.userFormDetails)\n .pipe(first())\n .subscribe(\n (data) => {\n this.addUserForm.reset();\n //this.nomination = false;\n // this.router.navigate(['/selfRating']);\n },\n (error) => {\n localStorage.setItem('errorMsg', 'Must Enter all the fields');\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n // else if (this.marked == false) {\n // localStorage.setItem('errorMsg', 'Please Check Eligibility Criteria');\n // this.commonService.showerror();\n // }\n else {\n localStorage.setItem('errorMsg', 'Please fill the reuired feild');\n this.commonService.showerror();\n }\n //---------------------------\n // this.commonService.saveApplicantsData(userFormDetails).pipe(first()).subscribe(\n // data => {\n // this.addUserForm.reset();\n // localStorage.setItem('errorMsg', 'Application successfully sent!');\n // localStorage.setItem('isReload', 'true');\n // this.commonService.showerror();\n // },\n // error => {\n // localStorage.setItem('errorMsg', 'Must Enter all the fields');\n // this.commonService.showerror();\n // localStorage.removeItem('errorMsg');\n // }\n //)\n // }\n }\n //check user is exits\n private isResourceExit(resourceEmail) {\n let userInfo = null;\n for (let i = 0; i < this.fetchData.length; i++) {\n if (resourceEmail == this.fetchData[i].email) {\n userInfo =\n 'TR Nominee: ' + this.fetchData[i].userName + ' is already exits!';\n break;\n }\n }\n return userInfo;\n }\n //update user infromation\n private onUpdateSubmit(userFormDetails) {\n this.userFormDetails = userFormDetails;\n // if (this.addUserForm.invalid) {\n // return;\n // }\n\n // if (!this.validateEmail(userFormDetails.resourceEmail)) {\n // localStorage.setItem('errorMsg', 'Invaild Email id!');\n // this.commonService.showerror();\n // return\n // }\n // if (!this.validateEmail(userFormDetails.resourceManagerEmail)) {\n // localStorage.setItem('errorMsg', 'Invaild resource manager email!');\n // this.commonService.showerror();\n // return\n // }\n if (userFormDetails != null && this.userUpdatedId > 0) {\n this.userFormDetails['userId'] = this.userUpdatedId;\n this.userFormDetails['joinDate'] = this.common.getDateYYMMDD(\n userFormDetails.joinDate\n );\n this.userFormDetails['leaveDate'] = this.common.getDateYYMMDD(\n userFormDetails.leaveDate\n );\n this.userFormDetails['updatedByEmail'] = this.users.emailAddress;\n this.commonService\n .updateUserData(this.userFormDetails)\n .pipe(first())\n .subscribe(\n (data) => {\n localStorage.setItem('errorMsg', 'Data Successfully Updated');\n localStorage.setItem('isReload', 'true');\n this.commonService.showerror();\n // this.router.navigateByUrl(['/admin'])\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n }\n //set user skill data\n private setUserSkillData(userFormDetails: any, userId: any) {\n let userSkillData = [];\n for (let i = 0; i < this.skillData.length; i++) {\n userSkillData.push({\n userId: userId,\n skillId: Number(this.skillData[i].skillId),\n skillLevel: userFormDetails[this.skillData[i].skillName],\n });\n }\n return userSkillData;\n }\n //delete user information\n private onDeleteSubmit(userInfo) {\n userInfo['deletedByEmail'] = this.users.emailAddress;\n userInfo = this.setSkills(userInfo);\n this.commonService\n .userDeletion(userInfo)\n .pipe(first())\n .subscribe(\n (data) => {\n localStorage.setItem('errorMsg', 'Data Successfully Deleted');\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n this.fetchuserData();\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n //set skills information\n private setSkills(userInfo) {\n let userSkills = userInfo.userSkill;\n for (let i = 0; i < userSkills.length; i++) {\n if (userSkills[i].skillName) {\n userInfo[userSkills[i].skillName] = userSkills[i].skillLevel;\n } else if (userSkills[i].skillName) {\n userInfo[userSkills[i].skillName] = userSkills[i].skillLevel;\n }\n }\n return userInfo;\n }\n //fetch skills data\n private fetchSkillsData() {\n this.commonService\n .fetchSkillData()\n .pipe(first())\n .subscribe(\n (data) => {\n this.skillData = data;\n this.initalizeUserForm();\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n //export resource history data\n private excelReport() {\n let excelExportData = [];\n let headers = [\n 'S.No.',\n 'Employee Code',\n 'Employee Name',\n 'Email id',\n 'Current Role',\n 'Target Role',\n ];\n\n for (let i = 0; i < this.fetchData.length; i++) {\n let data = {};\n data[headers[0]] = i + 1;\n data[headers[1]] = this.fetchData[i].empCode;\n data[headers[2]] = this.fetchData[i].userName;\n data[headers[3]] = this.fetchData[i].email;\n data[headers[4]] = this.fetchData[i].positionName;\n data[headers[5]] = this.allPositions[this.fetchData[i].userId];\n\n excelExportData.push(data);\n }\n this.excelService.generateExcel(headers, excelExportData, 'UserList');\n }\n private validateEmail(email) {\n var re =\n /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n return re.test(String(email).toLowerCase());\n }\n //forward to next section\n public gotoNextPage(e, routeURL) {\n this.router.navigate([routeURL]);\n }\n // logout and forward to login page\n private logout() {\n this.commonService.logout();\n }\n //shruti - 8/6/2020\n //fetch Nominee user data\n nomineeUserData() {\n var userId = JSON.parse(localStorage.user).userData.userId;\n var formDetails = {\n userid: userId,\n };\n this.commonService\n .getAUser(formDetails)\n .pipe(first())\n .subscribe(\n (data) => {\n this.addUserForm.controls['nextPosition'].setValue(\n data[0].nextPosition\n );\n this.nomineeData = data;\n console.log(data);\n\n // if(formIbu){\n // console.log({formIbu})\n // //formIbu.value = \"2\";\n // }\n\n const dataValue = {\n ibuId: this.nomineeData[0].ibuId,\n functionId: this.nomineeData[0].functionId,\n towerId: this.nomineeData[0].towerId,\n positionId: this.nomineeData[0].positionId,\n };\n\n setTimeout(() => {\n // const formIbu:any = document.querySelector(\"#form-ibu\");\n // const formFunction:any = document.querySelector(\"#form-function\");\n // const formTower:any = document.querySelector(\"#form-tower\");\n // if(formIbu){\n // formIbu.value = this.nomineeData[0].ibuId\n // }\n // if(formFunction){\n // formFunction.value = this.nomineeData[0].functionId\n // }\n // if(formTower){\n // formTower.value = this.nomineeData[0].towerId\n // }\n this.onChangeIBU(null, dataValue);\n }, 500);\n this.newNomi = this.nomineeData[0].newNomination;\n this.isAppr = this.nomineeData[0].isApproved;\n this.nextPosition = this.nomineeData[0].positionId;\n // if (this.newNomi != \"\" && this.isAppr == 0) {\n // localStorage.setItem('errorMsg', \"You Have Already Nominated For Role! Please Check HR Comment In View Dtails, Any Concern Contact To Your HR\");\n // this.commonService.showerror();\n // localStorage.removeItem('errorMsg');\n // this.router.navigate(['/selfRating']);\n // }\n // else if (this.newNomi != \"\" && this.isAppr == 1) {\n // localStorage.setItem('errorMsg', \"You have Already Nominated For next Role! Please contact to HR for further query\");\n // this.commonService.showerror();\n // localStorage.removeItem('errorMsg');\n // this.router.navigate(['/selfRating']);\n // }\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n // function after nominee eligible or success to proceed\n private clickHereToProceed() {\n this.router.navigate(['/selfRating']).then(() => {\n window.location.reload();\n });\n location.reload();\n // this.nomination = false;\n // this.addUserForm.controls['experience'].disable();\n // this.addUserForm.controls['lastBSC'].disable();\n }\n\n private eligCriteria(e) {\n this.marked = e.target.checked;\n if (this.marked == true) {\n this.showHideModel = false;\n this.disabledNominatiobtn = false;\n } else {\n this.showHideModel = true;\n this.disabledNominatiobtn = true;\n }\n }\n\n onClickOK() {\n this.checkedEligiblity = true;\n this.disabledNominatiobtn = false;\n }\n /**\n * On Next Role Selection\n */\n onNextRoleSeclection(event) {\n this.addUserForm.controls['nextPosition'].setValue(event.target.value);\n this.nextPosition = event.target.value;\n this.isOtherNextRole = false;\n this.otherNextPosition = '';\n this.addUserForm.controls['otherNextPosition'].setValue('');\n if (event.target.value == 'other') {\n this.isOtherNextRole = true;\n }\n }\n\n /**\n * On Next Role Selection\n */\n onOtherNextRoleSeclection(event) {\n this.addUserForm.controls['otherNextPosition'].setValue(event.target.value);\n }\n\n /**\n * Apply validation on string by count string length.\n */\n onTextChange() {\n if (this.whyMove.length) {\n this.maxLeftCharacterWhyToMove =\n this.maxCharForWhyToMoveLength - this.whyMove.length;\n if (this.whyMove.length > this.maxCharForWhyToMoveLength) {\n this.whyMove = this.whyMove.slice(0, this.maxCharForWhyToMoveLength);\n }\n }\n }\n testModel() {\n alert('s');\n console.log(this.ibu);\n }\n test() {\n alert('s');\n }\n}\n","\n\n
\n
\n
\n
\n
\n
Eligibility Criteria
\n \n
\n
\n
\n
\n
\n

\n Employees with exceptional contribution can be considered even\n if one of the above criteria is not met. Such candidates will\n be nominated separately, and self-nomination will not apply\n for such cases.\n

\n
\n
\n
\n
\n
\n
\n \n CD\n \n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Current RoleNext Role\n Tenure in current Role\n BSC score
\n Associate content Lead\n Content Lead1.5 YRS90%
Content LeadAssociate Analyst1.5 YRS85%
Associate AnalystAnalyst1.5 YRS85%
AnalystLead Analyst2 YRS85%
Lead AnalystPrincipal Analyst3 YRS85%
\n
\n
\n
\n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Current RoleNext Role\n Tenure in current Role\n BSC score
\n SENIOR SOFTWARE ENGINEER II\n ASSOCIATE LEAD1.5 YRS90%
\n ASSOCIATE LEAD/ ASSOCIATE TECHNICAL CONSULTANT\n \n PROJECT LEAD /TECHNICAL CONSULTANT\n 1.5 YRS85%
PROJECT LEAD\n ASSOCIATE PROJECT MANAGER\n 1.5 YRS85%
\n TECHNICAL CONSULTANT /ASSOCIATE PROJECT MANAGER\n \n PROJECT MANAGER/TECHNICAL SPECIALIST\n 1.5 YRS85%
\n PM - TECHNICAL SPECIALIST\n \n SPM - -SR. TECHNICAL SPECIALIST\n 2 YRS85%
\n SR. TECHNICAL SPECIALIST\n \n LEAD TECHNICAL SPECIALIST (SPM to DM)\n 3 YRS85%
\n DM - LEAD TECHNICAL SPECIALIST\n DH4 YRS85%
\n
\n
\n
\n
\n
\n \n UX\n \n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Current RoleNext Role\n Tenure in current Role\n BSC score
ASSOCIATE UX DESIGNERUX DESIGNER2 YRS85%
UX DESIGNERUX DESIGN ARCHITECT3 YRS85%
UX DESIGN ARCHITECTCREATIVE DIRECTOR4 YRS85%
\n
\n
\n
\n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Current RoleNext Role\n Tenure in current Role\n BSC score
\n ASSOCIATE LEARNING DESIGNER\n LEARNING DESIGNER1.5 YRS85%
LEARNING DESIGNER\n ASSOCIATE SENIOR LEARNING DESIGNER\n 2 YRS85%
\n ASSOCIATE SENIOR LEARNING DESIGNER\n \n ASSOCIATE PRINCIPAL LEARNING DESIGNER\n 3 YRS85%
\n ASSOCIATE PRINCIPAL LEARNING DESIGNER\n \n PRINCIPAL LEARNING DESIGNER\n 4 YRS85%
\n PRINCIPAL LEARNING DESIGNER\n \n LEAD PRINCIPAL LEARNING DESIGNER\n 6 YRS85%
\n
\n
\n
\n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Current RoleNext Role\n Tenure in current Role\n BSC score
MEDIA VISUALIZER III\n LEAD MEDIA VISUALIZER/ LEAD ANALYST\n 1.5 YRS90%
\n LEAD MEDIA VISUALIZER/ LEAD ANALYST\n MEDIA MANAGER2 YRS85%
MEDIA MANAGERSENIOR MEDIA MANAGER3 YRS85%
SENIOR MEDIA MANAGERMEDIA TOWER HEAD4 YRS85%
\n
\n
\n
\n
\n
\n \n QC\n \n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Current RoleNext Role\n Tenure in current Role\n BSC score
\n ASSISTANT TEAM MANAGER\n PROJECT LEAD3 YRS90%
PROJECT LEAD\n SENIOR QUALITY MANAGER\n 4 YRS85%
EDITORSENIOR EDITOR2 YRS85%
SENIOR EDITORLEAD EDITOR3 YRS85%
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n\n
\n \n
\n
\n
\n
\n
\n
\n

Nominate yourself for new role

\n
\n
\n \n\n
\n
\n
\n
\n
\n \n
\n
\n
\n\n

\n Nominate yourself for new role\n

\n \n\n\n\n
\n
\n
\n
\n \n {{ nominee.empCode }}\n \n
\n
\n
\n
\n \n {{ nominee.userName }}\n \n
\n
\n
\n
\n \n {{ nominee.TowerName }}\n \n
\n
\n
\n
\n \n {{ nominee.CurrentPositionName }}\n \n
\n
\n
\n\n
\n\n\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n

\n Select ‘Other IBU/Practice’ to choose a new role from a different IBU/Practice.\n

\n \n
\n
\n
\n
\n\n\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n \n
\n \n
\n \n
\n
\n
\n
\n
\n
\n

\n Click\n CLG - Growth Path Ladder\n to refer to other roles in CLG.\n

\n
\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n
\n \n \n \n \n
\n
\n
\n
\n

\n Note: If your details are not correct, please contact your\n HR\n

\n
\n
\n\n
\n \n

Thanks!

\n

\n Your nomination is submitted to HR. Please connect with your\n HR for further process. You can check your nomination status\n from home page as well.\n

\n
\n \n
\n
\n
\n

Thanks!

\n

\n Your nomination is submitted to HR. Please connect with your\n HR for further process. You can check your nomination status\n from home page as well.\n

\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n","\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Welcome!
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n Add/Update Business Unit\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n Add/Update Towers\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n Add/Update Management Users\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n Add/Update Behavioral Skill Details\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n Add/Update Functional Skill Details\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n

© 2021 NIIT Talent Readiness, All rights reserved. Powered by NEC.

\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, Compiler } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { CommonService } from '../service/commons-service';\r\nimport { AppConfig } from '../util';\r\n@Component({\r\n templateUrl: 'adminDashboard.component.html',\r\n styleUrls: ['adminDashboard.component.css']\r\n})\r\n\r\nexport class AdminDashboardComponent implements OnInit {\r\n loginImageURL: any = \"\";\r\n loginUserName: any = \"\";\r\n towerName: any = \"\";\r\n superUserType: any = \"\";\r\n loading: boolean = false;\r\n\r\n constructor(private commonService: CommonService,\r\n private router: Router,\r\n private appConfig: AppConfig,\r\n private _compiler: Compiler) {\r\n this._compiler.clearCache();\r\n let users = JSON.parse(localStorage.getItem('user'));\r\n if (!users || !users.userData) {\r\n commonService.logout();\r\n return;\r\n }\r\n if (users && users.userData) {\r\n this.loginUserName = users.userData.displayName;\r\n this.towerName = localStorage.getItem('towerName');\r\n }\r\n if (localStorage.getItem('superUserType')) {\r\n this.superUserType = localStorage.getItem('superUserType');\r\n }\r\n this.loginImageURL = this.appConfig.getDefaultImgURL();\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n public gotoNextPage(e, routeURL) {\r\n this.router.navigate([routeURL]);\r\n }\r\n}","import { Injectable } from '@angular/core';\r\n@Injectable()\r\nexport class AppConfig {\r\n private serveURL: any = '';\r\n private defaultImgURL: any = 'assets/default.png';\r\n constructor() {\r\n if (location.protocol == 'https:') {\r\n this.serveURL = '//tr.niit.com/talentReadinessApi/api/tr_'; //Prod API URLc\r\n // this.serveURL = 'https://tr.niit.com/talentReadinessApi/api/tr_'; //Prod API URLc\r\n // this.serveURL = 'https://connectnec.niit.com/talentReadinessApi/api/tr_'; //ConnectNec API URL/\r\n //this.serveURL = 'https://localhost:3000/api/tr_'; //LOCAL API URL\r\n } else {\r\n this.serveURL = '//tr.niit.com/talentReadinessApi/api/tr_'; //Prod API URL\r\n //this.serveURL = 'http://tr.niit.com/talentReadinessApi/api/tr_'; //Prod API URL\r\n //this.serveURL = 'https://connectnec.niit.com/talentReadinessApi/api/tr_'; //ConnectNec API URL\r\n //this.serveURL = 'http://localhost:3000/api/tr_'; //LOCAL API URL\r\n }\r\n }\r\n\r\n // retrun the server base URL\r\n public getServerURL() {\r\n return this.serveURL;\r\n }\r\n\r\n // validation message for empty jira credential\r\n public getBlankLoginErrorMsg() {\r\n return 'Please Enter Your System Login Credential';\r\n }\r\n\r\n // validation message for wrong jira credential\r\n public getInvalidDetailsMsg() {\r\n return 'Some problem occured while connecting to the server.';\r\n }\r\n\r\n // retrun default Imgage URL\r\n public getDefaultImgURL() {\r\n return this.defaultImgURL;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n@Injectable()\r\nexport class Common {\r\n\r\n public month: any[] = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"June\", \"July\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\r\n constructor() { }\r\n // return date YY-MM-DD\r\n public getDateYYMMDD(date: any) {\r\n if (date) {\r\n return date.year + \"-\" + date.month + \"-\" + date.day;\r\n }\r\n return null;\r\n }\r\n\r\n // return date time with set 0 0 0 0 hours and time\r\n public getTime(date: any) {\r\n let tempDate = new Date(date);\r\n tempDate.setHours(0, 0, 0, 0);\r\n return tempDate.getTime();\r\n }\r\n\r\n //returning date array like 1-JAN, 2-Feb from between dates\r\n public getDateArray(start, end) {\r\n let arr = [];\r\n let dt = new Date(start);\r\n while (dt <= end) {\r\n let date = new Date(dt)\r\n if (6 > date.getDay() && date.getDay() != 0) {\r\n arr.push(Number(date.getMonth() + 1) + \"/\" + date.getDate() + \"/\" + date.getFullYear());\r\n }\r\n dt.setDate(dt.getDate() + 1);\r\n }\r\n return arr;\r\n }\r\n\r\n // return date MM/DD/YYYY\r\n public getDateDDMMYY(date: any) {\r\n if (date) {\r\n date = new Date(date);\r\n return Number(date.getMonth() + 1) + \"/\" + date.getDate() + \"/\" + date.getFullYear();\r\n }\r\n return \"\";\r\n }\r\n\r\n // return date YY-MM-DD\r\n public getDatesYYMMDD(date: any) {\r\n if (date) {\r\n date = new Date(date);\r\n return date.getFullYear() + \"-\" + Number(date.getMonth() + 1) + \"-\" + date.getDate();\r\n }\r\n return \"\";\r\n }\r\n // get\r\n public getJSONObj(date) {\r\n if (date) {\r\n date = new Date(date);\r\n return { year: date.getFullYear(), month: Number(date.getMonth() + 1), day: date.getDate() };\r\n }\r\n return;\r\n }\r\n\r\n //Validate two dates are equals or not\r\n public compareTwoDates(bookingdate, calDate) {\r\n let compareToDate = new Date(bookingdate);\r\n compareToDate.setHours(0, 0, 0, 0);\r\n let compareFromDate = new Date(calDate);\r\n compareFromDate.setHours(0, 0, 0, 0);\r\n if (compareToDate.getTime() == compareFromDate.getTime()) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n //get date time of long value\r\n public getDateTime(tempDate) {\r\n let date = new Date(tempDate);\r\n date.setHours(0, 0, 0, 0)\r\n return date.getTime();\r\n }\r\n\r\n //returning date array like 1-JAN, 2-Feb from between dates\r\n public getMonthsNameArray(start, end) {\r\n\r\n let arr = [];\r\n let dt = new Date(start);\r\n while (dt <= end) {\r\n let date = new Date(dt)\r\n arr.push(this.month[date.getMonth()] + \"-\" + date.getFullYear());\r\n dt.setMonth(dt.getMonth() + 1);\r\n }\r\n\r\n return arr;\r\n }\r\n\r\n // returning date like 1-JAN from dates\r\n public getMonthsName(date) {\r\n let dt = new Date(date);\r\n return this.month[dt.getMonth()] + \"-\" + dt.getFullYear();\r\n }\r\n\r\n public isSuperUser() {\r\n return JSON.parse(localStorage.getItem(\"user\")).userData.userRoll === \"1\";\r\n }\r\n\r\n /* takes a string phrase and breaks it into separate phrases \r\n no bigger than 'maxLength', breaks are made at complete words.*/\r\n\r\n // public breakAllSentencesInLines(stringArr, maxLength) {\r\n // var splittedArrays = [];\r\n // var that = this;\r\n // stringArr.forEach(function(str, index){\r\n // splittedArrays[index] = that.breakSentenceInLines(str, maxLength);\r\n // });\r\n // return splittedArrays;\r\n // }\r\n\r\n // public breakSentenceInLines(str, maxLength){\r\n // var sections = [];\r\n // var words = str.split(\" \");\r\n // var temp = \"\";\r\n\r\n // words.forEach(function(item, index){\r\n // if(temp.length > 0)\r\n // {\r\n // var concat = temp + ' ' + item;\r\n\r\n // if(concat.length > maxLength){\r\n // sections.push(temp);\r\n // temp = \"\";\r\n // }\r\n // else{\r\n // if(index == (words.length-1))\r\n // {\r\n // sections.push(concat);\r\n // return;\r\n // }\r\n // else{\r\n // temp = concat;\r\n // return;\r\n // }\r\n // }\r\n // }\r\n\r\n // if(index == (words.length-1))\r\n // {\r\n // sections.push(item);\r\n // return;\r\n // }\r\n\r\n // if(item.length < maxLength) {\r\n // temp = item;\r\n // }\r\n // else {\r\n // sections.push(item);\r\n // }\r\n\r\n // });\r\n\r\n // return sections;\r\n // }\r\n}","import {\r\n Component,\r\n OnInit,\r\n Compiler,\r\n ViewChild,\r\n ElementRef,\r\n Renderer2,\r\n ChangeDetectorRef,\r\n} from '@angular/core';\r\nimport { first, retry } from 'rxjs/operators';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\nimport { filter } from 'rxjs/operators';\r\nimport {\r\n FormBuilder,\r\n Validators,\r\n FormControl,\r\n FormGroup,\r\n} from '@angular/forms';\r\nimport { NgbDatepickerConfig } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AppConfig } from '../util';\r\nimport { CommonService } from '../service/commons-service';\r\nimport { Common } from '../util/common';\r\nimport { ExcelService } from '../service/excel.service';\r\nimport { IDropdownSettings } from 'ng-multiselect-dropdown';\r\nimport * as moment from 'moment';\r\nimport { ConstantValue } from '../util/constant.config';\r\nimport { Subject } from 'rxjs';\r\nimport { DataTableDirective } from 'angular-datatables';\r\n\r\n@Component({\r\n templateUrl: 'addResource.component.html',\r\n styleUrls: ['addResource.component.css'],\r\n})\r\nexport class AddResourceComponent implements OnInit {\r\n @ViewChild('closeModel', { read: ElementRef }) closeModel: ElementRef;\r\n statusDiv: FormControl = new FormControl();\r\n users: any = {};\r\n apprArry: any[] = [];\r\n status = '';\r\n isDisabled: boolean = false;\r\n isAppr: any;\r\n addUserForm: any;\r\n config: any;\r\n loading: boolean = false;\r\n fetchData: any[] = [];\r\n submitted = false;\r\n userId: any = 0;\r\n loginImageURL: any = '';\r\n baseURL: any = null;\r\n loginUserName: any = '';\r\n showHideModel: boolean = true;\r\n skillData: any[] = [];\r\n userUpdatedId: Number = 0;\r\n empCode: any;\r\n resourceName: any;\r\n resourceEmail: any;\r\n typesResource: any = 'Regular';\r\n joinDate: any;\r\n leaveDate: any;\r\n selectedEmail: any = '';\r\n selectedSVEmail: any = '';\r\n selectedUserId: any = '';\r\n resourceManager: any;\r\n resourceManagerEmail: any;\r\n currentRole: any = JSON.parse(localStorage.user).userData.userRoll;\r\n inactiveUserCount = 0;\r\n activeUserCount = 0;\r\n skillRatingData: any[] = [];\r\n towerId: any;\r\n positionList: any = [];\r\n currentPositionList: any = [];\r\n nextPositionList: any = [];\r\n userRoll: number = 0;\r\n userType: any = '';\r\n allPositions: any = [];\r\n userRole: any = JSON.parse(localStorage.user).userData.userRoll;\r\n resetUserId: any = '';\r\n resetUserData: any = [];\r\n nominatedUseristory: any = [];\r\n dtOptions: DataTables.Settings = {};\r\n userNotesForm: FormGroup;\r\n userNotesList: any = [];\r\n userAllNotesList: any = [];\r\n empStatusList = ConstantValue.EmpStatusList;\r\n batchNoList = ConstantValue.BatchNoList;\r\n journeyCompletionDate: any;\r\n trStatusList = ConstantValue.TrStatusList;\r\n curStatus = 2;\r\n columnList = [];\r\n dropdownSettings: IDropdownSettings = {};\r\n selectedItems = [];\r\n dtRendered: any = true;\r\n dtTrigger: Subject = new Subject();\r\n dtElement: DataTableDirective;\r\n importUserForm: FormGroup;\r\n ibuList: any = [];\r\n ibu: any = '';\r\n functionList: any = [];\r\n function: any = '';\r\n selectedIbuId: any = null;\r\n towerList: any = [];\r\n alltowerList: any = [];\r\n selectedTowerId: any;\r\n tower: any = '';\r\n isNextTowerSame: boolean = true;\r\n constructor(\r\n private router: Router,\r\n private formBuilder: FormBuilder,\r\n private el: ElementRef,\r\n private excelService: ExcelService,\r\n private commonService: CommonService,\r\n private common: Common,\r\n private render: Renderer2,\r\n private cdr: ChangeDetectorRef,\r\n private appConfig: AppConfig,\r\n config: NgbDatepickerConfig,\r\n private _compiler: Compiler\r\n ) {\r\n this._compiler.clearCache();\r\n this.users = JSON.parse(localStorage.getItem('user'));\r\n if (!this.users || !this.users.userData) {\r\n this.commonService.logout();\r\n return;\r\n }\r\n if (this.users && this.users.userData) {\r\n if (this.users.userData.userFullName) {\r\n this.loginUserName = this.users.userData.userFullName;\r\n } else {\r\n this.loginUserName = this.users.userData.userName;\r\n }\r\n this.userRoll = this.users.userData.userRoll;\r\n this.users.userFullName = this.users.userData.userFullName.toLowerCase();\r\n this.towerId = this.users.userData.towerId;\r\n }\r\n\r\n let currentDate = new Date();\r\n this.config = config;\r\n this.config.minDate = {\r\n year: currentDate.getFullYear() - 40,\r\n month: currentDate.getMonth(),\r\n day: currentDate.getDate(),\r\n };\r\n this.config.maxDate = { year: 2099, month: 12, day: 31 };\r\n this.config.markDisabled = false;\r\n this.loginImageURL = this.appConfig.getDefaultImgURL();\r\n this.initUserNotesForm();\r\n this.columnList = ConstantValue.AddResourceAllColumnList;\r\n }\r\n\r\n ngOnInit() {\r\n this.router.events\r\n .pipe(filter((event) => event instanceof NavigationEnd))\r\n .subscribe(() => {\r\n this.render.removeClass(document.body, 'modal-open');\r\n $(document.body).removeClass('modal-open');\r\n $('.modal-backdrop').remove();\r\n });\r\n this.fetchuserData();\r\n this.fetchSkillRatingData();\r\n this.fetchSkillsData();\r\n this.fetchPositions();\r\n this.getAllUserNotes();\r\n\r\n this.disabledFnc();\r\n this.initImportUserForm();\r\n this.getAllIBUInfo();\r\n this.dropdownSettings = {\r\n singleSelection: false,\r\n // idField: 'item_id',\r\n idField: 'slug',\r\n textField: 'item_text',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n };\r\n this.selectedItems = ConstantValue.AddResourceColumns;\r\n }\r\n\r\n initImportUserForm() {\r\n this.importUserForm = this.formBuilder.group({\r\n userFile: ['', Validators.required],\r\n towerId: [],\r\n });\r\n }\r\n\r\n /**\r\n * Initalize the user Notes form.\r\n */\r\n initUserNotesForm() {\r\n this.userNotesForm = this.formBuilder.group({\r\n userId: ['', Validators.required],\r\n notesId: [''],\r\n userNotes: ['', Validators.required],\r\n });\r\n }\r\n /**\r\n * Submit User Notes Form\r\n * @param formInfo\r\n * @returns\r\n */\r\n onSubmitUserNotes(formInfo) {\r\n if (!formInfo.userNotes) {\r\n localStorage.setItem('errorMsg', 'Please enter user Notes!');\r\n this.commonService.showerror();\r\n return;\r\n }\r\n var userId = JSON.parse(localStorage.getItem('user')).userData.userId;\r\n var userName = JSON.parse(localStorage.getItem('user')).userData\r\n .userFullName;\r\n formInfo.noteUserId = userId;\r\n formInfo.noteUserName = userName;\r\n this.commonService.addUserNotes(formInfo).subscribe(\r\n (data) => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', 'Note Added successfully!');\r\n document.getElementById('addNotesPopContainer').click();\r\n this.commonService.showerror();\r\n this.getUserNotes(formInfo.userId);\r\n this.userNotesForm.patchValue({\r\n userNotes: '',\r\n });\r\n },\r\n (error) => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', 'Must enter all the fields!');\r\n\r\n document.getElementById('addNotesPopContainer').click();\r\n this.commonService.showerror();\r\n }\r\n );\r\n }\r\n /**\r\n *\r\n */\r\n onEditUserNotes(userInfo) {\r\n this.userNotesForm.get('userId').setValue(userInfo?.userId);\r\n this.getUserNotes(userInfo?.userId);\r\n }\r\n /**\r\n * Get user Notes\r\n */\r\n getUserNotes(userId) {\r\n this.commonService.getUserNotes(userId).subscribe(\r\n (data) => {\r\n this.loading = false;\r\n if (data) {\r\n this.userNotesList = data;\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n /**\r\n * Edit Notes\r\n */\r\n editNotes(notes) {\r\n this.userNotesForm.get('userNotes').setValue(notes?.userNotes);\r\n }\r\n /**\r\n * Add new notes\r\n */\r\n addNewNotes() {\r\n this.userNotesForm.get('userNotes').setValue('');\r\n this.userNotesForm.get('notesId').setValue('');\r\n }\r\n /**\r\n * Get user Notes\r\n */\r\n getAllUserNotes() {\r\n this.commonService.getAllUserNotes().subscribe(\r\n (data) => {\r\n this.loading = false;\r\n if (data) {\r\n this.userAllNotesList = data;\r\n }\r\n },\r\n (error) => {\r\n console.log('Error', error);\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n /**\r\n * Return Users notes\r\n */\r\n returnUserNotes(userId) {\r\n for (let i = 0; i < this.userAllNotesList.length; i++) {\r\n if (userId == this.userAllNotesList[i].userId) {\r\n return this.userAllNotesList[i].userNotes;\r\n }\r\n }\r\n }\r\n\r\n // /fetch user information data\r\n private fetchSkillRatingData() {\r\n this.skillRatingData = [];\r\n this.commonService\r\n .fetchSkillRatingData()\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data && data.length > 0) {\r\n this.skillRatingData = data;\r\n } else {\r\n localStorage.setItem('errorMsg', 'Data Not Found');\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n private initalizeUserForm() {\r\n this.userUpdatedId = 0;\r\n let groupForm = {\r\n empCode: ['', Validators.required],\r\n resourceName: ['', Validators.required],\r\n resourceEmail: ['', Validators.required],\r\n resourceManager: ['', Validators.required],\r\n resourceManagerEmail: ['', Validators.required],\r\n SUPCode: ['', Validators.required],\r\n SLSUPCode: ['', Validators.required],\r\n SLS: ['', Validators.required],\r\n SLSE: ['', Validators.required],\r\n // SLST: ['', Validators.required],\r\n TTA: ['', Validators.required],\r\n\r\n typesResource: new FormControl('Contractor'),\r\n currentPosition: ['', Validators.required],\r\n nextPosition: ['', Validators.required],\r\n joinDate: ['', Validators.required],\r\n leaveDate: new FormControl(null),\r\n empStatus: ['', Validators.required],\r\n batchNo: [''],\r\n journeyCompletionDate: new FormControl(null),\r\n isApproved: [''],\r\n };\r\n this.addUserForm = this.formBuilder.group(groupForm);\r\n this.addUserForm.patchValue({\r\n empStatus: 1,\r\n isApproved: 2,\r\n });\r\n }\r\n\r\n // edit user information\r\n private onEditSubmit(fetchuserData) {\r\n this.isNextTowerSame = true;\r\n if (fetchuserData) {\r\n this.userUpdatedId = fetchuserData.userId;\r\n let groupForm = {\r\n empCode: new FormControl(fetchuserData.empCode),\r\n resourceName: new FormControl(fetchuserData.userName),\r\n resourceEmail: new FormControl(fetchuserData.email),\r\n resourceManager: new FormControl(fetchuserData.resourceManager),\r\n resourceManagerEmail: new FormControl(\r\n fetchuserData.resourceManagerEmail\r\n ),\r\n SUPCode: new FormControl(fetchuserData.SUPCode),\r\n SLSUPCode: new FormControl(fetchuserData.SLSUPCode),\r\n SLS: new FormControl(fetchuserData.SLS),\r\n SLSE: new FormControl(fetchuserData.SLSE),\r\n // SLST: new FormControl(fetchuserData.SLST),\r\n TTA: new FormControl(fetchuserData.TTA),\r\n\r\n typesResource: new FormControl(fetchuserData.typeResource),\r\n currentPosition: new FormControl(fetchuserData.currentPosition),\r\n nextPosition: new FormControl(fetchuserData.nextPosition),\r\n joinDate: new FormControl(\r\n this.common.getJSONObj(fetchuserData.joinDate)\r\n ),\r\n leaveDate: new FormControl(\r\n this.common.getJSONObj(fetchuserData.leaveDate)\r\n ),\r\n empStatus: new FormControl(fetchuserData.empStatus),\r\n batchNo: new FormControl(\r\n fetchuserData.batchNo ? fetchuserData.batchNo : ''\r\n ),\r\n journeyCompletionDate: new FormControl(\r\n this.common.getJSONObj(fetchuserData.journeyCompletionDate)\r\n ),\r\n isApproved: new FormControl(fetchuserData.isApproved),\r\n };\r\n\r\n this.setFieldsData(fetchuserData);\r\n this.curStatus = fetchuserData.isApproved;\r\n this.addUserForm = this.formBuilder.group(groupForm);\r\n }\r\n }\r\n\r\n private showPrompt() {\r\n var that = this;\r\n setTimeout(function () {\r\n localStorage.setItem(\r\n 'errorMsg',\r\n 'Please correctly fill all the required fields'\r\n );\r\n that.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }, 2000);\r\n }\r\n\r\n //close dailog box\r\n private closeModels() {\r\n this.closeModel.nativeElement.click();\r\n }\r\n\r\n private onEmailClickData(selectedEmail, selectedSVEmail, selectedUserId) {\r\n this.selectedEmail = selectedEmail;\r\n this.selectedSVEmail = selectedSVEmail;\r\n this.selectedUserId = selectedUserId;\r\n }\r\n\r\n private onEmailClick() {\r\n var email = this.selectedEmail;\r\n var svEmail = this.selectedSVEmail;\r\n this.commonService\r\n .sendEmailNiit(\r\n 'sendRatingInvi',\r\n email,\r\n svEmail,\r\n 'true',\r\n 'true',\r\n this.selectedUserId,\r\n this.towerId\r\n )\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', 'Email sent!');\r\n this.commonService.showerror();\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n private onAllEmailClick() {\r\n var email = this.selectedEmail;\r\n var svEmail = this.selectedSVEmail;\r\n this.commonService\r\n .sendEmailToAll('sendRatingInviToAll')\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.loading = false;\r\n localStorage.setItem(\r\n 'errorMsg',\r\n 'Email has been sent to all these resources!'\r\n );\r\n this.commonService.showerror();\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n // /fetch user information data\r\n private fetchuserData() {\r\n this.loading = true;\r\n var userEmail = '';\r\n if (JSON.parse(localStorage.getItem('user')).userData.userRoll == 4)\r\n userEmail = JSON.parse(localStorage.getItem('user')).userData.userEmail;\r\n this.commonService\r\n .getUsersListByPost(\r\n JSON.parse(localStorage.getItem('user')).userData.towerId,\r\n userEmail\r\n )\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n let userIds = [];\r\n if (data) {\r\n for (let i = 0; i < data.length; i++) {\r\n if (data[i].userId) {\r\n userIds.push(data[i].userId);\r\n }\r\n this.isAppr = data[i].isApproved;\r\n this.apprArry.push(this.isAppr);\r\n }\r\n }\r\n if (userIds.length > 0) {\r\n this.fetchUserSkillsData(userIds, data);\r\n this.getAllNextPositions(\r\n userIds,\r\n JSON.parse(localStorage.user).userData.towerId\r\n );\r\n } else {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', 'Users Not Found');\r\n this.commonService.showerror();\r\n }\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n // /fetch user information data\r\n private fetchPositions() {\r\n // var towerId = JSON.parse(localStorage.user).userData.towerId;\r\n let towerId = null;\r\n this.commonService\r\n .getAllPositionInfo(towerId)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.positionList = data;\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n // /fetch user information data\r\n private fetchNextPositions(towerId, positionId = '') {\r\n this.commonService.getAllPositionInfo(towerId).subscribe(\r\n (data) => {\r\n this.nextPositionList = data;\r\n const formTower: any = document.querySelector('#form-next-role');\r\n if (formTower) {\r\n setTimeout(() => {\r\n formTower.value = positionId;\r\n }, 200);\r\n }\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n // /fetch user information data\r\n private fetchCurrentPositions(towerId, positionId = '') {\r\n this.commonService.getAllPositionInfo(towerId).subscribe(\r\n (data) => {\r\n this.currentPositionList = data;\r\n const formTower: any = document.querySelector('#form-current-role');\r\n if (formTower) {\r\n setTimeout(() => {\r\n formTower.value = positionId;\r\n }, 200);\r\n }\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n private getPositionName(positionId) {\r\n for (let i = 0; i < this.positionList.length; i++) {\r\n if (this.positionList[i].positionId == positionId)\r\n return this.positionList[i].positionName;\r\n }\r\n }\r\n\r\n //fetch user skills data\r\n private fetchUserSkillsData(userIds: any[], userData) {\r\n this.commonService\r\n .fetchAllFunSkills(userIds)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n for (let j = 0; j < userData.length; j++) {\r\n let userSkill = [];\r\n for (let i = 0; i < data.length; i++) {\r\n if (userData[j].userId == data[i].userId) {\r\n let skillLevel = data[i].skillLevel;\r\n let skillName = '';\r\n this.skillData.forEach((litem, index) => {\r\n if (litem.skillId == data[i].skillId) {\r\n skillName = litem.skillName;\r\n }\r\n });\r\n userSkill.push({\r\n skillId: data[i].skillId,\r\n skillLevel: skillLevel,\r\n skillName: skillName,\r\n });\r\n }\r\n }\r\n userData[j]['userSkill'] = userSkill;\r\n }\r\n this.fetchData = userData;\r\n this.dtRendered = false;\r\n this.cdr.detectChanges();\r\n this.dtRendered = true;\r\n this.cdr.detectChanges();\r\n this.categoriseLeaveUsers();\r\n this.countActiveAndInactiveUsers();\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n //fetch user skills data\r\n private getAllNextPositions(userIds, towerId) {\r\n this.commonService\r\n .getAllNextPositions(userIds, towerId)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.allPositions = data;\r\n var that = this;\r\n setTimeout(function () {\r\n that.loading = false;\r\n }, 1000);\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n //categorise leave users\r\n private categoriseLeaveUsers() {\r\n for (let i = 0; i < this.fetchData.length; i++) {\r\n if (this.fetchData[i].leaveDate) {\r\n let currentDate = new Date();\r\n let userLeaveDate = new Date(this.fetchData[i].leaveDate);\r\n if (currentDate > userLeaveDate) {\r\n this.fetchData[i]['leaveStyle'] = 'red';\r\n }\r\n }\r\n }\r\n }\r\n\r\n // validate resoucre leaving date should be equal or lessthen from current date\r\n private countActiveAndInactiveUsers() {\r\n this.inactiveUserCount = 0;\r\n this.activeUserCount = 0;\r\n for (let i = 0; i < this.fetchData.length; i++) {\r\n let isFound = false;\r\n //remove user from the list if having leave date less then current date\r\n let currentTime = this.common.getTime(new Date());\r\n if (this.fetchData[i].leaveDate) {\r\n let leavingTime = this.common.getTime(this.fetchData[i].leaveDate);\r\n if (currentTime > leavingTime) {\r\n isFound = true;\r\n }\r\n }\r\n if (isFound) {\r\n this.inactiveUserCount++;\r\n this.fetchData[i]['leaveUserCSS'] = 'leaveUserCSS';\r\n } else {\r\n this.fetchData[i]['leaveUserCSS'] = '';\r\n this.activeUserCount++;\r\n }\r\n }\r\n }\r\n\r\n // suave user information\r\n private onSubmit(userFormDetails) {\r\n if (this.addUserForm.invalid) {\r\n this.submitted = true;\r\n return;\r\n } else {\r\n if (!this.validateEmail(userFormDetails.resourceEmail)) {\r\n localStorage.setItem('errorMsg', 'Invaild Email id!');\r\n this.commonService.showerror();\r\n return;\r\n }\r\n if (!this.validateEmail(userFormDetails.resourceManagerEmail)) {\r\n localStorage.setItem('errorMsg', 'Invaild resource manager email!');\r\n this.commonService.showerror();\r\n return;\r\n }\r\n if (!this.validateEmail(userFormDetails.SLSE)) {\r\n localStorage.setItem(\r\n 'errorMsg',\r\n 'Invaild Second Level Supervisor Email!'\r\n );\r\n this.commonService.showerror();\r\n return;\r\n }\r\n if (\r\n Number(userFormDetails.currentPosition) ==\r\n Number(userFormDetails.nextPosition)\r\n ) {\r\n localStorage.setItem(\r\n 'errorMsg',\r\n 'Current role and Next role should not be same!'\r\n );\r\n this.commonService.showerror();\r\n return;\r\n }\r\n let userSkillData = this.setUserSkillData(userFormDetails, '');\r\n userFormDetails['createdByEmail'] = this.users.userData.emailAddress;\r\n let userInfo = this.isResourceExit(userFormDetails.resourceEmail);\r\n if (userInfo) {\r\n localStorage.setItem('errorMsg', userInfo);\r\n this.commonService.showerror();\r\n return;\r\n }\r\n userFormDetails['towerId'] = this.towerId;\r\n userFormDetails['userRoll'] = this.userRole;\r\n this.commonService\r\n .saveUserData(userFormDetails)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.addUserForm.reset();\r\n localStorage.setItem(\r\n 'errorMsg',\r\n 'User successfully added in TR Nominees'\r\n );\r\n localStorage.setItem('isReload', 'true');\r\n this.closeModels();\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n this.fetchuserData();\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', 'Must Enter all the fields');\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n }\r\n /**\r\n * On change role check both are same or not.\r\n * @param resourceEmail\r\n */\r\n roleCheck() {\r\n const userFormDetails = this.addUserForm.value;\r\n if (\r\n Number(userFormDetails.currentPosition) ==\r\n Number(userFormDetails.nextPosition)\r\n ) {\r\n this.addUserForm.controls['currentPosition'].setValue('');\r\n this.addUserForm.controls['nextPosition'].setValue('');\r\n localStorage.setItem(\r\n 'errorMsg',\r\n 'Current role and Next role should not be same!'\r\n );\r\n this.commonService.showerror();\r\n return;\r\n }\r\n }\r\n //check user is exits\r\n private isResourceExit(resourceEmail) {\r\n let userInfo = null;\r\n for (let i = 0; i < this.fetchData.length; i++) {\r\n if (resourceEmail == this.fetchData[i].email) {\r\n userInfo =\r\n 'TR Nominee: ' + this.fetchData[i].userName + ' is already exits!';\r\n break;\r\n }\r\n }\r\n return userInfo;\r\n }\r\n\r\n //update user infromation\r\n private onUpdateSubmit(userFormDetails) {\r\n if (this.addUserForm.invalid) {\r\n return;\r\n }\r\n if (!this.validateEmail(userFormDetails.resourceEmail)) {\r\n localStorage.setItem('errorMsg', 'Invaild Email id!');\r\n this.closeModels();\r\n this.commonService.showerror();\r\n return;\r\n }\r\n if (!this.validateEmail(userFormDetails.resourceManagerEmail)) {\r\n localStorage.setItem('errorMsg', 'Invaild resource manager email!');\r\n this.closeModels();\r\n this.commonService.showerror();\r\n return;\r\n }\r\n if (!this.validateEmail(userFormDetails.SLSE)) {\r\n localStorage.setItem(\r\n 'errorMsg',\r\n 'Invaild Second Level Supervisor Email!'\r\n );\r\n this.closeModels();\r\n this.commonService.showerror();\r\n return;\r\n }\r\n if (\r\n Number(userFormDetails.currentPosition) ==\r\n Number(userFormDetails.nextPosition)\r\n ) {\r\n localStorage.setItem(\r\n 'errorMsg',\r\n 'Current role and Next role should not be same!'\r\n );\r\n this.closeModels();\r\n this.commonService.showerror();\r\n return;\r\n }\r\n if (userFormDetails != null && this.userUpdatedId > 0) {\r\n userFormDetails['userId'] = this.userUpdatedId;\r\n userFormDetails['joinDate'] = this.common.getDateYYMMDD(\r\n userFormDetails.joinDate\r\n );\r\n userFormDetails['leaveDate'] = this.common.getDateYYMMDD(\r\n userFormDetails.leaveDate\r\n );\r\n userFormDetails['updatedByEmail'] = this.users.userData.emailAddress;\r\n userFormDetails['updatedByName'] = this.users.userData.userFullName;\r\n userFormDetails['journeyCompletionDate'] = this.common.getDateYYMMDD(\r\n userFormDetails.journeyCompletionDate\r\n );\r\n userFormDetails['towerId'] = this.towerId;\r\n\r\n this.commonService\r\n .updateUserData(userFormDetails)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n localStorage.setItem('errorMsg', 'Data Successfully Updated');\r\n localStorage.setItem('isReload', 'true');\r\n this.closeModels();\r\n this.commonService.showerror();\r\n this.fetchuserData();\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.closeModels();\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n }\r\n\r\n //set user skill data\r\n private setUserSkillData(userFormDetails: any, userId: any) {\r\n let userSkillData = [];\r\n for (let i = 0; i < this.skillData.length; i++) {\r\n userSkillData.push({\r\n userId: userId,\r\n skillId: Number(this.skillData[i].skillId),\r\n skillLevel: userFormDetails[this.skillData[i].skillName],\r\n });\r\n }\r\n return userSkillData;\r\n }\r\n\r\n //delete user information\r\n private onDeleteSubmit(userInfo) {\r\n userInfo['deletedByEmail'] = this.users.userData.emailAddress;\r\n userInfo = this.setSkills(userInfo);\r\n this.commonService\r\n .userDeletion(userInfo)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n localStorage.setItem('errorMsg', 'Data Successfully Deleted');\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n this.fetchuserData();\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n //set skills information\r\n private setSkills(userInfo) {\r\n let userSkills = userInfo.userSkill;\r\n for (let i = 0; i < userSkills.length; i++) {\r\n if (userSkills[i].skillName) {\r\n userInfo[userSkills[i].skillName] = userSkills[i].skillLevel;\r\n } else if (userSkills[i].skillName) {\r\n userInfo[userSkills[i].skillName] = userSkills[i].skillLevel;\r\n }\r\n }\r\n return userInfo;\r\n }\r\n\r\n //fetch skills data\r\n private fetchSkillsData() {\r\n this.commonService\r\n .fetchSkillData()\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.skillData = data;\r\n this.initalizeUserForm();\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n //export resource history data\r\n excelReport() {\r\n let excelExportData = [];\r\n let headers = ['S.No.'];\r\n for (let selItem = 0; selItem < this.selectedItems.length; selItem++) {\r\n headers.push(this.selectedItems[selItem].item_text);\r\n }\r\n\r\n for (let i = 0; i < this.fetchData.length; i++) {\r\n let data = {};\r\n data[headers[0]] = i + 1;\r\n for (let column = 0; column < this.selectedItems.length; column++) {\r\n let slug = this.selectedItems[column].slug;\r\n if (slug == 'currentPosition' || slug == 'nextPosition') {\r\n data[headers[column + 1]] = this.getPositionName(\r\n this.fetchData[i][slug]\r\n );\r\n } else if (slug == 'empStatus') {\r\n data[headers[column + 1]] = this.getEmpStatus(\r\n this.fetchData[i][slug]\r\n );\r\n } else if (slug == 'isApproved') {\r\n data[headers[column + 1]] = this.commonService.getUserStatus(\r\n this.fetchData[i][slug]\r\n );\r\n } else if (slug == 'userId') {\r\n data[headers[column + 1]] = this.returnUserNotes(\r\n this.fetchData[i][slug]\r\n );\r\n } else if (slug == 'journeyCompletionDate') {\r\n data[headers[column + 1]] = this.fetchData[i][slug]\r\n ? moment(this.fetchData[i][slug]).format('YYYY-MM-DD')\r\n : ' ';\r\n } else {\r\n data[headers[column + 1]] = this.fetchData[i][slug];\r\n }\r\n }\r\n excelExportData.push(data);\r\n }\r\n this.excelService.generateExcel(headers, excelExportData, 'UserList');\r\n }\r\n\r\n private validateEmail(email) {\r\n var re =\r\n /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n return re.test(String(email).toLowerCase());\r\n }\r\n\r\n private disabledFnc() {\r\n //console.log(this.statusDiv);\r\n }\r\n /**\r\n * Reset user for renominate if user completed nomitation process(nominationStatus = 2).\r\n */\r\n resetForReNominate() {\r\n const updateData = {\r\n userId: this.resetUserId,\r\n resetUserData: this.resetUserData,\r\n };\r\n this.commonService.resetUserforRenomination(updateData).subscribe(\r\n (data) => {\r\n if (data) {\r\n var userProfileHistory = {\r\n empCode: this.resetUserData.empCode,\r\n userName: this.resetUserData.userName,\r\n typeResource: this.resetUserData.typesResource,\r\n joinDate: this.resetUserData.joinDate,\r\n leaveDate: this.resetUserData.leaveDate,\r\n team: this.resetUserData.team,\r\n SUPCode: this.resetUserData.SUPCode,\r\n SLS: this.resetUserData.SLS,\r\n SLSE: this.resetUserData.SLSE,\r\n SLSUPCode: this.resetUserData.SLSUPCode,\r\n // 'SLST': userData.SLST,\r\n TTA: this.resetUserData.TTA,\r\n currentPosition: this.resetUserData.currentPosition,\r\n nextPosition: Number(this.resetUserData.nextPosition),\r\n email: this.resetUserData.email,\r\n resourceManager: this.resetUserData.resourceManager,\r\n resourceManagerEmail: this.resetUserData.resourceManagerEmail,\r\n empStatus: parseInt(this.resetUserData.empStatus),\r\n batchNo: this.resetUserData.batchNo,\r\n journeyCompletionDate: this.resetUserData.journeyCompletionDate\r\n ? moment(this.resetUserData.journeyCompletionDate).format(\r\n 'YYYY-MM-DD'\r\n )\r\n : null,\r\n isApproved: 3,\r\n createdByEmail: JSON.parse(localStorage.getItem('user')).userData\r\n .emailAddress,\r\n };\r\n\r\n this.commonService\r\n .saveUserProfileHistory(userProfileHistory)\r\n .pipe(first())\r\n .subscribe(\r\n (result) => {},\r\n (error) => {}\r\n );\r\n userProfileHistory.isApproved = 2;\r\n this.commonService\r\n .saveUserProfileHistory(userProfileHistory)\r\n .pipe(first())\r\n .subscribe(\r\n (result) => {},\r\n (error) => {}\r\n );\r\n\r\n const index = this.fetchData.findIndex(\r\n (item) => item.userId == this.resetUserId\r\n );\r\n if (index > -1) {\r\n this.fetchData.splice(index, 1);\r\n }\r\n localStorage.setItem('errorMsg', 'Data Successfully Updated');\r\n this.commonService.showerror();\r\n }\r\n },\r\n (error) => {\r\n console.log('Error in reset user data');\r\n }\r\n );\r\n }\r\n /**\r\n * Set userId for renomination.\r\n */\r\n onResetUserforReNomination(userId, resetUserData) {\r\n if (userId) {\r\n this.resetUserId = userId;\r\n this.resetUserData = resetUserData;\r\n }\r\n }\r\n /**\r\n * On click show user history.\r\n */\r\n onUserHistory(userData) {\r\n const userEmail = userData.email.toLowerCase();\r\n const data = { email: userEmail };\r\n this.nominatedUseristory = [];\r\n this.commonService.getNominatedUserHistory(data).subscribe(\r\n (data) => {\r\n if (data) {\r\n this.nominatedUseristory = data;\r\n }\r\n },\r\n (error) => {\r\n console.log('Error in reset user data');\r\n }\r\n );\r\n }\r\n\r\n getEmpStatus(status) {\r\n let empStatus = 'Active';\r\n if (status == 0) {\r\n empStatus = 'Deactive';\r\n } else if (status == 2) {\r\n empStatus = 'Resigned';\r\n }\r\n return empStatus;\r\n }\r\n\r\n onItemSelect(item: any) {\r\n this.dtRendered = false;\r\n // make sure your template notices it\r\n this.cdr.detectChanges();\r\n // initialize them again\r\n this.dtRendered = true;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n /**\r\n * On deselect the selected tower.\r\n * @param item\r\n */\r\n onUnselectColumn(item) {\r\n this.dtRendered = false;\r\n // make sure your template notices it\r\n this.cdr.detectChanges();\r\n // initialize them again\r\n this.dtRendered = true;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n trackColumn(index, column) {\r\n return column ? column.slug : undefined;\r\n }\r\n\r\n onSelectAll(items: any) {\r\n this.dtRendered = false;\r\n // make sure your template notices it\r\n this.cdr.detectChanges();\r\n // initialize them again\r\n this.dtRendered = true;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n onUserImportSubmit(data) {\r\n const formData = new FormData();\r\n formData.append('file', this.importUserForm.get('userFile').value);\r\n formData.append('towerId', this.towerId);\r\n this.commonService.importUserData(formData).subscribe(\r\n (data) => {\r\n console.log('data', data);\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', data.message);\r\n\r\n this.commonService.showerror();\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n onFileSelect(event) {\r\n if (event.target.files.length) {\r\n let file = event.target.files[0];\r\n this.importUserForm.get('userFile').setValue(file);\r\n }\r\n }\r\n\r\n private getAllIBUInfo() {\r\n this.loading = true;\r\n this.commonService\r\n .getAllIBUInfo()\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.ibuList = data;\r\n this.loading = false;\r\n },\r\n (error) => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n public setFieldsData(fetchuserData) {\r\n \r\n this.fetchCurrentPositions(\r\n fetchuserData.towerId,\r\n fetchuserData.positionId\r\n );\r\n\r\n this.commonService\r\n .allInfoPosition(fetchuserData.nextPosition)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data && data.length) {\r\n const response = data[0];\r\n this.isNextTowerSame = response.towerId == fetchuserData['towerId'];\r\n this.onChangeIBU(null, response); \r\n }\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n private getTowersListByIbuId(ibuId, towerId, dataValue) {\r\n this.commonService.getTowersListByIbuId(ibuId, null).subscribe(\r\n (data) => {\r\n this.towerList = data;\r\n this.alltowerList = data;\r\n if (dataValue) {\r\n const formTower: any = document.querySelector('#form-tower');\r\n\r\n if (formTower) {\r\n setTimeout(() => {\r\n formTower.value = dataValue.towerId;\r\n }, 200);\r\n }\r\n\r\n this.fetchNextPositions(dataValue.towerId, dataValue.positionId);\r\n }\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n private getFunctionListByIbuId(ibuId, dataValue) {\r\n this.functionList = [];\r\n this.commonService.getFunctionListByIbuId(ibuId).subscribe(\r\n (data) => {\r\n this.functionList = data;\r\n if (dataValue) {\r\n const formFunction: any = document.querySelector('#form-function');\r\n console.log({ dataValue, formFunction });\r\n\r\n if (formFunction) {\r\n setTimeout(() => {\r\n formFunction.value = dataValue.functionId;\r\n }, 200);\r\n }\r\n }\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n private onChangeIBU(event, dataValue) {\r\n console.log({ dataValue });\r\n debugger;\r\n let ibu = dataValue ? dataValue.ibuId : event.target.value;\r\n\r\n if (dataValue) {\r\n const formIbu: any = document.querySelector('#form-ibu');\r\n\r\n if (formIbu) {\r\n formIbu.value = dataValue.ibuId;\r\n }\r\n }\r\n\r\n this.resetFunctionValue();\r\n this.resetTowerValue();\r\n if (ibu) {\r\n this.getFunctionListByIbuId(ibu, dataValue);\r\n this.getTowersListByIbuId(ibu, 0, dataValue);\r\n } else {\r\n this.resetFunctionList();\r\n this.resetTowerList();\r\n }\r\n }\r\n\r\n private onChangeFunction(event) {\r\n let functionId = event.target.value;\r\n this.resetTowerValue();\r\n if (functionId) {\r\n this.towerList = this.alltowerList.filter(\r\n (item) => item.functionId == functionId\r\n );\r\n } else {\r\n this.towerList = this.alltowerList;\r\n }\r\n }\r\n private onChangeTower(event: any) {\r\n this.fetchNextPositions(event.target.value);\r\n }\r\n\r\n private resetFunctionValue() {\r\n this.function = '';\r\n }\r\n\r\n private resetTowerValue() {\r\n this.tower = '';\r\n }\r\n\r\n private resetFunctionList() {\r\n this.functionList = [];\r\n }\r\n\r\n private resetTowerList() {\r\n this.towerList = [];\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n
\r\n
0\">\r\n
\r\n
\r\n
TR Nominee Detail Form
\r\n \r\n ×\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Supervisor Name\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Supervisor Email\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Current Role\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n 0\"\r\n class=\"btn hvr-bounce-to-top\"\r\n title=\"Update\"\r\n (click)=\"onUpdateSubmit(addUserForm.value)\"\r\n [disabled]=\"addUserForm.invalid\"\r\n >\r\n Save\r\n \r\n \r\n Add TR Nominee\r\n \r\n \r\n Cancel\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
Notes
\r\n \r\n ×\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n Add Remark\r\n \r\n \r\n Cancel\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
S.No.\r\n From\r\n \r\n Remark\r\n \r\n Create Date\r\n
\r\n {{ i + 1 }}\r\n \r\n
{{ notes?.noteUserName }}
\r\n
\r\n
{{ notes?.userNotes }}
\r\n
\r\n
\r\n {{ notes?.createDate | date : \"yyyy-M-dd h:mm a\" }}\r\n
\r\n
No Results Found.
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
Email Confirmation
\r\n \r\n ×\r\n \r\n
\r\n
\r\n
\r\n
\r\n Are you sure you want to send the mail?\r\n
\r\n
\r\n
\r\n
\r\n \r\n Cancel\r\n \r\n \r\n Yes\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
Email Confirmation
\r\n \r\n ×\r\n \r\n
\r\n
\r\n
\r\n
\r\n Are you sure you want to send the emails to all?\r\n
\r\n
\r\n
\r\n
\r\n \r\n Cancel\r\n \r\n \r\n Yes\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
Re-Nomination Confirmation
\r\n \r\n ×\r\n \r\n
\r\n
\r\n
\r\n
\r\n Are you sure you want to re-nominate this user?\r\n
\r\n
\r\n
\r\n
\r\n \r\n Cancel\r\n \r\n \r\n Yes\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n \r\n
\r\n
\r\n
Nominated User History
\r\n \r\n ×\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
S.No.Emp CodeEmp NameEmail idCurrent RoleTarget RoleStatusNominated At
\r\n
\r\n {{ nominatedUseristory.indexOf(userHistory) + 1 }}\r\n
\r\n
\r\n
{{ userHistory.empCode }}
\r\n
\r\n
{{ userHistory.userName }}
\r\n
\r\n
{{ userHistory.email }}
\r\n
\r\n
\r\n {{ getPositionName(userHistory.currentPosition) }}\r\n
\r\n
\r\n
{{ getPositionName(userHistory.nextPosition) }}
\r\n
\r\n \r\n {{\r\n commonService.getUserStatus(userHistory.isApproved)\r\n }}\r\n \r\n \r\n
\r\n {{\r\n userHistory.approvedAt ? userHistory.approvedAt : \"NA\"\r\n }}\r\n
\r\n
\r\n User History Not Found!\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
Import Nominee Data
\r\n \r\n ×\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n Submit\r\n \r\n \r\n Cancel\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

TR Nominees

\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Add TR Nominee\r\n \r\n \r\n Excel Export\r\n \r\n \r\n Send Email to all\r\n \r\n \r\n Import Nominee Data\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n Columns\r\n \r\n
\r\n \r\n \r\n \r\n S.No.\r\n \r\n {{ column?.item_text }}\r\n \r\n Action\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
Column List
\r\n \r\n ×\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
0\">\r\n \r\n
\r\n \r\n \r\n Columns\r\n \r\n
\r\n \r\n \r\n \r\n S.No.\r\n \r\n {{ column?.item_text }}\r\n \r\n Action\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{ fetchData.indexOf(fetchuserData) + 1 }}\r\n
\r\n \r\n \r\n \r\n \r\n {{ getPositionName(fetchuserData[column.slug]) }}\r\n
\r\n \r\n {{ getEmpStatus(fetchuserData[column.slug]) }}\r\n
\r\n \r\n {{ fetchuserData[column.slug] | date : \"yyyy-MM-dd\" }}\r\n \r\n \r\n {{ commonService.getUserStatus(apprArry[i]) }}\r\n \r\n \r\n {{ commonService.getUserStatus(apprArry[i]) }}\r\n \r\n \r\n {{ returnUserNotes(fetchuserData.userId) }}\r\n \r\n \r\n {{ fetchuserData[column.slug] }}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient} from '@angular/common/http';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { AppConfig } from '../util';\r\n\r\n\r\n@Injectable()\r\nexport class MailService {\r\n private baseURL: any = null;\r\n constructor(private http: HttpClient, appConfig: AppConfig) {\r\n this.baseURL = appConfig.getServerURL();\r\n }\r\n\r\n sendMail(toEmails: any, attendeesEmails: any, assignuserData: any, userData: any) {\r\n return this.http.post(this.baseURL + '/sendEmail', { toEmails: toEmails, attendeesEmails: attendeesEmails, assignuserData: assignuserData, userData: userData })\r\n .pipe(map(res => {\r\n if (res && res.data) {\r\n }\r\n return res.data;\r\n }));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { map } from 'rxjs/operators';\r\nimport {\r\n MatDialog,\r\n MatDialogRef,\r\n MAT_DIALOG_DATA,\r\n} from '@angular/material/dialog';\r\nimport { Observable } from 'rxjs';\r\nimport { ErrorComponent } from '../confirm/error.component';\r\nimport { AppConfig } from '../util';\r\nimport { Router } from '@angular/router';\r\nimport { LoginErrorComponent } from '../confirm/loginError';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CommonService {\r\n private baseURL: any = null;\r\n constructor(\r\n private http: HttpClient,\r\n private modalService: MatDialog,\r\n private router: Router,\r\n private appConfig: AppConfig\r\n ) {\r\n this.baseURL = appConfig.getServerURL();\r\n }\r\n\r\n public showerror() {\r\n // this.dialogService.addDialog(ErrorComponent, {\r\n // title: 'Confirm title',\r\n // message: 'Confirm message'\r\n // })\r\n const modal = this.modalService.open(ErrorComponent, {\r\n width: 'auto',\r\n data: { title: 'Confirm title', message: 'Confirm message' },\r\n });\r\n }\r\n\r\n public showLoginError() {\r\n // this.dialogService.addDialog(ErrorComponent, {\r\n // title: 'Confirm title',\r\n // message: 'Confirm message'\r\n // })\r\n const modal = this.modalService.open(LoginErrorComponent, {\r\n width: 'auto',\r\n data: { title: 'Confirm title', message: 'Confirm message' },\r\n });\r\n }\r\n\r\n // authentication with active directory credentials\r\n public login(username: string, password: string, loginas: string, ipAddress) {\r\n return this.http\r\n .post(this.baseURL + 'login', {\r\n username: username,\r\n password: password,\r\n loginas: loginas,\r\n ip: ipAddress,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n // remove local storage data and forward to login page\r\n public logout() {\r\n localStorage.removeItem('data');\r\n localStorage.removeItem('user');\r\n localStorage.removeItem('errorMsg');\r\n localStorage.removeItem('cepData');\r\n localStorage.removeItem('cepUserList');\r\n localStorage.removeItem('userLogsData');\r\n localStorage.removeItem('userList');\r\n localStorage.removeItem('stakeHolder');\r\n localStorage.removeItem('userDetails');\r\n localStorage.removeItem('formDetails');\r\n localStorage.removeItem('csd');\r\n localStorage.removeItem('selectedMonth');\r\n this.router.navigate(['/login']);\r\n }\r\n /**\r\n * Get Client IP Address\r\n */\r\n public getIPAddress() {\r\n return this.http.get('https://api.ipify.org/?format=json');\r\n }\r\n // Get users which are having leaving date >= current date\r\n public getCurrentAvailableUsers() {\r\n return this.http\r\n .post(this.baseURL + 'getCurrentAvailableUsers', {})\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get skills List from skill Master\r\n public getSkillDetails(): Observable {\r\n return this.http.get(this.baseURL + 'getSkillDetails').pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n //Get jira ticket status list\r\n public getJIRATicketStatusList(\r\n searchCSDNo: string,\r\n username: string,\r\n password: string,\r\n status: string\r\n ) {\r\n return this.http\r\n .post(this.baseURL + 'getUsersAndToBePlanned', {\r\n searchCSDNo: searchCSDNo,\r\n username: username,\r\n password: password,\r\n status: status,\r\n })\r\n .pipe(\r\n map((res) => {\r\n if (res && res.data) {\r\n }\r\n return res.data[0].filteredIssues;\r\n })\r\n );\r\n }\r\n\r\n //Get selected ticket total planned hours\r\n public getSelectedTicketPlannedCount(selectedValue: any): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getSelectedTicketPlannedCount', {\r\n csdno: selectedValue,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n //Get users planned data\r\n public getUserPlannedData(\r\n selectedValue: any,\r\n startdate: any,\r\n enddate: any\r\n ): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getUserPlannedData', {\r\n csdno: selectedValue,\r\n startdate: startdate,\r\n enddate: enddate,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get user skill by using skill id\r\n public getUserSkillBySkillId(skillId: any): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getUserSkillBySkillId', { skillId: skillId })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get HTML users details\r\n public getHtmlUsersDetails(): Observable {\r\n return this.http.get(this.baseURL + 'getHtmlUsersDetails').pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get storyline users details\r\n public getStorylineUsersDetails(): Observable {\r\n return this.http.get(this.baseURL + 'getStorylineUsersDetails').pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get lectora user details\r\n public getLectoraUsersDetails(): Observable {\r\n return this.http.get(this.baseURL + 'getLectoraUsersDetails').pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get Booking data for reduce hours\r\n public getBookings(formData): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getBookings', { formData: formData })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get Booking data for reduce hours\r\n public getUserBookingData(formData): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getUserBookingData', { formData: formData })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get Booking data for reduce hours\r\n public getBookingData(formData): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getBookingData', { formData: formData })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get Booking data for reduce hours\r\n public updateBookingHours(bookingData): Observable {\r\n return this.http\r\n .post(this.baseURL + 'updateBookingHours', {\r\n bookingData: bookingData,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get all the users information list\r\n public getAllUsers(startDate) {\r\n return this.http\r\n .post(this.baseURL + 'getAllUsers', { startDate: startDate })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // booked user\r\n public addBookedUser(\r\n changeCSDStatus: any,\r\n selectedCSD: any,\r\n currentCSDStatus: any,\r\n userBookingData: any,\r\n updatedUserData: any\r\n ) {\r\n return this.http\r\n .post(this.baseURL + 'addBookedUser', {\r\n changeCSDStatus: changeCSDStatus,\r\n cSDNo: selectedCSD,\r\n cSDStatus: currentCSDStatus,\r\n bookedUsers: userBookingData,\r\n updatedUserData: updatedUserData,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n // delete user booking data\r\n public deleteUserData(\r\n deletedUser: any,\r\n selectedCSDNo,\r\n deletedUserList\r\n ): Observable {\r\n return this.http\r\n .post(this.baseURL + 'deleteBookedUser', {\r\n deletedUser: deletedUser,\r\n selectedCSDNo: selectedCSDNo,\r\n deletedUserList: deletedUserList,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get CSD info and generate consolidated report\r\n public getCEPReport(\r\n username: string,\r\n password: string,\r\n startDate: String,\r\n endDate: String,\r\n filterName: String\r\n ) {\r\n return this.http\r\n .post(this.baseURL + 'CEPReport', {\r\n username: username,\r\n password: password,\r\n startDate: startDate,\r\n endDate: endDate,\r\n filterName: filterName,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // generate user logged data\r\n public getuserLogsReport(\r\n username: string,\r\n password: string,\r\n startDate: String,\r\n endDate: String,\r\n filterName: String\r\n ) {\r\n return this.http\r\n .post(this.baseURL + 'userLogs', {\r\n username: username,\r\n password: password,\r\n startDate: startDate,\r\n endDate: endDate,\r\n filterName: filterName,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n // Get booked CSD inforamation data based on user\r\n public getUserTaskDetail(username: string, password: string) {\r\n return this.http\r\n .post(this.baseURL + 'getUsersAndToBePlanned', {\r\n username: username,\r\n password: password,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get list of all CSD\r\n public getAllCSDs(startdate: any, enddate: any): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getAllCSDList', {\r\n startdate: startdate,\r\n enddate: enddate,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get all CSD clinet name from JIRA\r\n public getAllCSDClinetNameFromJIRA(\r\n csdsStr,\r\n username,\r\n password,\r\n noOfCSD\r\n ): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getAllCSDClinetNameFromJIRA', {\r\n csdsStr: csdsStr,\r\n username: username,\r\n password: password,\r\n noOfCSD: noOfCSD,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // save user data\r\n public saveData(formDetails: any) {\r\n return this.http\r\n .post(this.baseURL + 'addWorkallocation', formDetails)\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // save applicants data\r\n public saveApplicantsData(formDetails: any) {\r\n return this.http\r\n .post(this.baseURL + 'addApplicant', { formDetails: formDetails })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get workLoad data\r\n public getworkLoadData(formDetails: any) {\r\n return this.http.post(this.baseURL + 'workload', formDetails).pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // save user data\r\n public saveUserData(formDetails: any) {\r\n return this.http\r\n .post(this.baseURL + 'addResouce', { formDetails: formDetails })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // // save applicants data\r\n // public saveApplicantsData(formDetails: any) {\r\n // return this.http.post(this.baseURL + 'addApplicant', { formDetails: formDetails })\r\n // .pipe(map(res => {\r\n // return res.data;\r\n // }))\r\n // }\r\n\r\n // delete user information\r\n public userDeletion(userInfo: any) {\r\n return this.http\r\n .post(this.baseURL + 'deleteUser', { userInfo: userInfo })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // update user information\r\n public updateUserData(formDetails: any) {\r\n return this.http\r\n .post(this.baseURL + 'updateUser', { formData: formDetails })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // update user skill information\r\n public updationResouceSkills(formDetails: any, updateSkillSetData: any) {\r\n return this.http\r\n .post(this.baseURL + 'updationResouceSkills', {\r\n formData: formDetails,\r\n updateSkillSetData: updateSkillSetData,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get All users list\r\n public getUsersList(): Observable {\r\n return this.http.get(this.baseURL + 'fetchUser').pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get All users list by post\r\n public getUsersListByPost(towerId?, supervisorEmail?): Observable {\r\n return this.http\r\n .post(this.baseURL + 'fetchUser', {\r\n towerId: towerId,\r\n supervisorEmail: supervisorEmail\r\n ? supervisorEmail.toLowerCase()\r\n : undefined,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get saved user data\r\n public fetchUserData(userId, towerId, supervisorEmail): Observable {\r\n return this.http\r\n .post(this.baseURL + 'fetchUser', {\r\n userId: userId,\r\n towerId: towerId,\r\n supervisorEmail: supervisorEmail.toLowerCase(),\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get saved user data\r\n public getBehDataForReport(): Observable {\r\n return this.http.post(this.baseURL + 'getBehDataForReport', {}).pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get saved user data\r\n public getFunDataForReport(): Observable {\r\n return this.http.post(this.baseURL + 'getFunDataForReport', {}).pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // fetch all functional skills\r\n public fetchAllFunSkills(userIds: any[]): Observable {\r\n return this.http\r\n .post(this.baseURL + 'fetchAllSkills', { userIds: userIds })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // fetch all skills\r\n public fetchAllBehSkills(userIds: any[]): Observable {\r\n return this.http\r\n .post(this.baseURL + 'fetchAllBehSkills', { userIds: userIds })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // fetch skill data\r\n public fetchSkillData(): Observable {\r\n return this.http.get(this.baseURL + 'fetchSkillData').pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // fetch skill data\r\n public fetchSkillDataPost(towerId): Observable {\r\n return this.http\r\n .post(this.baseURL + 'fetchSkillDataPost', { towerId: towerId })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // fetch skill data\r\n public fetchBehSkillData(): Observable {\r\n return this.http.get(this.baseURL + 'fetchBehSkillData').pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // fetch skill data\r\n public fetchBehSkillDataPost(towerId): Observable {\r\n return this.http\r\n .post(this.baseURL + 'fetchBehSkillDataPost', { towerId: towerId })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // save skills data\r\n public saveSkillsData(userSkillData, createdByEmail) {\r\n return this.http\r\n .post(this.baseURL + 'saveSkillsData', {\r\n createdByEmail: createdByEmail,\r\n userSkillData: userSkillData,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get all user list\r\n public getAllUserList() {\r\n return this.http.get(this.baseURL + 'getAllUserList').pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get utilization resource data\r\n public getUtilizationResource(startDate, endDate) {\r\n return this.http\r\n .post(this.baseURL + 'utilizationResource', {\r\n startDate: startDate,\r\n endDate: endDate,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get booked utilization resource data\r\n public getBookedUtilizationResource(startDate, endDate) {\r\n return this.http\r\n .post(this.baseURL + 'bookedUtilizationResource', {\r\n startDate: startDate,\r\n endDate: endDate,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get resource history information\r\n public getResourcesHistory(startDate, endDate) {\r\n return this.http\r\n .post(this.baseURL + 'getResourcesHistory', {\r\n startDate: startDate,\r\n endDate: endDate,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get resource skills history information\r\n public getResourcesSkillHistory(selectedUserId) {\r\n return this.http\r\n .post(this.baseURL + 'getResourcesSkillHistory', {\r\n selectedUserId: selectedUserId,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get resource beh skills history information\r\n public getResourcesBehSkillHistory(selectedUserId) {\r\n return this.http\r\n .post(this.baseURL + 'getResourcesBehSkillHistory', {\r\n selectedUserId: selectedUserId,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get intervention list\r\n public getInterventionList(skillId?: any): Observable {\r\n return this.http.get(this.baseURL + 'getInterventions').pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get intervention list\r\n public getUsersInterventionList(): Observable {\r\n return this.http.get(this.baseURL + 'getUsersInterventionList').pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n // save user interventions\r\n public saveUserInterventions(interventions) {\r\n return this.http\r\n .post(this.baseURL + 'saveUserIntervention', {\r\n interventions: interventions,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n // save user interventions\r\n public getUserInterventions(userId) {\r\n return this.http\r\n .post(this.baseURL + 'getUserInterventions', { userId: userId })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // save user data\r\n public saveSkillRatingData(\r\n skillRatingData: any,\r\n currentUserSkill: any,\r\n isFunctional: any,\r\n towerId = null\r\n ) {\r\n if (isFunctional) {\r\n return this.http\r\n .post(this.baseURL + 'saveSkillRatingData', {\r\n skillRating: skillRatingData,\r\n currentUserSkill: currentUserSkill,\r\n towerId: towerId,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n } else {\r\n return this.http\r\n .post(this.baseURL + 'saveBehSkillRatingData', {\r\n skillRating: skillRatingData,\r\n currentUserSkill: currentUserSkill,\r\n towerId: towerId,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n }\r\n\r\n // Get saved user data\r\n public fetchSkillRatingData(): Observable {\r\n return this.http.get(this.baseURL + 'getSkillRatingList').pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get all IBU Info\r\n public getAllIBUInfo(): Observable {\r\n return this.http.get(this.baseURL + 'getAllIBUInfo').pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get all IBU Info\r\n public getAllIBUInfoByIbuId(towerId): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getAllIBUInfoByIbuId', { towerId: towerId })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n // update IBU Info\r\n public updateIBUInfo(ibuInfo): Observable {\r\n return this.http\r\n .post(this.baseURL + 'updateIBUInfo', { ibuInfo: ibuInfo })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Save ibu info\r\n public saveIBUInfo(ibuInfo): Observable {\r\n return this.http\r\n .post(this.baseURL + 'saveIBUInfo', { ibuInfo: ibuInfo })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get users list api call\r\n public getTowerInfo(towerId, isFatchAll): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getTowerInfo', {\r\n towerId: towerId,\r\n isFatchAll: isFatchAll,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get users list api call\r\n public getTowerInfoByIbuId(towerId): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getTowerInfoByIbuId', { towerId: towerId })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n // Get towers list\r\n public getTowersListByIbuId(ibuId, functionId): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getTowersListByIbuId', {\r\n ibuId: ibuId,\r\n functionId: functionId,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get towers info\r\n public getTowerList(): Observable {\r\n return this.http.get(this.baseURL + 'getTowerList').pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get position list\r\n public getPositionList(towerId): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getPositionList', { towerId })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get training list\r\n public getTrainingList(towerId): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getTrainingList', { towerId })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Save tower Info\r\n public saveTowerInfo(towerInfo): Observable {\r\n return this.http\r\n .post(this.baseURL + 'saveTowerInfo', { towerInfo: towerInfo })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Update tower Info\r\n public updateTowerInfo(towerInfo): Observable {\r\n return this.http\r\n .post(this.baseURL + 'updateTowerInfo', { towerInfo: towerInfo })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get management users list\r\n public getManagementUsersList(): Observable {\r\n return this.http.get(this.baseURL + 'getManagementUsersList').pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get management users list use by towerId\r\n public getManagementUsersListByTowerId(towerId): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getManagementUsersListByTowerId', {\r\n towerId: towerId,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Save management users Info\r\n public saveManagementUserInfo(managementUserInfo): Observable {\r\n return this.http\r\n .post(this.baseURL + 'saveManagementUserInfo', {\r\n managementUserInfo: managementUserInfo,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Update management users Info\r\n public updateManagementUserInfo(managementUserInfo): Observable {\r\n return this.http\r\n .post(this.baseURL + 'updateManagementUserInfo', {\r\n managementUserInfo: managementUserInfo,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get all user role list\r\n public getAllUserRoleList(): Observable {\r\n return this.http.get(this.baseURL + 'getAllUserRoleList').pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get modules config info\r\n public getModulesConfigInfo(): Observable {\r\n return this.http.get(this.baseURL + 'getModulesConfigList').pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get modules config info by tower id\r\n public getModulesConfigInfoBytowerId(towerId): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getModulesConfigInfoBytowerId', {\r\n towerId: towerId,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Save module config info\r\n public saveModuleConfigInfo(moduleConfig): Observable {\r\n return this.http\r\n .post(this.baseURL + 'saveModuleConfig', {\r\n moduleConfig: moduleConfig,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Update module config info\r\n public updateModuleConfigInfo(moduleConfig): Observable {\r\n return this.http\r\n .post(this.baseURL + 'updateModuleConfig', {\r\n moduleConfig: moduleConfig,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get modules config info\r\n public getModuleConfigInfo(towerId): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getModuleConfigInfo', { towerId: towerId })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get Super users details\r\n public getSuperUserInfo(userName): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getSuperUserInfo', { userName: userName })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get Super users list\r\n public getSuperUserList(): Observable {\r\n return this.http.get(this.baseURL + 'getSuperUserList').pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Save super info\r\n public saveSuperUserInfo(superUserInfo): Observable {\r\n return this.http\r\n .post(this.baseURL + 'saveSuperUserInfo', {\r\n superUserInfo: superUserInfo,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Update super user info\r\n public updationSuperUserInfo(superUserInfo): Observable {\r\n return this.http\r\n .post(this.baseURL + 'updationSuperUserInfo', {\r\n superUserInfo: superUserInfo,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get all tower location infomation\r\n public getAllTowerLocationInfo(): Observable {\r\n return this.http.get(this.baseURL + 'getAllTowerLocationInfo').pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Save accounts Info\r\n public saveTowerLocationInfo(towerLocationInfo): Observable {\r\n return this.http\r\n .post(this.baseURL + 'saveTowerLocationInfo', {\r\n towerLocationInfo: towerLocationInfo,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Update accounts info\r\n public updateTowerLocationInfo(towerLocationInfo): Observable {\r\n return this.http\r\n .post(this.baseURL + 'updateTowerLocationInfo', {\r\n towerLocationInfo: towerLocationInfo,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get report email management config info\r\n public getReportEmailManagementConfigInfo(): Observable {\r\n return this.http.get(this.baseURL + 'getReportEmailInfoList').pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get modules config info by tower id\r\n public getReportEmailManagementConfigInfoBytowerId(towerId): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getReportEmailInfoByTowerId', {\r\n towerId: towerId,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Save report email config info\r\n public saveReportEmailConfigInfo(reportEmailConfig): Observable {\r\n return this.http\r\n .post(this.baseURL + 'saveReportEmailConfig', {\r\n reportEmailConfig: reportEmailConfig,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Update report email config info\r\n public updateReportEmailConfigInfo(reportEmailConfig): Observable {\r\n return this.http\r\n .post(this.baseURL + 'updateReportEmailConfig', {\r\n reportEmailConfig: reportEmailConfig,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Save functional skill\r\n public saveFunSkill(ibuInfo): Observable {\r\n return this.http\r\n .post(this.baseURL + 'saveFunSkill', { ibuInfo: ibuInfo })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get all functional skills\r\n public getAllFunSkills(): Observable {\r\n return this.http.get(this.baseURL + 'getAllFunSkills').pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get all functional skills\r\n public postAllFunSkills(towerId?, positionId?): Observable {\r\n return this.http\r\n .post(this.baseURL + 'postAllFunSkills', {\r\n towerId: towerId,\r\n positionId: positionId,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // update functional skills\r\n public updateFunSkill(formInfo): Observable {\r\n return this.http\r\n .post(this.baseURL + 'updateFunSkill', { formInfo: formInfo })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Save Behavioral Skill\r\n public saveBehSkill(ibuInfo): Observable {\r\n return this.http\r\n .post(this.baseURL + 'saveBehSkill', { ibuInfo: ibuInfo })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get all behavioral skills\r\n public getAllBehSkills(): Observable {\r\n return this.http.get(this.baseURL + 'getAllBehSkills').pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get all behavioral skills\r\n public postAllBehSkills(towerId, positionId?): Observable {\r\n return this.http\r\n .post(this.baseURL + 'postAllBehSkills', {\r\n towerId: towerId,\r\n positionId: positionId,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n public getAllBehRatingsForUser(towerId, userId): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getAllBehRatingsForUser', {\r\n towerId: towerId,\r\n userId: userId,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n public getAllBehSelfRatingsForUser(towerId, userId): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getAllBehSelfRatingsForUser', {\r\n towerId: towerId,\r\n userId: userId,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get all behavioral skills\r\n public getAllFunRatingsForUser(towerId, userId): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getAllFunRatingsForUser', {\r\n towerId: towerId,\r\n userId: userId,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get all behavioral skills\r\n public getAllFunSelfRatingsForUser(towerId, userId): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getAllFunSelfRatingsForUser', {\r\n towerId: towerId,\r\n userId: userId,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // update behavioral skills\r\n public updateBehSkill(formInfo): Observable {\r\n return this.http\r\n .post(this.baseURL + 'updateBehSkill', { formInfo: formInfo })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get user skill rating information by user Id\r\n public getUserFunSkillRatingInfo(\r\n userId: any[],\r\n towerId,\r\n positionId\r\n ): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getUserSkillRatingInfo', {\r\n userId: userId,\r\n towerId: towerId,\r\n positionId,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get user skill rating information by user Id\r\n public getUserBehSkillRatingInfo(\r\n userId: any[],\r\n towerId,\r\n positionId\r\n ): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getUserBehSkillRatingInfo', {\r\n userId: userId,\r\n towerId: towerId,\r\n positionId: positionId,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Save Skill Rating\r\n public saveSkillRating(formInfo): Observable {\r\n return this.http\r\n .post(this.baseURL + 'saveSkillRating', { formInfo: formInfo })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // update Skill Rating\r\n public updateSkillRating(formInfo): Observable {\r\n return this.http\r\n .post(this.baseURL + 'updateSkillRating', { formInfo: formInfo })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get all position info\r\n public getAllPositionInfo(towerId): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getAllPositions', { towerId })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Save position info\r\n public savePositionInfo(position): Observable {\r\n return this.http\r\n .post(this.baseURL + 'savePosition', { position: position })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Update position info\r\n public updatePositionInfo(position): Observable {\r\n return this.http\r\n .post(this.baseURL + 'updatePosition', { position: position })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get all position info\r\n public fetchRoles(): Observable {\r\n return this.http.get(this.baseURL + 'getAllRoles').pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Save position info\r\n public saveRole(position): Observable {\r\n return this.http\r\n .post(this.baseURL + 'saveRole', { role: position })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Update position info\r\n public updateRole(position): Observable {\r\n return this.http\r\n .post(this.baseURL + 'updateRole', { role: position })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get Target Role\r\n public getNextPosition(userId): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getNextPosition', { userId: userId })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get Target Role\r\n public allInfoPosition(positionId): Observable {\r\n return this.http\r\n .post(this.baseURL + 'allInfoPosition', { positionId: positionId })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Get Target Role\r\n public getAllNextPositions(userIds, towerId): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getAllNextPositions', {\r\n userIds: userIds,\r\n towerId,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n public getAllNextPositions2(userIds): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getAllNextPositions2', { userIds: userIds })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Send Email\r\n public sendEmailNiit(\r\n emailType,\r\n toEmail,\r\n ccEmail,\r\n isenabledBeh,\r\n isenabledFun,\r\n userId,\r\n towerId\r\n ): Observable {\r\n console.log('>>>>>>>>>>>>sendEmailNiit');\r\n return this.http\r\n .post(this.baseURL + 'sendEmailNiit', {\r\n emailType,\r\n toEmail: toEmail.toLowerCase(),\r\n ccEmail: ccEmail.toLowerCase(),\r\n isenabledBeh,\r\n isenabledFun,\r\n userId,\r\n towerId: towerId,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n // Send Email to all\r\n public sendEmailToAll(type): Observable {\r\n console.log('sendEmailToAll');\r\n var towerId = JSON.parse(localStorage.getItem('user')).userData.towerId;\r\n return this.http\r\n .post(this.baseURL + 'sendEmailToAll', { type, towerId })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n //shruti - 8/6/2020\r\n //Nominee Api\r\n //Get user details\r\n public getAUser(formDetails: any): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getAUser', { formDetails: formDetails })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n //get Resouces for all nominated users\r\n public getAllResoucesForTower(formDetails: any): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getAllResoucesForTower', {\r\n formDetails: formDetails,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n // hr can approve and disaprove the nominated user request\r\n public approveDisapprove(formDetails: any): Observable {\r\n return this.http\r\n .post(this.baseURL + 'approveDisapprove', {\r\n formDetails: formDetails,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n // insert status history\r\n public statusHistoryData(formStatusDetails: any): Observable {\r\n return this.http\r\n .post(this.baseURL + 'statusHistoryData', {\r\n formStatusDetails: formStatusDetails,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n public userNewNominee(formDetails: any): Observable {\r\n return this.http\r\n .post(this.baseURL + 'userNewNominee', { formDetails: formDetails })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n // Get user behavoral skill\r\n public getBehUserSkill(postData) {\r\n return this.http\r\n .post(this.baseURL + 'getBehSkillsBytowerPosition', postData)\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n // Get user behavoral skill\r\n public getFunUserSkill(postData) {\r\n return this.http\r\n .post(this.baseURL + 'getFunSkillsBytowerPosition', postData)\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n /**\r\n * For reset user for renomination.\r\n */\r\n resetUserforRenomination(userData) {\r\n return this.http\r\n .post(this.baseURL + 'resetUserForRenomination', userData)\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n /**\r\n * Get function list by IBU ID\r\n */\r\n public getFunctionListByIbuId(ibuId): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getFunctionsListByIbuId', { ibuId: ibuId })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n /**\r\n * Get nominated user istory by email.\r\n */\r\n getNominatedUserHistory(data) {\r\n return this.http\r\n .post(this.baseURL + 'nominatedUserHistory', data)\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n /**\r\n * Get Beh. Competency data by tower Id.\r\n */\r\n public getBehDataByTowerIdReport(postData): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getBehCompDataByTowerId', postData)\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n /**\r\n * Get Fun. Competency data by tower Id.\r\n */\r\n public getFunDataByTowerIdReport(postData): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getFunCompDataByTowerId', postData)\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n /**\r\n * Get Beh. Competency data by tower Id.\r\n */\r\n public getBehDataByTowerIdReportForStatus(postData): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getBehCompDataByTowerIdForStatus', postData)\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n /**\r\n * Get Fun. Competency data by tower Id.\r\n */\r\n public getFunDataByTowerIdReportForStatus(postData): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getFunCompDataByTowerIdForStatus', postData)\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n /**\r\n * Fetch users For Report\r\n */\r\n public getUsersForReportByTowerIdsArr(postData): Observable {\r\n return this.http.post(this.baseURL + 'usersForReport', postData).pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n // =====For Skill Matrix ====\r\n /**\r\n * Save skill matrix data\r\n */\r\n public addSkillMatrixUserData(formDetails: any) {\r\n return this.http\r\n .post(this.baseURL + 'addSkillMatrixUser', {\r\n formDetails: formDetails,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n /**\r\n * Get the skill matrix user list.\r\n */\r\n public getSkillMatrixUsers(towerId): Observable {\r\n return this.http\r\n .post(this.baseURL + 'getSkillMatrixUsers', { towerId: towerId })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n /**\r\n * Update user skill of skill matrix\r\n */\r\n userSkillInfo(formInfo: any) {\r\n return this.http\r\n .post(this.baseURL + 'updateUserSkill', { formInfo: formInfo })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n /**\r\n * Get the skill matrix user skill\r\n */\r\n getSkillMatrixUserSkill(userId) {\r\n return this.http\r\n .post(this.baseURL + 'getSkillMatrixUserSkill', { userId: userId })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n /**\r\n * Get the user competency by targetRoleId\r\n */\r\n getUserCompetency(targetRoleId) {\r\n return this.http\r\n .post(this.baseURL + 'getUserCompetency', {\r\n targetRoleId: targetRoleId,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n /**\r\n * Save function competency of skill matrix.\r\n */\r\n saveFunSkillRating(formData) {\r\n return this.http\r\n .post(this.baseURL + 'saveFunSkillRatingSm', { formData: formData })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n /**\r\n * Get User saved skill rating data.\r\n */\r\n getUserSavedFunRatingData(userId) {\r\n return this.http\r\n .post(this.baseURL + 'userSavedFunRatingData', { userId: userId })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n /**\r\n * Get the user Beh competency by targetRoleId\r\n */\r\n getUserBehCompetency(targetRoleId) {\r\n return this.http\r\n .post(this.baseURL + 'getUserBehCompetency', {\r\n targetRoleId: targetRoleId,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n /**\r\n * Save behavioral competency of skill matrix.\r\n */\r\n saveBehSkillRating(formData) {\r\n return this.http\r\n .post(this.baseURL + 'saveBehSkillRatingSm', { formData: formData })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n /**\r\n * Get User saved beh. skill rating data.\r\n */\r\n getUserSavedBehRatingData(userId) {\r\n return this.http\r\n .post(this.baseURL + 'userSavedBehRatingData', { userId: userId })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n /**\r\n * Get user functionl rating history\r\n */\r\n getUserFunSkillRatinghistory(userId, positionId) {\r\n return this.http\r\n .post(this.baseURL + 'userFunSkillRatinghistory', {\r\n userId: userId,\r\n positionId: positionId,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n /**\r\n * Get user Beh. rating history\r\n */\r\n getUserBehSkillRatinghistory(userId, positionId) {\r\n return this.http\r\n .post(this.baseURL + 'userBehSkillRatinghistory', {\r\n userId: userId,\r\n positionId: positionId,\r\n })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n /**\r\n * Save user notes\r\n */\r\n addUserNotes(formData) {\r\n return this.http\r\n .post(this.baseURL + 'addUserNotes', { formData })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n /**\r\n * Save user notes\r\n */\r\n getUserNotes(userId) {\r\n return this.http.post(this.baseURL + 'getUserNotes', { userId }).pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n /**\r\n * Save user notes\r\n */\r\n getAllUserNotes(userId = null) {\r\n return this.http\r\n .post(this.baseURL + 'getAllUserNotes', { userId })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n\r\n getUserStatus(status) {\r\n let trStatus = 'Pending';\r\n if (status == 0) {\r\n trStatus = 'Rejected';\r\n } else if (status == 1) {\r\n trStatus = 'Approved';\r\n } else if (status == 2) {\r\n trStatus = 'Not Initiated';\r\n } else if (status == 3) {\r\n trStatus = 'Closed';\r\n } else if (status == 4) {\r\n trStatus = 'Not Promoted';\r\n } else if (status == 5) {\r\n trStatus = 'Promoted';\r\n } else if (status == 6) {\r\n trStatus = 'Continued';\r\n } else if (status == 7) {\r\n trStatus = 'Submitted'; // Nominated\r\n }\r\n return trStatus;\r\n }\r\n getUserDetail(userId) {\r\n return this.http\r\n .post(this.baseURL + 'getUserDetail', { userId: userId })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n saveUserProfileHistory(formData) {\r\n return this.http\r\n .post(this.baseURL + 'saveUserProfileHistory', { formData })\r\n .pipe(\r\n map((res) => {\r\n return res.data;\r\n })\r\n );\r\n }\r\n public importUserData(userFile: any): Observable {\r\n return this.http.post(this.baseURL + 'userUpload', userFile).pipe(\r\n map((res) => {\r\n return res;\r\n })\r\n );\r\n }\r\n}\r\n","import { Component, OnInit, Compiler, ViewChild, ElementRef } from '@angular/core';\r\nimport { first, retry } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { ErrorComponent } from '../confirm/error.component';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { FormBuilder, Validators, FormControl } from '@angular/forms';\r\nimport { NgbDatepickerConfig } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AppConfig } from '../util';\r\nimport { CommonService } from '../service/commons-service';\r\nimport { Common } from '../util/common';\r\n\r\n@Component({ templateUrl: './managementusers.component.html', styleUrls: ['./managementusers.component.css'] })\r\nexport class ManagementUsersComponent implements OnInit {\r\n\r\n @ViewChild('closeModel', { read: ElementRef }) closeModel: ElementRef;\r\n users: any = {};\r\n managementUserForm: any;\r\n config: any;\r\n managementUserInfoList: any[] = [];\r\n towerInfoList: any[] = [];\r\n submitted = false;\r\n loginImageURL: any = \"\";\r\n loginUserName: any = \"\";\r\n baseURL: any = null;\r\n showHideModel: boolean = true;\r\n loading: boolean = false;\r\n activeUserCount: number = 0;\r\n inactiveUserCount: number = 0;\r\n towerId: any;\r\n towerName: any;\r\n superUserType: any = \"\";\r\n imageURL = \"https://i0.wp.com/www.winhelponline.com/blog/wp-content/uploads/2017/12/user.png?fit=256%2C256&quality=100&ssl=1\";\r\n\r\n userRoles: any[] = [];\r\n isSuperAdmin: any = false;\r\n isHrUser: any = false;\r\n ibuList: any = [];\r\n checkedIbuList: any = [];\r\n selectedUserIbu: any = [];\r\n updatedIbuList: any = [];\r\n constructor(private modalService: MatDialog,\r\n private router: Router,\r\n private formBuilder: FormBuilder,\r\n private commonService: CommonService,\r\n private appConfig: AppConfig,\r\n config: NgbDatepickerConfig,\r\n private common: Common,\r\n private _compiler: Compiler) {\r\n this._compiler.clearCache();\r\n this.users = JSON.parse(localStorage.getItem('user'));\r\n if (!this.users || !this.users.userData) {\r\n this.commonService.logout\r\n return;\r\n }\r\n if (this.users && this.users.userData) {\r\n this.loginImageURL = this.users.userData.imageURL;\r\n this.loginUserName = this.users.userData.userFullName;\r\n this.towerId = this.users.userData.towerId;\r\n this.towerName = localStorage.getItem('towerName');\r\n // this.allowToSeeProjectAndAccountBULevel = this.users.userData.allowToSeeProjectAndAccountBULevel;\r\n }\r\n if (localStorage.getItem('superUserType')) {\r\n this.superUserType = localStorage.getItem('superUserType');\r\n }\r\n if (this.common.isSuperUser()) {\r\n this.isSuperAdmin = true;\r\n }\r\n let currentDate = new Date();\r\n this.config = config;\r\n this.config.minDate = { year: currentDate.getFullYear() - 10, month: currentDate.getMonth(), day: currentDate.getDate() };\r\n this.config.maxDate = { year: 2099, month: 12, day: 31 };\r\n this.config.markDisabled = false;\r\n this.initUserInfo();\r\n }\r\n\r\n //initailised user form\r\n ngOnInit() {\r\n this.getIbuList();\r\n this.initUserInfo();\r\n this.initialization();\r\n }\r\n\r\n //initial setup level assets\r\n private initialization() {\r\n this.getAllManagementUsersInfo();\r\n this.getAllTowsersInfo();\r\n this.getAllUserRoleList();\r\n }\r\n\r\n //reset user form\r\n initUserInfo() {\r\n if (this.superUserType == \"super\") {\r\n this.managementUserForm = this.formBuilder.group({\r\n userFullName: ['', Validators.required],\r\n userName: ['', Validators.required],\r\n userEmail: ['', Validators.required],\r\n userRoll: new FormControl(\"Select Role\"),\r\n userStatus: new FormControl(\"User Status\"),\r\n });\r\n } else {\r\n this.managementUserForm = this.formBuilder.group({\r\n userFullName: ['', Validators.required],\r\n userName: ['', Validators.required],\r\n userEmail: ['', Validators.required],\r\n userRoll: new FormControl(\"Select Role\"),\r\n ibuId: new FormControl([]),\r\n userStatus: new FormControl(\"User Status\"),\r\n });\r\n }\r\n\r\n }\r\n\r\n //reset user form \r\n private setUpdateUserInfo(managementUser) {\r\n this.initUserInfo();\r\n this.selectedUserIbu = (managementUser.ibuId) ? managementUser.ibuId.split(',') : [];\r\n this.checkedIbuList = this.selectedUserIbu;\r\n for (let i = 0; i < this.updatedIbuList.length; i++) {\r\n const index = this.selectedUserIbu.findIndex(x => Number(x) == this.updatedIbuList[i].ibuId);\r\n if (index != -1) {\r\n this.updatedIbuList[i].isChecked = true;\r\n } else {\r\n this.updatedIbuList[i].isChecked = false;\r\n }\r\n }\r\n if (managementUser.userRoll == 3 || managementUser.userRoll == 7) {\r\n this.isHrUser = true;\r\n } else {\r\n this.isHrUser = false;\r\n }\r\n this.managementUserForm = this.formBuilder.group({\r\n userFullName: new FormControl(managementUser.userFullName),\r\n userName: new FormControl(managementUser.userName),\r\n userEmail: new FormControl(managementUser.userEmail),\r\n userRoll: new FormControl(managementUser.userRoll),\r\n ibuId: new FormControl(managementUser.ibuId),\r\n userId: new FormControl(managementUser.userId),\r\n userStatus: new FormControl(managementUser.userStatus),\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n //Get all accounts info\r\n private getAllManagementUsersInfo() {\r\n this.loading = true;\r\n this.managementUserInfoList = [];\r\n this.commonService.getManagementUsersList().pipe(first()).subscribe(\r\n data => {\r\n this.managementUserInfoList = data;\r\n this.loading = false;\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n\r\n //Get all accounts info\r\n private getManagementUsersListByTowerId() {\r\n this.loading = true;\r\n this.managementUserInfoList = [];\r\n this.commonService.getManagementUsersListByTowerId(this.towerId).pipe(first()).subscribe(\r\n data => {\r\n this.managementUserInfoList = data;\r\n this.loading = false;\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n //Get all towsers info\r\n private getAllTowsersInfo() {\r\n this.loading = true;\r\n this.towerInfoList = [];\r\n this.commonService.getTowerList().pipe(first()).subscribe(\r\n data => {\r\n this.towerInfoList = data;\r\n this.loading = false;\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n\r\n //Get tower info by towerId\r\n //Get all accounts info\r\n private getTowerInfo(isFatchAll) {\r\n this.loading = true;\r\n this.towerInfoList = [];\r\n this.commonService.getTowerInfo(this.towerId, isFatchAll).pipe(first()).subscribe(\r\n data => {\r\n this.towerInfoList = data;\r\n this.loading = false;\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n\r\n // Save new user profile\r\n private onSubmit(managementUserInfo) {\r\n if (this.managementUserForm.invalid) {\r\n this.submitted = true;\r\n return;\r\n } else {\r\n\r\n managementUserInfo['ibuId'] = this.checkedIbuList.join();\r\n if (this.isHrUser && this.checkedIbuList.length < 1) {\r\n localStorage.setItem('errorMsg', 'Please select IBU');\r\n this.showerror();\r\n return;\r\n }\r\n if (managementUserInfo.userRoll == \"Select Role\") {\r\n localStorage.setItem('errorMsg', 'Must Select Role!');\r\n this.showerror();\r\n return;\r\n }\r\n\r\n if (this.checkUserAlreadyExits(managementUserInfo.userName, managementUserInfo.userEmail)) {\r\n localStorage.setItem('errorMsg', 'This user already exits!');\r\n this.showerror();\r\n return\r\n }\r\n\r\n\r\n if (!this.validateEmail(managementUserInfo.userEmail)) {\r\n localStorage.setItem('errorMsg', 'Invaild Email!');\r\n this.showerror();\r\n return\r\n }\r\n\r\n this.loading = true;\r\n //set login user email\r\n this.commonService.saveManagementUserInfo(managementUserInfo).pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.managementUserForm.reset();\r\n localStorage.setItem('errorMsg', 'Profile Added successfully!');\r\n this.initialization();\r\n this.showerror();\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', 'Must enter all the fields!');\r\n this.showerror();\r\n }\r\n )\r\n }\r\n }\r\n\r\n private validateEmail(email) {\r\n var re = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n return re.test(String(email).toLowerCase());\r\n }\r\n\r\n // update user profile \r\n private updateManagementUserInfo(managementUserInfo) {\r\n if (this.managementUserForm.invalid) {\r\n localStorage.setItem('errorMsg', 'Please enter user information!');\r\n this.showerror();\r\n return\r\n }\r\n if (managementUserInfo != null) {\r\n managementUserInfo['ibuId'] = this.checkedIbuList.join();\r\n if (this.isHrUser && this.checkedIbuList.length < 1) {\r\n localStorage.setItem('errorMsg', 'Please select IBU');\r\n this.showerror();\r\n return;\r\n }\r\n\r\n if (managementUserInfo) {\r\n if (managementUserInfo.userRoll == \"Select Role\") {\r\n localStorage.setItem('errorMsg', 'Must Select Role!');\r\n this.showerror();\r\n return;\r\n }\r\n\r\n if (!this.validateEmail(managementUserInfo.userEmail)) {\r\n localStorage.setItem('errorMsg', 'Invaild Email!');\r\n this.showerror();\r\n return\r\n }\r\n this.loading = true;\r\n //set login user email\r\n this.commonService.updateManagementUserInfo(managementUserInfo).pipe(first()).subscribe(\r\n data => {\r\n\r\n localStorage.setItem('user', JSON.stringify(this.users));\r\n this.loading = false;\r\n this.initialization();\r\n this.closeModels();\r\n localStorage.setItem('errorMsg', 'Management user updated successfully!');\r\n this.showerror();\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n }\r\n }\r\n\r\n // Delete user profile\r\n private onDeleteSubmit(userInfo) {\r\n this.loading = true;\r\n //set login user email\r\n this.commonService.userDeletion(userInfo).pipe(first()).subscribe(\r\n data => {\r\n this.loading = true;\r\n localStorage.setItem('errorMsg', 'IBU is deleted successfully!');\r\n localStorage.removeItem('errorMsg');\r\n this.initialization();\r\n this.showerror();\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n\r\n //check management user already exits\r\n private checkUserAlreadyExits(userName, userEmail) {\r\n let isUserExits = false;\r\n userName = userName.toLowerCase();\r\n for (let i = 0; i < this.managementUserInfoList.length; i++) {\r\n let ursName = this.managementUserInfoList[i].userName.toLowerCase();\r\n if (ursName == userName || this.managementUserInfoList[i].userEmail == userEmail) {\r\n isUserExits = true;\r\n }\r\n }\r\n return isUserExits;\r\n }\r\n\r\n // Get all user role list\r\n private getAllUserRoleList() {\r\n this.loading = true;\r\n this.userRoles = [];\r\n this.commonService.getAllUserRoleList().pipe(first()).subscribe(\r\n data => {\r\n for (let i = 0; i < data.length; i++) {\r\n if (!this.common.isSuperUser() && (data[i].roleId === 3 || data[i].roleId === 4 || data[i].roleId === 6)) {\r\n this.userRoles.push(data[i]);\r\n }\r\n if (this.common.isSuperUser() && (data[i].roleId === 1 || data[i].roleId === 3 || data[i].roleId === 4 || data[i].roleId === 6 || data[i].roleId === 7)) {\r\n this.userRoles.push(data[i]);\r\n }\r\n }\r\n // this.userRoles = data;\r\n this.loading = false;\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n\r\n // Get ibu name based on ibuId\r\n private getUserRoleName(roleId) {\r\n let userRoleName = \"\";\r\n for (let i = 0; i < this.userRoles.length; i++) {\r\n if (this.userRoles[i].userRoleId == roleId) {\r\n userRoleName = this.userRoles[i].userRoleName;\r\n break;\r\n }\r\n }\r\n return userRoleName;\r\n }\r\n\r\n //close dailog box\r\n private closeModels() {\r\n this.closeModel.nativeElement.click();\r\n }\r\n\r\n //show dailog box for user messages\r\n showerror() {\r\n\r\n const modal = this.modalService.open(ErrorComponent, {\r\n width: 'auto',\r\n data: { title: 'Confirm title', message: 'Confirm message' }\r\n });\r\n }\r\n\r\n\r\n /**\r\n * Get list of IBU\r\n */\r\n getIbuList() {\r\n this.commonService.getAllIBUInfo().subscribe(data => {\r\n this.ibuList = data;\r\n for (let i = 0; i < this.ibuList.length; i++) {\r\n const obj = {\r\n ibuId: this.ibuList[i].ibuId,\r\n ibuName: this.ibuList[i].ibuName,\r\n isChecked: false,\r\n }\r\n this.updatedIbuList.push(obj);\r\n }\r\n },\r\n error => {\r\n });\r\n }\r\n /**\r\n * Change Role\r\n */\r\n changeRole(event) {\r\n // this.checkedIbuList = [];\r\n this.isHrUser = false;\r\n if (event.target.value == 3 || event.target.value == 7) {\r\n this.isHrUser = true;\r\n }\r\n }\r\n /**\r\n * Change checkBox value\r\n */\r\n onCheckboxChange(event) {\r\n const index = this.checkedIbuList.findIndex(x => x == Number(event.target.value));\r\n if (index == -1) {\r\n this.checkedIbuList.push(Number(event.target.value));\r\n } else {\r\n this.checkedIbuList.splice(index, 1);\r\n }\r\n }\r\n\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Management Users Detail Form
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
0\">\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
S.NoFull NameUser NameEmailUser RoleAction
\r\n
{{managementUserInfoList.indexOf(managementUser) + 1}}
\r\n
\r\n
{{managementUser.userFullName}}
\r\n
\r\n
{{managementUser.userName}}
\r\n
\r\n
{{managementUser.userEmail}}
\r\n
\r\n
{{managementUser.roleName}}
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, Compiler, ViewChild, Input, ElementRef } from '@angular/core';\r\nimport { first, retry } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { ErrorComponent } from '../confirm/error.component';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { FormBuilder, Validators, FormControl, FormArray } from '@angular/forms';\r\nimport { NgbDatepickerConfig } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AppConfig } from '../util';\r\nimport { CommonService } from '../service/commons-service';\r\nimport { Common } from '../util/common';\r\n\r\n@Component({ templateUrl: './behavioralSkillMaster.component.html', styleUrls: ['./behavioralSkillMaster.component.css'] })\r\nexport class BehavioralSkillMasterComponent implements OnInit {\r\n\r\n @ViewChild('closeModel', {read: ElementRef}) closeModel: ElementRef;\r\n users: any = {};\r\n formObj: any;\r\n config: any;\r\n formInfoList: any[] = [];\r\n submitted = false;\r\n loginImageURL: any = \"\";\r\n loginUserName: any = \"\";\r\n baseURL: any = null;\r\n showHideModel: boolean = true;\r\n loading: boolean = false;\r\n activeUserCount: number = 0;\r\n inactiveUserCount: number = 0;\r\n towerId: any;\r\n towerName: any;\r\n positionName: any;\r\n superUserType: any = \"\";\r\n allTowers: any = [];\r\n allPositions: any = [];\r\n allTraining: any = [];\r\n allIbus: any = [];\r\n selectedTowerId: any = 0;\r\n selectedPositionId: any = 0; // = 10;\r\n towerSelect: any = \"1\";\r\n positionSelect: any = \"1\";\r\n currIndex:number;\r\n\r\n\r\n constructor(private modalService: MatDialog,\r\n private router: Router,\r\n private formBuilder: FormBuilder,\r\n private commonService: CommonService,\r\n private appConfig: AppConfig,\r\n config: NgbDatepickerConfig,\r\n public common: Common,\r\n private _compiler: Compiler) {\r\n this._compiler.clearCache();\r\n this.users = JSON.parse(localStorage.getItem('user'));\r\n if (!this.users || !this.users.userData) {\r\n this.commonService.logout\r\n return;\r\n }\r\n if (this.users && this.users.userData) {\r\n this.loginImageURL = '/assets/default.png';\r\n this.loginUserName = this.users.userData.userFullName;\r\n this.towerId = this.users.userData.towerId;\r\n this.towerName = localStorage.getItem('towerName');\r\n // All process done with tower selected on dashboard\r\n this.selectedTowerId = (this.towerId != null || this.towerId != undefined) ? this.towerId : 0;\r\n }\r\n if (localStorage.getItem('superUserType')) {\r\n this.superUserType = localStorage.getItem('superUserType');\r\n }\r\n let currentDate = new Date();\r\n this.config = config;\r\n this.config.minDate = { year: currentDate.getFullYear() - 10, month: currentDate.getMonth(), day: currentDate.getDate() };\r\n this.config.maxDate = { year: 2099, month: 12, day: 31 };\r\n this.config.markDisabled = false;\r\n this.initUserInfo();\r\n \r\n }\r\n\r\n\r\n //initailised user form\r\n ngOnInit() {\r\n this.formObj = this.formBuilder.group({\r\n skillName: ['', Validators.required],\r\n skillId: new FormControl(null),\r\n towerId: new FormControl(this.selectedTowerId),\r\n skillCode: ['Dummy', Validators.required],\r\n targetScore: ['', Validators.required],\r\n positionId: ['', Validators.required],\r\n arrOfTraining : this.formBuilder.array([this.formBuilder.group({trainingPoint:''})])\r\n });\r\n this.initialization();\r\n }\r\n\r\n get arr_of_training() {\r\n return this.formObj.get('arrOfTraining') as FormArray;\r\n }\r\n\r\n addTraining() {\r\n this.arr_of_training.push(this.formBuilder.group({trainingPoint:''})); \r\n }\r\n\r\n deleteTraining(i) {\r\n this.arr_of_training.removeAt(-1); \r\n }\r\n\r\n get arr_of_training_update() {\r\n return this.formObj.get('arrOfTraining') as FormArray;\r\n }\r\n\r\n addTrainingUpdate(obj?) {\r\n if(obj){\r\n this.arr_of_training_update.push(this.formBuilder.group({trainingPoint:obj.trainingPoint})); \r\n }else{\r\n this.arr_of_training_update.push(this.formBuilder.group({trainingPoint:''})); \r\n }\r\n \r\n }\r\n\r\n deleteTrainingUpdate(i) {\r\n this.arr_of_training_update.removeAt(-1); \r\n }\r\n\r\n\r\n //initial setup level assets\r\n private initialization() {\r\n this.getAllSkills();\r\n this.getTowerList();\r\n this.getPositionList(this.selectedTowerId);\r\n\r\n \r\n }\r\n /**\r\n * Update position list if cange tower in add comp. form\r\n */\r\n updatePositionList() {\r\n this.getPositionList(this.towerSelect);\r\n }\r\n\r\n //reset user form\r\n initUserInfo() {\r\n this.formObj = this.formBuilder.group({\r\n skillName: ['', Validators.required],\r\n skillId: new FormControl(null),\r\n towerId: new FormControl(this.selectedTowerId),\r\n skillCode: ['Dummy', Validators.required],\r\n targetScore: ['', Validators.required],\r\n positionId: ['', Validators.required],\r\n arrOfTraining: new FormArray([])\r\n });\r\n }\r\n\r\n //reset user form \r\n private setUpdateUserInfo(formInfo, i) {\r\n this.initUserInfo();\r\n this.allTraining = JSON.parse(this.formInfoList[i].arrOfTraining);\r\n\r\n this.formObj = this.formBuilder.group({\r\n skillName: new FormControl(formInfo.skillName),\r\n skillId: new FormControl(formInfo.skillId),\r\n towerId: new FormControl(formInfo.towerId),\r\n skillCode: new FormControl(formInfo.skillCode),\r\n targetScore: new FormControl(formInfo.targetScore),\r\n positionId: new FormControl(formInfo.positionId),\r\n arrOfTraining: new FormArray([])\r\n });\r\n\r\n for(const obj of this.allTraining) {\r\n this.addTrainingUpdate(obj);\r\n }\r\n \r\n }\r\n\r\n // Get All user list\r\n private getAllSkills() {\r\n this.formInfoList = [];\r\n if(this.selectedTowerId && this.selectedPositionId) {\r\n this.loading = true;\r\n this.commonService.postAllBehSkills(this.selectedTowerId, this.selectedPositionId).pipe(first()).subscribe(\r\n data => {\r\n this.formInfoList = data;\r\n \r\n this.loading = false;\r\n if(data.length === 0) {\r\n localStorage.setItem('errorMsg', \"No results! Please change the filter to see the results.\");\r\n this.showerror();\r\n }\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n } \r\n )\r\n }\r\n \r\n }\r\n\r\n // Save new user profile\r\n private onSubmit(formInfo) {\r\n if (this.formObj.invalid) {\r\n this.submitted = true;\r\n return;\r\n } else {\r\n // check ibu name is already exits\r\n if (this.checkSkillName(formInfo.skillName)) {\r\n localStorage.setItem('errorMsg', formInfo.skillName + ' competency already exits!');\r\n this.showerror();\r\n return;\r\n }\r\n this.loading = true;\r\n if (!this.common.isSuperUser()) {\r\n // delete formInfo.skillName;\r\n // delete formInfo.tower;\r\n delete formInfo.towerId;\r\n formInfo.towerId = 0;\r\n // New added\r\n formInfo.towerId = this.selectedTowerId;\r\n }\r\n // Set id for trainings\r\n formInfo.arrOfTraining.forEach((element, index) => {\r\n formInfo.arrOfTraining[index]['id'] = index+1;\r\n });\r\n this.commonService.saveBehSkill(formInfo).pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.formObj.reset();\r\n localStorage.setItem('errorMsg', 'Competency Added successfully!');\r\n this.initialization();\r\n this.closeModels();\r\n this.showerror();\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', 'Must enter all the fields!');\r\n this.showerror();\r\n }\r\n )\r\n }\r\n }\r\n\r\n // update user profile \r\n private updateSkill(formInfo) {\r\n if (this.formObj.invalid) {\r\n localStorage.setItem('errorMsg', 'Please enter user information!');\r\n this.showerror();\r\n return\r\n }\r\n if (formInfo != null) {\r\n if (formInfo) {\r\n this.loading = true;\r\n //set login user email\r\n formInfo.arrOfTraining.forEach((element, index) => {\r\n formInfo.arrOfTraining[index]['id'] = index+1;\r\n });\r\n this.commonService.updateBehSkill(formInfo).pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.initialization();\r\n this.closeModels();\r\n localStorage.setItem('errorMsg', 'Competency is updated successfully!');\r\n this.showerror();\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n }\r\n }\r\n\r\n // Delete user profile\r\n private onDeleteSubmit(userInfo) {\r\n this.loading = true;\r\n //set login user email\r\n this.commonService.userDeletion(userInfo).pipe(first()).subscribe(\r\n data => {\r\n this.loading = true;\r\n this.initialization();\r\n localStorage.setItem('errorMsg', 'Record is deleted successfully!');\r\n localStorage.removeItem('errorMsg');\r\n this.showerror();\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n\r\n // check if name is already exits\r\n private checkSkillName(skillName) {\r\n let isSkillNameExits = false;\r\n for (let i = 0; i < this.formInfoList.length; i++) {\r\n if (skillName.toLowerCase() == this.formInfoList[i].skillName.toLowerCase()) {\r\n isSkillNameExits = true;\r\n break;\r\n }\r\n }\r\n return isSkillNameExits;\r\n }\r\n\r\n //show dailog box for user messages\r\n showerror() {\r\n const modal = this.modalService.open(ErrorComponent, {\r\n width: 'auto',\r\n data: { title: 'Confirm title', message: 'Confirm message' }\r\n });\r\n }\r\n\r\n //close dailog box\r\n private closeModels() {\r\n this.closeModel.nativeElement.click();\r\n }\r\n\r\n private getTowerList() {\r\n this.loading = true;\r\n this.commonService.getTowerList().pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.allTowers = data;\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n\r\n getPositionList(towerId) {\r\n if(towerId > 0) {\r\n this.loading = true; \r\n this.commonService.getPositionList(towerId).pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.allPositions = data;\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n } else {\r\n this.formInfoList = [];\r\n this.allPositions = [];\r\n this.selectedPositionId = 0;\r\n }\r\n \r\n }\r\n\r\n}\r\n","\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Behavioral Competencies Form
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n  \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n  \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
0\">\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
0\">\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Level 1\r\n \r\n \r\n Clear need to improve in the competency (deficiency/improvement required)\r\n \r\n
\r\n Needs handholding\r\n
\r\n
\r\n
\r\n Level 2\r\n \r\n \r\n Not always up to standard, with inconsistent demonstration of the competency (below average)\r\n \r\n
\r\n Needs review\r\n
\r\n
\r\n
\r\n Level 3\r\n \r\n \r\n Mostly demonstrates the competency as expected (at standard/average)\r\n \r\n
\r\n Needs audit\r\n
\r\n
\r\n
\r\n Level 4\r\n \r\n \r\n Notable strength in the competency (better than most)\r\n \r\n
\r\n Is independent\r\n
\r\n
\r\n
\r\n Level 5\r\n \r\n \r\n Strong role model (one of the best)\r\n \r\n
\r\n Can train others\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
0\">\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n
S.NoCompetency nameTarget scoreTowerPositionAction
\r\n
{{formInfoList.indexOf(formInfo) + 1}}
\r\n
\r\n
{{formInfo.skillName}}
\r\n
\r\n
{{formInfo.targetScore}}
\r\n
\r\n
{{formInfo.towerName}}
\r\n
\r\n
{{formInfo.positionName}}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","export * from './login.component';","import { Injectable } from '@angular/core';\r\nimport { Workbook } from 'exceljs';\r\nimport * as fs from 'file-saver';\r\nimport { DatePipe } from '@angular/common';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExcelService {\r\n\r\n constructor(private datePipe: DatePipe) { }\r\n\r\n\r\n generateExcel(header: any, data: any, title: any) {\r\n\r\n //Create workbook and worksheet\r\n let workbook = new Workbook();\r\n let worksheet = workbook.addWorksheet(title);\r\n\r\n //Add Header Row\r\n let headerRow = worksheet.addRow(header);\r\n // Cell Style : Fill and Border\r\n headerRow.eachCell((cell, number) => {\r\n cell.fill = {\r\n type: 'pattern',\r\n pattern: 'solid',\r\n fgColor: { argb: 'C9C9C9' },\r\n bgColor: { argb: 'C9C9C9' }\r\n }\r\n cell.border = { top: { style: 'thin' }, left: { style: 'thin' }, bottom: { style: 'thin' }, right: { style: 'thin' } }\r\n })\r\n\r\n let filteredData = this.convertJsonToAOA(data);\r\n filteredData.forEach(d => {\r\n let row = worksheet.addRow(d);\r\n let qty = row.getCell(5);\r\n }\r\n );\r\n\r\n worksheet.getColumn(3).width = 30;\r\n worksheet.getColumn(4).width = 30;\r\n worksheet.addRow([]);\r\n\r\n //Generate Excel File with given name\r\n workbook.xlsx.writeBuffer().then((filteredData) => {\r\n let blob = new Blob([filteredData], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\r\n fs.saveAs(blob, title + '.xlsx');\r\n })\r\n\r\n }\r\n\r\n convertJsonToAOA(data: any) {\r\n let filteredData = [];\r\n for (let i = 0; i < data.length; i++) {\r\n //var parsed = JSON.parse(\"'\"+data[i]+\"'\");\r\n var arr = [];\r\n for (var x in data[i]) {\r\n arr.push(data[i][x]);\r\n }\r\n filteredData.push(arr);\r\n }\r\n return filteredData;\r\n }\r\n\r\n}\r\n\r\n","import { Component, OnInit, Compiler, Renderer2 } from '@angular/core';\r\nimport { first, retry } from 'rxjs/operators';\r\nimport { CommonService } from '../service/commons-service';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\nimport { filter } from 'rxjs/operators';\r\nimport { ErrorComponent } from '../confirm/error.component';\r\nimport { NgbDateStruct, NgbCalendar } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AppConfig } from '../util';\r\nimport { Common } from '../util/common';\r\nimport { ExcelService } from '../service/excel.service';\r\nimport * as $ from 'jquery'\r\n\r\nconst equals = (one: NgbDateStruct, two: NgbDateStruct) =>\r\n one && two && two.year === one.year && two.month === one.month && two.day === one.day;\r\n\r\nconst before = (one: NgbDateStruct, two: NgbDateStruct) =>\r\n !one || !two ? false : one.year === two.year ? one.month === two.month ? one.day === two.day\r\n ? false : one.day < two.day : one.month < two.month : one.year < two.year;\r\n\r\nconst after = (one: NgbDateStruct, two: NgbDateStruct) =>\r\n !one || !two ? false : one.year === two.year ? one.month === two.month ? one.day === two.day\r\n ? false : one.day > two.day : one.month > two.month : one.year > two.year;\r\n\r\n@Component({\r\n templateUrl: 'dashboard.component.html',\r\n styleUrls: ['dashboard.component.css']\r\n\r\n})\r\nexport class DashboardComponent implements OnInit {\r\n users: any = {};\r\n loading = false;\r\n loginImageURL: any = null;\r\n loginUserName: any = \"\";\r\n hoveredDate: NgbDateStruct;\r\n fromDate: NgbDateStruct;\r\n toDate: NgbDateStruct;\r\n fetchData: any[] = [];\r\n userRoll: number = 0;\r\n userType: any;\r\n towerInfoList: any[] = [];\r\n functionList: any = [];\r\n towerId: any;\r\n selectedTowerId: any = null;\r\n \r\n selectedIbuId: any = null;\r\n \r\n selectedFunctionId: any = null;\r\n allPositions: any = [];\r\n behData: any;\r\n funData: any;\r\n ibuList: any = [];\r\n positionList: any = [];\r\n behDataByTower: any = [];\r\n funDataByTower: any = [];\r\n towersOfSelectedIbu: any = [];\r\n towerIdsBySelectedIbu: any = [];\r\n isBehData: any = true;\r\n isFunData: any = true;\r\n userIbuIds: any = [];\r\n behDataByTowerForStatus: any = [];\r\n funDataByTowerForStatus: any = [];\r\n ibuName: any = '';\r\n selectedTowerName: any = '';\r\n userAllNotesList: any = [];\r\n loadingTower: boolean = false;\r\n constructor(calendar: NgbCalendar, private router: Router, private appConfig: AppConfig,\r\n private excelService: ExcelService,\r\n private commonService: CommonService,\r\n private _compiler: Compiler,\r\n private render: Renderer2,\r\n ) {\r\n this._compiler.clearCache();\r\n this.users = JSON.parse(localStorage.getItem('user'));\r\n if (!this.users || !this.users.userData) {\r\n this.commonService.logout();\r\n return;\r\n }\r\n if (this.users && this.users.userData) {\r\n if (this.users.userData.userFullName) {\r\n this.loginUserName = this.users.userData.userFullName;\r\n } else {\r\n this.loginUserName = this.users.userData.userName;\r\n }\r\n this.userRoll = this.users.userData.userRoll;\r\n // For set default IBU selected on dashboard\r\n this.userIbuIds = (this.users.userData.ibuId) ? this.users.userData.ibuId.split(',') : [];\r\n if (this.userIbuIds) {\r\n this.selectedIbuId = this.userIbuIds[0];\r\n }\r\n console.log(this.userIbuIds);\r\n switch (this.users.userData.userRoll) {\r\n case \"1\": this.userType = \"Super Admin\"; break;\r\n case \"2\": this.userType = \"Admin\"; break;\r\n case \"3\": this.userType = \"HR\"; break;\r\n case \"4\": this.userType = \"Manager\"; break;\r\n case \"5\": this.userType = \"Employee\"; break;\r\n }\r\n }\r\n this.fromDate = calendar.getToday();\r\n this.toDate = calendar.getNext(calendar.getToday(), 'd', 0);\r\n this.loginImageURL = this.appConfig.getDefaultImgURL();\r\n this.getIbuList();\r\n\r\n }\r\n\r\n isHovered = date => this.fromDate && !this.toDate && this.hoveredDate && after(date, this.fromDate) && before(date, this.hoveredDate);\r\n isInside = date => after(date, this.fromDate) && before(date, this.toDate);\r\n isFrom = date => equals(date, this.fromDate);\r\n isTo = date => equals(date, this.toDate);\r\n\r\n ngOnInit() {\r\n this.selectedTowerId = JSON.parse(localStorage.user).userData.towerId;\r\n this.router.events.pipe(\r\n filter(event => event instanceof NavigationEnd))\r\n .subscribe(() => {\r\n this.render.removeClass(document.body, 'modal-open');\r\n $(document.body).removeClass('modal-open');\r\n $('.modal-backdrop').remove();\r\n });\r\n \r\n setTimeout(() => {\r\n if (this.towerIdsBySelectedIbu.length) {\r\n this.getBehDataForReport();\r\n this.getFunDataForReport();\r\n this.fetchPositions();\r\n this.getFunDataByTowerIdForReportForStatus();\r\n this.getBehDataByTowerIdForReportForStatus();\r\n this.getBehDataByTowerIdForReport();\r\n this.getFunDataByTowerIdForReport();\r\n this.fetchuserData();\r\n this.getAllUserNotes();\r\n if(this.ibuList.length) {\r\n for (let i = 0; i < this.ibuList.length; i++) {\r\n console.log('loop Test', this.ibuList[i].ibuId, this.selectedIbuId);\r\n if (this.ibuList[i].ibuId == this.selectedIbuId)\r\n this.ibuName = this.ibuList[i].ibuName;\r\n localStorage.setItem(\"ibuName\", this.ibuName);\r\n }\r\n let functionName = this.getFunctionNameById();\r\n localStorage.setItem(\"functionName\", functionName);\r\n // For Set tower Name\r\n for(let i = 0; i < this.towersOfSelectedIbu.length; i++) {\r\n if(this.selectedTowerId && this.selectedTowerId == this.towersOfSelectedIbu[i].towerId) {\r\n this.selectedTowerName = this.towersOfSelectedIbu[i].towerName;\r\n localStorage.setItem('selectedTowerName', this.towersOfSelectedIbu[i].towerName);\r\n }\r\n }\r\n }\r\n }\r\n\r\n }, 800);\r\n }\r\n /**\r\n * Set Ibu Id.\r\n */\r\n private setIbuId() {\r\n this.ngOnInit();\r\n this.isBehData = true;\r\n this.isFunData = true;\r\n this.selectedFunctionId = null;\r\n this.getFunctionList();\r\n this.selectedTowerId = null;\r\n this.towerInfoList = [];\r\n }\r\n /**\r\n * Change function dropdown\r\n */\r\n onChangeFunction() {\r\n this.selectedTowerId = null;\r\n let tempArr = [];\r\n let count = 1;\r\n for (let i = 0; i < this.towersOfSelectedIbu.length; i++) {\r\n if (this.selectedFunctionId == this.towersOfSelectedIbu[i].functionId ) {\r\n tempArr.push(this.towersOfSelectedIbu[i]);\r\n }\r\n if (count == this.towersOfSelectedIbu.length) {\r\n this.towerInfoList = tempArr;\r\n }\r\n count++;\r\n }\r\n let functionName = this.getFunctionNameById();\r\n localStorage.setItem(\"functionName\", functionName);\r\n }\r\n /**\r\n * Set tower Id in localstorage\r\n */\r\n setTowerIdInLocalStorage() {\r\n var userJson = JSON.parse(localStorage.user);\r\n userJson.userData.towerId = Number(this.selectedTowerId);\r\n localStorage.setItem(\"user\", JSON.stringify(userJson));\r\n for(let i = 0; i < this.towersOfSelectedIbu.length; i++) {\r\n if(this.selectedTowerId == this.towersOfSelectedIbu[i].towerId) {\r\n this.selectedTowerName = this.towersOfSelectedIbu[i].towerName;\r\n localStorage.setItem('selectedTowerName', this.towersOfSelectedIbu[i].towerName);\r\n }\r\n }\r\n }\r\n /**\r\n * Set Tower Id\r\n */\r\n private setTowerId() {\r\n this.setTowerIdInLocalStorage();\r\n for(let i = 0; i < this.towersOfSelectedIbu.length; i++) {\r\n if(this.selectedTowerId == this.towersOfSelectedIbu[i].towerId) {\r\n this.selectedTowerName = this.towersOfSelectedIbu[i].towerName;\r\n localStorage.setItem('selectedTowerName', this.towersOfSelectedIbu[i].towerName);\r\n }\r\n }\r\n // Get user of selected towers for excel export\r\n this.fetchuserData();\r\n // Get competency by tower Id.\r\n this.getFunDataByTowerIdForReportForStatus();\r\n this.getBehDataByTowerIdForReportForStatus();\r\n this.getBehDataByTowerIdForReport();\r\n this.getFunDataByTowerIdForReport();\r\n\r\n }\r\n /**\r\n * Get list of IBU\r\n */\r\n getIbuList() {\r\n this.ibuList = [];\r\n this.commonService.getAllIBUInfo().subscribe(data => {\r\n for(let i=0; i < data.length; i++) {\r\n const index = this.userIbuIds.findIndex(x => Number(x) == data[i].ibuId);\r\n if(index != -1) {\r\n this.ibuList.push(data[i]);\r\n }\r\n if(i == data.length - 1) {\r\n // this.selectedIbuId = this.ibuList[0].ibuId;\r\n this.getFunctionList();\r\n }\r\n }\r\n },\r\n error => {\r\n console.log('Ibu list not found');\r\n });\r\n }\r\n\r\n //Get tower info by towerId\r\n private getTowerInfoByIbuId() {\r\n this.loadingTower = true;\r\n this.towerInfoList = [];\r\n var towerTempList = [];\r\n this.towerIdsBySelectedIbu = [];\r\n // Tower list by IBU only\r\n this.commonService.getTowersListByIbuId(this.selectedIbuId, this.selectedFunctionId).pipe(first()).subscribe(\r\n data => {\r\n this.towerInfoList = data;\r\n this.towersOfSelectedIbu = data;\r\n // Push tower Ids in array\r\n for (let i = 0; i < this.towersOfSelectedIbu.length; i++) {\r\n this.towerIdsBySelectedIbu.push(this.towersOfSelectedIbu[i].towerId);\r\n }\r\n if (JSON.parse(localStorage.getItem('user')).userData.userRoll == 4 ||\r\n JSON.parse(localStorage.getItem('user')).userData.userRoll == 6) {\r\n for (let i = 0; i < this.towerInfoList.length; i++) {\r\n var towerIdArray = JSON.parse(localStorage.getItem('user')).userData.towerIdArray;\r\n if (towerIdArray.indexOf(this.towerInfoList[i].towerId.toString()) == -1)\r\n continue;\r\n towerTempList.push(this.towerInfoList[i]);\r\n }\r\n this.towerInfoList = towerTempList;\r\n }\r\n if (this.towerInfoList.length) {\r\n this.selectedTowerId = this.towerInfoList[0].towerId;\r\n this.setTowerIdInLocalStorage();\r\n }\r\n this.loadingTower = false;\r\n },\r\n error => {\r\n this.loadingTower = false;\r\n \r\n }\r\n )\r\n }\r\n\r\n\r\n // reset on date selection\r\n private onDateSelection(date: NgbDateStruct) {\r\n if (!this.fromDate && !this.toDate) {\r\n this.fromDate = date;\r\n } else if (this.fromDate && !this.toDate && after(date, this.fromDate)) {\r\n this.toDate = date;\r\n } else {\r\n this.toDate = null;\r\n this.fromDate = date;\r\n }\r\n }\r\n\r\n // frorward to next section \r\n public gotoNextPage(e, routeURL) {\r\n this.router.navigate([routeURL]);\r\n }\r\n\r\n \r\n\r\n // logout and forward to next section\r\n private logout() {\r\n this.commonService.logout();\r\n }\r\n\r\n /**\r\n* Get user Notes\r\n*/\r\n getAllUserNotes() {\r\n this.commonService.getAllUserNotes().subscribe(data => {\r\n this.loading = false;\r\n if (data) {\r\n this.userAllNotesList = data;\r\n \r\n\r\n }\r\n }, error => {\r\n console.log('Error', error);\r\n this.loading = false;\r\n });\r\n }\r\n /**\r\n * Return Users notes\r\n */\r\n returnUserNotes(userId) {\r\n for (let i = 0; i < this.userAllNotesList.length; i++) {\r\n if (userId == this.userAllNotesList[i].userId) {\r\n return this.userAllNotesList[i].userNotes;\r\n }\r\n }\r\n\r\n }\r\n\r\n excelReport() {\r\n let excelExportData = [];\r\n // let headers = [\"S.No.\", \"Employee Code\", \"Employee Name\", \"Email id\", \"IBU\", \"Function\", \"Tower\", \"Current Role\", \"Target Role\", \"Final Rating Status\", \"Self Rating Status (Behavioral)\", \"Self Rating Status (Functional)\", \"Manager Rating Status (Behavioral)\", \"Manager Rating Status (Functional)\", \"Rating Score Behavioral\", \"Rating Score Functional\", \"Aggregate Score\", \"Role Change Status\"];\r\n let headers = [\"S.No.\", \"Employee Code\", \"Employee Name\", \"Approve Date\", \"Email id\", \"IBU\", \"Function\", \"Tower\", \"Employee Status\", \"Batch Number\", \"Journey Completion Date\", \"TR Status\", \"Current Role\", \"Target Role\", \r\n \"Supervisor (1st Level)\", \"Supervisor (1st Level) Email\", \"Supervisor (2nd Level)\", \"Supervisor (2nd Level) Email\", \"Beh. Comp Submitted Date\",\"Fun. Comp Submitted Date\",\"Self Rating Status (Behavioral)\",\r\n \"Self Rating Status (Functional)\", \"Manager Rating Status (Behavioral)\", \"Manager Rating Status (Functional)\", \"Final Rating Status\", \"Rating Score Behavioral\", \r\n \"Rating Score Functional\", \"Average Score\", \"Role Change Status\", \"Notes\"];\r\n // for (let i of this.fetchData)\r\n console.log('Report this.fetchData', this.fetchData);\r\n console.log('Report this.behDataByTower', this.behDataByTower);\r\n console.log('Report this.funDataByTower', this.funDataByTower);\r\n\r\n for (let i = 0; i < this.fetchData.length; i++) {\r\n let strData = '' + this.fetchData[i].email;\r\n if (strData.match(/_old$/)) continue;\r\n let data = {};\r\n data[headers[0]] = i + 1;\r\n data[headers[1]] = this.fetchData[i].empCode;\r\n data[headers[2]] = this.fetchData[i].userName;\r\n let approvDate = new Date( this.fetchData[i].approvedAt);\r\n data[headers[3]] = (this.fetchData[i].approvedAt) ? approvDate.getDate()+ \"-\" + Number(approvDate.getMonth() + 1) + \"-\" + approvDate.getFullYear() : '' ;\r\n data[headers[4]] = this.fetchData[i].email;\r\n data[headers[5]] = this.getIbuNameById();\r\n data[headers[6]] = this.fetchData[i].functionName;\r\n data[headers[7]] = this.fetchData[i].towerName;\r\n if(this.fetchData[i].empStatus == 0) {\r\n data[headers[8]] = \"Deactive\";\r\n } else if(this.fetchData[i].empStatus == 2) {\r\n data[headers[8]] = \"Resigned\";\r\n } else {\r\n data[headers[8]] = \"Active\";\r\n }\r\n data[headers[9]] = this.fetchData[i].batchNo;\r\n data[headers[10]] = this.fetchData[i].journeyCompletionDate;\r\n data[headers[11]] = this.commonService.getUserStatus(this.fetchData[i].isApproved)\r\n \r\n data[headers[12]] = this.fetchData[i].positionName;\r\n // data[headers[5]] = this.allPositions[this.fetchData[i].userId];\r\n data[headers[13]] = this.getPositionName(this.fetchData[i].nextPosition);\r\n data[headers[14]] = this.fetchData[i].resourceManager;\r\n data[headers[15]] = this.fetchData[i].resourceManagerEmail;\r\n data[headers[16]] = this.fetchData[i].SLS;\r\n data[headers[17]] = this.fetchData[i].SLSE;\r\n data[headers[18]] = this.getManagerBehCompLastDate(this.fetchData[i].userId);\r\n data[headers[19]] = this.getManagerFunCompLastDate(this.fetchData[i].userId);\r\n\r\n \r\n // var status = \"Pending with Self\";\r\n var compositeValues = this.getCompositeValue(this.fetchData[i].userId);\r\n \r\n\r\n data[headers[20]] = (this.checkSelfBehCompExist(this.fetchData[i].userId) > 0) ? 'Submitted' : 'Pending';\r\n data[headers[21]] = (this.checkSelfFunCompExist(this.fetchData[i].userId) > 0 ) ? 'Submitted' : 'Pending';\r\n data[headers[22]] = (this.checkManagerBehCompExist(this.fetchData[i].userId) > 0) ? 'Submitted' : 'Pending';\r\n data[headers[23]] = (this.checkManagerFunCompExist(this.fetchData[i].userId) > 0) ? 'Submitted' : 'Pending';\r\n \r\n if ((data[headers[20]] == 'Submitted' && data[headers[21]] == 'Submitted') && ((data[headers[22]] == 'Submitted' && data[headers[23]] == 'Submitted'))) {\r\n data[headers[24]] = 'Completed'\r\n }\r\n if (data[headers[22]] == 'Pending' || data[headers[23]] == 'Pending') {\r\n data[headers[24]] = 'Pending With Manager'\r\n }\r\n if (data[headers[20]] == 'Pending' || data[headers[21]] == 'Pending') {\r\n data[headers[24]] = 'Pending With Self'\r\n }\r\n \r\n data[headers[25]] = isNaN(compositeValues.beh) ? \"\" : compositeValues.beh;\r\n data[headers[26]] = isNaN(compositeValues.fun) ? \"\" : compositeValues.fun;\r\n data[headers[27]] = isNaN(compositeValues.full) ? \"\" : compositeValues.full;\r\n if (data[headers[27]] >= 80) { data[headers[28]] = \"Ready Now\"; } \r\n if (data[headers[27]] >= 60 && data[headers[27]] < 80) { data[headers[28]] = \"Ready Soon\"; } \r\n if (data[headers[27]] >= 30 && data[headers[27]] < 60) { data[headers[28]] = \"Ready Future\"; }\r\n if (data[headers[27]] < 30) { data[headers[28]] = \" \"; }\r\n data[headers[29]] = this.returnUserNotes(this.fetchData[i].userId)\r\n excelExportData.push(data);\r\n }\r\n console.log('excelExportDataexcelExportData', excelExportData);\r\n this.excelService.generateExcel(headers, excelExportData, 'Dashboard_Data');\r\n }\r\n\r\n \r\n\r\n // /fetch user information data\r\n private fetchuserData() {\r\n this.loading = true;\r\n let towerId = JSON.parse(localStorage.getItem('user')).userData.towerId;\r\n let userid = JSON.parse(localStorage.getItem('user')).userData.userEmail;\r\n var userEmail = \"\";\r\n if (JSON.parse(localStorage.getItem('user')).userData.userRoll == 4)\r\n userEmail = JSON.parse(localStorage.getItem('user')).userData.userEmail;\r\n \r\n let postData = { towerId: this.towerIdsBySelectedIbu };\r\n console.log('this.towerIdsBySelectedIbu', this.towerIdsBySelectedIbu);\r\n this.commonService.getUsersForReportByTowerIdsArr(postData).pipe(first()).subscribe(\r\n data => {\r\n console.log('DatatatatAA', data);\r\n let userIds = [];\r\n for (let i = 0; data && (i < data.length); i++) {\r\n if (data[i].userId) {\r\n userIds.push({ userId: data[i].userId, towerId: data[i].towerId });\r\n }\r\n }\r\n if (userIds.length > 0) {\r\n // this.fetchUserSkillsData(userIds, data);\r\n this.fetchData = data;\r\n this.getAllNextPositions2(userIds);\r\n }\r\n else {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', 'Users Not Found');\r\n this.commonService.showerror();\r\n }\r\n },\r\n error => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n )\r\n }\r\n\r\n // /fetch user information data\r\n private getFunDataForReport() {\r\n this.loading = true;\r\n\r\n var userEmail = \"\";\r\n \r\n this.commonService.getFunDataForReport().pipe(first()).subscribe(\r\n data => {\r\n\r\n this.funData = data;\r\n this.loading = false;\r\n \r\n },\r\n error => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n )\r\n }\r\n\r\n private getCompositeValue(userId) {\r\n var compositeBehSum = 0, compositeFunSum = 0;\r\n var managerPresentBeh = false, managerPresentFun = false, selfPresentBeh = false, selfPresentFun = false;\r\n var countBeh = 0, countFun = 0;\r\n \r\n for (var i = 0; i < this.behDataByTower.length; i++) {\r\n if (this.behDataByTower[i].ratedByRole == 4 && this.behDataByTower[i].userId == userId) {\r\n managerPresentBeh = true; \r\n selfPresentBeh = true;\r\n }\r\n\r\n \r\n\r\n if (this.behDataByTower[i].ratedByRole !== 4 || this.behDataByTower[i].userId != userId) continue;\r\n\r\n var thisSkillsPercentage = (this.behDataByTower[i].skillScore * 100) / this.behDataByTower[i].targetScore;\r\n compositeBehSum += (thisSkillsPercentage > 100 ? 100 : thisSkillsPercentage);\r\n \r\n countBeh++;\r\n }\r\n\r\n for (var j = 0; j < this.funDataByTower.length; j++) {\r\n if (this.funDataByTower[j].ratedByRole == 4 && this.funDataByTower[j].userId == userId) {\r\n managerPresentFun = true; \r\n selfPresentFun = true;\r\n }\r\n\r\n if (this.funDataByTower[j].ratedByRole !== 4 || this.funDataByTower[j].userId != userId) continue;\r\n\r\n var thisSkillsPercentage = (this.funDataByTower[j].skillScore * 100) / this.funDataByTower[j].targetScore;\r\n\r\n compositeFunSum += (thisSkillsPercentage > 100 ? 100 : thisSkillsPercentage);\r\n countFun++;\r\n }\r\n \r\n return {\r\n full: Math.floor(((compositeBehSum / countBeh) * 0.3 + (compositeFunSum / countFun) * 0.7)),\r\n beh: Math.floor(compositeBehSum / countBeh),\r\n fun: Math.floor(compositeFunSum / countFun),\r\n managerPresentFun,\r\n managerPresentBeh,\r\n selfPresentFun,\r\n selfPresentBeh\r\n };\r\n\r\n }\r\n\r\n\r\n // /fetch user information data\r\n private getBehDataForReport() {\r\n this.loading = true;\r\n var userEmail = \"\";\r\n this.commonService.getBehDataForReport().pipe(first()).subscribe(\r\n data => {\r\n this.behData = data;\r\n this.loading = false;\r\n // localStorage.setItem('errorMsg', 'Users Not Found');\r\n // this.commonService.showerror();\r\n },\r\n error => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n )\r\n }\r\n\r\n //fetch user skills data\r\n private getAllNextPositions(userIds, towerId) {\r\n this.commonService.getAllNextPositions(userIds, towerId).pipe(first()).subscribe(\r\n data => {\r\n this.allPositions = data;\r\n var that = this;\r\n setTimeout(function () {\r\n that.loading = false;\r\n }, 1000);\r\n },\r\n error => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n )\r\n }\r\n\r\n //fetch user skills data\r\n private getAllNextPositions2(userIds) {\r\n this.commonService.getAllNextPositions2(userIds).pipe(first()).subscribe(\r\n data => {\r\n this.allPositions = data;\r\n var that = this;\r\n setTimeout(function () {\r\n that.loading = false;\r\n }, 1000);\r\n },\r\n error => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n )\r\n }\r\n redirectToUrl(url) {\r\n if (url) {\r\n window.open(url, \"_blank\");\r\n }\r\n }\r\n /**\r\n * Get the function list\r\n */\r\n getFunctionList() {\r\n this.loading = true;\r\n this.functionList = [];\r\n this.commonService.getFunctionListByIbuId(this.selectedIbuId).subscribe(data => {\r\n this.loading = false;\r\n this.functionList = data;\r\n console.log('this.functionListthis.functionList', this.functionList);\r\n if (this.functionList.length) {\r\n this.selectedFunctionId = this.functionList[0].functionId;\r\n let functionName = this.getFunctionNameById();\r\n localStorage.setItem(\"functionName\", functionName);\r\n this.getTowerInfoByIbuId();\r\n }\r\n },\r\n error => {\r\n this.loading = false;\r\n console.log('Error in function list');\r\n });\r\n }\r\n // /fetch user information data\r\n private fetchPositions() {\r\n let towerId = null;\r\n this.commonService.getAllPositionInfo(towerId).pipe(first()).subscribe(\r\n data => {\r\n this.positionList = data;\r\n },\r\n error => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n )\r\n }\r\n\r\n private getPositionName(positionId) {\r\n for (let i = 0; i < this.positionList.length; i++) {\r\n if (this.positionList[i].positionId == positionId)\r\n return this.positionList[i].positionName;\r\n }\r\n }\r\n // Get Tower name\r\n towerNameById(towerId) {\r\n for (let i = 0; i < this.towerInfoList.length; i++) {\r\n if (this.towerInfoList[i].towerId == towerId)\r\n return this.towerInfoList[i].towerName;\r\n }\r\n }\r\n // Get Function name\r\n getFunctionNameById() {\r\n for (let i = 0; i < this.functionList.length; i++) {\r\n if (this.functionList[i].functionId == this.selectedFunctionId) {\r\n return this.functionList[i].functionName;\r\n }\r\n \r\n }\r\n }\r\n // Get IBU name\r\n getIbuNameById() {\r\n for (let i = 0; i < this.ibuList.length; i++) {\r\n if (this.ibuList[i].ibuId == this.selectedIbuId)\r\n this.ibuName = this.ibuList[i].ibuName;\r\n return this.ibuList[i].ibuName;\r\n }\r\n }\r\n // Get Beh comp data\r\n private getBehDataByTowerIdForReport() {\r\n this.loading = true;\r\n let postData = { towerId: this.towerIdsBySelectedIbu};\r\n this.commonService.getBehDataByTowerIdReport(postData).pipe(first()).subscribe(\r\n data => {\r\n this.behDataByTower = data;\r\n console.log('this.behDataByTower', this.behDataByTower);\r\n this.loading = false;\r\n if (this.behDataByTower.length) {\r\n this.isBehData = false;\r\n }\r\n },\r\n error => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n )\r\n }\r\n // Get Beh comp data\r\n private getBehDataByTowerIdForReportForStatus() {\r\n this.loading = true;\r\n let postData = { towerId: this.towerIdsBySelectedIbu};\r\n this.commonService.getBehDataByTowerIdReportForStatus(postData).pipe(first()).subscribe(\r\n data => {\r\n this.behDataByTowerForStatus = data;\r\n console.log('this.behDataByTower', this.behDataByTowerForStatus);\r\n this.loading = false;\r\n },\r\n error => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n )\r\n }\r\n // Get Beh comp data\r\n private getFunDataByTowerIdForReport() {\r\n this.loading = true;\r\n let postData = { towerId: this.towerIdsBySelectedIbu };\r\n this.commonService.getFunDataByTowerIdReport(postData).pipe(first()).subscribe(\r\n data => {\r\n this.funDataByTower = data;\r\n console.log('this.funDataByTower', this.funDataByTower);\r\n this.loading = false;\r\n if (this.funDataByTower.length) {\r\n this.isFunData = false;\r\n }\r\n },\r\n error => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n )\r\n }\r\n // Get Beh comp data\r\n private getFunDataByTowerIdForReportForStatus() {\r\n this.loading = true;\r\n let postData = { towerId: this.towerIdsBySelectedIbu };\r\n this.commonService.getFunDataByTowerIdReportForStatus(postData).pipe(first()).subscribe(\r\n data => {\r\n this.funDataByTowerForStatus = data;\r\n console.log('this.funDataByTowerForStatus', this.funDataByTowerForStatus);\r\n this.loading = false;\r\n },\r\n error => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n )\r\n }\r\n // Check users have self beh. competency submitted or not.\r\n checkSelfBehCompExist($userId) {\r\n let count = 0;\r\n for (let i = 0; i < this.behDataByTowerForStatus.length; i++) {\r\n if (this.behDataByTowerForStatus[i].userId == $userId && this.behDataByTowerForStatus[i].ratedByRole == 5) {\r\n count++;\r\n }\r\n }\r\n return count;\r\n }\r\n // Check users have self beh. competency submitted or not.\r\n checkManagerBehCompExist($userId) {\r\n let count = 0;\r\n for (let i = 0; i < this.behDataByTowerForStatus.length; i++) {\r\n if (this.behDataByTowerForStatus[i].userId == $userId && this.behDataByTowerForStatus[i].ratedByRole == 4) {\r\n count++;\r\n }\r\n }\r\n return count;\r\n }\r\n // Check users have self beh. competency submitted or not.\r\n getManagerBehCompLastDate($userId) {\r\n let lastDate = '';\r\n for (let i = 0; i < this.behDataByTower.length; i++) {\r\n if (this.behDataByTower[i].userId == $userId && this.behDataByTower[i].ratedByRole == 4 && (lastDate == '' || new Date(lastDate )< new Date(this.behDataByTower[i].createDate))) {\r\n\r\n lastDate = this.behDataByTower[i].createDate;\r\n }\r\n }\r\n if(lastDate) {\r\n let date = new Date(lastDate);\r\n return date.getDate()+ \"-\" + Number(date.getMonth() + 1) + \"-\" + date.getFullYear();\r\n } else {\r\n return lastDate;\r\n }\r\n }\r\n // Check users have self beh. competency submitted or not.\r\n getManagerFunCompLastDate($userId) {\r\n let lastDate = '';\r\n for (let i = 0; i < this.funDataByTower.length; i++) {\r\n if (this.funDataByTower[i].userId == $userId && this.funDataByTower[i].ratedByRole == 4 && (lastDate == '' || new Date(lastDate )< new Date(this.funDataByTower[i].createDate))) {\r\n\r\n lastDate = this.funDataByTower[i].createDate;\r\n }\r\n }\r\n if(lastDate) {\r\n let date = new Date(lastDate);\r\n return date.getDate()+ \"-\" + Number(date.getMonth() + 1) + \"-\" + date.getFullYear();\r\n } else {\r\n return lastDate;\r\n }\r\n }\r\n // Check users have self beh. competency submitted or not.\r\n checkSelfFunCompExist($userId) {\r\n let count = 0;\r\n for (let i = 0; i < this.funDataByTowerForStatus.length; i++) {\r\n if (this.funDataByTowerForStatus[i].userId == $userId && this.funDataByTowerForStatus[i].ratedByRole == 5) {\r\n count++;\r\n }\r\n }\r\n return count;\r\n }\r\n // Check users have self beh. competency submitted or not.\r\n checkManagerFunCompExist($userId) {\r\n let count = 0;\r\n for (let i = 0; i < this.funDataByTowerForStatus.length; i++) {\r\n if (this.funDataByTowerForStatus[i].userId == $userId && this.funDataByTowerForStatus[i].ratedByRole == 4) {\r\n count++;\r\n }\r\n }\r\n return count;\r\n }\r\n\r\n}","\r\n\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
Welcome!
\r\n\r\n
\r\n
1) || (userRoll==6 && towerInfoList.length > 1)\">\r\n \r\n \r\n
\r\n
1) || (userRoll==6 && towerInfoList.length > 1)\">\r\n \r\n \r\n
\r\n
1) || (userRoll==6 && towerInfoList.length > 1)\">\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n Click Here to Add/Modify Interested Applicant\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n Click Here to Add/Modify TR Nominees\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n Click Here to Rate Individuals (TM)\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n Click Here to See Ratings of Individuals\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n Click Here to See Performance Dashboard of Individuals\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n Click Here to Add Interventions Against Skills\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n Add/Update Management Users\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n Add/Update Functional Skill Details\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n Add/Update Behavioral Skill Details\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n List User Rating History Details\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n Click here to see consolidated Competency Report\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n

Select section of your choice

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

© 2021 NIIT Talent Readiness, All rights reserved. Powered by NEC.

\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, Compiler, ViewChild, ElementRef } from '@angular/core';\r\nimport { first, retry } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { ErrorComponent } from '../confirm/error.component';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { FormBuilder, Validators, FormControl } from '@angular/forms';\r\nimport { NgbDatepickerConfig } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AppConfig } from '../util';\r\nimport { CommonService } from '../service/commons-service';\r\nimport { Common } from '../util/common';\r\n\r\n@Component({ templateUrl: './ibu.component.html', styleUrls: ['./ibu.component.css'] })\r\nexport class IBUComponent implements OnInit {\r\n\r\n @ViewChild('closeModel', {read: ElementRef}) closeModel: ElementRef;\r\n users: any = {};\r\n ibuForm: any;\r\n config: any;\r\n ibuInfoList: any[] = [];\r\n submitted = false;\r\n loginImageURL: any = \"\";\r\n loginUserName: any = \"\";\r\n baseURL: any = null;\r\n showHideModel: boolean = true;\r\n loading: boolean = false;\r\n activeUserCount: number = 0;\r\n inactiveUserCount: number = 0;\r\n towerId: any;\r\n towerName: any;\r\n superUserType: any = \"\";\r\n\r\n constructor(private modalService: MatDialog,\r\n private router: Router,\r\n private formBuilder: FormBuilder,\r\n private commonService: CommonService,\r\n private appConfig: AppConfig,\r\n config: NgbDatepickerConfig,\r\n private common: Common,\r\n private _compiler: Compiler) {\r\n this._compiler.clearCache();\r\n this.users = JSON.parse(localStorage.getItem('user'));\r\n if (!this.users || !this.users.userData) {\r\n this.commonService.logout\r\n return;\r\n }\r\n if (this.users && this.users.userData) {\r\n this.loginImageURL = '/assets/default.png';\r\n this.loginUserName = this.users.userData.userFullName;\r\n this.towerId = this.users.userData.towerId;\r\n this.towerName = localStorage.getItem('towerName');\r\n }\r\n if (localStorage.getItem('superUserType')) {\r\n this.superUserType = localStorage.getItem('superUserType');\r\n }\r\n let currentDate = new Date();\r\n this.config = config;\r\n this.config.minDate = { year: currentDate.getFullYear() - 10, month: currentDate.getMonth(), day: currentDate.getDate() };\r\n this.config.maxDate = { year: 2099, month: 12, day: 31 };\r\n this.config.markDisabled = false;\r\n this.initUserInfo();\r\n }\r\n\r\n //initailised user form\r\n ngOnInit() {\r\n this.ibuForm = this.formBuilder.group({\r\n ibuName: ['', Validators.required]\r\n });\r\n this.initialization();\r\n }\r\n\r\n //initial setup level assets\r\n private initialization() {\r\n if (this.superUserType == \"super\") {\r\n this.getAllIBUInfo();\r\n } else {\r\n this.getAllIBUInfoByIbuId();\r\n }\r\n }\r\n\r\n //reset user form\r\n initUserInfo() {\r\n this.ibuForm = this.formBuilder.group({\r\n ibuName: ['', Validators.required]\r\n });\r\n }\r\n //reset user form \r\n private setUpdateUserInfo(ibuInfo) {\r\n this.initUserInfo();\r\n this.ibuForm = this.formBuilder.group({\r\n ibuName: new FormControl(ibuInfo.ibuName),\r\n ibuId: new FormControl(ibuInfo.ibuId)\r\n });\r\n }\r\n\r\n //Get All user list\r\n private getAllIBUInfo() {\r\n this.loading = true;\r\n this.ibuInfoList = [];\r\n this.commonService.getAllIBUInfo().pipe(first()).subscribe(\r\n data => {\r\n this.ibuInfoList = data;\r\n this.loading = false;\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n\r\n //Get All user list by IbuId\r\n private getAllIBUInfoByIbuId() {\r\n this.loading = true;\r\n this.ibuInfoList = [];\r\n this.commonService.getAllIBUInfoByIbuId(this.towerId).pipe(first()).subscribe(\r\n data => {\r\n this.ibuInfoList = data;\r\n this.loading = false;\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n \r\n // Save new user profile\r\n private onSubmit(ibuInfo) {\r\n if (this.ibuForm.invalid) {\r\n this.submitted = true;\r\n return;\r\n } else {\r\n // check ibu name is already exits\r\n if (this.checkIBUName(ibuInfo.ibuName)) {\r\n localStorage.setItem('errorMsg', ibuInfo.ibuName + ' BU already exits!');\r\n this.showerror();\r\n return;\r\n }\r\n this.loading = true;\r\n this.commonService.saveIBUInfo(ibuInfo).pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.ibuForm.reset();\r\n localStorage.setItem('errorMsg', 'BU Added successfully!');\r\n this.initialization();\r\n this.showerror();\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', 'Must enter all the fields!');\r\n this.showerror();\r\n }\r\n )\r\n }\r\n }\r\n\r\n // update user profile \r\n private updateIBUInfo(ibuInfo) {\r\n if (this.ibuForm.invalid) {\r\n localStorage.setItem('errorMsg', 'Please enter user information!');\r\n this.showerror();\r\n return\r\n }\r\n if (ibuInfo != null) {\r\n if (ibuInfo) {\r\n this.loading = true;\r\n //set login user email\r\n this.commonService.updateIBUInfo(ibuInfo).pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.initialization();\r\n this.closeModels();\r\n localStorage.setItem('errorMsg', 'IBU is updated successfully!');\r\n this.showerror();\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n }\r\n }\r\n\r\n // Delete user profile\r\n private onDeleteSubmit(userInfo) {\r\n this.loading = true;\r\n //set login user email\r\n this.commonService.userDeletion(userInfo).pipe(first()).subscribe(\r\n data => {\r\n this.loading = true;\r\n this.initialization();\r\n localStorage.setItem('errorMsg', 'IBU is deleted successfully!');\r\n localStorage.removeItem('errorMsg');\r\n this.showerror();\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n\r\n // check ibu name is already exits\r\n private checkIBUName(ibuName) {\r\n let isIBUNameExits = false;\r\n for (let i = 0; i < this.ibuInfoList.length; i++) {\r\n if (ibuName.toLowerCase() == this.ibuInfoList[i].ibuName.toLowerCase()) {\r\n isIBUNameExits = true;\r\n break;\r\n }\r\n }\r\n return isIBUNameExits;\r\n }\r\n\r\n //show dailog box for user messages\r\n showerror() {\r\n const modal = this.modalService.open(ErrorComponent, {\r\n width: 'auto',\r\n data: { title: 'Confirm title', message: 'Confirm message' }\r\n });\r\n }\r\n\r\n //close dailog box\r\n private closeModels() {\r\n this.closeModel.nativeElement.click();\r\n }\r\n\r\n}\r\n","\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
BU Detail Form
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
0\">\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
S.NoBUAction
\r\n
{{ibuInfoList.indexOf(ibuInfo) + 1}}
\r\n
\r\n
{{ibuInfo.ibuName}}
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","var map = {\n\t\"./af\": \"K/tc\",\n\t\"./af.js\": \"K/tc\",\n\t\"./ar\": \"jnO4\",\n\t\"./ar-dz\": \"o1bE\",\n\t\"./ar-dz.js\": \"o1bE\",\n\t\"./ar-kw\": \"Qj4J\",\n\t\"./ar-kw.js\": \"Qj4J\",\n\t\"./ar-ly\": \"HP3h\",\n\t\"./ar-ly.js\": \"HP3h\",\n\t\"./ar-ma\": \"CoRJ\",\n\t\"./ar-ma.js\": \"CoRJ\",\n\t\"./ar-sa\": \"gjCT\",\n\t\"./ar-sa.js\": \"gjCT\",\n\t\"./ar-tn\": \"bYM6\",\n\t\"./ar-tn.js\": \"bYM6\",\n\t\"./ar.js\": \"jnO4\",\n\t\"./az\": \"SFxW\",\n\t\"./az.js\": \"SFxW\",\n\t\"./be\": \"H8ED\",\n\t\"./be.js\": \"H8ED\",\n\t\"./bg\": \"hKrs\",\n\t\"./bg.js\": \"hKrs\",\n\t\"./bm\": \"p/rL\",\n\t\"./bm.js\": \"p/rL\",\n\t\"./bn\": \"kEOa\",\n\t\"./bn-bd\": \"loYQ\",\n\t\"./bn-bd.js\": \"loYQ\",\n\t\"./bn.js\": \"kEOa\",\n\t\"./bo\": \"0mo+\",\n\t\"./bo.js\": \"0mo+\",\n\t\"./br\": \"aIdf\",\n\t\"./br.js\": \"aIdf\",\n\t\"./bs\": \"JVSJ\",\n\t\"./bs.js\": \"JVSJ\",\n\t\"./ca\": \"1xZ4\",\n\t\"./ca.js\": \"1xZ4\",\n\t\"./cs\": \"PA2r\",\n\t\"./cs.js\": \"PA2r\",\n\t\"./cv\": \"A+xa\",\n\t\"./cv.js\": \"A+xa\",\n\t\"./cy\": \"l5ep\",\n\t\"./cy.js\": \"l5ep\",\n\t\"./da\": \"DxQv\",\n\t\"./da.js\": \"DxQv\",\n\t\"./de\": \"tGlX\",\n\t\"./de-at\": \"s+uk\",\n\t\"./de-at.js\": \"s+uk\",\n\t\"./de-ch\": \"u3GI\",\n\t\"./de-ch.js\": \"u3GI\",\n\t\"./de.js\": \"tGlX\",\n\t\"./dv\": \"WYrj\",\n\t\"./dv.js\": \"WYrj\",\n\t\"./el\": \"jUeY\",\n\t\"./el.js\": \"jUeY\",\n\t\"./en-au\": \"Dmvi\",\n\t\"./en-au.js\": \"Dmvi\",\n\t\"./en-ca\": \"OIYi\",\n\t\"./en-ca.js\": \"OIYi\",\n\t\"./en-gb\": \"Oaa7\",\n\t\"./en-gb.js\": \"Oaa7\",\n\t\"./en-ie\": \"4dOw\",\n\t\"./en-ie.js\": \"4dOw\",\n\t\"./en-il\": \"czMo\",\n\t\"./en-il.js\": \"czMo\",\n\t\"./en-in\": \"7C5Q\",\n\t\"./en-in.js\": \"7C5Q\",\n\t\"./en-nz\": \"b1Dy\",\n\t\"./en-nz.js\": \"b1Dy\",\n\t\"./en-sg\": \"t+mt\",\n\t\"./en-sg.js\": \"t+mt\",\n\t\"./eo\": \"Zduo\",\n\t\"./eo.js\": \"Zduo\",\n\t\"./es\": \"iYuL\",\n\t\"./es-do\": \"CjzT\",\n\t\"./es-do.js\": \"CjzT\",\n\t\"./es-mx\": \"tbfe\",\n\t\"./es-mx.js\": \"tbfe\",\n\t\"./es-us\": \"Vclq\",\n\t\"./es-us.js\": \"Vclq\",\n\t\"./es.js\": \"iYuL\",\n\t\"./et\": \"7BjC\",\n\t\"./et.js\": \"7BjC\",\n\t\"./eu\": \"D/JM\",\n\t\"./eu.js\": \"D/JM\",\n\t\"./fa\": \"jfSC\",\n\t\"./fa.js\": \"jfSC\",\n\t\"./fi\": \"gekB\",\n\t\"./fi.js\": \"gekB\",\n\t\"./fil\": \"1ppg\",\n\t\"./fil.js\": \"1ppg\",\n\t\"./fo\": \"ByF4\",\n\t\"./fo.js\": \"ByF4\",\n\t\"./fr\": \"nyYc\",\n\t\"./fr-ca\": \"2fjn\",\n\t\"./fr-ca.js\": \"2fjn\",\n\t\"./fr-ch\": \"Dkky\",\n\t\"./fr-ch.js\": \"Dkky\",\n\t\"./fr.js\": \"nyYc\",\n\t\"./fy\": \"cRix\",\n\t\"./fy.js\": \"cRix\",\n\t\"./ga\": \"USCx\",\n\t\"./ga.js\": \"USCx\",\n\t\"./gd\": \"9rRi\",\n\t\"./gd.js\": \"9rRi\",\n\t\"./gl\": \"iEDd\",\n\t\"./gl.js\": \"iEDd\",\n\t\"./gom-deva\": \"qvJo\",\n\t\"./gom-deva.js\": \"qvJo\",\n\t\"./gom-latn\": \"DKr+\",\n\t\"./gom-latn.js\": \"DKr+\",\n\t\"./gu\": \"4MV3\",\n\t\"./gu.js\": \"4MV3\",\n\t\"./he\": \"x6pH\",\n\t\"./he.js\": \"x6pH\",\n\t\"./hi\": \"3E1r\",\n\t\"./hi.js\": \"3E1r\",\n\t\"./hr\": \"S6ln\",\n\t\"./hr.js\": \"S6ln\",\n\t\"./hu\": \"WxRl\",\n\t\"./hu.js\": \"WxRl\",\n\t\"./hy-am\": \"1rYy\",\n\t\"./hy-am.js\": \"1rYy\",\n\t\"./id\": \"UDhR\",\n\t\"./id.js\": \"UDhR\",\n\t\"./is\": \"BVg3\",\n\t\"./is.js\": \"BVg3\",\n\t\"./it\": \"bpih\",\n\t\"./it-ch\": \"bxKX\",\n\t\"./it-ch.js\": \"bxKX\",\n\t\"./it.js\": \"bpih\",\n\t\"./ja\": \"B55N\",\n\t\"./ja.js\": \"B55N\",\n\t\"./jv\": \"tUCv\",\n\t\"./jv.js\": \"tUCv\",\n\t\"./ka\": \"IBtZ\",\n\t\"./ka.js\": \"IBtZ\",\n\t\"./kk\": \"bXm7\",\n\t\"./kk.js\": \"bXm7\",\n\t\"./km\": \"6B0Y\",\n\t\"./km.js\": \"6B0Y\",\n\t\"./kn\": \"PpIw\",\n\t\"./kn.js\": \"PpIw\",\n\t\"./ko\": \"Ivi+\",\n\t\"./ko.js\": \"Ivi+\",\n\t\"./ku\": \"JCF/\",\n\t\"./ku.js\": \"JCF/\",\n\t\"./ky\": \"lgnt\",\n\t\"./ky.js\": \"lgnt\",\n\t\"./lb\": \"RAwQ\",\n\t\"./lb.js\": \"RAwQ\",\n\t\"./lo\": \"sp3z\",\n\t\"./lo.js\": \"sp3z\",\n\t\"./lt\": \"JvlW\",\n\t\"./lt.js\": \"JvlW\",\n\t\"./lv\": \"uXwI\",\n\t\"./lv.js\": \"uXwI\",\n\t\"./me\": \"KTz0\",\n\t\"./me.js\": \"KTz0\",\n\t\"./mi\": \"aIsn\",\n\t\"./mi.js\": \"aIsn\",\n\t\"./mk\": \"aQkU\",\n\t\"./mk.js\": \"aQkU\",\n\t\"./ml\": \"AvvY\",\n\t\"./ml.js\": \"AvvY\",\n\t\"./mn\": \"lYtQ\",\n\t\"./mn.js\": \"lYtQ\",\n\t\"./mr\": \"Ob0Z\",\n\t\"./mr.js\": \"Ob0Z\",\n\t\"./ms\": \"6+QB\",\n\t\"./ms-my\": \"ZAMP\",\n\t\"./ms-my.js\": \"ZAMP\",\n\t\"./ms.js\": \"6+QB\",\n\t\"./mt\": \"G0Uy\",\n\t\"./mt.js\": \"G0Uy\",\n\t\"./my\": \"honF\",\n\t\"./my.js\": \"honF\",\n\t\"./nb\": \"bOMt\",\n\t\"./nb.js\": \"bOMt\",\n\t\"./ne\": \"OjkT\",\n\t\"./ne.js\": \"OjkT\",\n\t\"./nl\": \"+s0g\",\n\t\"./nl-be\": \"2ykv\",\n\t\"./nl-be.js\": \"2ykv\",\n\t\"./nl.js\": \"+s0g\",\n\t\"./nn\": \"uEye\",\n\t\"./nn.js\": \"uEye\",\n\t\"./oc-lnc\": \"Fnuy\",\n\t\"./oc-lnc.js\": \"Fnuy\",\n\t\"./pa-in\": \"8/+R\",\n\t\"./pa-in.js\": \"8/+R\",\n\t\"./pl\": \"jVdC\",\n\t\"./pl.js\": \"jVdC\",\n\t\"./pt\": \"8mBD\",\n\t\"./pt-br\": \"0tRk\",\n\t\"./pt-br.js\": \"0tRk\",\n\t\"./pt.js\": \"8mBD\",\n\t\"./ro\": \"lyxo\",\n\t\"./ro.js\": \"lyxo\",\n\t\"./ru\": \"lXzo\",\n\t\"./ru.js\": \"lXzo\",\n\t\"./sd\": \"Z4QM\",\n\t\"./sd.js\": \"Z4QM\",\n\t\"./se\": \"//9w\",\n\t\"./se.js\": \"//9w\",\n\t\"./si\": \"7aV9\",\n\t\"./si.js\": \"7aV9\",\n\t\"./sk\": \"e+ae\",\n\t\"./sk.js\": \"e+ae\",\n\t\"./sl\": \"gVVK\",\n\t\"./sl.js\": \"gVVK\",\n\t\"./sq\": \"yPMs\",\n\t\"./sq.js\": \"yPMs\",\n\t\"./sr\": \"zx6S\",\n\t\"./sr-cyrl\": \"E+lV\",\n\t\"./sr-cyrl.js\": \"E+lV\",\n\t\"./sr.js\": \"zx6S\",\n\t\"./ss\": \"Ur1D\",\n\t\"./ss.js\": \"Ur1D\",\n\t\"./sv\": \"X709\",\n\t\"./sv.js\": \"X709\",\n\t\"./sw\": \"dNwA\",\n\t\"./sw.js\": \"dNwA\",\n\t\"./ta\": \"PeUW\",\n\t\"./ta.js\": \"PeUW\",\n\t\"./te\": \"XLvN\",\n\t\"./te.js\": \"XLvN\",\n\t\"./tet\": \"V2x9\",\n\t\"./tet.js\": \"V2x9\",\n\t\"./tg\": \"Oxv6\",\n\t\"./tg.js\": \"Oxv6\",\n\t\"./th\": \"EOgW\",\n\t\"./th.js\": \"EOgW\",\n\t\"./tk\": \"Wv91\",\n\t\"./tk.js\": \"Wv91\",\n\t\"./tl-ph\": \"Dzi0\",\n\t\"./tl-ph.js\": \"Dzi0\",\n\t\"./tlh\": \"z3Vd\",\n\t\"./tlh.js\": \"z3Vd\",\n\t\"./tr\": \"DoHr\",\n\t\"./tr.js\": \"DoHr\",\n\t\"./tzl\": \"z1FC\",\n\t\"./tzl.js\": \"z1FC\",\n\t\"./tzm\": \"wQk9\",\n\t\"./tzm-latn\": \"tT3J\",\n\t\"./tzm-latn.js\": \"tT3J\",\n\t\"./tzm.js\": \"wQk9\",\n\t\"./ug-cn\": \"YRex\",\n\t\"./ug-cn.js\": \"YRex\",\n\t\"./uk\": \"raLr\",\n\t\"./uk.js\": \"raLr\",\n\t\"./ur\": \"UpQW\",\n\t\"./ur.js\": \"UpQW\",\n\t\"./uz\": \"Loxo\",\n\t\"./uz-latn\": \"AQ68\",\n\t\"./uz-latn.js\": \"AQ68\",\n\t\"./uz.js\": \"Loxo\",\n\t\"./vi\": \"KSF8\",\n\t\"./vi.js\": \"KSF8\",\n\t\"./x-pseudo\": \"/X5v\",\n\t\"./x-pseudo.js\": \"/X5v\",\n\t\"./yo\": \"fzPg\",\n\t\"./yo.js\": \"fzPg\",\n\t\"./zh-cn\": \"XDpg\",\n\t\"./zh-cn.js\": \"XDpg\",\n\t\"./zh-hk\": \"SatO\",\n\t\"./zh-hk.js\": \"SatO\",\n\t\"./zh-mo\": \"OmwH\",\n\t\"./zh-mo.js\": \"OmwH\",\n\t\"./zh-tw\": \"kOpN\",\n\t\"./zh-tw.js\": \"kOpN\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"RnhZ\";","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.css']\n})\n\n\nexport class AppComponent {\n constructor( private router: Router,) {\n router.events.subscribe((val) => {\n $(\".modal-backdrop\").css('display', 'none')\n })\n }\n title = 'tr';\n}\n","\n
\n
","import { Component, OnInit, Compiler, ViewChild, ElementRef } from '@angular/core';\r\nimport { first, retry } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { ErrorComponent } from '../confirm/error.component';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { FormBuilder, Validators, FormControl } from '@angular/forms';\r\nimport { NgbDatepickerConfig } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AppConfig } from '../util';\r\nimport { CommonService } from '../service/commons-service';\r\nimport { Common } from '../util/common';\r\n\r\n@Component({ templateUrl: './tower.component.html', styleUrls: ['./tower.component.css'] })\r\nexport class TowerComponent implements OnInit {\r\n\r\n @ViewChild('closeModel', {read: ElementRef}) closeModel: ElementRef;\r\n users: any = {};\r\n towerForm: any;\r\n config: any;\r\n ibuInfoList: any[] = [];\r\n towerInfoList: any[] = [];\r\n submitted = false;\r\n loginImageURL: any = \"\";\r\n loginUserName: any = \"\";\r\n baseURL: any = null;\r\n showHideModel: boolean = true;\r\n loading: boolean = false;\r\n activeUserCount: number = 0;\r\n inactiveUserCount: number = 0;\r\n towerId: any;\r\n towerName: any;\r\n superUserType: any = \"\";\r\n dtOptions: any = {ordering: false};\r\n functionList: any = [];\r\n selectedIbuId: any = 1;\r\n selectedFunctionId: any = 1;\r\n\r\n\r\n constructor(private modalService: MatDialog,\r\n private router: Router,\r\n private formBuilder: FormBuilder,\r\n private commonService: CommonService,\r\n private appConfig: AppConfig,\r\n config: NgbDatepickerConfig,\r\n private common: Common,\r\n private _compiler: Compiler) {\r\n this._compiler.clearCache();\r\n this.users = JSON.parse(localStorage.getItem('user'));\r\n if (!this.users || !this.users.userData) {\r\n this.commonService.logout\r\n return;\r\n }\r\n if (this.users && this.users.userData) {\r\n this.loginImageURL = this.users.userData.imageURL;\r\n this.loginUserName = this.users.userData.userFullName;\r\n this.towerId = this.users.userData.towerId;\r\n this.towerName = localStorage.getItem('towerName');\r\n }\r\n if (localStorage.getItem('superUserType')) {\r\n this.superUserType = localStorage.getItem('superUserType');\r\n }\r\n let currentDate = new Date();\r\n this.config = config;\r\n this.config.minDate = { year: currentDate.getFullYear() - 10, month: currentDate.getMonth(), day: currentDate.getDate() };\r\n this.config.maxDate = { year: 2099, month: 12, day: 31 };\r\n this.config.markDisabled = false;\r\n this.initUserInfo();\r\n }\r\n\r\n //initailised user form\r\n ngOnInit() {\r\n this.towerForm = this.formBuilder.group({\r\n towerName: ['', Validators.required],\r\n functionId: [null, Validators.required],\r\n ibuId: new FormControl(\"Select BU\"),\r\n });\r\n // Get IBU Id List.\r\n this.getFunctionList();\r\n this.initialization();\r\n }\r\n\r\n //initial setup level assets\r\n private initialization() {\r\n if (this.superUserType == \"super\") {\r\n this.getAllTowsersInfo();\r\n this.getAllIBUInfo();\r\n } else {\r\n this.getTowerInfoByIbuId();\r\n this.getAllIBUInfoByIbuId();\r\n }\r\n\r\n }\r\n\r\n //reset user form\r\n initUserInfo() {\r\n this.towerForm = this.formBuilder.group({\r\n towerName: ['', Validators.required],\r\n functionId: [null, Validators.required],\r\n ibuId: new FormControl(\"Select IBU\"),\r\n });\r\n }\r\n //reset user form \r\n private setUpdateUserInfo(towerInfo) {\r\n this.selectedIbuId = towerInfo.ibuId;\r\n this.initUserInfo();\r\n this.getFunctionList();\r\n this.towerForm = this.formBuilder.group({\r\n towerId: new FormControl(towerInfo.towerId),\r\n towerName: new FormControl(towerInfo.towerName),\r\n ibuId: new FormControl(towerInfo.ibuId),\r\n functionId: new FormControl(towerInfo.functionId),\r\n });\r\n }\r\n\r\n //Get All user list\r\n private getAllIBUInfo() {\r\n this.loading = true;\r\n this.ibuInfoList = [];\r\n this.commonService.getAllIBUInfo().pipe(first()).subscribe(\r\n data => {\r\n this.ibuInfoList = data;\r\n this.loading = false;\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n\r\n //Get tower info by towerId\r\n private getTowerInfoByIbuId() {\r\n this.loading = true;\r\n this.towerInfoList = [];\r\n // this.commonService.getTowerInfoByIbuId(this.towerId).pipe(first()).subscribe(\r\n this.commonService.getTowerList().pipe(first()).subscribe(\r\n data => {\r\n this.towerInfoList = data;\r\n this.loading = false;\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n\r\n //Get All user list\r\n private getAllIBUInfoByIbuId() {\r\n this.loading = true;\r\n this.ibuInfoList = [];\r\n this.commonService.getAllIBUInfoByIbuId(this.towerId).pipe(first()).subscribe(\r\n data => {\r\n this.ibuInfoList = data;\r\n this.loading = false;\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n\r\n // Get ibu name based on ibuId\r\n private getIBUName(ibuId) {\r\n let ibuName = \"\";\r\n for (let i = 0; i < this.ibuInfoList.length; i++) {\r\n if (this.ibuInfoList[i].ibuId == ibuId) {\r\n ibuName = this.ibuInfoList[i].ibuName;\r\n break;\r\n }\r\n }\r\n return ibuName;\r\n }\r\n\r\n\r\n\r\n //Get all accounts info\r\n private getAllTowsersInfo() {\r\n this.loading = true;\r\n this.towerInfoList = [];\r\n this.commonService.getTowerList().pipe(first()).subscribe(\r\n data => {\r\n this.towerInfoList = data;\r\n this.loading = false;\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n\r\n // Save new user profile\r\n private onSubmit(towerInfo) {\r\n if (this.towerForm.invalid) {\r\n this.submitted = true;\r\n return;\r\n } else {\r\n if (towerInfo.ibuId == \"Select IBU\") {\r\n localStorage.setItem('errorMsg', 'Must Select BU!');\r\n this.showerror();\r\n return;\r\n } else if (towerInfo.functionId == \"\" || towerInfo.functionId == null) {\r\n localStorage.setItem('errorMsg', 'Must Select function!');\r\n this.showerror();\r\n return;\r\n }\r\n // check tower name is already exits\r\n if (this.checkTowerName(towerInfo.towerName)) {\r\n localStorage.setItem('errorMsg', towerInfo.towerName + ' tower already exits!');\r\n this.showerror();\r\n return;\r\n }\r\n this.loading = true;\r\n //set login user email\r\n this.commonService.saveTowerInfo(towerInfo).pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.towerForm.reset();\r\n this.initialization();\r\n localStorage.setItem('errorMsg', 'Tower Added successfully!');\r\n this.showerror();\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', 'Must enter all the fields!');\r\n this.showerror();\r\n }\r\n )\r\n }\r\n }\r\n\r\n // update user profile \r\n private updateTowerInfo(towerInfo) {\r\n if (this.towerForm.invalid) {\r\n localStorage.setItem('errorMsg', 'Please enter user information!');\r\n this.showerror();\r\n return\r\n }\r\n if (towerInfo != null) {\r\n if (towerInfo) {\r\n // // check tower name is already exits\r\n // if (this.checkTowerName(towerInfo.towerName)) {\r\n // localStorage.setItem('errorMsg', towerInfo.towerName + ' tower already exits!');\r\n // this.showerror();\r\n // return;\r\n // }\r\n this.loading = true;\r\n this.commonService.updateTowerInfo(towerInfo).pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.initialization();\r\n this.closeModels();\r\n localStorage.setItem('errorMsg', 'Tower is updated successfully!');\r\n this.showerror();\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n }\r\n }\r\n\r\n // Delete user profile\r\n private onDeleteSubmit(userInfo) {\r\n this.loading = true;\r\n //set login user email\r\n this.commonService.userDeletion(userInfo).pipe(first()).subscribe(\r\n data => {\r\n this.loading = true;\r\n this.initialization();\r\n localStorage.setItem('errorMsg', 'Tower is deleted successfully!');\r\n localStorage.removeItem('errorMsg');\r\n this.showerror();\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n\r\n // check tower name is already exits\r\n private checkTowerName(towerName) {\r\n let isTowerNameExits = false;\r\n for (let i = 0; i < this.towerInfoList.length; i++) {\r\n if (towerName.toLowerCase() == this.towerInfoList[i].towerName.toLowerCase()) {\r\n isTowerNameExits = true;\r\n break;\r\n }\r\n }\r\n return isTowerNameExits;\r\n }\r\n\r\n //show dailog box for user messages\r\n showerror() {\r\n const modal = this.modalService.open(ErrorComponent, {\r\n width: 'auto',\r\n data: { title: 'Confirm title', message: 'Confirm message' }\r\n });\r\n }\r\n\r\n //close dailog box\r\n private closeModels() {\r\n this.closeModel.nativeElement.click();\r\n }\r\n\r\n\r\n /**\r\n * Get the function list\r\n */\r\n getFunctionList() {\r\n this.loading = true;\r\n this.functionList = [];\r\n this.commonService.getFunctionListByIbuId(this.selectedIbuId).subscribe(data => {\r\n this.loading = false;\r\n this.functionList = data;\r\n },\r\n error => {\r\n this.loading = false;\r\n console.log('Error in function list');\r\n });\r\n }\r\n /**\r\n * Set Ibu Id.\r\n */\r\n private onChangeIbu() {\r\n this.selectedFunctionId = null;\r\n this.getFunctionList();\r\n }\r\n\r\n}\r\n","\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
Tower Detail Form
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
0\">\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
S.NoTowerIBUAction
\r\n
{{towerInfoList.indexOf(towerInfo) + 1}}
\r\n
\r\n
{{towerInfo.towerName}}
\r\n
\r\n
{{getIBUName(towerInfo.ibuId)}}
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'sidebarWrapper',\n templateUrl: './sidebarWrapper.component.html',\n styleUrls: ['./sidebarWrapper.component.css']\n})\nexport class SidebarWrapperComponent implements OnInit {\n\n users: any = {};\n show:boolean = false;\n buttonName:any = 'Hide';\n userRoll: number = 0;\n\n constructor() {\n\n this.users = JSON.parse(localStorage.getItem('user'));\n\n if (this.users && this.users.userData) {\n this.userRoll = this.users.userData.userRoll;\n \n }\n }\n \n\n ngOnInit() {\n }\n\n toggle() {\n this.show = !this.show;\n\n // CHANGE THE NAME OF THE BUTTON.\n if(this.show) \n this.buttonName = \"Show\";\n else\n this.buttonName = \"Hide\";\n }\n\n}\n","import { Component, OnInit, Compiler, ViewChild, ElementRef } from '@angular/core';\r\nimport { first, retry } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { FormBuilder, Validators, FormControl } from '@angular/forms';\r\nimport { NgbDatepickerConfig } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AppConfig } from '../util';\r\nimport { CommonService } from '../service/commons-service';\r\nimport { Common } from '../util/common';\r\nimport { ExcelService } from '../service/excel.service';\r\nimport { HeaderCustomComponent } from '../header/headerCustom.component';\r\n\r\n@Component({\r\n templateUrl: 'skillRatingSection.component.html',\r\n styleUrls: ['skillRatingSection.component.css']\r\n})\r\nexport class SkillRatingSectionComponent implements OnInit {\r\n\r\n @ViewChild('closeModel', {read: ElementRef}) closeModel: ElementRef;\r\n\r\n loading: boolean = false;\r\n users: any = {};\r\n behavioralSkillRatingForm: any;\r\n functionalSkillRatingForm: any;\r\n config: any;\r\n fetchData: any[] = [];\r\n submitted = false;\r\n loginImageURL: any = \"\";\r\n baseURL: any = null;\r\n loginUserName: any = \"\";\r\n showHideModel: boolean = true;\r\n skillData: any[] = [];\r\n behSkillList: any[] = [];\r\n //Add users form fields\r\n userUpdatedId: Number = 0;\r\n skillRatingFromDate: any;\r\n towerId: number = 0;\r\n userRole: number = 0;\r\n skillRatingData: any[] = [];\r\n\r\n constructor(private router: Router,\r\n private formBuilder: FormBuilder,\r\n private excelService: ExcelService,\r\n private commonService: CommonService,\r\n private common: Common,\r\n private appConfig: AppConfig, config: NgbDatepickerConfig, private _compiler: Compiler) {\r\n this._compiler.clearCache();\r\n this.users = JSON.parse(localStorage.getItem('user'));\r\n if (!this.users || !this.users.userData) {\r\n this.commonService.logout();\r\n return;\r\n }\r\n if (this.users && this.users.userData) {\r\n this.users = this.users.userData;\r\n if (this.users.userFullName) {\r\n this.loginUserName = this.users.userFullName;\r\n this.users.userFullName = this.users.userFullName.toLowerCase();\r\n } else {\r\n this.loginUserName = this.users.userName;\r\n this.users.userFullName = this.users.userName.toLowerCase();\r\n }\r\n if (!this.users.emailAddress || this.users.emailAddress.trim().length == 0) {\r\n this.users[\"emailAddress\"] = this.users.email;\r\n }\r\n this.userRole = this.users.userRoll;\r\n this.towerId = this.users.towerId;\r\n }\r\n let currentDate = new Date();\r\n this.config = config;\r\n this.config.minDate = { year: currentDate.getFullYear(), month: (currentDate.getMonth() + 1), day: currentDate.getDate() };\r\n this.config.markDisabled = false;\r\n this.loginImageURL = this.appConfig.getDefaultImgURL();\r\n this.fetchSkillsData();\r\n this.getAllBehSkills();\r\n }\r\n\r\n ngOnInit() {\r\n this.fetchSkillRatingData();\r\n if (this.userRole == 1) {\r\n this.fetchUserData(null, null);\r\n } else if (this.userRole == 5 || !this.userRole) {\r\n this.fetchUserData(this.users.userId, this.towerId);\r\n } else {\r\n this.fetchUserData(null, this.towerId);\r\n }\r\n this.initalizeFunSkillForm();\r\n this.initalizeBehSkillForm();\r\n }\r\n\r\n // initalize Functional Skill Form\r\n private initalizeFunSkillForm() {\r\n this.userUpdatedId = 0;\r\n let groupForm = {\r\n skillRatingFromDate: ['', Validators.required],\r\n skillRatingToDate: ['', Validators.required],\r\n };\r\n if (this.skillData && this.skillData.length > 0) {\r\n for (let i = 0; i < this.skillData.length; i++) {\r\n groupForm[this.skillData[i].skillName] = new FormControl(\"5\");\r\n }\r\n }\r\n this.functionalSkillRatingForm = this.formBuilder.group(groupForm);\r\n }\r\n\r\n //Initalize Behavioral Skill Form\r\n private initalizeBehSkillForm() {\r\n this.userUpdatedId = 0;\r\n let groupForm = {\r\n skillRatingFromDate: ['', Validators.required],\r\n skillRatingToDate: ['', Validators.required],\r\n };\r\n\r\n if (this.behSkillList && this.behSkillList.length > 0) {\r\n for (let i = 0; i < this.behSkillList.length; i++) {\r\n groupForm[this.behSkillList[i].skillName] = new FormControl(\"5\");\r\n }\r\n }\r\n this.behavioralSkillRatingForm = this.formBuilder.group(groupForm);\r\n }\r\n\r\n // /fetch user information data\r\n private fetchSkillRatingData() {\r\n this.skillRatingData = [];\r\n this.commonService.fetchSkillRatingData().pipe(first()).subscribe(\r\n data => {\r\n if (data && data.length > 0) {\r\n this.skillRatingData = data;\r\n } else {\r\n localStorage.setItem('errorMsg', \"Data Not Found\");\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n },\r\n error => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n )\r\n }\r\n\r\n // Get Behavioral Skill Details From Skill Master\r\n private getAllBehSkills() {\r\n this.loading = true;\r\n this.commonService.getAllBehSkills().pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n if (data && data.length > 0) {\r\n this.behSkillList = data;\r\n this.initalizeBehSkillForm();\r\n } else {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', \"Behavioral Skills Data Not Found\");\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n )\r\n }\r\n\r\n // edit user skill information data\r\n private onEditSubmit(userData, isFuntion) {\r\n if (userData) {\r\n this.userUpdatedId = userData.userId;\r\n let groupForm = {\r\n skillRatingFromDate: new FormControl(this.common.getJSONObj(userData.skillRatingFromDate)),\r\n skillRatingToDate: new FormControl(this.common.getJSONObj(userData.skillRatingFromDate)),\r\n }\r\n if (isFuntion) { // set value of functional skill from \r\n let userSkill = userData.funUserSkill;\r\n if (this.skillData && this.skillData.length > 0) {\r\n for (let i = 0; i < this.skillData.length; i++) {\r\n if (userSkill && userSkill.length > 0) {\r\n for (let j = 0; j < userSkill.length; j++) {\r\n if (userSkill[j].skillId == this.skillData[i].skillId) {\r\n groupForm[this.skillData[i].skillName] = new FormControl(userSkill[j].skillLevel);\r\n }\r\n }\r\n }\r\n if (!groupForm[this.skillData[i].skillName]) {\r\n groupForm[this.skillData[i].skillName] = new FormControl(\"5\");\r\n }\r\n }\r\n }\r\n this.functionalSkillRatingForm = this.formBuilder.group(groupForm);\r\n } else { // set value of behavioral skill from \r\n let userSkill = userData.behUserSkill;\r\n if (this.behSkillList && this.behSkillList.length > 0) {\r\n for (let i = 0; i < this.behSkillList.length; i++) {\r\n if (userSkill && userSkill.length > 0) {\r\n for (let j = 0; j < userSkill.length; j++) {\r\n if (userSkill[j].skillId == this.behSkillList[i].skillId) {\r\n groupForm[this.behSkillList[i].skillName] = new FormControl(userSkill[j].skillLevel);\r\n }\r\n }\r\n }\r\n if (!groupForm[this.behSkillList[i].skillName]) {\r\n groupForm[this.behSkillList[i].skillName] = new FormControl(\"5\");\r\n }\r\n }\r\n }\r\n this.behavioralSkillRatingForm = this.formBuilder.group(groupForm);\r\n }\r\n }\r\n }\r\n\r\n //fetch skills data\r\n private fetchSkillsData() {\r\n this.commonService.fetchSkillData().pipe(first()).subscribe(\r\n data => {\r\n this.skillData = data;\r\n this.initalizeFunSkillForm();\r\n },\r\n error => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n )\r\n }\r\n\r\n // /fetch user information data\r\n private fetchUserData(userId, towerId) {\r\n var userEmail = \"\";\r\n if(JSON.parse(localStorage.getItem('user')).userData.userRoll == 4) \r\n userEmail = JSON.parse(localStorage.getItem('user')).userData.userEmail;\r\n\r\n this.commonService.fetchUserData(userId, towerId, userEmail).pipe(first()).subscribe(\r\n data => {\r\n let userIds = [];\r\n for (let i = 0; i < data.length; i++) {\r\n if (data[i].userId) {\r\n userIds.push(data[i].userId);\r\n }\r\n }\r\n if (userIds.length > 0) {\r\n this.fetchData = data;\r\n // this.fetchUserFunctSkillsData(userIds, data);\r\n }\r\n },\r\n error => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n )\r\n }\r\n\r\n //fetch user functional skills data\r\n private fetchUserFunctSkillsData(userIds: any[], userData) {\r\n // this.commonService.fetchAllFunSkills(userIds).pipe(first()).subscribe(\r\n // data => {\r\n // for (let j = 0; j < userData.length; j++) {\r\n // let userSkill = [];\r\n // for (let i = 0; i < data.length; i++) {\r\n // if (userData[j].userId == data[i].userId) {\r\n // let skillLevel = data[i].skillLevel;\r\n // let skillName = '';\r\n // this.skillData.forEach((litem, index) => {\r\n // if (litem.skillId == data[i].skillId) {\r\n // skillName = litem.skillName\r\n // }\r\n // });\r\n // userSkill.push({ skillId: data[i].skillId, skillLevel: skillLevel, skillName: skillName });\r\n // }\r\n // }\r\n // userData[j]['funUserSkill'] = userSkill;\r\n // }\r\n // this.fetchData = userData;\r\n // this.categoriseLeaveUsers()\r\n // this.countActiveAndInactiveUsers();\r\n // this.fetchUserBehSkillsData(userIds, this.fetchData);\r\n // },\r\n // error => {\r\n // localStorage.setItem('errorMsg', error.statusText);\r\n // this.commonService.showerror();\r\n // localStorage.removeItem('errorMsg');\r\n // }\r\n // )\r\n }\r\n\r\n //fetch user skills data\r\n private fetchUserBehSkillsData(userIds: any[], userData) {\r\n this.commonService.fetchAllBehSkills(userIds).pipe(first()).subscribe(\r\n data => {\r\n for (let j = 0; j < userData.length; j++) {\r\n let userSkill = [];\r\n for (let i = 0; i < data.length; i++) {\r\n if (userData[j].userId == data[i].userId) {\r\n let skillLevel = data[i].skillLevel;\r\n let skillName = '';\r\n this.behSkillList.forEach((litem, index) => {\r\n if (litem.skillId == data[i].skillId) {\r\n skillName = litem.skillName\r\n }\r\n });\r\n userSkill.push({ skillId: data[i].skillId, skillLevel: skillLevel, skillName: skillName });\r\n }\r\n }\r\n userData[j]['behUserSkill'] = userSkill;\r\n }\r\n this.fetchData = userData;\r\n this.categoriseLeaveUsers()\r\n this.countActiveAndInactiveUsers();\r\n },\r\n error => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n )\r\n }\r\n //categorise leave users\r\n private categoriseLeaveUsers() {\r\n for (let i = 0; i < this.fetchData.length; i++) {\r\n if (this.fetchData[i].skillRatingToDate) {\r\n let currentDate = new Date();\r\n let userskillRatingToDate = new Date(this.fetchData[i].skillRatingToDate);\r\n if (currentDate > userskillRatingToDate) {\r\n this.fetchData[i][\"leaveStyle\"] = \"red\";\r\n }\r\n }\r\n }\r\n }\r\n\r\n // validate resoucre leaving date should be equal or lessthen from current date\r\n private countActiveAndInactiveUsers() {\r\n for (let i = 0; i < this.fetchData.length; i++) {\r\n let isFound = false;\r\n //remove user from the list if having leave date less then current date\r\n let currentTime = this.common.getTime(new Date());\r\n if (this.fetchData[i].skillRatingToDate) {\r\n let leavingTime = this.common.getTime(this.fetchData[i].skillRatingToDate);\r\n if (currentTime > leavingTime) {\r\n isFound = true;\r\n }\r\n }\r\n if (isFound) {\r\n this.fetchData[i][\"leaveUserCSS\"] = \"leaveUserCSS\";\r\n } else {\r\n this.fetchData[i][\"leaveUserCSS\"] = \"\";\r\n }\r\n }\r\n }\r\n\r\n // suave user information\r\n private onSubmit(skillRatingForm, isFunctional) {\r\n if (isFunctional) {\r\n if (this.functionalSkillRatingForm.invalid) {\r\n this.submitted = true;\r\n return;\r\n }\r\n } else {\r\n if (this.behavioralSkillRatingForm.invalid) {\r\n this.submitted = true;\r\n return;\r\n }\r\n }\r\n let skillRatingData = this.setUserSkillData(skillRatingForm, this.userUpdatedId, isFunctional);\r\n let currentUserSkill = this.setUserCurrentSkillData(skillRatingForm, this.userUpdatedId, isFunctional)\r\n this.loading = true;\r\n this.commonService.saveSkillRatingData(skillRatingData, currentUserSkill, isFunctional).pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.closeModels();\r\n localStorage.setItem('errorMsg', data);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', 'Must Enter all the fields');\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n )\r\n }\r\n\r\n //set user skill data\r\n private setUserSkillData(userFormDetails: any, userId: any, isFunctional) {\r\n let userSkillData = [];\r\n if (isFunctional) {\r\n for (let i = 0; i < this.skillData.length; i++) {\r\n let skillObj = {};\r\n skillObj[\"userId\"] = userId;\r\n skillObj[\"skillId\"] = this.skillData[i].skillId;\r\n skillObj[\"skillScore\"] = this.getScoreBySkillName(userFormDetails[this.skillData[i].skillName]);\r\n skillObj[\"skillRatingBy\"] = this.users.emailAddress;\r\n skillObj[\"skillRatingFromDate\"] = this.common.getDateYYMMDD(userFormDetails.skillRatingFromDate);\r\n skillObj[\"skillRatingToDate\"] = this.common.getDateYYMMDD(userFormDetails.skillRatingToDate);\r\n skillObj[\"createDate\"] = new Date();\r\n skillObj['ratedByRole'] = this.users.userRoll;\r\n userSkillData.push(skillObj);\r\n }\r\n } else {\r\n for (let i = 0; i < this.behSkillList.length; i++) {\r\n let skillObj = {};\r\n skillObj[\"userId\"] = userId;\r\n skillObj[\"skillId\"] = this.behSkillList[i].skillId;\r\n skillObj[\"skillScore\"] = this.getScoreBySkillName(userFormDetails[this.behSkillList[i].skillName]);\r\n skillObj[\"skillRatingBy\"] = this.users.emailAddress;\r\n skillObj[\"skillRatingFromDate\"] = this.common.getDateYYMMDD(userFormDetails.skillRatingFromDate);\r\n skillObj[\"skillRatingToDate\"] = this.common.getDateYYMMDD(userFormDetails.skillRatingToDate);\r\n skillObj[\"createDate\"] = new Date();\r\n skillObj['ratedByRole'] = this.users.userRoll;\r\n userSkillData.push(skillObj);\r\n }\r\n }\r\n return userSkillData;\r\n }\r\n\r\n private getScoreBySkillName(skillName) {\r\n let score = 1;\r\n if (skillName && skillName.trim().length > 0) {\r\n for (let i = 0; i < this.skillRatingData.length; i++) {\r\n if (this.skillRatingData[i].ratingName.toLowerCase() == skillName.toLowerCase()) {\r\n score = this.skillRatingData[i].score;\r\n break;\r\n }\r\n }\r\n }\r\n return score;\r\n }\r\n //set user skill data\r\n private setUserCurrentSkillData(userFormDetails: any, userId: any, isFunctional) {\r\n let userSkillData = [];\r\n console.log(\"userFormDetails\", userFormDetails)\r\n if (isFunctional) {\r\n for (let i = 0; i < this.skillData.length; i++) {\r\n let skillObj = {};\r\n skillObj[\"userId\"] = userId;\r\n skillObj[\"skillId\"] = this.skillData[i].skillId;\r\n skillObj[\"skillLevel\"] = Number(userFormDetails[this.skillData[i].skillName]);\r\n skillObj[\"createdByEmail\"] = this.users.emailAddress;\r\n skillObj[\"skillRatingFromDate\"] = this.common.getDateYYMMDD(userFormDetails.skillRatingFromDate);\r\n skillObj[\"skillRatingToDate\"] = this.common.getDateYYMMDD(userFormDetails.skillRatingToDate);\r\n skillObj['ratedByRole'] = Number(this.users.userRoll);\r\n\r\n userSkillData.push(skillObj);\r\n }\r\n } else {\r\n for (let i = 0; i < this.behSkillList.length; i++) {\r\n let skillObj = {};\r\n skillObj[\"userId\"] = userId;\r\n skillObj[\"skillId\"] = this.behSkillList[i].skillId;\r\n skillObj[\"skillLevel\"] = Number(userFormDetails[this.behSkillList[i].skillName]);\r\n skillObj[\"createdByEmail\"] = this.users.emailAddress;\r\n skillObj[\"skillRatingFromDate\"] = this.common.getDateYYMMDD(userFormDetails.skillRatingFromDate);\r\n skillObj[\"skillRatingToDate\"] = this.common.getDateYYMMDD(userFormDetails.skillRatingToDate);\r\n skillObj['ratedByRole'] = Number(this.users.userRoll);\r\n userSkillData.push(skillObj);\r\n }\r\n }\r\n return userSkillData;\r\n }\r\n\r\n //save skills data\r\n private saveSkillsData(userSkillData, ) {\r\n this.commonService.saveSkillsData(userSkillData, this.users.emailAddress).pipe(first()).subscribe(\r\n data => {\r\n if (data && data != null) {\r\n this.functionalSkillRatingForm.reset();\r\n localStorage.setItem('errorMsg', 'User successfully added as a TR Nominee');\r\n localStorage.setItem('isReload', 'true');\r\n this.commonService.showerror();\r\n }\r\n },\r\n error => {\r\n localStorage.setItem('errorMsg', 'Must Enter all the fields');\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n )\r\n }\r\n\r\n //set start date\r\n private setStartDate() {\r\n let currentDate = new Date();\r\n this.config.minDate = { year: currentDate.getFullYear(), month: (currentDate.getMonth() + 1), day: currentDate.getDate() };\r\n }\r\n\r\n //set end dates\r\n private setEndDate() {\r\n let currentDate = new Date();\r\n currentDate.setDate(currentDate.getDate() + 1);\r\n currentDate.setMonth(currentDate.getMonth() + 3);\r\n if (this.functionalSkillRatingForm.value.skillRatingFromDate) {\r\n var dd = currentDate.getDate();\r\n var mm = currentDate.getMonth();\r\n var yy = currentDate.getFullYear();\r\n this.config.minDate = { year: yy, month: mm, day: dd };\r\n } else if (this.behavioralSkillRatingForm.value.skillRatingFromDate) {\r\n var dd = currentDate.getDate();\r\n var mm = currentDate.getMonth();\r\n var yy = currentDate.getFullYear();\r\n this.config.minDate = { year: yy, month: mm, day: dd };\r\n } else {\r\n localStorage.setItem('errorMsg', 'Please select Start Date');\r\n this.commonService.showerror();\r\n return;\r\n }\r\n }\r\n\r\n //close dailog box\r\n private closeModels() {\r\n this.closeModel.nativeElement.click();\r\n }\r\n\r\n //forward to next section\r\n public gotoNextPage(e, routeURL) {\r\n this.router.navigate([routeURL]);\r\n }\r\n\r\n // logout and forward to login page\r\n private logout() {\r\n this.commonService.logout();\r\n }\r\n}\r\n","\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
TR Nominee Functional Skill Rating Form
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
TR Nominee Behavioral Skill Rating Form
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Skills Rating Section

\r\n
\r\n
\r\n
\r\n
\r\n
0\">\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
S.No.Employee NameTR Nominee ManagerFunctional RatingBehavioral Rating
\r\n
{{fetchData.indexOf(fetchuserData) + 1}}
\r\n
\r\n
{{fetchuserData.userName}}
\r\n
\r\n
{{fetchuserData.resourceManager}}
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","\n\n\n
\n
\n
\n
\n
\n
\n
\n

Trainings

\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Trainings
Content Gathering Training
SME Management Training
SME Interviewing Skill Training
\n
\n
\n
\n
\n
\n
\n\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-training',\n templateUrl: './training.component.html',\n styleUrls: ['./training.component.css']\n})\nexport class TrainingComponent implements OnInit {\n loading: boolean = false;\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\n\nimport { AppRoutingModule } from './app-routing.module';\nimport { CommonService } from './service/commons-service';\nimport { MailService } from './service/mail.service';\nimport { AppConfig, Common } from './util';\nimport { AppComponent } from './app.component';\nimport { LoginComponent } from './login';\nimport { HeaderCustomComponent } from './header/headerCustom.component';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport {MatDialogModule} from '@angular/material/dialog';\nimport { DatePipe } from '@angular/common';\nimport { DataTablesModule } from 'angular-datatables';\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\nimport { HttpClientModule } from '@angular/common/http';\nimport {NgbModule, NgbAlertModule} from '@ng-bootstrap/ng-bootstrap';\nimport { ModalModule } from 'ngx-bootstrap/modal'; \nimport {BrowserAnimationsModule} from '@angular/platform-browser/animations';\nimport { DashboardComponent } from './dashboard/dashboard.component';\nimport { AddResourceComponent } from './addResource/addResource.component';\nimport { SidebarWrapperComponent } from './sidebarWrapper/sidebarWrapper.component';\nimport { InterventionComponent } from './resourceIntervention/intervention.component';\nimport { ScoreComputationComponent } from './scoreComputation/scoreComputation.component';\nimport { SkillRatingSectionComponent } from './skillRatingSection/skillRatingSection.component';\nimport { SelfRatingSectionComponent } from './selfRatingSection/selfRatingSection.component';\nimport { ManagerRatingSectionComponent } from './managerRatingSection/managerRatingSection.component';\nimport { AdminDashboardComponent } from './adminDashboard/adminDashboard.component';\nimport { IBUComponent } from './ibu/ibu.component';\nimport { AdminSidebarComponent } from './admin-sidebar/admin-sidebar.component';\nimport { TowerComponent } from './tower/tower.component';\nimport { ManagementUsersComponent } from './managementUser/managementusers.component';\nimport { AdminUserComponent } from './superAdminUser/adminuser.component';\nimport { FunctionalSkillMasterComponent } from './functionalSkillMaster/functionalSkillMaster.component';\nimport { BehavioralSkillMasterComponent } from './behavioralSkillMaster';\nimport { SkillRatingMasterComponent } from './skillRatingMaster/skillRatingMaster.component';\nimport { UserDashboardComponent } from './user-dashboard/user-dashboard.component';\nimport { PositionLadderComponent } from './position-ladder/position-ladder.component';\nimport { TrainingComponent } from './training/training.component';\nimport { NominateComponent } from './nominate/nominate.component';\nimport { InterestedUsersComponent } from './interested-users/interested-users.component';\nimport { RatingHistoryComponent } from './rating-history/rating-history.component';\nimport { HashLocationStrategy, LocationStrategy } from '@angular/common';\nimport { BreadcrumbComponent } from './breadcrumb/breadcrumb.component';\nimport { NgMultiSelectDropDownModule } from 'ng-multiselect-dropdown';\nimport { CompetencyReportComponent } from './competency-report/competency-report.component';\nimport {MatTabsModule} from '@angular/material/tabs';\nimport {MatExpansionModule} from '@angular/material/expansion';\n\nconst materialModules = [\n MatButtonModule,\n MatIconModule,\n MatFormFieldModule,\n MatInputModule,\n MatDialogModule,\n MatTabsModule,\n MatExpansionModule\n];\n\n@NgModule({\n declarations: [\n AppComponent,\n LoginComponent,\n DashboardComponent,\n HeaderCustomComponent,\n AddResourceComponent,\n SidebarWrapperComponent,\n InterventionComponent,\n ScoreComputationComponent,\n SkillRatingSectionComponent,\n SelfRatingSectionComponent,\n ManagerRatingSectionComponent,\n AdminDashboardComponent,\n IBUComponent,\n AdminSidebarComponent,\n TowerComponent,\n ManagementUsersComponent,\n AdminUserComponent,\n FunctionalSkillMasterComponent,\n BehavioralSkillMasterComponent,\n SkillRatingMasterComponent,\n UserDashboardComponent,\n PositionLadderComponent,\n TrainingComponent,\n NominateComponent,\n InterestedUsersComponent,\n RatingHistoryComponent,\n BreadcrumbComponent,\n CompetencyReportComponent\n ],\n imports: [\n BrowserModule,\n AppRoutingModule,\n ReactiveFormsModule,\n FormsModule,\n HttpClientModule,\n NgbModule,\n NgbAlertModule,\n ModalModule.forRoot(), \n BrowserAnimationsModule,\n DataTablesModule,\n ...materialModules,\n NgMultiSelectDropDownModule.forRoot()\n ],\n exports: [\n ...materialModules\n ],\n providers: [\n DatePipe,\n MailService,\n AppConfig,\n CommonService,\n Common,\n {provide: LocationStrategy, useClass: HashLocationStrategy}\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","import { Component, OnInit, Compiler } from '@angular/core';\r\nimport { first, retry } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { FormBuilder, Validators, FormControl } from '@angular/forms';\r\nimport { NgbDatepickerConfig } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AppConfig } from '../util';\r\nimport { CommonService } from '../service/commons-service';\r\nimport { Common } from '../util/common';\r\nimport { ExcelService } from '../service/excel.service';\r\n\r\n@Component({\r\n selector: 'headerCustom',\r\n templateUrl: 'headerCustom.component.html',\r\n styleUrls: ['headerCustom.component.css'],\r\n})\r\nexport class HeaderCustomComponent implements OnInit {\r\n loading: boolean = false;\r\n newNomination = '';\r\n users: any = {};\r\n isAppr: number;\r\n interesteNominee: any[] = [];\r\n // private submitted = false;\r\n isNomibtnShow: boolean = true;\r\n userId: any = 0;\r\n loginImageURL: any = '';\r\n baseURL: any = null;\r\n loginUserName: any = '';\r\n userRoll: number = 0;\r\n userType: any = '';\r\n showNominateButton:boolean = false\r\n constructor(\r\n private router: Router,\r\n // private formBuilder: FormBuilder,\r\n // private excelService: ExcelService,\r\n private commonService: CommonService,\r\n // private common: Common,\r\n private appConfig: AppConfig,\r\n config: NgbDatepickerConfig,\r\n private _compiler: Compiler\r\n ) {\r\n this._compiler.clearCache();\r\n this.users = JSON.parse(localStorage.getItem('user'));\r\n if (!this.users || !this.users.userData) {\r\n this.commonService.logout();\r\n return;\r\n }\r\n if (this.users && this.users.userData) {\r\n // this.users = this.users.userData;\r\n\r\n // this.loginUserName = this.users.userData.userFullName;\r\n // this.users.userFullName = this.users.userFullName.toLowerCase();\r\n // this.towerId = this.users.towerId;\r\n\r\n if (this.users.userFullName) {\r\n this.loginUserName = this.users.userData.userFullName;\r\n } else {\r\n this.loginUserName = this.users.userData.userName;\r\n }\r\n this.userRoll = this.users.userData.userRoll;\r\n\r\n switch (this.users.userData.userRoll) {\r\n case '1':\r\n this.userType = 'Super Admin';\r\n break;\r\n case '2':\r\n this.userType = 'Admin';\r\n break;\r\n case '3':\r\n this.userType = 'HR';\r\n break;\r\n case '4':\r\n this.userType = 'Supervisor';\r\n break;\r\n case '5':\r\n this.userType = 'Employee';\r\n break;\r\n default:\r\n this.userType = 'Employee';\r\n break;\r\n }\r\n }\r\n\r\n this.loginImageURL = this.appConfig.getDefaultImgURL();\r\n }\r\n\r\n openDashboard() {\r\n if (JSON.parse(localStorage.user).userData.userRoll == '1')\r\n this.router.navigate(['/adminDashboard']);\r\n else if (JSON.parse(localStorage.user).userData.userRoll == '5')\r\n this.router.navigate(['/selfRating']);\r\n else if (JSON.parse(localStorage.user).userData.userRoll == '3') {\r\n this.isNomibtnShow = false;\r\n this.router.navigate(['/dashboard']);\r\n } else if (JSON.parse(localStorage.user).userData.userRoll == '1') {\r\n this.isNomibtnShow = false;\r\n this.router.navigate(['/dashboard']);\r\n } else if (JSON.parse(localStorage.user).userData.userRoll == '2') {\r\n this.isNomibtnShow = false;\r\n this.router.navigate(['/dashboard']);\r\n } else if (JSON.parse(localStorage.user).userData.userRoll == '4') {\r\n this.isNomibtnShow = false;\r\n this.router.navigate(['/dashboard']);\r\n } else this.router.navigate(['/dashboard']);\r\n }\r\n\r\n ngOnInit() {\r\n const userData = JSON.parse(localStorage.user).userData\r\n if(userData.userRoll == 3 || userData.batchNo == 6)\r\n this.showNominateButton = true;\r\n\r\n if (JSON.parse(localStorage.user).userData.userRoll == 3) {\r\n this.isNomibtnShow = false;\r\n } else if (JSON.parse(localStorage.user).userData.userRoll == 2) {\r\n this.isNomibtnShow = false;\r\n } else if (JSON.parse(localStorage.user).userData.userRoll == 1) {\r\n this.isNomibtnShow = false;\r\n } else if (JSON.parse(localStorage.user).userData.userRoll == 4) {\r\n this.isNomibtnShow = false;\r\n }\r\n this.getAllUsersForTower();\r\n }\r\n\r\n // logout and forward to login page\r\n logout() {\r\n this.commonService.logout();\r\n }\r\n private checkNewNomination() {\r\n let formDetails = {\r\n newNomination: 'New Nomination Proceed',\r\n userId: this.userId,\r\n };\r\n this.commonService\r\n .userNewNominee(formDetails)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {},\r\n (error) => {\r\n localStorage.setItem('errorMsg', 'New Nomination failed');\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n private getAllUsersForTower() {\r\n var towerId = JSON.parse(localStorage.user).userData.towerId;\r\n var getUserId = JSON.parse(localStorage.user).userData.userId;\r\n var formDetails = {\r\n towerId: towerId,\r\n userId: getUserId,\r\n };\r\n this.commonService\r\n .getAllResoucesForTower(formDetails)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.interesteNominee = data;\r\n let appr;\r\n let newNomi = '';\r\n for (let i in this.interesteNominee) {\r\n if (this.interesteNominee[i].userId == getUserId) {\r\n appr = this.interesteNominee[i].isApproved;\r\n newNomi = this.interesteNominee[i].newNomination;\r\n }\r\n this.newNomination = newNomi;\r\n this.isAppr = appr;\r\n this.userId = getUserId;\r\n }\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n onNomiClick() {\r\n if (this.isAppr == 0) {\r\n localStorage.setItem(\r\n 'errorMsg',\r\n 'You Have Already Nominated For Role! Please Check HR Comment In View Dtails, Any Concern Contact To Your HR'\r\n );\r\n this.loading = true;\r\n this.commonService.showerror();\r\n localStorage.setItem('isReload', 'true');\r\n localStorage.removeItem('errorMsg');\r\n this.loading = false;\r\n } else if (this.isAppr == 1) {\r\n localStorage.setItem(\r\n 'errorMsg',\r\n 'You have Already Nominated For next Role! Please contact to HR for further query'\r\n );\r\n this.loading = true;\r\n this.commonService.showerror();\r\n localStorage.setItem('isReload', 'true');\r\n localStorage.removeItem('errorMsg');\r\n this.loading = false;\r\n } else if (this.isAppr == 2) {\r\n if (!this.newNomination) {\r\n this.router.navigate(['/nominate']);\r\n this.checkNewNomination();\r\n } else {\r\n localStorage.setItem(\r\n 'errorMsg',\r\n 'You have Already Nominated for next role! Please contact to HR for further query'\r\n );\r\n localStorage.setItem('isReload', 'true');\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n } else {\r\n if (!this.newNomination) {\r\n this.router.navigate(['/nominate']);\r\n this.checkNewNomination();\r\n } else {\r\n localStorage.setItem(\r\n 'errorMsg',\r\n 'You have Already Applied! Please contact to HR for further query'\r\n );\r\n localStorage.setItem('isReload', 'true');\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n }\r\n }\r\n}\r\n","\r\n","import {\n Component,\n OnInit,\n EventEmitter,\n Output,\n ViewChild,\n ElementRef,\n Renderer2,\n} from '@angular/core';\nimport { CommonService } from '../service/commons-service';\nimport { first, retry } from 'rxjs/operators';\nimport { Router } from '@angular/router';\nimport {\n FormControl,\n Validators,\n FormBuilder,\n FormGroup,\n} from '@angular/forms';\nimport * as moment from 'moment';\n\n@Component({\n selector: 'app-interested-users',\n templateUrl: './interested-users.component.html',\n styleUrls: ['./interested-users.component.css'],\n})\nexport class InterestedUsersComponent implements OnInit {\n @ViewChild('closeApproveModel1', { read: ElementRef })\n closeApproveModel1: ElementRef;\n showHideModel: boolean = true;\n loading: boolean = false;\n myGroup: any;\n status = '';\n appRjctbtn: number = 1;\n viewNominatedData: any[] = [];\n isNominated: number = 0;\n getUserId: number = 0;\n getTowerId: number = 0;\n isApproved: number = 0;\n whyApproved = '';\n index: number = 0;\n interesteNominee: any[] = [];\n users: any = {};\n show: boolean = false;\n buttonName: any = 'HideApp';\n buttonNameR: any = 'HideAppR';\n positionList: any = [];\n ibuList: any = [];\n ibu: any = '';\n functionList: any = [];\n function: any = '';\n selectedIbuId: any = null;\n towerList: any = [];\n alltowerList: any = [];\n selectedTowerId: any;\n tower: any = '';\n nextRole: any = '';\n dataForm: FormGroup;\n showOtherNextRole: boolean = false;\n initialFormValueSet: boolean = false;\n @Output() valueChange = new EventEmitter();\n maxCharForWhyToMoveLength: any = 500;\n maxLeftCharacterWhyToMove: any = this.maxCharForWhyToMoveLength;\n fromApprove: any = '';\n selectedTower = new FormControl();\n constructor(\n private commonService: CommonService,\n private formBuilder: FormBuilder,\n private router: Router\n ) {}\n\n ngOnInit() {\n if (JSON.parse(localStorage.user).userData.userRoll == 5) {\n this.router.navigate(['/selfRating']);\n }\n this.getAllResoucesForTower();\n\n this.getAllIBUInfo();\n //this.getTowerList()\n\n //this.initalizeUserForm();\n this.myGroup = new FormGroup({\n fromApprove: new FormControl('', Validators.required),\n formReject: new FormControl('', Validators.required),\n });\n }\n\n initImportUserForm() {\n this.dataForm = this.formBuilder.group({\n userFile: ['', Validators.required],\n ibu: [],\n });\n }\n\n toggle(num) {\n this.appRjctbtn = num;\n this.show = !this.show;\n\n // CHANGE THE NAME OF THE BUTTON.\n if (this.show) this.buttonName = 'ShowAppR';\n else this.buttonName = 'HideAppR';\n }\n private getAllResoucesForTower() {\n this.loading = true;\n var formDetails = {\n towerId: JSON.parse(localStorage.user).userData.towerId,\n userId: JSON.parse(localStorage.user).userData.userId,\n };\n this.commonService\n .getAllResoucesForTower(formDetails)\n .pipe(first())\n .subscribe(\n (data) => {\n this.interesteNominee = data;\n this.loading = false;\n },\n (error) => {\n this.loading = false;\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n\n private getAllIBUInfo() {\n this.loading = true;\n this.commonService\n .getAllIBUInfo()\n .pipe(first())\n .subscribe(\n (data) => {\n this.ibuList = data;\n this.loading = false;\n },\n (error) => {\n this.loading = false;\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n\n private getTowerList() {\n this.loading = true;\n this.commonService\n .getTowerList()\n .pipe(first())\n .subscribe(\n (data) => {\n this.towerList = data;\n this.alltowerList = data;\n this.loading = false;\n },\n (error) => {\n this.loading = false;\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n\n //fetch Nominee user data\n private onclickViewNomineeUserData(\n towerid: number,\n userid: number,\n index: number\n ) {\n this.initialFormValueSet = false;\n this.positionList = [];\n this.nextRole = '';\n this.getUserId = userid;\n this.getTowerId = towerid;\n this.index = index;\n this.viewNominatedData = this.interesteNominee[index];\n if (this.viewNominatedData) {\n this.tower = this.viewNominatedData['towerId'];\n this.nextRole = this.viewNominatedData['nextPosition'];\n this.fetchPositions(this.viewNominatedData['towerId']);\n this.setFieldsData();\n console.log(this.viewNominatedData['towerId']);\n debugger;\n\n //this.getFunctionListByIbuId(this.viewNominatedData['ibuId']);\n // let tower = this.towerList.find(\n // (tower) => tower.towerId == this.viewNominatedData['towerId']\n // );\n // debugger\n // this.getTowersListByIbuId(\n // this.viewNominatedData['ibuId'],\n // this.viewNominatedData['towerId']\n // );\n\n // this.ibu = parseInt(tower.ibuId);\n\n // if(this.positionList.length) {\n // this.nextRole =this.viewNominatedData['nextPosition'];\n // console.log('this.nextRole', this.nextRole);\n // }\n if (this.viewNominatedData['nextPosition'] == null) {\n this.nextRole = null;\n this.showOtherNextRole = true;\n }\n if (this.viewNominatedData['whyApprove'] == null) {\n this.fromApprove = '';\n this.maxLeftCharacterWhyToMove = 500;\n }\n }\n }\n //close dailog box\n private closeModels() {\n this.closeApproveModel1.nativeElement.click();\n }\n private onClickAprvNRjct() {\n let oldApprsta;\n let WhyApprRjc = '';\n var isAppRj;\n for (let i in this.interesteNominee) {\n if (this.interesteNominee[i].userId == this.getUserId) {\n isAppRj = this.interesteNominee[i].isApproved;\n WhyApprRjc = this.interesteNominee[i].whyApprove;\n }\n oldApprsta = isAppRj;\n WhyApprRjc = WhyApprRjc;\n }\n if (!this.nextRole) {\n localStorage.setItem(\n 'errorMsg',\n 'Please request to TR team for adding new Role !'\n );\n localStorage.setItem('isReload', 'false');\n this.commonService.showerror();\n return;\n }\n if (this.appRjctbtn === 2) {\n isAppRj = 0;\n this.status = this.myGroup.value.formReject;\n } else if (this.appRjctbtn === 1) {\n isAppRj = 1;\n this.status = this.myGroup.value.fromApprove;\n } else {\n isAppRj = 2;\n this.status = 'User is new, Request is pending for Nomination';\n }\n\n let ibuValue = '';\n const formIbu: any = document.querySelector('#form-ibu');\n if (formIbu) {\n ibuValue = formIbu.value;\n }\n\n let towerValue = '';\n const formTower: any = document.querySelector('#form-tower');\n if (formIbu) {\n towerValue = formTower.value;\n }\n\n let functionValue = '';\n const formFunction: any = document.querySelector('#form-function');\n if (formIbu) {\n functionValue = formFunction.value;\n }\n\n let nextRoleValue = '';\n const formNextRole: any = document.querySelector('#form-next-role');\n if (formIbu) {\n nextRoleValue = formNextRole.value;\n }\n\n var formDetails = {\n userId: this.getUserId,\n whyApprove: this.status,\n isApproved: isAppRj,\n ibuId: ibuValue,\n towerId: towerValue,\n functionId: functionValue,\n nextPosition: nextRoleValue,\n //nextPosition:\n // this.nextRole == null || this.nextRole == 'null' ? null : this.nextRole,\n };\n var formStatusDetails = {\n userId: this.getUserId,\n oldStatus: oldApprsta,\n newStatus: isAppRj,\n whyApprRjctOld: WhyApprRjc,\n whyApprRjctNew: this.status,\n };\n\n if (this.status) {\n if (isAppRj == 1) {\n oldApprsta = isAppRj;\n WhyApprRjc = this.status;\n this.commonService\n .approveDisapprove(formDetails)\n .pipe(first())\n .subscribe(\n (data) => {\n // this.myGroup.reset();\n this.insertUserHistory(isAppRj);\n localStorage.setItem(\n 'errorMsg',\n 'Request has been approved successfully!!'\n );\n localStorage.setItem('isReload', 'true');\n this.commonService.showerror();\n this.closeModels();\n localStorage.removeItem('errorMsg');\n this.interesteNominee[this.index].isApproved = isAppRj;\n this.commonService\n .statusHistoryData(formStatusDetails)\n .pipe(first())\n .subscribe(\n (data) => {\n this.getAllResoucesForTower();\n //location.reload();\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n // setTimeout(()=> {\n // window.location.reload();\n // }, 5000);\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n } else {\n this.commonService\n .approveDisapprove(formDetails)\n .pipe(first())\n .subscribe(\n (data) => {\n // this.myGroup.reset();\n this.insertUserHistory(isAppRj);\n localStorage.setItem(\n 'errorMsg',\n 'Request has been rejected successfully!!'\n );\n localStorage.setItem('isReload', 'true');\n this.commonService.showerror();\n this.closeModels();\n localStorage.removeItem('errorMsg');\n this.commonService\n .statusHistoryData(formStatusDetails)\n .pipe(first())\n .subscribe(\n (data) => {\n this.getAllResoucesForTower();\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n } else {\n localStorage.setItem('errorMsg', 'Please fill the Required Field!');\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n }\n\n valueChanged() {\n // You can give any function name\n this.valueChange.emit(this.status);\n }\n\n insertUserHistory(isAppRj) {\n this.commonService\n .getUserDetail(this.getUserId)\n .pipe(first())\n .subscribe(\n (result) => {\n if (result) {\n // if(result.isApproved != isAppRj) {\n var userProfileHistory = {\n empCode: result[0].empCode,\n userName: result[0].userName,\n typeResource: result[0].typesResource,\n joinDate: result[0].joinDate,\n leaveDate: result[0].leaveDate,\n team: result[0].team,\n SUPCode: result[0].SUPCode,\n SLS: result[0].SLS,\n SLSE: result[0].SLSE,\n SLSUPCode: result[0].SLSUPCode,\n // 'SLST': userData.SLST,\n TTA: result[0].TTA,\n currentPosition: result[0].currentPosition,\n nextPosition: Number(result[0].nextPosition),\n email: result[0].email,\n resourceManager: result[0].resourceManager,\n resourceManagerEmail: result[0].resourceManagerEmail,\n empStatus: parseInt(result[0].empStatus),\n batchNo: result[0].batchNo,\n journeyCompletionDate: result[0].journeyCompletionDate\n ? moment(result[0].journeyCompletionDate).format('YYYY-MM-DD')\n : ' ',\n isApproved: isAppRj,\n createdByEmail: JSON.parse(localStorage.getItem('user')).userData\n .emailAddress,\n };\n if (result) {\n if (result.isApproved != isAppRj) {\n this.commonService\n .saveUserProfileHistory(userProfileHistory)\n .pipe(first())\n .subscribe(\n (result) => {},\n (error) => {}\n );\n }\n }\n }\n },\n (error) => {}\n );\n }\n // /fetch user information data\n private fetchPositions(towerId, positionId = '') {\n this.commonService.getAllPositionInfo(towerId).subscribe(\n (data) => {\n this.positionList = data;\n const formTower: any = document.querySelector('#form-next-role');\n if (formTower) {\n setTimeout(() => {\n formTower.value = positionId;\n }, 200);\n }\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n\n public setFieldsData() {\n this.commonService\n .allInfoPosition(this.viewNominatedData['nextPosition'])\n .pipe(first())\n .subscribe(\n (data) => {\n if (data && data.length) {\n const response = data[0];\n this.viewNominatedData['isNextTowerSame'] =\n response.towerId == this.viewNominatedData['towerId'];\n this.onChangeIBU(null, response);\n }\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n\n private getTowersListByIbuId(ibuId, towerId, dataValue) {\n this.commonService.getTowersListByIbuId(ibuId, null).subscribe(\n (data) => {\n this.towerList = data;\n this.alltowerList = data;\n if (dataValue) {\n const formTower: any = document.querySelector('#form-tower');\n\n if (formTower) {\n setTimeout(() => {\n formTower.value = dataValue.towerId;\n }, 200);\n }\n\n this.fetchPositions(dataValue.towerId, dataValue.positionId);\n }\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n\n private getFunctionListByIbuId(ibuId, dataValue) {\n this.functionList = [];\n this.commonService.getFunctionListByIbuId(ibuId).subscribe(\n (data) => {\n this.functionList = data;\n if (dataValue) {\n const formFunction: any = document.querySelector('#form-function');\n console.log({ dataValue, formFunction });\n\n if (formFunction) {\n setTimeout(() => {\n formFunction.value = dataValue.functionId;\n }, 200);\n }\n }\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n\n private intiateSetFormValues() {\n //this.setIbuValue(this.viewNominatedData['nextPositionIbuId'])\n //this.setFunctionValue(this.viewNominatedData['nextPositionIbuId'])\n }\n\n onSelectNextRole(event) {\n let nextRoleVal = event.target.value;\n this.showOtherNextRole = false;\n if (nextRoleVal == null || nextRoleVal == 'null') {\n this.showOtherNextRole = true;\n }\n this.nextRole = nextRoleVal;\n }\n\n private onChangeIBU(event, dataValue) {\n console.log({ dataValue });\n debugger;\n let ibu = dataValue ? dataValue.ibuId : event.target.value;\n\n if (dataValue) {\n const formIbu: any = document.querySelector('#form-ibu');\n\n if (formIbu) {\n formIbu.value = dataValue.ibuId;\n }\n }\n\n this.resetFunctionValue();\n this.resetTowerValue();\n if (ibu) {\n this.getFunctionListByIbuId(ibu, dataValue);\n this.getTowersListByIbuId(ibu, 0, dataValue);\n } else {\n this.resetFunctionList();\n this.resetTowerList();\n }\n }\n\n private onChangeFunction(event) {\n let functionId = event.target.value;\n this.resetTowerValue();\n if (functionId) {\n this.towerList = this.alltowerList.filter(\n (item) => item.functionId == functionId\n );\n } else {\n this.towerList = this.alltowerList;\n }\n }\n private onChangeTower(event) {\n this.fetchPositions(event.target.value);\n }\n\n private resetFunctionValue() {\n this.function = '';\n }\n\n private resetTowerValue() {\n this.tower = '';\n }\n\n private resetFunctionList() {\n this.functionList = [];\n }\n\n private resetTowerList() {\n this.towerList = [];\n }\n\n /**\n * Apply validation on string by count string length.\n */\n onTextChange() {\n if (this.fromApprove.length) {\n this.maxLeftCharacterWhyToMove =\n this.maxCharForWhyToMoveLength - this.fromApprove.length;\n if (this.fromApprove.length > this.maxCharForWhyToMoveLength) {\n this.fromApprove = this.fromApprove.slice(\n 0,\n this.maxCharForWhyToMoveLength\n );\n }\n }\n }\n\n test(val) {\n console.log(val);\n return val;\n }\n}\n","\n\n\n\n
\n
\n
\n
\n
\n
\n
\n

Interested Applicant

\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
S.No.Emp CodeEmployee NameEmail idCurrent RoleNext RoleStatusNominated AtView
\n
\n
\n
0\">\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
S.No.Emp CodeEmp NameEmail idCurrent RoleNext RoleStatusNominated AtView
\n
{{ i + 1 }}
\n
\n
{{ element.empCode }}
\n
\n
{{ element.userName }}
\n
\n
{{ element.email }}
\n
\n
{{ element.CurrentPositionName }}
\n
\n
{{ element.NextPositionName }}
\n
\n \n \n {{ commonService.getUserStatus(element.isApproved) }}\n \n \n
\n {{ element.approvedAt ? element.approvedAt : \"NA\" }}\n
\n
\n
\n \n \n \n \n
\n
\n
\n
\n
\n \n\n\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n\n
\n
\n
\n
\n
Applicant Detail Form
\n \n ×\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n\n \n \n
\n
\n
\n\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n \n
\n
\n \n\n \n \n \n \n \n \n \n \n\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n","import { Component, OnInit, Compiler } from '@angular/core';\r\nimport { first, retry } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { FormBuilder, Validators, FormControl } from '@angular/forms';\r\nimport { NgbDatepickerConfig } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AppConfig } from '../util';\r\nimport { CommonService } from '../service/commons-service';\r\nimport { Common } from '../util/common';\r\nimport { ExcelService } from '../service/excel.service';\r\n\r\n@Component({\r\n templateUrl: 'scoreComputation.component.html',\r\n styleUrls: ['scoreComputation.component.css'],\r\n})\r\nexport class ScoreComputationComponent implements OnInit {\r\n users: any = {};\r\n config: any;\r\n loading = false;\r\n userList: any[] = [];\r\n userFunSkillList: any[] = [];\r\n userFunSkillRatingList: any[] = [];\r\n userSkillRatingData: any[] = [];\r\n loginImageURL: any = '';\r\n baseURL: any = null;\r\n loginUserName: any = '';\r\n skillList: any[] = [];\r\n behSkillList: any[] = [];\r\n userBehSkillRatingList: any[] = [];\r\n selectedPositionId: Number = 0;\r\n selectedCombinedId: any;\r\n userBehSkillList: any[] = [];\r\n skillRatingList: any[] = [];\r\n selectedUserId: any = 'Select User';\r\n inactiveUserCount = 0;\r\n activeUserCount = 0;\r\n functionalActive = '';\r\n behavioralActive = '';\r\n selectedType: any = '';\r\n isSkillDataPresent: any = true;\r\n nextPosition: any = '';\r\n currentPositionName: any = '';\r\n nextPositionName: any = '';\r\n nextPositionId: any = '';\r\n\r\n positionList: any = [];\r\n\r\n constructor(\r\n private router: Router,\r\n private formBuilder: FormBuilder,\r\n private excelService: ExcelService,\r\n private commonService: CommonService,\r\n\r\n private common: Common,\r\n private appConfig: AppConfig,\r\n config: NgbDatepickerConfig,\r\n private _compiler: Compiler\r\n ) {\r\n this._compiler.clearCache();\r\n this.users = JSON.parse(localStorage.getItem('user'));\r\n if (!this.users || !this.users.userData) {\r\n this.commonService.logout();\r\n return;\r\n }\r\n if (this.users && this.users.userData) {\r\n this.users = this.users.userData;\r\n\r\n this.loginUserName = this.users.userFullName;\r\n }\r\n let currentDate = new Date();\r\n this.config = config;\r\n this.config.minDate = {\r\n year: currentDate.getFullYear() - 10,\r\n month: currentDate.getMonth(),\r\n day: currentDate.getDate(),\r\n };\r\n this.config.maxDate = { year: 2099, month: 12, day: 31 };\r\n this.config.markDisabled = false;\r\n this.loginImageURL = this.appConfig.getDefaultImgURL();\r\n }\r\n\r\n ngOnInit() {\r\n this.getSkillDetails();\r\n this.getAllBehSkills();\r\n this.getUsersList();\r\n this.getSkillRatingDetails();\r\n this.fetchPositions();\r\n }\r\n\r\n // Get Skill Details From Skill Master\r\n private getSkillDetails() {\r\n this.loading = true;\r\n this.commonService\r\n .postAllFunSkills(\r\n JSON.parse(localStorage.getItem('user')).userData.towerId\r\n )\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.loading = false;\r\n if (data && data.length > 0) {\r\n this.skillList = data;\r\n } else {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', 'Competencies Data Not Found');\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n // Get Behavioral Skill Details From Skill Master\r\n private getAllBehSkills() {\r\n this.loading = true;\r\n this.commonService\r\n .postAllBehSkills(\r\n JSON.parse(localStorage.getItem('user')).userData.towerId\r\n )\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.loading = false;\r\n if (data && data.length > 0) {\r\n this.behSkillList = data;\r\n } else {\r\n this.loading = false;\r\n localStorage.setItem(\r\n 'errorMsg',\r\n 'Behavioral Skills Data Not Found'\r\n );\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n // Get Skill Details From Skill Master\r\n private getSkillRatingDetails() {\r\n this.loading = true;\r\n this.commonService\r\n .fetchSkillRatingData()\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.loading = false;\r\n if (data && data.length > 0) {\r\n this.skillRatingList = data;\r\n } else {\r\n localStorage.setItem(\r\n 'errorMsg',\r\n 'Competencies Rating Data Not Found'\r\n );\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n // /Get All Users information\r\n private getUsersList() {\r\n this.loading = true;\r\n var userEmail = '';\r\n if (JSON.parse(localStorage.getItem('user')).userData.userRoll == 4)\r\n userEmail = JSON.parse(localStorage.getItem('user')).userData.userEmail;\r\n\r\n this.commonService\r\n .getUsersListByPost(\r\n JSON.parse(localStorage.getItem('user')).userData.towerId,\r\n userEmail\r\n )\r\n .subscribe(\r\n (data) => {\r\n this.loading = false;\r\n if (data && data.length > 0) {\r\n this.userList = data;\r\n } else {\r\n localStorage.setItem('errorMsg', 'Users Not Found');\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n // Get All Users information\r\n private getNextPosition() {\r\n this.loading = true;\r\n this.isSkillDataPresent = false;\r\n this.functionalActive = '';\r\n this.behavioralActive = '';\r\n if (this.selectedCombinedId.split('_')[0] == '') return;\r\n\r\n var currentUserId = this.selectedCombinedId.split('_')[0];\r\n for (let i = 0; i < this.userList.length; i++) {\r\n if (currentUserId == this.userList[i].userId) {\r\n this.currentPositionName = this.userList[i].positionName;\r\n this.nextPositionId = this.userList[i].nextPosition;\r\n }\r\n }\r\n\r\n console.log('cur level', this.selectedCombinedId.split('_')[0]);\r\n var towerId = JSON.parse(localStorage.user).userData.towerId;\r\n this.commonService\r\n .getNextPosition(this.selectedCombinedId.split('_')[0])\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.loading = false;\r\n console.log('returneed data', data);\r\n if (data && data.length > 0) {\r\n console.log(data);\r\n this.nextPosition = data[0].positionName;\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n private getPositionName(positionId) {\r\n for (let i = 0; i < this.positionList.length; i++) {\r\n if (this.positionList[i].positionId == positionId)\r\n return this.positionList[i].positionName;\r\n }\r\n }\r\n\r\n // /fetch user information data\r\n private fetchPositions() {\r\n //var towerId = JSON.parse(localStorage.user).userData.towerId;\r\n this.commonService\r\n .getAllPositionInfo(null)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n this.positionList = data;\r\n },\r\n (error) => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n private getUserFunSkillRatingInfo() {\r\n this.selectedUserId = this.selectedCombinedId.split('_')[0];\r\n this.selectedPositionId = this.selectedCombinedId.split('_')[1];\r\n let userNextPositionId = this.selectedCombinedId.split('_')[2];\r\n let selectedUserTowerId = this.selectedCombinedId.split('_')[3];\r\n this.nextPositionId = userNextPositionId;\r\n\r\n if (!this.selectedUserId || this.selectedUserId == 'Select User') {\r\n localStorage.setItem('errorMsg', 'Please select user first!');\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n return;\r\n }\r\n this.loading = true;\r\n let userIds = [Number(this.selectedUserId)];\r\n var userId: any = Number(this.selectedUserId);\r\n this.userSkillRatingData = [];\r\n\r\n this.functionalActive = 'active';\r\n this.behavioralActive = '';\r\n const towerId = JSON.parse(localStorage.getItem('user')).userData.towerId\r\n ? JSON.parse(localStorage.getItem('user')).userData.towerId\r\n : selectedUserTowerId;\r\n this.commonService\r\n .getUserFunSkillRatingInfo(userId, undefined, this.nextPositionId)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data && data.length > 0) {\r\n this.isSkillDataPresent = true;\r\n this.userFunSkillRatingList = data;\r\n console.log(\r\n 'this.userFunSkillRatingList',\r\n this.userFunSkillRatingList\r\n );\r\n this.filterFuncomputeScoreList();\r\n // this.filterScoreComputation(true);\r\n } else {\r\n this.loading = false;\r\n this.isSkillDataPresent = false;\r\n localStorage.setItem('errorMsg', 'User skill rating not found');\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n this.isSkillDataPresent = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n\r\n //Get user skills data\r\n private getUserBehSkillRatingInfo() {\r\n this.selectedUserId = this.selectedCombinedId.split('_')[0];\r\n this.selectedPositionId = this.selectedCombinedId.split('_')[1];\r\n let userNextPositionId = this.selectedCombinedId.split('_')[2];\r\n let selectedUserTowerId = this.selectedCombinedId.split('_')[3];\r\n this.nextPositionId = userNextPositionId;\r\n if (!this.selectedUserId || this.selectedUserId == 'Select User') {\r\n localStorage.setItem('errorMsg', 'Please select user first!');\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n return;\r\n }\r\n this.loading = true;\r\n let userIds = [Number(this.selectedUserId)];\r\n var userId: any = Number(this.selectedUserId);\r\n this.userSkillRatingData = [];\r\n this.functionalActive = '';\r\n this.behavioralActive = 'active';\r\n // this.nextPositionId\r\n const towerId = JSON.parse(localStorage.getItem('user')).userData.towerId\r\n ? JSON.parse(localStorage.getItem('user')).userData.towerId\r\n : selectedUserTowerId;\r\n console.log(\r\n 'Compute Score',\r\n userId,\r\n JSON.parse(localStorage.getItem('user')).userData.towerId,\r\n userNextPositionId\r\n );\r\n this.commonService\r\n .getUserBehSkillRatingInfo(userId, undefined, userNextPositionId)\r\n .pipe(first())\r\n .subscribe(\r\n (data) => {\r\n if (data && data.length > 0) {\r\n this.isSkillDataPresent = true;\r\n console.log('data', data);\r\n this.userBehSkillRatingList = data;\r\n this.filterBehComputeScoreList();\r\n\r\n // this.filterScoreComputation(false);\r\n } else {\r\n this.loading = false;\r\n this.isSkillDataPresent = false;\r\n localStorage.setItem('errorMsg', 'User skill rating not found');\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n this.isSkillDataPresent = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n );\r\n }\r\n /**\r\n * Filter Beh. Compute Score List.\r\n */\r\n filterBehComputeScoreList() {\r\n console.log(\r\n 'Compute: this.userBehSkillRatingList',\r\n this.userBehSkillRatingList\r\n );\r\n this.selectedType = 'Beh';\r\n for (let j = 0; j < this.userBehSkillRatingList.length; j++) {\r\n let skillRatingObj = {};\r\n skillRatingObj['skillId'] = this.userBehSkillRatingList[j].skillId;\r\n skillRatingObj['skillName'] = this.userBehSkillRatingList[j].skillName;\r\n skillRatingObj['targetScore'] =\r\n this.userBehSkillRatingList[j].targetScore;\r\n if (\r\n this.userBehSkillRatingList[j] &&\r\n this.userBehSkillRatingList[j].skillScore &&\r\n this.userBehSkillRatingList[j].ratedByRole == 4\r\n ) {\r\n skillRatingObj['managerRating'] =\r\n this.userBehSkillRatingList[j].skillScore;\r\n } else if (\r\n this.userBehSkillRatingList[j] &&\r\n this.userBehSkillRatingList[j].skillScore &&\r\n this.userBehSkillRatingList[j].ratedByRole == 5\r\n ) {\r\n skillRatingObj['selfRating'] =\r\n this.userBehSkillRatingList[j].skillScore;\r\n }\r\n const index = this.userSkillRatingData.findIndex(\r\n (item) => item.skillId == this.userBehSkillRatingList[j].skillId\r\n );\r\n if (index != -1 && this.userBehSkillRatingList[j].ratedByRole == 4) {\r\n this.userSkillRatingData[index].managerRating =\r\n this.userBehSkillRatingList[j].skillScore;\r\n } else if (\r\n index != -1 &&\r\n this.userBehSkillRatingList[j].ratedByRole == 5\r\n ) {\r\n this.userSkillRatingData[index].selfRating =\r\n this.userBehSkillRatingList[j].skillScore;\r\n } else {\r\n this.userSkillRatingData.push(skillRatingObj);\r\n }\r\n }\r\n this.loading = false;\r\n return;\r\n }\r\n /**\r\n * Filter Functional Compute Score List.\r\n */\r\n filterFuncomputeScoreList() {\r\n this.selectedType = 'Fun';\r\n\r\n for (let j = 0; j < this.userFunSkillRatingList.length; j++) {\r\n let skillRatingObj = {};\r\n skillRatingObj['skillId'] = this.userFunSkillRatingList[j].skillId;\r\n skillRatingObj['skillName'] = this.userFunSkillRatingList[j].skillName;\r\n skillRatingObj['targetScore'] =\r\n this.userFunSkillRatingList[j].targetScore;\r\n if (\r\n this.userFunSkillRatingList[j] &&\r\n this.userFunSkillRatingList[j].skillScore &&\r\n this.userFunSkillRatingList[j].ratedByRole == 4\r\n ) {\r\n skillRatingObj['managerRating'] =\r\n this.userFunSkillRatingList[j].skillScore;\r\n } else if (\r\n this.userFunSkillRatingList[j] &&\r\n this.userFunSkillRatingList[j].skillScore &&\r\n this.userFunSkillRatingList[j].ratedByRole == 5\r\n ) {\r\n skillRatingObj['selfRating'] =\r\n this.userFunSkillRatingList[j].skillScore;\r\n }\r\n const index = this.userSkillRatingData.findIndex(\r\n (item) => item.skillId == this.userFunSkillRatingList[j].skillId\r\n );\r\n if (index != -1 && this.userFunSkillRatingList[j].ratedByRole == 4) {\r\n this.userSkillRatingData[index].managerRating =\r\n this.userFunSkillRatingList[j].skillScore;\r\n } else if (\r\n index != -1 &&\r\n this.userFunSkillRatingList[j].ratedByRole == 5\r\n ) {\r\n this.userSkillRatingData[index].selfRating =\r\n this.userFunSkillRatingList[j].skillScore;\r\n } else {\r\n this.userSkillRatingData.push(skillRatingObj);\r\n }\r\n }\r\n this.loading = false;\r\n return;\r\n }\r\n // filter user skill score computation\r\n private filterScoreComputation(isFunctional) {\r\n if (isFunctional) this.selectedType = 'Fun';\r\n else this.selectedType = 'Beh';\r\n console.log('SKILL LIST', this.skillList);\r\n console.log(\r\n 'this.userBehSkillRatingList.length',\r\n this.userBehSkillRatingList.length\r\n );\r\n this.userSkillRatingData = [];\r\n if (isFunctional) {\r\n if (this.skillList && this.skillList.length > 0) {\r\n for (let i = 0; i < this.skillList.length; i++) {\r\n if (this.skillList[i].positionId != this.nextPositionId) continue;\r\n\r\n let skillRatingObj = {};\r\n skillRatingObj['skillId'] = this.skillList[i].skillId;\r\n skillRatingObj['skillName'] = this.skillList[i].skillName;\r\n skillRatingObj['targetScore'] = this.skillList[i].targetScore;\r\n // set self and manager ratings\r\n for (let j = 0; j < this.userFunSkillRatingList.length; j++) {\r\n if (\r\n this.skillList[i].skillId ==\r\n this.userFunSkillRatingList[j].skillId &&\r\n this.userFunSkillRatingList[j].ratedByRole == 4\r\n ) {\r\n if (\r\n this.userFunSkillRatingList[j] &&\r\n this.userFunSkillRatingList[j].skillScore\r\n ) {\r\n skillRatingObj['managerRating'] =\r\n this.userFunSkillRatingList[j].skillScore;\r\n }\r\n } else if (\r\n this.skillList[i].skillId ==\r\n this.userFunSkillRatingList[j].skillId &&\r\n this.userFunSkillRatingList[j].ratedByRole == 5\r\n ) {\r\n if (\r\n this.userFunSkillRatingList[j] &&\r\n this.userFunSkillRatingList[j].skillScore\r\n ) {\r\n skillRatingObj['selfRating'] =\r\n this.userFunSkillRatingList[j].skillScore;\r\n }\r\n }\r\n }\r\n\r\n if (!skillRatingObj['managerRating']) {\r\n skillRatingObj['managerRating'] = 0;\r\n }\r\n\r\n if (!skillRatingObj['selfRating']) {\r\n skillRatingObj['selfRating'] = 0;\r\n }\r\n this.userSkillRatingData.push(skillRatingObj);\r\n }\r\n }\r\n } else {\r\n if (this.behSkillList && this.behSkillList.length > 0) {\r\n for (let i = 0; i < this.behSkillList.length; i++) {\r\n if (this.behSkillList[i].positionId != this.nextPositionId) continue;\r\n let skillRatingObj = {};\r\n skillRatingObj['skillId'] = this.behSkillList[i].skillId;\r\n skillRatingObj['skillName'] = this.behSkillList[i].skillName;\r\n skillRatingObj['targetScore'] = this.behSkillList[i].targetScore;\r\n\r\n for (let j = 0; j < this.userBehSkillRatingList.length; j++) {\r\n if (\r\n this.behSkillList[i].skillId ==\r\n this.userBehSkillRatingList[j].skillId &&\r\n this.userBehSkillRatingList[j].ratedByRole == 4\r\n ) {\r\n if (\r\n this.userBehSkillRatingList[j] &&\r\n this.userBehSkillRatingList[j].skillScore\r\n ) {\r\n skillRatingObj['managerRating'] =\r\n this.userBehSkillRatingList[j].skillScore;\r\n }\r\n } else if (\r\n this.behSkillList[i].skillId ==\r\n this.userBehSkillRatingList[j].skillId &&\r\n this.userBehSkillRatingList[j].ratedByRole == 5\r\n ) {\r\n if (\r\n this.userBehSkillRatingList[j] &&\r\n this.userBehSkillRatingList[j].skillScore\r\n ) {\r\n skillRatingObj['selfRating'] =\r\n this.userBehSkillRatingList[j].skillScore;\r\n }\r\n }\r\n }\r\n\r\n if (!skillRatingObj['managerRating']) {\r\n skillRatingObj['managerRating'] = 0;\r\n }\r\n\r\n if (!skillRatingObj['selfRating']) {\r\n skillRatingObj['selfRating'] = 0;\r\n }\r\n\r\n this.userSkillRatingData.push(skillRatingObj);\r\n }\r\n }\r\n }\r\n\r\n console.log('userSkillRatingData', this.userSkillRatingData);\r\n this.loading = false;\r\n return;\r\n }\r\n\r\n private getSkillScore(SkillName) {\r\n let score = 0;\r\n if (this.skillRatingList && this.skillRatingList.length > 0) {\r\n for (let i = 0; i < this.skillRatingList.length; i++) {\r\n if (this.skillRatingList[i].ratingName == SkillName) {\r\n score = this.skillRatingList[i].score;\r\n break;\r\n }\r\n }\r\n }\r\n return score;\r\n }\r\n\r\n //Validate skill rating score data\r\n private validateSkillratingScoreData(skillScore) {\r\n if (!skillScore || skillScore == '') {\r\n return 0;\r\n }\r\n return skillScore;\r\n }\r\n\r\n //export resource history data\r\n private excelReport() {\r\n let excelExportData = [];\r\n let headers = [\r\n 'S.No.',\r\n 'Employee Name',\r\n 'TR Nominee Type',\r\n 'Joining Date',\r\n 'Leaving Date',\r\n 'Team',\r\n 'Email',\r\n 'Created By',\r\n 'HTML Level',\r\n 'Lectora Level',\r\n 'StoryLine Level',\r\n ];\r\n for (let i = 0; i < this.userList.length; i++) {\r\n let data = {};\r\n data[headers[0]] = i + 1;\r\n data[headers[1]] = this.userList[i].userName;\r\n data[headers[2]] = this.userList[i].typeResource;\r\n data[headers[3]] = new Date(this.userList[i].joinDate);\r\n data[headers[5]] = new Date(this.userList[i].leaveDate);\r\n data[headers[6]] = this.userList[i].team;\r\n data[headers[7]] = this.userList[i].email;\r\n data[headers[8]] = this.userList[i].createdByEmail;\r\n data[headers[9]] = this.userList[i].createdByEmail;\r\n data[headers[10]] = this.replaceSkillName(\r\n this.userList[i].userSkill[2].skillLevel\r\n );\r\n data[headers[11]] = this.replaceSkillName(\r\n this.userList[i].userSkill[1].skillLevel\r\n );\r\n data[headers[12]] = this.replaceSkillName(\r\n this.userList[i].userSkill[0].skillLevel\r\n );\r\n excelExportData.push(data);\r\n }\r\n this.excelService.generateExcel(headers, excelExportData, 'UserList');\r\n }\r\n\r\n //replace numbric value from skill name\r\n private replaceSkillName(skillName) {\r\n if (skillName) {\r\n skillName = skillName.replace('1_', '');\r\n skillName = skillName.replace('2_', '');\r\n skillName = skillName.replace('3_', '');\r\n }\r\n return skillName;\r\n }\r\n\r\n //forward to next section\r\n public gotoNextPage(e, routeURL) {\r\n this.router.navigate([routeURL]);\r\n }\r\n\r\n // logout and forward to login page\r\n private logout() {\r\n this.commonService.logout();\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, ViewChild, OnInit, Compiler, ElementRef } from '@angular/core';\r\nimport { first, retry } from 'rxjs/operators';\r\nimport { Pipe } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { FormBuilder, FormGroup, FormArray, Validators, FormControl } from '@angular/forms';\r\nimport { NgbDatepickerConfig, NgbCalendar, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AppConfig } from '../util';\r\nimport { Common } from '../util/common';\r\nimport { ExcelService } from '../service/excel.service';\r\nimport { CommonService } from '../service/commons-service';\r\nimport { Chart } from 'chart.js';\r\n\r\n\r\nvar cl = console.log;\r\n\r\n\r\n\r\n@Component({\r\n templateUrl: 'intervention.component.html',\r\n styleUrls: ['intervention.component.css']\r\n})\r\nexport class InterventionComponent implements OnInit {\r\n @ViewChild('tableCanvas', { read: ElementRef }) tableCanvas: ElementRef;\r\n users: any = {};\r\n loginImageURL: any = \"\";\r\n loginUserName: any = \"\";\r\n userList: any[] = [];\r\n updateUserSkillForm: FormGroup;\r\n interventionForm: FormGroup;\r\n isEnable: boolean = false;\r\n loading: boolean = false;\r\n baseURL: any = null;\r\n selectedUserId: any = \"Select User\";\r\n headders: any[] = [\"Competency Graph\", \"Action\"];\r\n sDate: any = null;\r\n eDate: any = null;\r\n resourceSkillsData: any[] = [];\r\n resourceBehSkillsData: any[] = [];\r\n removeUsersFromList: any[] = [\"ct_reliance\", \"tc_lavoro\", \"tc_iqvia\", \"reco\", \"tw\", \"additonal\", \"recource\", \"resource\", \"boeing\", \"abb\", \"sap\", \"citi\", \"principal\", \"pb_resource\", \"lm_ra\", \"lm_resource\", \"keybank\", \"toyota\", \"csd\"];\r\n chart: any[] = [];\r\n viewContent: any = null;\r\n totalMonth: any[] = [];\r\n selectedTab: any = 1;\r\n addChartData: any[] = [];\r\n skillArray: any[] = [{ skillId: 1, skillName: \"StoryLine\" }, { skillId: 2, skillName: \"Lectora\" }, { skillId: 3, skillName: \"HTML\" }];\r\n consolidatedChartData: any = null;\r\n consolidatedBehChartData: any = null;\r\n consolidatedTableData: any = null;\r\n consolidatedBehTableData: any = null;\r\n showHideModel: boolean = true;\r\n selectedStoryLine: any = \"3_Beginner\"\r\n selectedLectora: any = \"3_Beginner\"\r\n selectedHTML: any = \"3_Beginner\"\r\n userName: any = \"\";\r\n currentUserList: any[] = [];\r\n interventionList: any[] = [];\r\n usersInterventionList: any[] = [];\r\n config: any;\r\n skillId: any = \"\";\r\n interventionId: any = \"\";\r\n interventionLFeildList: FormArray;\r\n interventionFieldsArray: FormArray;\r\n userInterventionList: any[] = []\r\n startDate: any;\r\n selectedMonth: any = 0;\r\n towerId: any;\r\n skillData: any[] = [];\r\n skillBehData: any[] = [];\r\n skillRatingData: any[] = [];\r\n currentUserId: any;\r\n selectedPositionId: Number = 0;\r\n selectedCombinedId: any = 'Select User';\r\n clickedSkillId: any = 0;\r\n butDisabled: boolean = true;\r\n curRating: any = [];\r\n curRatingVal: any = '';\r\n ratingDataFunctional: any = [];\r\n ratingDataBehavioral: any = [];\r\n funClicked: boolean = false;\r\n behClicked: boolean = false;\r\n commonInterventionData: any = [];\r\n currentSkillIntervention: any = {};\r\n selectedTowerId: any;\r\n interventionFieldForm: FormGroup;\r\n\r\n constructor(private router: Router, private appConfig: AppConfig, private common: Common,\r\n private commonService: CommonService, config: NgbDatepickerConfig, private _compiler: Compiler,\r\n private formBuilder: FormBuilder, calendar: NgbCalendar, private excelService: ExcelService) {\r\n this.users = JSON.parse(localStorage.getItem('user'));\r\n if (!this.users || !this.users.userData) {\r\n this.commonService.logout();\r\n return;\r\n }\r\n if (this.users && this.users.userData) {\r\n this.loginImageURL = this.appConfig.getDefaultImgURL();\r\n this.loginUserName = this.users.userData.userFullName;\r\n this.towerId = this.users.userData.towerId;\r\n }\r\n this.baseURL = this.appConfig.getServerURL();\r\n this._compiler.clearCache();\r\n\r\n let currentDate = new Date();\r\n this.config = config;\r\n this.config.minDate = { year: currentDate.getFullYear(), month: (currentDate.getMonth()), day: currentDate.getDate() };\r\n this.config.maxDate = { year: 2099, month: 12, day: 31 };\r\n this.config.outsideDays = 'collapsed';\r\n\r\n }\r\n\r\n ngOnInit() {\r\n localStorage.setItem(\"selectedMonth\", \"3\");\r\n this.updateUserSkillForm = this.formBuilder.group({\r\n selectedStoryLine: new FormControl(\"\"),\r\n selectedLectora: new FormControl(\"\"),\r\n selectedHTML: new FormControl(\"\"),\r\n userName: new FormControl(\"\")\r\n });\r\n\r\n this.interventionForm = this.formBuilder.group({\r\n userName: new FormControl(\"\"),\r\n\r\n interventionFieldArray: this.formBuilder.array([this.createFields()])\r\n });\r\n\r\n this.getUsersList();\r\n this.fetchSkillsData();\r\n this.fetchBehSkillsData();\r\n this.fetchSkillRatingData();\r\n\r\n if (localStorage.getItem(\"selectedMonth\") == \"5\") {\r\n\r\n }\r\n }\r\n\r\n //fetch functional skill master\r\n private fetchSkillsData() {\r\n this.commonService.fetchSkillDataPost(this.towerId).pipe(first()).subscribe(\r\n data => {\r\n this.skillData = data;\r\n },\r\n error => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n )\r\n }\r\n\r\n //fetch beh skill master\r\n private fetchBehSkillsData() {\r\n this.commonService.fetchBehSkillDataPost(this.towerId).pipe(first()).subscribe(\r\n data => {\r\n this.skillBehData = data;\r\n },\r\n error => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n )\r\n }\r\n\r\n // Get skillratingmaster: strength: 5, weakness: 1, etc\r\n private fetchSkillRatingData() {\r\n this.skillRatingData = [];\r\n this.commonService.fetchSkillRatingData().pipe(first()).subscribe(\r\n data => {\r\n if (data && data.length > 0) {\r\n this.skillRatingData = data;\r\n } else {\r\n localStorage.setItem('errorMsg', \"Competency Rating Data Not Found\");\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n },\r\n error => {\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n )\r\n }\r\n //initialized intervention form\r\n private initInterventionForm() {\r\n this.interventionForm = this.formBuilder.group({\r\n userName: new FormControl(\"\"),\r\n\r\n interventionFieldArray: this.formBuilder.array([this.createFields()])\r\n });\r\n }\r\n\r\n //get intervention form group fields array.\r\n get interventionFormGroup() {\r\n\r\n return this.interventionForm.get('interventionFieldArray') as FormArray;\r\n }\r\n\r\n loadUserData(str) {\r\n if (!this.selectedCombinedId || this.selectedCombinedId == \"Select User\") {\r\n localStorage.setItem('errorMsg', \"Please select user first!\");\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n return;\r\n }\r\n this.selectedUserId = this.selectedCombinedId.split(\"_\")[0];\r\n this.selectedPositionId = this.selectedCombinedId.split(\"_\")[1];\r\n this.selectedTowerId = this.selectedCombinedId.split(\"_\")[2];\r\n\r\n if (!this.selectedUserId || this.selectedUserId == \"Select User\") {\r\n localStorage.setItem('errorMsg', \"Please select user first!\");\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n return;\r\n }\r\n if (str === 'fun') {\r\n this.userFunSkillByTowerPosition();\r\n } else {\r\n this.userBehSkillByTowerPosition();\r\n }\r\n this.loading = true;\r\n let userIds = [Number(this.selectedUserId)];\r\n var userId: any = Number(this.selectedUserId);\r\n\r\n this.getInterventionList();\r\n this.getUsersInterventionList(str);\r\n let c = this.interventionFieldsArray = this.interventionForm.get('interventionFieldArray') as FormArray;\r\n }\r\n\r\n // create fields\r\n private createFields(): FormGroup {\r\n return this.interventionFieldForm = this.formBuilder.group({\r\n savedInterventionId: new FormControl(''),\r\n skillId: new FormControl(\"\"),\r\n expectedLevel: new FormControl(\"\"),\r\n actualLevel: new FormControl(\"\"),\r\n interventionId: new FormControl(\"\"), // i.e Email, Phone\r\n interventionStartDate: new FormControl(\"\"), // i.e. Home, Office\r\n interventionEndDate: new FormControl(\"\")\r\n });\r\n }\r\n /**\r\n * Convenience getter for easy access to form fields\r\n */\r\n get f() { return this.interventionFieldForm.controls; }\r\n\r\n // set fields value\r\n private setFields(skills): FormGroup {\r\n return this.formBuilder.group({\r\n skillId: new FormControl(skills.skillId),\r\n interventionId: new FormControl(skills.interventionId),\r\n interventionStartDate: new FormControl(this.common.getJSONObj(skills.interventionStartDate)), // i.e. Home, Office\r\n interventionEndDate: new FormControl(this.common.getJSONObj(skills.interventionEndDate))\r\n });\r\n }\r\n\r\n // /Get All Users information\r\n private getUsersList() {\r\n this.loading = true;\r\n var userEmail = \"\";\r\n if (JSON.parse(localStorage.getItem('user')).userData.userRoll == 4)\r\n userEmail = JSON.parse(localStorage.getItem('user')).userData.userEmail;\r\n\r\n this.commonService.getUsersListByPost(JSON.parse(localStorage.getItem('user')).userData.towerId, userEmail).pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n if (data && data.length > 0) {\r\n this.userList = data;\r\n this.currentUserList = data;\r\n\r\n } else {\r\n localStorage.setItem('errorMsg', \"Users Not Found\");\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n }, error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n )\r\n }\r\n\r\n // add a feilds form group\r\n private addFeilds() {\r\n this.interventionFieldsArray.push(this.createFields());\r\n }\r\n\r\n // remove feilds from group\r\n private removeFields(index) {\r\n \r\n this.interventionFieldsArray.removeAt(index);\r\n }\r\n\r\n // Get users list which are Available from current date.\r\n private getCurrentAvailableUsers() {\r\n this.currentUserList = [];\r\n this.loading = true;\r\n var userEmail = \"\";\r\n if (JSON.parse(localStorage.getItem('user')).userData.userRoll == 4)\r\n userEmail = JSON.parse(localStorage.getItem('user')).userData.userEmail;\r\n\r\n\r\n this.commonService.fetchUserData(null, this.towerId, userEmail).pipe(first()).subscribe(\r\n data => {\r\n this.currentUserList = data;\r\n this.loading = false;\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n })\r\n }\r\n\r\n // Get users list which are Available from current date.\r\n private getInterventionList(skillId?: any) {\r\n this.interventionList = [];\r\n this.loading = true;\r\n \r\n this.commonService.getInterventionList(skillId).pipe(first()).subscribe(\r\n data => {\r\n this.interventionList = data;\r\n this.loading = false;\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n })\r\n }\r\n\r\n // Get users intervention list\r\n private getUsersInterventionList(dataFor) {\r\n this.usersInterventionList = [];\r\n this.loading = true;\r\n this.commonService.getUsersInterventionList().pipe(first()).subscribe(\r\n data => {\r\n this.usersInterventionList = data;\r\n this.loading = false;\r\n if (localStorage.getItem(\"selectedMonth\")) {\r\n this.getStartAndEndDate(Number(localStorage.getItem(\"selectedMonth\")), dataFor)\r\n }\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n })\r\n }\r\n\r\n //edit skills\r\n private onEditSubmit(userData, skillId) {\r\n this.clickedSkillId = skillId;\r\n this.curRatingVal = this.curRating[skillId];\r\n this.userName = this.getUserInfo(userData.userId).userName.trim();\r\n this.selectedStoryLine = this.getCurrentSkillLevel(userData.storyLineSkills);\r\n this.selectedLectora = this.getCurrentSkillLevel(userData.lectoraSkills);\r\n this.selectedHTML = this.getCurrentSkillLevel(userData.htmlSkills);\r\n\r\n }\r\n\r\n // Get current skill level\r\n // + Used when the popup is opened\r\n private getCurrentSkillLevel(skills) {\r\n\r\n let skillName = \"\";\r\n let beginner = \"3_Beginner\";\r\n let intermediate = \"2_Intermediate\";\r\n let expert = \"1_Expert\";\r\n let date = null;\r\n if (skills && skills.length > 0) {\r\n for (let i = 0; i < skills.length; i++) { \r\n if (!date) {\r\n if (skills[i].skillLevel == 0 || skills[i].skillLevel == 25) {\r\n skillName = beginner;\r\n date = new Date(skills[i].date);\r\n } else if (skills[i].skillLevel == 50) {\r\n skillName = intermediate;\r\n date = new Date(skills[i].date);\r\n } else {\r\n skillName = expert;\r\n date = new Date(skills[i].date);\r\n }\r\n } else {\r\n let tempDate = new Date(skills[i].date);\r\n if (date < tempDate && skills[i].skillLevel == 0 || skills[i].skillLevel == 25) {\r\n skillName = beginner;\r\n date = new Date(skills[i].date);\r\n } else if (date < tempDate && skills[i].skillLevel == 50) {\r\n skillName = intermediate;\r\n date = new Date(skills[i].date);\r\n } else if (date < tempDate) {\r\n skillName = expert;\r\n date = new Date(skills[i].date);\r\n }\r\n }\r\n }\r\n }\r\n return skillName;\r\n }\r\n\r\n //+ get the month (returns the selected month?)\r\n private getStartAndEndDate(numOfMonth, dataFor) {\r\n if (this.selectedUserId === \"Select User\") return;\r\n localStorage.setItem(\"selectedMonth\", numOfMonth);\r\n this.totalMonth = [];\r\n this.addChartData = [];\r\n let lastDate = new Date();\r\n lastDate.setMonth(lastDate.getMonth() - numOfMonth);\r\n this.sDate = this.common.getDatesYYMMDD(lastDate);\r\n this.eDate = this.common.getDatesYYMMDD(new Date());\r\n this.totalMonth = this.common.getMonthsNameArray(lastDate, new Date());\r\n \r\n this.getResourcesSkillHistory(dataFor);\r\n this.getResourcesBehSkillHistory(dataFor);\r\n if (numOfMonth === 3) this.selectedTab = 1;\r\n else if (numOfMonth === 6) this.selectedTab = 2;\r\n else if (numOfMonth === 9) this.selectedTab = 3;\r\n else if (numOfMonth === 12) this.selectedTab = 4;\r\n\r\n }\r\n\r\n //get functional skill ratings for the user\r\n private getResourcesSkillHistory(str) {\r\n this.loading = true;\r\n this.resourceSkillsData = [];\r\n this.consolidatedChartData = [];\r\n this.consolidatedTableData = [];\r\n this.commonService.getResourcesSkillHistory(this.selectedUserId).pipe(first()).subscribe(\r\n data => {\r\n if (data[0] && data[0].length > 0) {\r\n // remove unknown user from the list\r\n this.ratingDataFunctional = data[0];\r\n let usersInfo = this.filterUsers(data[0]);\r\n this.resourceSkillsData = this.filterUsersSkills(usersInfo, \"fun\");\r\n if (this.resourceSkillsData.length) {\r\n setTimeout(() => {\r\n this.getTableCanvas();\r\n }, 500);\r\n }\r\n this.consolidatedChartData = this.getConsolidatedChart(this.resourceSkillsData);\r\n this.consolidatedTableData = this.getConsolidatedTableData(this.resourceSkillsData);\r\n this.isEnable = true;\r\n }\r\n else {\r\n if (str == 'fun') {\r\n localStorage.setItem('errorMsg', 'No Functional Ratings are available for this user.');\r\n this.commonService.showerror();\r\n }\r\n this.loading = false;\r\n return;\r\n }\r\n // this.loading = false;\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', 'Data Not Found');\r\n this.commonService.showerror();\r\n return;\r\n });\r\n }\r\n\r\n //get behavioral skill ratings for the user\r\n private getResourcesBehSkillHistory(str) {\r\n this.loading = true;\r\n this.resourceSkillsData = [];\r\n this.consolidatedChartData = [];\r\n this.consolidatedTableData = [];\r\n this.commonService.getResourcesBehSkillHistory(this.selectedUserId).pipe(first()).subscribe(\r\n data => {\r\n if (data[0] && data[0].length > 0) {\r\n // remove unknown user from the list\r\n this.ratingDataBehavioral = data[0];\r\n let usersInfo = this.filterUsers(data[0]);\r\n this.resourceBehSkillsData = this.filterUsersSkills(usersInfo, \"beh\");\r\n if (this.resourceBehSkillsData) {\r\n setTimeout(() => {\r\n this.getTableCanvas();\r\n }, 500);\r\n }\r\n this.consolidatedBehChartData = this.getConsolidatedChart(this.resourceSkillsData);\r\n this.consolidatedBehTableData = this.getConsolidatedTableData(this.resourceSkillsData);\r\n // this.isEnable = true;\r\n }\r\n else {\r\n if (str == 'beh') {\r\n localStorage.setItem('errorMsg', 'No Behavioral Ratings are available for this user.');\r\n this.commonService.showerror();\r\n }\r\n this.loading = false;\r\n return;\r\n }\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', 'Data Not Found');\r\n this.commonService.showerror();\r\n return;\r\n });\r\n }\r\n\r\n // + removes a specific set of users from the list\r\n private filterUsers(userInfodata) {\r\n let userInfoList = [];\r\n if (userInfodata && userInfodata.length > 0) {\r\n for (let i = 0; i < userInfodata.length; i++) {\r\n let isInvalidUser = false;\r\n for (let j = 0; j < this.removeUsersFromList.length; j++) {\r\n if (userInfodata[i].userName) {\r\n let userName = userInfodata[i].userName.toLowerCase();\r\n if (userName.includes(this.removeUsersFromList[j])) {\r\n isInvalidUser = true;\r\n break;\r\n }\r\n }\r\n }\r\n if (!isInvalidUser) {\r\n userInfoList.push(userInfodata[i]);\r\n }\r\n }\r\n }\r\n return userInfoList;\r\n }\r\n\r\n //filetr users skill levels\r\n private filterUsersSkills(userInfodata, type) {\r\n let userInfoList = [];\r\n let addedUsers = [];\r\n var skillData = (type === \"beh\") ? this.skillBehData : this.skillData;\r\n var prefix = (type === \"beh\") ? \"b_\" : \"f_\";\r\n\r\n if (userInfodata.length > 0) {\r\n for (let i = 0; i < userInfodata.length; i++) {\r\n let userSkillObj = [];\r\n \r\n if (!userInfodata[i].userId || userInfodata[i].userId != this.selectedUserId) {\r\n continue;\r\n }\r\n let userId = userInfodata[i].userId;\r\n\r\n if (addedUsers.indexOf(userId) != -1) {\r\n continue;\r\n }\r\n for (let j = 0; j < userInfodata.length; j++) {\r\n if (userInfodata[j].userId) {\r\n if (userId == userInfodata[j].userId) {\r\n userSkillObj.push(userInfodata[j]);\r\n }\r\n }\r\n }\r\n addedUsers.push(userId);\r\n for (let j = 0; j < skillData.length; j++) {\r\n userInfodata[i][skillData[j].skillName] = this.getUserSkillLevel(userSkillObj, skillData[j].skillId);\r\n userInfodata[i][skillData[j].skillName + \"InterData\"] = this.filterUserInterventions(userInfodata[i].userId, prefix + skillData[j].skillId);\r\n }\r\n userInfoList.push(userInfodata[i]);\r\n }\r\n }\r\n\r\n return userInfoList;\r\n }\r\n\r\n //filetr users skill level\r\n private getUserSkillLevel(users, skillId) {\r\n let skillLevelData = [];\r\n if (users && users.length > 0) {\r\n let lastFoundSkillLevel = null;\r\n for (let i = 0; i < this.totalMonth.length; i++) {\r\n let skillObj = {};\r\n let foundRecord = false;\r\n for (let j = 0; j < users.length; j++) {\r\n if (users[j].skillId != skillId) continue;\r\n\r\n let skillDate = this.getDate(users[j]);\r\n if (this.totalMonth[i] == skillDate && skillObj['date'] == skillDate) {\r\n lastFoundSkillLevel = users[j].skillScore;\r\n foundRecord = true;\r\n skillObj['skillLevel'] = users[j].skillScore;// this.getSkillLeve(users[j].skillLevel);\r\n } else if (this.totalMonth[i] == skillDate) {\r\n foundRecord = true;\r\n lastFoundSkillLevel = users[j].skillScore;\r\n skillObj = { date: this.totalMonth[i], skillLevel: users[j].skillScore /* this.getSkillLeve(users[j].skillLevel) */ };\r\n }\r\n }\r\n\r\n if (!foundRecord) {\r\n if (lastFoundSkillLevel) {\r\n skillLevelData.push(\r\n {\r\n date: this.totalMonth[i],\r\n skillLevel: lastFoundSkillLevel //this.getSkillLeve(lastFoundSkillLevel) \r\n }\r\n );\r\n } else {\r\n \r\n skillLevelData.push(\r\n {\r\n date: this.totalMonth[i],\r\n skillLevel: 0 //this.getSkillLeve(null) \r\n }\r\n );\r\n }\r\n } else {\r\n skillLevelData.push(skillObj);\r\n }\r\n }\r\n }\r\n \r\n return skillLevelData;\r\n }\r\n\r\n // get intervention name by interventionId\r\n private filterUserInterventions(userName, skillId) {\r\n let interventionType = [];\r\n let userInfo = this.getUserInfo(userName);\r\n if (!userInfo || !userInfo.userId) {\r\n return\r\n }\r\n if (this.usersInterventionList && this.usersInterventionList.length > 0) {\r\n for (let i = 0; i < this.usersInterventionList.length; i++) {\r\n if (this.usersInterventionList[i].userId == userInfo.userId && this.usersInterventionList[i].skillId == skillId) {\r\n let interDateArray = this.common.getMonthsNameArray(new Date(this.usersInterventionList[i].interventionStartDate), new Date(this.usersInterventionList[i].interventionEndDate));\r\n for (let j = 0; j < interDateArray.length; j++) {\r\n let index = this.getIndexFromArray(interventionType, interDateArray[j]);\r\n if (index >= 0) {\r\n interventionType[index] = {\r\n date: interDateArray[j],\r\n skillLevel: this.usersInterventionList[i].expectedLevel\r\n \r\n };\r\n } else {\r\n interventionType.push({\r\n date: interDateArray[j],\r\n skillLevel: this.usersInterventionList[i].expectedLevel\r\n \r\n });\r\n }\r\n }\r\n }\r\n }\r\n // matched data from selected date from intervention date\r\n let selectedDateArray = this.common.getMonthsNameArray(new Date(this.sDate), new Date(this.eDate));\r\n if (selectedDateArray && selectedDateArray.length > 0) {\r\n for (let i = 0; i < selectedDateArray.length; i++) {\r\n let index = this.getIndexDateFromArray(interventionType, selectedDateArray[i]);\r\n if (index == -1) {\r\n interventionType.push({ date: selectedDateArray[i], skillLevel: 0 });\r\n }\r\n }\r\n }\r\n }\r\n return interventionType;\r\n }\r\n\r\n // get indexof for exiting record. \r\n private getIndexDateFromArray(array, checkWith) {\r\n let index = -1;\r\n if (array && array.length > 0 && checkWith) {\r\n for (let i = 0; i < array.length; i++) {\r\n if (array[i].date == checkWith) {\r\n index = i;\r\n break;\r\n }\r\n }\r\n }\r\n return index;\r\n }\r\n\r\n // get indexof for exiting record. \r\n private getIndexFromArray(array, checkWith) {\r\n let index = -1;\r\n if (array && array.length > 0 && checkWith) {\r\n for (let i = 0; i < array.length; i++) {\r\n if (array[i].date == checkWith) {\r\n index = i;\r\n break;\r\n }\r\n }\r\n }\r\n return index;\r\n }\r\n\r\n private makeArrayForGraph(skillId, skillType) {\r\n\r\n var skillData;\r\n\r\n if (skillType === \"beh\") {\r\n skillData = this.ratingDataBehavioral;\r\n }\r\n else {\r\n skillData = this.ratingDataFunctional;\r\n }\r\n\r\n var currentYear = Number((new Date()).getFullYear());\r\n var currentMonth = Number((new Date()).getMonth() + 1);\r\n var ratings = [], pastYearRatings = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\r\n\r\n\r\n for (let i = 0; i < skillData.length; i++) {\r\n if (skillData[i].positionId != this.selectedPositionId)\r\n continue;\r\n\r\n if (skillData[i].skillId == skillId) {\r\n\r\n var toMonth = new Date(skillData[i].skillRatingToDate).getMonth() + 1;\r\n \r\n\r\n var fromMonth = new Date(skillData[i].skillRatingFromDate).getMonth() + 1;\r\n \r\n\r\n for (let j = fromMonth; j <= toMonth; j++) {\r\n \r\n ratings[currentMonth - j] = skillData[i].skillScore;\r\n\r\n }\r\n\r\n }\r\n }\r\n\r\n\r\n\r\n let j = 0;\r\n\r\n for (let i = 12; i > 7; i--) {\r\n\r\n if (!ratings[j])\r\n pastYearRatings[i] = 0;\r\n else\r\n pastYearRatings[i] = ratings[j];\r\n j++;\r\n }\r\n\r\n \r\n\r\n\r\n return pastYearRatings;\r\n }\r\n\r\n private getDate(userInfo) {\r\n if (userInfo) {\r\n if (userInfo.createDate) {\r\n return this.common.getMonthsName(userInfo.createDate);\r\n }\r\n }\r\n }\r\n\r\n\r\n // get consolidateData of skill index\r\n private getConsolidatedChart(usersData) {\r\n let expert = {};\r\n if (usersData && usersData.length > 0) {\r\n for (let i = 0; i < usersData.length; i++) {\r\n for (let j = 0; j < this.skillData.length; j++) {\r\n let skillName = this.skillData[j].skillName;\r\n let skillObj = this.getSkillData(usersData[i][skillName]);\r\n if (expert[skillName]) {\r\n expert[skillName] = expert[skillName] + skillObj;\r\n } else {\r\n expert[skillName] = skillObj;\r\n }\r\n }\r\n }\r\n }\r\n return expert;\r\n }\r\n\r\n // Get skill Data\r\n private getSkillData(skillData) {\r\n let count = 0;\r\n if (skillData && skillData.length > 0) {\r\n for (let i = 0; i < skillData.length; i++) {\r\n count = count + skillData[i].skillLevel;\r\n }\r\n }\r\n return count;\r\n }\r\n\r\n private getConsolidatedTableData(usersData) { //not being used\r\n let skillObject = {}\r\n\r\n if (usersData && usersData.length > 0) {\r\n for (let i = 0; i < usersData.length; i++) {\r\n\r\n\r\n\r\n for (let k = 0; k < this.skillRatingData.length; k++) {\r\n skillObject[k] = {};\r\n\r\n var value = 100 * (k + 1) / this.skillRatingData.length;\r\n\r\n for (let j = 0; j < this.skillData.length; j++) {\r\n let skillName = this.skillData[j].skillName;\r\n if (skillObject[k][skillName]) {\r\n skillObject[k][skillName] = skillObject[k][skillName] + this.getSkillLevelData(usersData[i], skillName, value);\r\n } else {\r\n skillObject[k][skillName] = this.getSkillLevelData(usersData[i], skillName, value);\r\n }\r\n }\r\n\r\n }\r\n\r\n }\r\n }\r\n return skillObject; //I doubt that it is being used\r\n }\r\n\r\n // Get skill Data\r\n private getSkillLevelData(userInfo, skillName, level) {\r\n let count = 0;\r\n if (userInfo) {\r\n let skillData = userInfo[skillName];\r\n for (let i = 0; i < skillData.length; i++) {\r\n if (skillData[i].skillLevel == level) {\r\n count++;\r\n }\r\n }\r\n }\r\n return count;\r\n }\r\n\r\n private getSkillName(ratingId) {\r\n //get rating name by Id\r\n\r\n for (let i = 0; i < this.skillRatingData.length; i++) {\r\n if (this.skillRatingData[i].score == ratingId)\r\n return this.skillRatingData[i].ratingName;\r\n }\r\n \r\n }\r\n\r\n // Generate user skill Line Chart\r\n private generateChart(divId, userInfo, userInfoBeh) {\r\n \r\n if (!userInfo && !userInfoBeh) return;\r\n let colors = [\"#00aeef\", \"#C95A49\"];\r\n var pointBackgroundColors = ['black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black', 'black'];\r\n let datasets = [], datasetsBeh = [];\r\n for (let i = 0; i < this.skillData.length; i++) {\r\n\r\n //set skill data for showing in graph\r\n let skillName = this.skillData[i].skillName;\r\n let skillDataArray = this.getSkillResult(userInfo[skillName]);\r\n this.curRating[\"f_\" + this.skillData[i].skillId] = skillDataArray[4];\r\n\r\n let skillObj = { fill: true, borderWidth: 3 };\r\n\r\n skillObj['data'] = this.makeArrayForGraph(this.skillData[i].skillId, \"fun\").slice(8);\r\n skillObj['label'] = \"Competency Level\"; //skillName + \" - Actual Level\";\r\n skillObj['backgroundColor'] = colors[0];\r\n skillObj['fill'] = true;\r\n skillObj['borderColor'] = colors[0];\r\n skillObj['lineTension'] = 0;\r\n skillObj['pointBackgroundColor'] = pointBackgroundColors;\r\n datasets.push(skillObj);\r\n //set intervention data for showing in graph\r\n let skillInterData = this.getSkillResult(userInfo[skillName + \"InterData\"]);\r\n let InterData = { fill: true, borderWidth: 3 };\r\n InterData['data'] = skillInterData;\r\n InterData['label'] = \"Intervention\"; //skillName + \" - Planned Interventions\";\r\n InterData['backgroundColor'] = colors[1];\r\n InterData['fill'] = true;\r\n InterData['borderColor'] = colors[1]; //i+1\r\n InterData['lineTension'] = 0;\r\n InterData['pointBackgroundColor'] = pointBackgroundColors;\r\n datasets.push(InterData);\r\n }\r\n\r\n for (let i = 0; i < this.skillBehData.length; i++) {\r\n //set skill data for showing in graph\r\n let skillName = this.skillBehData[i].skillName;\r\n\r\n let skillDataArray = this.getSkillResult(userInfoBeh[skillName]);\r\n\r\n this.curRating[\"b_\" + this.skillBehData[i].skillId] = skillDataArray[4];\r\n\r\n let skillObj = { fill: true, borderWidth: 3 };\r\n \r\n skillObj['data'] = this.makeArrayForGraph(this.skillBehData[i].skillId, \"beh\").slice(8)\r\n\r\n skillObj['label'] = \"Competency Level\"; //skillName + \" - Actual Level\";\r\n skillObj['borderColor'] = colors[0];\r\n skillObj['backgroundColor'] = colors[0];\r\n skillObj['fill'] = true;\r\n skillObj['stacked'] = true;\r\n skillObj['lineTension'] = 0;\r\n skillObj['pointBackgroundColor'] = pointBackgroundColors;\r\n \r\n datasetsBeh.push(skillObj);\r\n //set intervention data for showing in graph\r\n let skillInterData = this.getSkillResult(userInfoBeh[skillName + \"InterData\"]);\r\n let InterData = { fill: true, borderWidth: 3 };\r\n InterData['data'] = skillInterData;\r\n InterData['label'] = \"Intervention\"; //skillName + \" - Planned Interventions\";\r\n InterData['borderColor'] = colors[1]; //i+1\r\n InterData['backgroundColor'] = colors[1];\r\n InterData['fill'] = true;\r\n InterData['stacked'] = true;\r\n InterData['lineTension'] = 0;\r\n InterData['pointBackgroundColor'] = pointBackgroundColors;\r\n datasetsBeh.push(InterData);\r\n }\r\n\r\n\r\n var options = {\r\n height: 400,\r\n legend: {\r\n display: true,\r\n },\r\n title: {\r\n display: true,\r\n fontSize: 12,\r\n fontFamily: \"Century Gothic\"\r\n },\r\n scales: {\r\n xAxes: [{\r\n display: true\r\n }],\r\n yAxes: [{\r\n display: true,\r\n ticks: {\r\n max: 5,\r\n min: 0,\r\n stepSize: 1\r\n }\r\n }],\r\n }\r\n\r\n };\r\n\r\n var j = 0;\r\n for (let i = 0; i < datasets.length; i += 2) { //datasets.length\r\n this.chart = new Chart(divId.split(\"_\")[0] + \"_\" + j++, {\r\n type: 'line',\r\n data: {\r\n labels: this.totalMonth,\r\n datasets: [datasets[i], datasets[i + 1]]\r\n },\r\n options: options\r\n });\r\n }\r\n\r\n var j = 0;\r\n for (let i = 0; i < datasetsBeh.length; i += 2) { //datasets.length\r\n this.chart = new Chart(divId.split(\"_\")[0] + \"_b_\" + j++, {\r\n type: 'line',\r\n data: {\r\n labels: this.totalMonth,\r\n datasets: [datasetsBeh[i], datasetsBeh[i + 1]]\r\n },\r\n options: options\r\n });\r\n }\r\n\r\n }\r\n\r\n // Filter the result date based on date \r\n private getSkillResult(data) {\r\n let dataArray = [];\r\n if (this.totalMonth.length > 0 && data && data.length) {\r\n for (let i = 0; i < this.totalMonth.length; i++) {\r\n for (let j = 0; j < data.length; j++) {\r\n if (data[j].date == this.totalMonth[i]) {\r\n dataArray.push(data[j].skillLevel); //skillLevel\r\n }\r\n }\r\n }\r\n }\r\n return dataArray;\r\n }\r\n\r\n // get table canvas\r\n private getTableCanvas() {\r\n try {\r\n let canvasData = this.tableCanvas.nativeElement.querySelectorAll(\"tbody tr canvas\");\r\n canvasData.forEach(canvas => {\r\n let index = canvas.id.split(\"_\")[1];\r\n index = 0;\r\n let userInfo = this.resourceSkillsData[index];\r\n let userInfoBeh = this.resourceBehSkillsData[index];\r\n this.generateChart(canvas.id, userInfo, userInfoBeh);\r\n });\r\n\r\n $(\"select\").on('change', (e) => {\r\n this.getTableCanvas();\r\n });\r\n $(\".userRcCustomTable th\").on('click', (e) => {\r\n this.getTableCanvas();\r\n });\r\n $(\".dataTables_paginate\").on('click', (e) => {\r\n this.getTableCanvas();\r\n });\r\n } catch (error) {\r\n \r\n this.loading = false;\r\n return;\r\n }\r\n this.loading = false;\r\n }\r\n\r\n // update user skills \r\n private onUpdateSkills(updateUserSkill) {\r\n if (this.updateUserSkillForm.invalid) {\r\n localStorage.setItem('errorMsg', \"Please select all fields value\");\r\n this.commonService.showerror();\r\n return;\r\n }\r\n this.loading = true;\r\n let userInfo = this.getUserInfo(updateUserSkill.userName);\r\n userInfo.joinDate = this.common.getDatesYYMMDD(userInfo.joinDate);\r\n userInfo.updatedByEmail = this.users.userData.emailAddress;\r\n userInfo.selectedStoryLine = updateUserSkill.selectedStoryLine;\r\n userInfo.selectedLectora = updateUserSkill.selectedLectora;\r\n userInfo.selectedHTML = updateUserSkill.selectedHTML;\r\n let userSkill = this.setUserSkillData(updateUserSkill, userInfo.userId);\r\n this.commonService.updationResouceSkills(userInfo, userSkill).pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', data.status);\r\n this.commonService.showerror();\r\n setTimeout(function () {\r\n window.location.reload();\r\n }, 500);\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n })\r\n\r\n }\r\n\r\n // Get user info based on user name\r\n private getUserInfo(userId) {\r\n let userInfo = null;\r\n if (this.currentUserList && this.currentUserList.length > 0) {\r\n for (let i = 0; i < this.currentUserList.length; i++) {\r\n if (userId == this.currentUserList[i].userId) {\r\n userInfo = this.currentUserList[i];\r\n break;\r\n }\r\n }\r\n }\r\n return userInfo;\r\n }\r\n\r\n //set user skill data\r\n private setUserSkillData(userFormDetails: any, userId: any) {\r\n let userSkillData = [];\r\n userSkillData.push({ userId: userId, skillId: Number(1), skillLevel: userFormDetails.selectedStoryLine });\r\n userSkillData.push({ userId: userId, skillId: Number(2), skillLevel: userFormDetails.selectedLectora });\r\n userSkillData.push({ userId: userId, skillId: Number(3), skillLevel: userFormDetails.selectedHTML });\r\n return userSkillData;\r\n }\r\n\r\n //save user interventions \r\n private saveUserInterventions(interventionForm) {\r\n let userIntervention = [];\r\n this.loading = true;\r\n let userInfo = this.getUserInfo(this.currentUserId);\r\n let skillInfo = this.getUserskillInfo(interventionForm.userName);\r\n if (interventionForm && interventionForm.interventionFieldArray.length > 0) {\r\n let feildsArray = interventionForm.interventionFieldArray;\r\n for (let i = 0; i < feildsArray.length; i++) {\r\n let obj = {};\r\n if (this.validateFeild(feildsArray[i].actualLevel)) {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', \"Please select current competency!\");\r\n this.commonService.showerror();\r\n break;\r\n }\r\n if (this.validateFeild(feildsArray[i].interventionId)) {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', \"Please select intervention type!\");\r\n this.commonService.showerror();\r\n break;\r\n }\r\n if (feildsArray[i].interventionId) {\r\n obj[\"interventionId\"] = Number(feildsArray[i].interventionId);\r\n obj[\"interventionType\"] = this.getInterventionName(Number(feildsArray[i].interventionId));\r\n }\r\n\r\n if (this.validateFeild(userInfo.userId)) {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', \"User not found!\");\r\n this.commonService.showerror();\r\n break;\r\n }\r\n if (userInfo.userId) {\r\n obj[\"userId\"] = userInfo.userId;\r\n obj[\"userName\"] = userInfo.userName;\r\n obj[\"userEmail\"] = \"Niit-emanuel.joseph@niit.com\";//userInfo.email;\r\n }\r\n\r\n if (this.validateFeild(feildsArray[i].skillId)) {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', \"Please select competency name!\");\r\n this.commonService.showerror();\r\n break;\r\n }\r\n if (feildsArray[i].skillId) {\r\n obj[\"skillId\"] = feildsArray[i].skillId;\r\n obj[\"skillName\"] = this.getSkillNameById(feildsArray[i].skillId);\r\n }\r\n \r\n\r\n\r\n if (this.validateFeild(feildsArray[i].expectedLevel)) {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', \"Please select competency level!\");\r\n this.commonService.showerror();\r\n break;\r\n }\r\n if (feildsArray[i].expectedLevel) {\r\n obj[\"expectedLevel\"] = feildsArray[i].expectedLevel; //this.getSkillName(feildsArray[i].expectedLevel);\r\n }\r\n\r\n if (feildsArray[i].actualLevel) {\r\n obj[\"actualLevel\"] = feildsArray[i].actualLevel; //this.getSkillName(feildsArray[i].expectedLevel);\r\n }\r\n\r\n if (this.validateFeild(feildsArray[i].interventionStartDate)) {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', \"Please select start date!\");\r\n this.commonService.showerror();\r\n break;\r\n }\r\n\r\n if (feildsArray[i].interventionStartDate) {\r\n obj[\"interventionStartDate\"] = this.common.getDateYYMMDD(feildsArray[i].interventionStartDate);\r\n }\r\n\r\n if (this.validateFeild(feildsArray[i].interventionEndDate)) {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', \"Please select end date!\");\r\n this.commonService.showerror();\r\n break;\r\n }\r\n\r\n if (feildsArray[i].interventionEndDate) {\r\n obj[\"interventionEndDate\"] = this.common.getDateYYMMDD(feildsArray[i].interventionEndDate);\r\n }\r\n\r\n obj[\"createdBy\"] = this.users.userData.displayName;\r\n obj[\"createdByEmail\"] = this.users.userData.emailAddress;\r\n\r\n let validDate = this.validateAlignIntervention(obj[\"interventionStartDate\"], feildsArray[i].savedInterventionId);\r\n if (!validDate) {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', userInfo.userName + \" already planned for intervention at selected date!\");\r\n this.commonService.showerror();\r\n break;\r\n }\r\n if (feildsArray[i].savedInterventionId) {\r\n obj[\"savedInterventionId\"] = feildsArray[i].savedInterventionId;\r\n }\r\n userIntervention.push(obj);\r\n }\r\n }\r\n this.commonService.saveUserInterventions(userIntervention).pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', data.status);\r\n this.commonService.showerror();\r\n setTimeout(function () {\r\n window.location.reload();\r\n }, 500);\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.commonService.showerror();\r\n });\r\n }\r\n\r\n // Get user info based on user name\r\n private getUserskillInfo(userName) {\r\n let userInfo = null;\r\n if (this.resourceSkillsData && this.resourceSkillsData.length > 0) {\r\n for (let i = 0; i < this.resourceSkillsData.length; i++) {\r\n if (userName.trim() == this.getUserName(this.resourceSkillsData[i].userId).trim()) {\r\n userInfo = this.resourceSkillsData[i];\r\n break;\r\n }\r\n }\r\n }\r\n return userInfo;\r\n }\r\n //validate align intervention\r\n private validateAlignIntervention(starDate, userInterventionId) {\r\n let validDate = true;\r\n if (this.userInterventionList && this.userInterventionList.length > 0) {\r\n if (starDate) {\r\n for (let i = 0; i < this.userInterventionList.length; i++) {\r\n if (Number(userInterventionId) != Number(this.userInterventionList[i].userInterventionId)) {\r\n starDate = new Date(starDate);\r\n let intStartDate = new Date(this.userInterventionList[i].interventionStartDate);\r\n let intEndDate = new Date(this.userInterventionList[i].interventionEndDate);\r\n if (starDate >= intStartDate && starDate <= intEndDate) {\r\n validDate = false;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return validDate;\r\n }\r\n\r\n //get user interventions\r\n private getUserInterventions(userId) {\r\n \r\n let userInfo = this.getUserInfo(userId);\r\n this.userName = userInfo.userName;\r\n this.loading = true;\r\n this.userInterventionList = [];\r\n this.commonService.getUserInterventions(userInfo.userId).pipe(first()).subscribe(\r\n data => {\r\n this.currentUserId = userId;\r\n this.loading = false;\r\n this.userInterventionList = data;\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error);\r\n this.commonService.showerror();\r\n })\r\n }\r\n\r\n //get intervention name by intervention id\r\n private getInterventionName(interventionId) {\r\n let interventionType = \"\";\r\n if (this.interventionList && this.interventionList.length > 0) {\r\n for (let i = 0; i < this.interventionList.length; i++) {\r\n if (this.interventionList[i].internventionId == interventionId) {\r\n interventionType = this.interventionList[i].interventionType;\r\n break;\r\n }\r\n }\r\n }\r\n return interventionType;\r\n }\r\n\r\n // get user name by userId\r\n private getUserName(userId) {\r\n let userName = \"\";\r\n if (this.currentUserList && this.currentUserList.length > 0) {\r\n for (let i = 0; i < this.currentUserList.length; i++) {\r\n if (userId == this.currentUserList[i].userId) {\r\n userName = this.currentUserList[i].userName;\r\n break;\r\n }\r\n }\r\n }\r\n return userName;\r\n }\r\n\r\n // get user name by userId\r\n private getResourceType(userId) {\r\n let typeResource = \"\";\r\n if (this.currentUserList && this.currentUserList.length > 0) {\r\n for (let i = 0; i < this.currentUserList.length; i++) {\r\n if (userId == this.currentUserList[i].userId) {\r\n typeResource = this.currentUserList[i].typeResource;\r\n break;\r\n }\r\n }\r\n }\r\n return typeResource;\r\n }\r\n\r\n \r\n\r\n // get skill name by skillId\r\n private getSkillNameById(skillId) {\r\n let skillName = \"\";\r\n let allSkills = this.skillData;\r\n if (allSkills && allSkills.length > 0) {\r\n for (let i = 0; i < allSkills.length; i++) {\r\n if (\"f_\" + allSkills[i].skillId == skillId) {\r\n skillName = allSkills[i].skillName;\r\n return skillName;\r\n }\r\n }\r\n }\r\n\r\n allSkills = this.skillBehData;\r\n if (allSkills && allSkills.length > 0) {\r\n for (let i = 0; i < allSkills.length; i++) {\r\n if (\"b_\" + allSkills[i].skillId == skillId) {\r\n skillName = allSkills[i].skillName;\r\n return skillName;\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n //edit Skill and and disable button\r\n private editSkill(event, skillObj) {\r\n event.target.offsetParent.disabled = true;\r\n this.f.savedInterventionId.setValue(skillObj.userInterventionId);\r\n this.f.skillId.setValue(skillObj.skillId);\r\n this.f.actualLevel.setValue(skillObj.actualLevel);\r\n this.f.interventionId.setValue(skillObj.interventionId);\r\n this.f.expectedLevel.setValue(skillObj.expectedLevel);\r\n this.f.interventionStartDate.setValue(this.common.getJSONObj(skillObj.interventionStartDate));\r\n this.f.interventionEndDate.setValue(this.common.getJSONObj(skillObj.interventionEndDate));\r\n \r\n }\r\n\r\n // validate feilds data is empty or blank\r\n private validateFeild(feildData) {\r\n if (!feildData) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n //set end dates\r\n private setStartDate() {\r\n let date = new Date();\r\n this.config.minDate = { year: date.getFullYear() - 10, month: date.getMonth(), day: date.getDate() };\r\n }\r\n\r\n //set end dates\r\n private setEndDate(index) {\r\n let startDate = this.interventionForm.value.interventionFieldArray[index].interventionStartDate;\r\n if (startDate) {\r\n var dd = startDate.day + 1;\r\n var mm = startDate.month;\r\n var yy = startDate.year;\r\n this.config.minDate = { year: yy, month: mm, day: dd };\r\n } else {\r\n localStorage.setItem('errorMsg', 'Please select Start Date');\r\n this.commonService.showerror();\r\n return;\r\n }\r\n }\r\n\r\n // forward next section\r\n private gotoNextPage(e, routeURL) {\r\n this.router.navigate([routeURL]);\r\n }\r\n\r\n // logout and forward login page\r\n private logout() {\r\n localStorage.clear();\r\n this.commonService.logout();\r\n }\r\n\r\n // functions for show and hide intervention graph tab by user clicked on respective buttons\r\n funClick() {\r\n this.funClicked = true;\r\n this.behClicked = false;\r\n }\r\n behClick() {\r\n this.funClicked = false;\r\n this.behClicked = true;\r\n }\r\n\r\n private getInterventionListClick(skillid, index) {\r\n let allSkills = this.skillData;\r\n const interv = this.commonInterventionData.find((obj) => obj.skillId === skillid);\r\n this.currentSkillIntervention = interv;\r\n this.interventionList = JSON.parse(interv.arrOfTraining);\r\n }\r\n /**\r\n * Get all skill of user according to towerId and positionId\r\n */\r\n private userBehSkillByTowerPosition() {\r\n this.commonInterventionData = [];\r\n this.selectedUserId = this.selectedCombinedId.split(\"_\")[0];\r\n this.selectedPositionId = this.selectedCombinedId.split(\"_\")[1];\r\n const postData = { userId: this.selectedUserId, positionId: this.selectedPositionId, towerId: this.selectedTowerId };\r\n this.commonService.getBehUserSkill(postData).pipe(first()).subscribe(\r\n data => {\r\n this.commonInterventionData = data;\r\n },\r\n error => {\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n /**\r\n * Get Functional skill of user according to towerId and positionId\r\n */\r\n private userFunSkillByTowerPosition() {\r\n this.commonInterventionData = [];\r\n this.selectedUserId = this.selectedCombinedId.split(\"_\")[0];\r\n this.selectedPositionId = this.selectedCombinedId.split(\"_\")[1];\r\n const postData = { userId: this.selectedUserId, positionId: this.selectedPositionId, towerId: this.selectedTowerId };\r\n this.commonService.getFunUserSkill(postData).pipe(first()).subscribe(\r\n data => {\r\n this.commonInterventionData = data;\r\n },\r\n error => {\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n /**\r\n * Get intervention name\r\n * @param interventionId\r\n */\r\n public getInterventionNameById(interventionId) {\r\n if (interventionId) {\r\n const interventions = this.interventionList.find((obj) => Number(obj.id) === Number(interventionId));\r\n if (interventions) {\r\n return interventions.trainingPoint;\r\n } else { return null; }\r\n }\r\n }\r\n}","\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Interventions

\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Select User
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
0\">\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n

0 && funClicked\">Functional Competencies

\r\n \r\n \r\n \r\n\r\n 0 && oneSkillData.positionId == selectedPositionId && funClicked\"\r\n class=\"tableFixHead table table-striped lh-23 rsTable userRcCustomTable customizeRtsScrollBar\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{oneSkillData.skillName}}Action
\r\n
\r\n \r\n 0\" id=\"skillChar_{{j}}\" height=\"30\"\r\n width=\"150\">\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n

0 && behClicked\">Behavioral Competencies

\r\n \r\n \r\n \r\n 0 && oneSkillData.positionId == selectedPositionId && behClicked\" \r\n class=\"tableFixHead table table-striped lh-23 rsTable userRcCustomTable customizeRtsScrollBar\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{oneSkillData.skillName}}Action
\r\n
\r\n 0\" id=\"skillChar_b_{{j}}\" height=\"30\"\r\n width=\"150\">\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n
User
\r\n
Behavior Skill
\r\n
Functional Skill
\r\n
\r\n
\r\n

Select a user from above drop down.

\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
User Skill Update Form
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
User Intervention Form
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
SkillCurrent CompetencyInterventionExpected CompetencyStart DateEnd DateAction
{{getSkillNameById(intervention.skillId)}}{{getSkillName(intervention.actualLevel)}}{{getInterventionNameById(intervention.interventionId)}}{{getSkillName(intervention.expectedLevel)}}{{intervention.interventionStartDate | date: 'dd-MMM-yyyy'}}{{intervention.interventionEndDate | date: 'dd-MMM-yyyy'}}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import {\n Component,\n OnInit,\n Compiler,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport { Chart } from 'chart.js';\nimport { CommonService } from '../service/commons-service';\nimport { first, retry } from 'rxjs/operators';\nimport { Common } from '../util/common';\nimport { AppConfig } from '../util';\nimport { NgbDateStruct, NgbCalendar } from '@ng-bootstrap/ng-bootstrap';\nimport { Router } from '@angular/router';\nimport { HeaderCustomComponent } from '../header/headerCustom.component';\nimport { ExcelService } from '../service/excel.service';\n\nconst equals = (one: NgbDateStruct, two: NgbDateStruct) =>\n one &&\n two &&\n two.year === one.year &&\n two.month === one.month &&\n two.day === one.day;\n\nconst before = (one: NgbDateStruct, two: NgbDateStruct) =>\n !one || !two\n ? false\n : one.year === two.year\n ? one.month === two.month\n ? one.day === two.day\n ? false\n : one.day < two.day\n : one.month < two.month\n : one.year < two.year;\n\nconst after = (one: NgbDateStruct, two: NgbDateStruct) =>\n !one || !two\n ? false\n : one.year === two.year\n ? one.month === two.month\n ? one.day === two.day\n ? false\n : one.day > two.day\n : one.month > two.month\n : one.year > two.year;\n\n@Component({\n selector: 'app-user-dashboard',\n templateUrl: './user-dashboard.component.html',\n styleUrls: ['./user-dashboard.component.css'],\n})\nexport class UserDashboardComponent implements OnInit {\n users: any = {};\n chart: any;\n userList: any[] = [];\n loading = false;\n showDashboardSections: boolean = false;\n loginImageURL: any = null;\n\n // private hideDashboard: boolean = false;\n\n userFunSkillList: any[] = [];\n userFunSkillRatingList: any[] = [];\n userSkillRatingData: any[] = [];\n\n userBehSkillRatingList: any[] = [];\n userBehSkillList: any[] = [];\n selectedUserId: any = 'Select User';\n selectedUserPosition: any;\n selectedUserName: any;\n compositePercentAverage: any = { full: 0 };\n\n positionList: any = [];\n selectedPositionId: Number = 0;\n selectedCombinedId: any;\n\n // private userFunSkillList: any[] = [];\n // private userFunSkillRatingList: any[] = [];\n // private userSkillRatingData: any[] = [];\n functionalActive = '';\n behavioralActive = '';\n\n hoveredDate: NgbDateStruct;\n fromDate: NgbDateStruct;\n toDate: NgbDateStruct;\n\n canvasContainerHeight;\n // private skillList: any[] = [];\n behSkillList: any[] = [];\n userStrengths: any[] = [];\n userOppurtunities: any[] = [];\n loginUserName: any = '';\n userWeaknesses: any[] = [];\n userThreats: any[] = [];\n activeTab = 'beh';\n userRoll: number = 0;\n nextPosition: any = '';\n nextPositionId: any = '';\n alreadyHalved: boolean = false;\n constructor(\n private commonService: CommonService,\n private excelService: ExcelService,\n private router: Router,\n private appConfig: AppConfig,\n private common: Common,\n private _compiler: Compiler\n ) {\n this._compiler.clearCache();\n this.users = JSON.parse(localStorage.getItem('user'));\n if (!this.users || !this.users.userData) {\n this.commonService.logout();\n return;\n }\n if (this.users && this.users.userData) {\n if (this.users.userData.userFullName) {\n this.loginUserName = this.users.userData.userFullName;\n } else {\n this.loginUserName = this.users.userData.userName;\n }\n this.userRoll = this.users.userData.userRoll;\n }\n this.loginImageURL = this.appConfig.getDefaultImgURL();\n }\n\n ngOnInit() {\n // this.getSkillDetails();\n // this.getAllBehSkills();\n\n this.getUsersList();\n // this.getSkillRatingDetails();\n this.fetchPositions();\n }\n\n private generateFourBlocksData(skillType) {\n var skillList;\n\n if (skillType === 'beh') {\n skillList = this.userBehSkillRatingList;\n } else if (skillType === 'fun') {\n skillList = this.userFunSkillRatingList;\n }\n\n this.userStrengths = [];\n this.userOppurtunities = [];\n this.userWeaknesses = [];\n this.userThreats = [];\n\n for (var i = 0; i < skillList.length; i++) {\n if (skillList[i].ratedByRole !== 4) continue;\n\n var percentage =\n (skillList[i].skillScore * 100) / skillList[i].targetScore;\n if (percentage >= 80) {\n this.userStrengths.push(skillList[i].skillName);\n } else if (percentage >= 60 && percentage < 80) {\n this.userOppurtunities.push(skillList[i].skillName);\n } else if (percentage >= 40 && percentage < 60) {\n this.userWeaknesses.push(skillList[i].skillName);\n } else {\n this.userThreats.push(skillList[i].skillName);\n }\n }\n }\n\n //generate total utilized chart\n private generateSkillDevelopmentChart(skillType) {\n debugger;\n // let dataPoints_1 = [100, 200, 120, 1000, 230, 2000, 1100, 100];\n // let dataPoints_2 = [333, 777, 111, 1000, 655, 200, 600, 321];\n // let labels = [];\n\n var skillList;\n if (skillType === 'beh') skillList = this.userBehSkillRatingList;\n else {\n skillList = this.userFunSkillRatingList;\n // if(!this.alreadyHalved) {\n // var half_length = Math.ceil(skillList.length / 2);\n // skillList = skillList.splice(0,half_length);\n // }\n this.alreadyHalved = true;\n }\n var ratings = [],\n labels = [],\n gaps = [],\n fullLabels = [];\n for (var i = 0; i < skillList.length; i++) {\n if (skillList[i].ratedByRole !== 4) continue;\n\n ratings.push(skillList[i].skillScore);\n\n var skillName = skillList[i].skillName;\n if (skillName.length > 30) {\n skillName = skillName.substring(0, 30) + '...';\n }\n\n labels.push(skillName);\n fullLabels.push(skillList[i].skillName);\n var gap = skillList[i].targetScore - skillList[i].skillScore;\n gaps.push(gap > 0 ? gap : 0);\n }\n\n // labels = this.common.breakAllSentencesInLines(labels, 40)\n\n if (this.chart) {\n this.chart.destroy();\n }\n\n this.canvasContainerHeight = labels.length * 20 + 250 + 'px';\n //(labels.length > 5 ?(labels.length * 20) + 250 : '') + \"px\";\n\n this.chart = new Chart('skill_development_chart', {\n type: 'horizontalBar',\n // height: 1000,\n // width: '100%',\n data: {\n labels: labels,\n textColor: '#000000',\n datasets: [\n {\n label: 'Current',\n data: ratings,\n backgroundColor: '#28a745', // green\n },\n {\n label: 'Gap',\n data: gaps,\n backgroundColor: '#d87107', // white\n },\n ],\n },\n options: {\n maintainAspectRatio: false,\n responsive: true,\n\n legend: {\n labels: {\n // This more specific font property overrides the global property\n fontColor: 'black',\n },\n },\n\n tooltips: {\n callbacks: {\n title: function (tooltipItem, data) {\n return fullLabels[tooltipItem[0].index];\n },\n label: function (tooltipItem, data) {\n var label = data.datasets[tooltipItem.datasetIndex].label || '';\n\n if (label) {\n label += ': ';\n }\n // if(data.datasets[tooltipItem.datasetIndex].label === \"Target\") {\n // label += (tooltipItem.xLabel + ratings[tooltipItem.index]);\n // }\n // else {\n label += tooltipItem.xLabel;\n // }\n return label;\n },\n },\n },\n\n scales: {\n xAxes: [\n {\n stacked: true,\n\n ticks: {\n max: 5,\n min: 0,\n stepSize: 1,\n },\n },\n ],\n yAxes: [\n {\n stacked: true,\n // barThickness: 40,\n ticks: {\n max: 5,\n min: 0,\n stepSize: 1,\n },\n },\n ],\n },\n },\n });\n }\n\n // /Get All Users information\n private getUsersList() {\n this.loading = true;\n var userEmail = '';\n if (JSON.parse(localStorage.getItem('user')).userData.userRoll == 4)\n userEmail = JSON.parse(localStorage.getItem('user')).userData.userEmail;\n\n this.commonService\n .getUsersListByPost(\n JSON.parse(localStorage.getItem('user')).userData.towerId,\n userEmail\n )\n .pipe(first())\n .subscribe(\n (data) => {\n this.loading = false;\n if (data && data.length > 0) {\n this.userList = data;\n } else {\n localStorage.setItem('errorMsg', 'Users Not Found');\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n },\n (error) => {\n this.loading = false;\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n\n // Get All Users information\n private getNextPosition() {\n this.loading = true;\n this.commonService\n .getNextPosition(this.selectedUserId)\n .pipe(first())\n .subscribe(\n (data) => {\n this.loading = false;\n if (data && data.length > 0) {\n this.nextPosition = data[0].positionName;\n } else {\n localStorage.setItem(\n 'errorMsg',\n 'User is already at the highest level'\n );\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n },\n (error) => {\n this.loading = false;\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n\n // //load whole page data\n // private loadDashboardData(skillType) {\n\n // if(skillType === 'fun')\n // this.getUserFunSkillInfo();\n // else\n // this.getUserBehSkillInfo();\n // }\n\n generateDashboardData(skillType) {\n // this.getNextPosition();\n // this.loadDashboard();\n\n this.generateSkillDevelopmentChart(skillType);\n this.generateFourBlocksData(skillType);\n this.showDashboardSections = true;\n }\n\n getPositionName(positionId) {\n for (let i = 0; i < this.positionList.length; i++) {\n if (this.positionList[i].positionId == positionId)\n return this.positionList[i].positionName;\n }\n }\n\n // /fetch user information data\n private fetchPositions() {\n //var towerId = JSON.parse(localStorage.user).userData.towerId;\n this.commonService\n .getAllPositionInfo(null)\n .pipe(first())\n .subscribe(\n (data) => {\n this.positionList = data;\n },\n (error) => {\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n\n // Get Skill Details From Skill Master\n // private getSkillDetails() {\n // this.loading = true;\n // this.commonService.getSkillDetails().pipe(first()).subscribe(\n // data => {\n // this.loading = false;\n // if (data && data.length > 0) {\n // this.skillList = data;\n // } else {\n // this.loading = false;\n // localStorage.setItem('errorMsg', \"Skills Data Not Found\");\n // this.commonService.showerror();\n // localStorage.removeItem('errorMsg');\n // }\n // },\n // error => {\n // this.loading = false;\n // localStorage.setItem('errorMsg', error.statusText);\n // this.commonService.showerror();\n // localStorage.removeItem('errorMsg');\n // }\n // )\n // }\n\n // // Get Behavioral Skill Details From Skill Master\n // private getAllBehSkills() {\n // this.loading = true;\n // this.commonService.getAllBehSkills().pipe(first()).subscribe(\n // data => {\n // this.loading = false;\n // if (data && data.length > 0) {\n // this.behSkillList = data;\n // } else {\n // this.loading = false;\n // localStorage.setItem('errorMsg', \"Behavioral Skills Data Not Found\");\n // this.commonService.showerror();\n // localStorage.removeItem('errorMsg');\n // }\n // },\n // error => {\n // this.loading = false;\n // localStorage.setItem('errorMsg', error.statusText);\n // this.commonService.showerror();\n // localStorage.removeItem('errorMsg');\n // }\n // )\n // }\n\n //Get user skills data\n // private getUserFunSkillInfo() {\n // this.userSkillRatingData = [];\n // if (!this.selectedUserId || this.selectedUserId == \"Select User\") {\n // localStorage.setItem('errorMsg', \"Please select user first!\");\n // this.commonService.showerror();\n // localStorage.removeItem('errorMsg');\n // return;\n // }\n // this.loading = true;\n // let userIds = [Number(this.selectedUserId)];\n\n // this.commonService.fetchAllFunSkills(userIds).pipe(first()).subscribe(\n // data => {\n // if (data && data.length > 0) {\n // this.userFunSkillList = data;\n // this.getUserFunSkillRatingInfo(Number(this.selectedUserId));\n // console.log(\"userFunSkillList\", this.userFunSkillList)\n // } else {\n // this.loading = false;\n // localStorage.setItem('errorMsg', \"User skill not found\");\n // this.commonService.showerror();\n // localStorage.removeItem('errorMsg');\n // }\n // },\n // error => {\n // this.loading = false;\n // localStorage.setItem('errorMsg', error.statusText);\n // this.commonService.showerror();\n // localStorage.removeItem('errorMsg');\n // }\n // )\n // }\n\n // //Get user skills data\n // private getUserBehSkillInfo() {\n // this.userSkillRatingData = [];\n // if (!this.selectedUserId || this.selectedUserId == \"Select User\") {\n // localStorage.setItem('errorMsg', \"Please select user first!\");\n // this.commonService.showerror();\n // localStorage.removeItem('errorMsg');\n // return;\n // }\n // this.loading = true;\n // let userIds = [Number(this.selectedUserId)];\n // this.commonService.fetchAllBehSkills(userIds).pipe(first()).subscribe(\n // data => {\n // if (data && data.length > 0) {\n // this.userBehSkillList = data;\n // this.getUserBehSkillRatingInfo(Number(this.selectedUserId));\n // console.log(\"userBehSkillList\", this.userBehSkillList)\n // } else {\n // this.loading = false;\n // localStorage.setItem('errorMsg', \"User skill not found\");\n // this.commonService.showerror();\n // localStorage.removeItem('errorMsg');\n // }\n // },\n // error => {\n // this.loading = false;\n // localStorage.setItem('errorMsg', error.statusText);\n // this.commonService.showerror();\n // localStorage.removeItem('errorMsg');\n // }\n // )\n // }\n\n //Get user skills data\n private getUserFunSkillRatingInfo() {\n this.selectedUserId = this.selectedCombinedId.split('_')[0];\n this.selectedPositionId = this.selectedCombinedId.split('_')[1];\n let selectedUserTowerId = this.selectedCombinedId.split('_')[2];\n\n if (!this.selectedUserId || this.selectedUserId == 'Select User') {\n localStorage.setItem('errorMsg', 'Please select user first!');\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n return;\n }\n this.loading = true;\n let userIds = [Number(this.selectedUserId)];\n var userId: any = Number(this.selectedUserId);\n\n this.functionalActive = 'active';\n this.behavioralActive = '';\n const towerId = JSON.parse(localStorage.getItem('user')).userData.towerId\n ? JSON.parse(localStorage.getItem('user')).userData.towerId\n : selectedUserTowerId;\n\n this.commonService\n .getUserFunSkillRatingInfo(userId, undefined, this.selectedPositionId)\n .pipe(first())\n .subscribe(\n (data) => {\n if (data && data.length > 0) {\n this.userFunSkillRatingList = [];\n for (let i = 0; i < data.length; i++) {\n if (data[i].positionId != this.selectedPositionId) continue;\n\n this.userFunSkillRatingList.push(data[i]);\n }\n\n // this.filterScoreComputation(true);\n // this.generateDashboardData('fun');\n this.compositePercentAverage = this.getCompositeValue();\n this.showDashboardSections = true;\n } else {\n this.loading = false;\n this.userFunSkillRatingList = [];\n localStorage.setItem('errorMsg', 'User skill rating not found');\n this.commonService.showerror();\n this.showDashboardSections = false;\n localStorage.removeItem('errorMsg');\n }\n },\n (error) => {\n this.loading = false;\n this.userFunSkillRatingList = [];\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n }\n\n private loadDashboard() {\n this.selectedUserId = this.selectedCombinedId.split('_')[0];\n this.selectedPositionId = this.selectedCombinedId.split('_')[1];\n\n for (var i = 0; i < this.userList.length; i++) {\n if (this.userList[i].userId == this.selectedUserId) {\n this.selectedUserPosition = this.userList[i].positionName;\n this.selectedUserName = this.userList[i].userName;\n this.nextPositionId = this.userList[i].nextPosition;\n }\n }\n\n this.getUserBehSkillRatingInfo();\n }\n\n //export resource history data\n private excelDownload() {\n let excelExportData = [];\n let headers = [\n 'S.No.',\n 'Competency',\n 'Self Rating',\n 'Manager Rating',\n 'Gap',\n 'Target',\n 'Competency type',\n ];\n\n let userSkill = [this.userBehSkillRatingList, this.userFunSkillRatingList];\n let sno = 0;\n\n this.commonService\n .getUserFunSkillRatingInfo(\n this.selectedUserId,\n undefined,\n //JSON.parse(localStorage.getItem('user')).userData.towerId,\n this.selectedPositionId\n )\n .pipe(first())\n .subscribe((data1) => {\n this.commonService\n .getUserBehSkillRatingInfo(\n this.selectedUserId,\n undefined,\n //JSON.parse(localStorage.getItem('user')).userData.towerId,\n this.selectedPositionId\n )\n .pipe(first())\n .subscribe(\n (data2) => {\n debugger;\n let funcRatingData = {};\n\n let functionalData = [];\n let funSkillCount = 0;\n if (data1 && data1.length > 0) {\n for (let i = 0; i < data1.length; i++) {\n funSkillCount++;\n if (\n data1[i].positionId != this.selectedPositionId ||\n data1[i].ratedByRole != 5\n )\n continue;\n let obj = {\n skillId: data1[i].skillId,\n skillName: data1[i].skillName,\n selfRatingScore: data1[i].skillScore,\n managerRatingScore: '',\n targetScore: data1[i].targetScore,\n skillType: 'Functional',\n };\n functionalData.push(obj);\n if (data1.length) {\n // For extract Manager Rating.\n for (let j = 0; j < data1.length; j++) {\n if (\n data1[j].positionId != this.selectedPositionId ||\n data1[j].ratedByRole != 4\n )\n continue;\n\n let index = functionalData.findIndex(\n (item) => item.skillId == data1[j].skillId\n );\n if (index != -1) {\n functionalData[index].managerRatingScore =\n data1[j].skillScore;\n }\n }\n }\n }\n }\n let behavioralData = [];\n let behSkillCount = 0;\n if (data2 && data2.length > 0) {\n for (let i = 0; i < data2.length; i++) {\n behSkillCount++;\n if (\n data2[i].positionId != this.selectedPositionId ||\n data2[i].ratedByRole != 5\n )\n continue;\n let obj = {\n skillId: data2[i].skillId,\n skillName: data2[i].skillName,\n selfRatingScore: data2[i].skillScore,\n managerRatingScore: '',\n targetScore: data2[i].targetScore,\n skillType: 'Behavioral',\n };\n\n behavioralData.push(obj);\n\n if (data2.length) {\n // For extract Manager Rating.\n for (let j = 0; j < data2.length; j++) {\n if (\n data2[j].positionId != this.selectedPositionId ||\n data2[j].ratedByRole != 4\n )\n continue;\n\n let index = behavioralData.findIndex(\n (item) => item.skillId == data2[j].skillId\n );\n if (index != -1) {\n behavioralData[index].managerRatingScore =\n data2[j].skillScore;\n }\n }\n }\n }\n }\n let skillList = [];\n if (functionalData && behavioralData) {\n skillList = [...functionalData, ...behavioralData];\n }\n if (skillList && skillList.length > 0) {\n for (let i = 0; i < skillList.length; i++) {\n let data = {};\n\n data[headers[0]] = ++sno;\n\n data[headers[1]] = skillList[i].skillName;\n data[headers[2]] = skillList[i].selfRatingScore;\n data[headers[3]] = skillList[i].managerRatingScore;\n data[headers[4]] =\n skillList[i].targetScore - skillList[i].managerRatingScore;\n data[headers[5]] = skillList[i].targetScore;\n data[headers[6]] = skillList[i].skillType;\n // data[headers[7]] = skillList[i].skillType;\n excelExportData.push(data);\n }\n // }\n\n // return;\n this.excelService.generateExcel(\n headers,\n excelExportData,\n this.selectedUserName\n );\n\n // this.filterScoreComputation(true);\n // this.generateDashboardData('fun');\n this.compositePercentAverage = this.getCompositeValue();\n this.showDashboardSections = true;\n } else {\n this.loading = false;\n // this.userFunSkillRatingList = [];\n localStorage.setItem('errorMsg', 'User skill rating not found');\n this.commonService.showerror();\n this.showDashboardSections = false;\n localStorage.removeItem('errorMsg');\n }\n },\n (error) => {\n this.loading = false;\n // this.userFunSkillRatingList = [];\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n });\n\n // for (let i = 0; i < this.fetchData.length; i++) {\n // let data = {};\n // data[headers[0]] = i + 1;\n // data[headers[1]] = this.fetchData[i].userName;\n // data[headers[2]] = this.fetchData[i].typeResource;\n // data[headers[3]] = new Date(this.fetchData[i].joinDate);\n // data[headers[5]] = new Date(this.fetchData[i].leaveDate);\n // data[headers[6]] = this.fetchData[i].team;\n // data[headers[7]] = this.fetchData[i].email;\n // data[headers[8]] = this.fetchData[i].createdByEmail;\n // for (let j = 0; j < this.skillData.length; j++) {\n // let userSkill = this.fetchData[i].userSkill\n // for (let k = 0; k < userSkill.length; k++) {\n // if (userSkill[k].skillId == this.skillData[j].skillId)\n // data[headers[9 + j]] = userSkill[k].skillLevel;\n // }\n // }\n\n // excelExportData.push(data);\n // }\n }\n\n //Get user skills data\n private getUserBehSkillRatingInfo() {\n this.selectedUserId = this.selectedCombinedId.split('_')[0];\n this.selectedPositionId = this.selectedCombinedId.split('_')[1];\n let selectedUserTowerId = this.selectedCombinedId.split('_')[2];\n\n if (!this.selectedUserId || this.selectedUserId == 'Select User') {\n localStorage.setItem('errorMsg', 'Please select user first!');\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n return;\n }\n this.loading = true;\n let userIds = [Number(this.selectedUserId)];\n var userId: any = Number(this.selectedUserId);\n\n this.functionalActive = '';\n this.behavioralActive = 'active';\n const towerId = JSON.parse(localStorage.getItem('user')).userData.towerId\n ? JSON.parse(localStorage.getItem('user')).userData.towerId\n : selectedUserTowerId;\n this.commonService\n .getUserBehSkillRatingInfo(userId, undefined, this.selectedPositionId)\n .pipe(first())\n .subscribe(\n (data) => {\n if (data && data.length > 0) {\n debugger;\n this.userBehSkillRatingList = [];\n for (let i = 0; i < data.length; i++) {\n if (data[i].positionId != this.selectedPositionId) continue;\n\n this.userBehSkillRatingList.push(data[i]);\n }\n\n // this.filterScoreComputation(false);\n this.generateDashboardData('beh');\n this.getUserFunSkillRatingInfo();\n this.showDashboardSections = true;\n } else {\n this.loading = false;\n this.userBehSkillRatingList = [];\n localStorage.setItem('errorMsg', 'User skill rating not found');\n this.commonService.showerror();\n this.showDashboardSections = false;\n localStorage.removeItem('errorMsg');\n }\n },\n (error) => {\n this.loading = false;\n this.userBehSkillRatingList = [];\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n );\n\n // this.getUserFunSkillRatingInfo();\n }\n\n private getCompositeValue() {\n var compositeBehSum = 0,\n compositeFunSum = 0;\n var countBeh = 0,\n countFun = 0;\n\n for (var i = 0; i < this.userBehSkillRatingList.length; i++) {\n if (this.userBehSkillRatingList[i].ratedByRole !== 4) continue;\n\n var thisSkillsPercentage =\n (this.userBehSkillRatingList[i].skillScore * 100) /\n this.userBehSkillRatingList[i].targetScore;\n\n compositeBehSum +=\n thisSkillsPercentage > 100 ? 100 : thisSkillsPercentage;\n countBeh++;\n }\n\n for (var j = 0; j < this.userFunSkillRatingList.length; j++) {\n if (this.userFunSkillRatingList[j].ratedByRole !== 4) continue;\n\n var thisSkillsPercentage =\n (this.userFunSkillRatingList[j].skillScore * 100) /\n this.userFunSkillRatingList[j].targetScore;\n\n compositeFunSum +=\n thisSkillsPercentage > 100 ? 100 : thisSkillsPercentage;\n countFun++;\n }\n // return Math.floor( ((compositeBehSum /countBeh)*0.3 + (compositeFunSum / countFun)*0.7));\n return {\n full: Math.floor(\n (compositeBehSum / countBeh) * 0.3 + (compositeFunSum / countFun) * 0.7\n ),\n beh: Math.floor(compositeBehSum / countBeh),\n fun: Math.floor(compositeFunSum / countFun),\n };\n }\n\n // reset on date selection\n private onDateSelection(date: NgbDateStruct) {\n if (!this.fromDate && !this.toDate) {\n this.fromDate = date;\n } else if (this.fromDate && !this.toDate && after(date, this.fromDate)) {\n this.toDate = date;\n } else {\n this.toDate = null;\n this.fromDate = date;\n }\n }\n\n // frorward to next section\n public gotoNextPage(e, routeURL) {\n this.router.navigate([routeURL]);\n }\n\n // logout and forward to next section\n private logout() {\n this.commonService.logout();\n }\n /**\n * Check the number is NaN or not\n */\n checkIsNumber(value) {\n if (isNaN(value) || value == null || value == 'null' || value == '') {\n return '';\n } else {\n return value + ' %';\n }\n }\n}\n","\n\n\n\n\n
\n
\n
\n
\n
\n
\n
\n
\n

Dashboard

\n \n
\n
\n
\n
\n \n
\n \n
\n
0\">\n
\n \n
\n
\n
\n
\n
Aggregate Score: \n {{ checkIsNumber(compositePercentAverage.full) }} (30:70)
\n
\n
\n \n
\n
\n \n \n \n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
Current Role
\n
{{ selectedUserPosition }}
\n \n
\n
=80}\" >\n
0-12 months
\n
Ready Now
\n
\n
=60}\">\n
12 to 18 months
\n
Ready Soon
\n
\n
=30}\">\n
More than 2 years
\n
Ready Future
\n
\n
\n \n
Next Role
\n
{{ getPositionName(nextPositionId) }}
\n
\n
\n
\n
\n
\n
\n

These are only indicative timeframes for readiness for target role. The exact timeframe for role change will be determined in consultation with the supervisor and HR.

\n \n
\n\n
\n
Score: {{ checkIsNumber(this.compositePercentAverage.beh) }}
\n
Score: {{ checkIsNumber(this.compositePercentAverage.fun) }}
\n
\n \n
\n
\n \n
\n
Competency Analysis
\n
\n
\n
\n
\n
Strengths
\n
\n \n
    \n \n
  • {{skillName}}
  • \n
    \n \n \n

    No competencies under this category

    \n
    \n \n
\n
\n
\n
\n
\n
\n
Improvement Area
\n
\n \n
    \n \n
  • {{skillName}}
  • \n
    \n \n \n

    No competencies under this category

    \n
    \n \n
\n \n
\n
\n
\n
\n
\n
\n
\n
Opportunities
\n
\n \n
    \n \n
  • {{skillName}}
  • \n
    \n \n \n

    No competencies under this category

    \n
    \n \n
\n \n
\n
\n
\n \n
\n
\n
Major Improvement Area
\n
\n \n
    \n \n
  • {{skillName}}
  • \n
    \n \n \n

    No competencies under this category

    \n
    \n \n
\n \n
\n
\n
\n
\n
\n
\n
\n
Competency Development
\n
\n
\n
\n {{ chart }}\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n
Career path
\n
\n
\n
\n Content Lead\n
\n
\n ACDM\n
\n
\n
\n
\n Ready Now\n
\n
\n 0-12 mnths\n
\n
\n
\n
\n Ready Soon\n
\n
\n 12-18 mnths\n
\n
\n
\n
\n Ready Future\n
\n
\n More than 2 years\n
\n
\n
\n
\n \n
\n
\n
\n
SWOT Analysis
\n
\n
\n
\n \n
\n
\n
\n
\n\n \n\n
\n
\n
\n \n
User
\n
Behavior/ Function Skill
\n
Aggregate Score
\n
\n
\n

Select a user from above drop down.

\n
\n \n
\n
\n\n
\n
\n\n\n","import { Component, OnInit, Compiler } from '@angular/core';\nimport { Chart } from 'chart.js';\nimport { CommonService } from '../service/commons-service';\nimport { first, retry } from 'rxjs/operators';\nimport { Common } from '../util/common';\nimport { AppConfig } from '../util';\nimport { Router } from '@angular/router';\n\n\n@Component({\n selector: 'app-rating-history',\n templateUrl: './rating-history.component.html',\n styleUrls: ['./rating-history.component.css']\n})\nexport class RatingHistoryComponent implements OnInit {\n users: any = {};\n chart: any;\n userList: any[] = [];\n loading = false;\n loginUserName: any;\n userRoll: any;\n selectedCombinedId: any = 'Select User';\n activeTab = \"beh\";\n canvasContainerHeight: any;\n alreadyHalved: boolean = false;\n selectedUserId: any;\n selectedPositionId: any;\n funSkillRatingList: any = [];\n funSkillChartData: any = [];\n behSkillChartData: any = [];\n behSkillRatingList: any = [];\n isShowGraph: any = false;\n chartDataExist: any = true;\n dateRanges:any[] = [];\n lastSubmittedDate: any = [];\n convertedData:any[][] = [];\n constructor(\n private commonService: CommonService, \n private router: Router, \n private appConfig: AppConfig, \n private common: Common, \n private _compiler: Compiler\n ) { \n this._compiler.clearCache();\n this.users = JSON.parse(localStorage.getItem('user'));\n if (!this.users || !this.users.userData) {\n this.commonService.logout();\n return;\n }\n if (this.users && this.users.userData) {\n if (this.users.userData.userFullName) {\n this.loginUserName = this.users.userData.userFullName;\n } else {\n this.loginUserName = this.users.userData.userName;\n }\n this.userRoll = this.users.userData.userRoll;\n }\n }\n\n ngOnInit() {\n this.getUsersList();\n }\n // Get All Users information\n private getUsersList() {\n this.loading = true;\n var userEmail = \"\";\n if (JSON.parse(localStorage.getItem('user')).userData.userRoll == 4)\n userEmail = JSON.parse(localStorage.getItem('user')).userData.userEmail;\n this.commonService.getUsersListByPost(JSON.parse(localStorage.getItem('user')).userData.towerId, userEmail).pipe(first()).subscribe(\n data => {\n this.loading = false;\n if (data && data.length > 0) {\n this.userList = data;\n } else {\n localStorage.setItem('errorMsg', \"Users Not Found\");\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n }, error => {\n this.loading = false;\n localStorage.setItem('errorMsg', error.statusText);\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n }\n )\n }\n private loadDashboard(skillType) {\n this.chartDataExist = true;\n this.funSkillRatingList = [];\n this.funSkillChartData = [];\n this.behSkillRatingList = [];\n this.behSkillChartData = [];\n this.getUserBehSkillRatingInfo();\n }\n /**\n * Get the functional skill rating history.\n */\n private getUserFunSkillRatingInfo() {\n this.activeTab = 'fun';\n this.funSkillRatingList = [];\n this.funSkillChartData = [];\n this.selectedUserId = this.selectedCombinedId.split(\"_\")[0];\n this.selectedPositionId = this.selectedCombinedId.split(\"_\")[1];\n let selectedUserTowerId = this.selectedCombinedId.split(\"_\")[2];\n\n if (!this.selectedUserId || this.selectedUserId == \"Select User\") {\n localStorage.setItem('errorMsg', \"Please select user first!\");\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n return;\n }\n this.loading = true;\n this.commonService.getUserFunSkillRatinghistory(Number(this.selectedUserId), Number(this.selectedPositionId)).subscribe(results => {\n if(results) {\n this.funSkillRatingList = results;\n var temDate: any = '';\n var filteredRatingHistory = [];\n let newArrIndex = 0;\n var compositeFunSum = 0;\n var funCount = 0;\n if (this.funSkillRatingList.length) {\n // For show rgraph data.\n this.convertData(true);\n for (let i = 0; i < this.funSkillRatingList.length; i++) {\n let date: any = new Date(this.funSkillRatingList[i].createDate);\n date = date.getFullYear() + \"-\" + Number(date.getMonth() + 1) + \"-\" + date.getDate();\n const createDate = date;\n let obj = {\n date: '',\n score: 0\n };\n if (temDate == createDate || temDate == '') {\n funCount++;\n } else {\n newArrIndex++;\n obj = {\n date: '',\n score: 0\n };\n funCount = 1;\n }\n obj.date = createDate;\n var thisSkillsPercentage = (this.funSkillRatingList[i].skillScore * 100) / this.funSkillRatingList[i].targetScore;\n compositeFunSum += (thisSkillsPercentage > 100 ? 100 : thisSkillsPercentage);\n obj.score = Math.floor(compositeFunSum / funCount);\n filteredRatingHistory[newArrIndex] = obj;\n\n temDate = createDate\n if (i == this.funSkillRatingList.length - 1) {\n console.log('filteredRatingHistory', filteredRatingHistory);\n this.funSkillChartData = filteredRatingHistory;\n this.isShowGraph = true;\n this.generateSkillDevelopmentChart('fun');\n }\n }\n } else {\n this.chartDataExist = false;\n localStorage.setItem('errorMsg', \"Rating history not found\");\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n return;\n }\n \n }\n this.loading = false;\n }, error => {\n this.loading = false;\n console.log('Error', error);\n })\n\n \n }\n /**\n * Get the functional skill rating history.\n */\n private getUserBehSkillRatingInfo() {\n this.activeTab = 'beh';\n this.funSkillRatingList = [];\n this.funSkillChartData = [];\n this.selectedUserId = this.selectedCombinedId.split(\"_\")[0];\n this.selectedPositionId = this.selectedCombinedId.split(\"_\")[1];\n let selectedUserTowerId = this.selectedCombinedId.split(\"_\")[2];\n\n if (!this.selectedUserId || this.selectedUserId == \"Select User\") {\n localStorage.setItem('errorMsg', \"Please select user first!\");\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n return;\n }\n this.loading = true;\n this.commonService.getUserBehSkillRatinghistory(Number(this.selectedUserId), Number(this.selectedPositionId)).subscribe(results => {\n if (results) {\n this.behSkillRatingList = results;\n // For show rgraph data.\n this.convertData(false);\n var temDate: any = '';\n var filteredRatingHistory = [];\n let newArrIndex = 0;\n var compositeFunSum = 0;\n var funCount = 0;\n if (this.behSkillRatingList.length) {\n for (let i = 0; i < this.behSkillRatingList.length; i++) {\n let date: any = new Date(this.behSkillRatingList[i].createDate);\n date = date.getFullYear() + \"-\" + Number(date.getMonth() + 1) + \"-\" + date.getDate();\n const createDate = date;\n let obj = {\n date: '',\n score: 0\n };\n if (temDate == createDate || temDate == '') {\n funCount++;\n } else {\n newArrIndex++;\n obj = {\n date: '',\n score: 0\n };\n funCount = 1;\n }\n obj.date = createDate;\n var thisSkillsPercentage = (this.behSkillRatingList[i].skillScore * 100) / this.behSkillRatingList[i].targetScore;\n compositeFunSum += (thisSkillsPercentage > 100 ? 100 : thisSkillsPercentage);\n obj.score = Math.floor(compositeFunSum / funCount);\n filteredRatingHistory[newArrIndex] = obj;\n\n temDate = createDate\n if (i == this.behSkillRatingList.length - 1) {\n this.behSkillChartData = filteredRatingHistory;\n this.isShowGraph = true;\n this.generateSkillDevelopmentChart('beh');\n }\n }\n } else {\n this.chartDataExist = false;\n localStorage.setItem('errorMsg', \"Rating history not found\");\n this.commonService.showerror();\n localStorage.removeItem('errorMsg');\n return;\n }\n \n }\n this.loading = false;\n }, error => {\n this.loading = false;\n console.log('Error', error);\n })\n\n }\n \n //generate total utilized chart\n private generateSkillDevelopmentChart(skillType) {\n var skillList;\n if (skillType === 'beh') {\n skillList = this.behSkillChartData;\n } else {\n skillList = this.funSkillChartData;\n this.alreadyHalved = true;\n }\n var ratings = [], labels = [], gaps = [], fullLabels = [];\n for (var i = 0; i < skillList.length; i++) {\n\n ratings.push(skillList[i].score);\n\n var skillName = skillList[i].date;\n labels.push(skillName);\n fullLabels.push(skillList[i].date);\n \n var gap = 100 - skillList[i].score;\n gaps.push(gap > 0 ? gap : 0);\n }\n\n \n\n if (this.chart) {\n this.chart.destroy();\n }\n\n\n this.canvasContainerHeight = (labels.length * 20) + 250 + \"px\";\n \n\n\n this.chart = new Chart('skill_development_chart', {\n type: 'horizontalBar',\n // height: 1000,\n // width: '100%',\n data: {\n labels: labels,\n textColor: '#000000',\n datasets: [{\n label: 'Current',\n data: ratings,\n backgroundColor: '#28a745' // green\n },\n {\n label: 'Gap',\n data: gaps,\n backgroundColor: '#d87107' // white\n }]\n },\n options: {\n maintainAspectRatio: false,\n responsive: true,\n\n legend: {\n labels: {\n // This more specific font property overrides the global property\n fontColor: 'black'\n }\n },\n\n tooltips: {\n callbacks: {\n title: function (tooltipItem, data) {\n return fullLabels[tooltipItem[0].index];\n },\n label: function (tooltipItem, data) {\n var label = data.datasets[tooltipItem.datasetIndex].label || '';\n\n if (label) {\n label += ': ';\n }\n \n label += tooltipItem.xLabel;\n return label;\n }\n }\n },\n scales: {\n xAxes: [{\n stacked: true,\n ticks: {\n max: 100,\n min: 0,\n stepSize: 10\n }\n }],\n yAxes: [{\n stacked: true,\n // barThickness: 40,\n ticks: {\n max: 100,\n min: 0,\n stepSize: 1\n }\n }]\n }\n }\n });\n }\n /**\n * List rating list daye wise.\n */\n private convertData(isFunctional) {\n var ratings1;\n console.log('this.funSkillRatingList', this.funSkillRatingList);\n if(isFunctional)\n ratings1 = this.funSkillRatingList;\n else\n ratings1 = this.behSkillRatingList;\n \n \n var ratings2 = [];\n // this.dateRanges = [1];\n this.dateRanges = [];\n this.lastSubmittedDate = [];\n let j = 0;\n let k = 1;\n console.log('List fullFunRatingList', ratings1);\n var tempStartDate ='';\n var tempEndDate = '';\n for (let dates = 0; dates < ratings1.length; dates++) {\n let newDateRange = this.formatDate(ratings1[dates].skillRatingFromDate) + \" - \"\n + this.formatDate(ratings1[dates].skillRatingToDate);\n if (this.dateRanges.indexOf(newDateRange) === -1) {\n this.dateRanges.push(newDateRange);\n }\n }\n for(let i = 0;i\n\n\n
\n
\n
\n
\n
\n
\n
\n
\n

User History

\n \n
\n
\n
\n
\n\n
\n \n
\n
0\">\n
\n \n
\n
\n
\n \n
\n\n
\n
\n \n \n \n
\n
\n
\n
Competency Development
\n
\n
\n
\n {{ chart }}\n
\n
\n \n
\n
\n
\n
\n\n
\n
\n
\n
\n\n\n
\n
\n
\n
\n
User Rating History
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n
S.No.SkillTarget Score\n \n {{ dateRange == 1?\"\":dateRange }}\n \n
\n
{{i+1}}
\n
\n
{{cell}}
\n
\n \n
\n
\n
\n\n
\n
\n
","export * from './app.config';\r\nexport * from './common';","import { Component, OnInit, Compiler, ViewChild, ElementRef } from '@angular/core';\r\nimport { first, retry } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { ErrorComponent } from '../confirm/error.component';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { FormBuilder, Validators, FormControl } from '@angular/forms';\r\nimport { NgbDatepickerConfig } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AppConfig } from '../util';\r\nimport { CommonService } from '../service/commons-service';\r\nimport { Common } from '../util/common';\r\nimport { HeaderCustomComponent } from '../header/headerCustom.component';\r\n\r\n@Component({ templateUrl: './skillRatingMaster.component.html', styleUrls: ['./skillRatingMaster.component.css'] })\r\nexport class SkillRatingMasterComponent implements OnInit {\r\n\r\n @ViewChild('closeModel', {read: ElementRef}) closeModel: ElementRef;\r\n users: any = {};\r\n formObj: any;\r\n config: any;\r\n formInfoList: any[] = [];\r\n submitted = false;\r\n loginImageURL: any = \"\";\r\n loginUserName: any = \"\";\r\n baseURL: any = null;\r\n showHideModel: boolean = true;\r\n loading: boolean = false;\r\n activeUserCount: number = 0;\r\n inactiveUserCount: number = 0;\r\n towerId: any;\r\n towerName: any;\r\n superUserType: any = \"\";\r\n allTowers: any = [];\r\n allIbus: any = [];\r\n\r\n constructor(private modalService: MatDialog,\r\n private router: Router,\r\n private formBuilder: FormBuilder,\r\n private commonService: CommonService,\r\n private appConfig: AppConfig,\r\n config: NgbDatepickerConfig,\r\n private common: Common,\r\n private _compiler: Compiler) {\r\n this._compiler.clearCache();\r\n this.users = JSON.parse(localStorage.getItem('user'));\r\n if (!this.users || !this.users.userData) {\r\n this.commonService.logout\r\n return;\r\n }\r\n if (this.users && this.users.userData) {\r\n this.loginImageURL = '/assets/default.png';\r\n this.loginUserName = this.users.userData.userFullName;\r\n this.towerId = this.users.userData.towerId;\r\n this.towerName = localStorage.getItem('towerName');\r\n }\r\n if (localStorage.getItem('superUserType')) {\r\n this.superUserType = localStorage.getItem('superUserType');\r\n }\r\n let currentDate = new Date();\r\n this.config = config;\r\n this.config.minDate = { year: currentDate.getFullYear() - 10, month: currentDate.getMonth(), day: currentDate.getDate() };\r\n this.config.maxDate = { year: 2099, month: 12, day: 31 };\r\n this.config.markDisabled = false;\r\n this.initUserInfo();\r\n }\r\n\r\n //initailised user form\r\n ngOnInit() {\r\n this.formObj = this.formBuilder.group({\r\n ratingId: new FormControl(null),\r\n score: ['', Validators.required],\r\n ratingName: ['', Validators.required],\r\n remark: ['', Validators.required],\r\n towerId: new FormControl(0)\r\n });\r\n this.initialization();\r\n }\r\n\r\n //initial setup level assets\r\n private initialization() {\r\n // if (this.superUserType == \"super\") {\r\n // this.getAllSkills();\r\n // } else {\r\n // this.getAllSkillsById();\r\n // }\r\n this.fetchSkillRatingData();\r\n if(this.common.isSuperUser()) {\r\n this.getTowerList();\r\n }\r\n }\r\n\r\n //reset user form\r\n initUserInfo() {\r\n this.formObj = this.formBuilder.group({\r\n ratingId: new FormControl(null),\r\n score: ['', Validators.required],\r\n ratingName: ['', Validators.required],\r\n remark: ['', Validators.required],\r\n towerId: new FormControl(0)\r\n });\r\n }\r\n\r\n //reset user form \r\n private setUpdateUserInfo(formInfo) {\r\n this.initUserInfo();\r\n this.formObj = this.formBuilder.group({\r\n ratingId: new FormControl(formInfo.ratingId),\r\n score: new FormControl(formInfo.score),\r\n ratingName: new FormControl(formInfo.ratingName),\r\n remark: new FormControl(formInfo.remark),\r\n towerId: new FormControl(formInfo.towerId)\r\n });\r\n }\r\n\r\n // Get All user list\r\n private fetchSkillRatingData() {\r\n this.loading = true;\r\n this.formInfoList = [];\r\n this.commonService.fetchSkillRatingData().pipe(first()).subscribe( \r\n data => {\r\n this.formInfoList = data;\r\n this.loading = false;\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n\r\n //Get All user list by Id\r\n // private getAllSkillsById() {\r\n // this.loading = true;\r\n // this.formInfoList = [];\r\n // this.commonService.getAllSkillsById().pipe(first()).subscribe( //TODO\r\n // data => {\r\n // this.formInfoList = data;\r\n // this.loading = false;\r\n // },\r\n // error => {\r\n // this.loading = false;\r\n // localStorage.setItem('errorMsg', error.statusText);\r\n // this.showerror();\r\n // }\r\n // )\r\n // }\r\n\r\n // Save new user profile\r\n private onSubmit(formInfo) {\r\n if (this.formObj.invalid) {\r\n this.submitted = true;\r\n return;\r\n } else {\r\n // check ibu name is already exits\r\n if (this.checkRatingName(formInfo.ratingName)) { \r\n localStorage.setItem('errorMsg', formInfo.ratingName + ' skill already exits!');\r\n this.showerror();\r\n return;\r\n }\r\n if (this.checkScore(formInfo.score)) { \r\n localStorage.setItem('errorMsg', `Skill score '${formInfo.score}' already exits!`);\r\n this.showerror();\r\n return;\r\n }\r\n this.loading = true;\r\n if(!this.common.isSuperUser()) {\r\n // delete formInfo.ratingName;\r\n // delete formInfo.tower;\r\n formInfo.tower = JSON.parse(localStorage.getItem('user')).userData.towerId;\r\n } \r\n this.commonService.saveSkillRating(formInfo).pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.formObj.reset();\r\n localStorage.setItem('errorMsg', 'Profile Added successfully!');\r\n this.initialization();\r\n this.showerror();\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', 'Must enter all the fields!');\r\n this.showerror();\r\n }\r\n )\r\n }\r\n }\r\n\r\n // update user profile \r\n private updateSkillRating(formInfo) {\r\n if (this.formObj.invalid) {\r\n localStorage.setItem('errorMsg', 'Please enter user information!');\r\n this.showerror();\r\n return\r\n }\r\n \r\n if (formInfo != null) {\r\n if (formInfo) {\r\n this.loading = true;\r\n //set login user email\r\n this.commonService.updateSkillRating(formInfo).pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.initialization();\r\n this.closeModels();\r\n localStorage.setItem('errorMsg', 'Skill Master is updated successfully!');\r\n this.showerror();\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n }\r\n }\r\n\r\n // Delete user profile\r\n private onDeleteSubmit(userInfo) {\r\n this.loading = true;\r\n //set login user email\r\n this.commonService.userDeletion(userInfo).pipe(first()).subscribe(\r\n data => {\r\n this.loading = true;\r\n this.initialization();\r\n localStorage.setItem('errorMsg', 'Record is deleted successfully!');\r\n localStorage.removeItem('errorMsg');\r\n this.showerror();\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n\r\n // check if name is already exits\r\n private checkRatingName(ratingName) {\r\n let isRatingNameExits = false;\r\n for (let i = 0; i < this.formInfoList.length; i++) {\r\n if (ratingName.toLowerCase() == this.formInfoList[i].ratingName.toLowerCase()) {\r\n isRatingNameExits = true;\r\n break;\r\n }\r\n }\r\n return isRatingNameExits;\r\n }\r\n\r\n // check if score already exits\r\n private checkScore(score) {\r\n let isScoreExits = false;\r\n for (let i = 0; i < this.formInfoList.length; i++) {\r\n if (score == this.formInfoList[i].score) {\r\n isScoreExits = true;\r\n break;\r\n }\r\n }\r\n return isScoreExits;\r\n }\r\n \r\n //show dailog box for user messages\r\n showerror() {\r\n // this.dialogService.addDialog(ErrorComponent, {\r\n // title: 'Confirm title',\r\n // message: 'Confirm message'\r\n // })\r\n const modal = this.modalService.open(ErrorComponent, {\r\n width: 'auto',\r\n data: { title: 'Confirm title', message: 'Confirm message' }\r\n });\r\n }\r\n\r\n //close dailog box\r\n private closeModels() {\r\n this.closeModel.nativeElement.click();\r\n }\r\n\r\n //logout and forward to login page\r\n private logout(e, routeURL) {\r\n this.commonService.logout();\r\n }\r\n\r\n //forward next section\r\n private gotoNextPage(e, routeURL) {\r\n this.router.navigate([routeURL]);\r\n }\r\n\r\n private getTowerList() {\r\n this.loading = true;\r\n this.commonService.getTowerList().pipe(first()).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.allTowers = data;\r\n },\r\n error => {\r\n this.loading = false;\r\n localStorage.setItem('errorMsg', error.statusText);\r\n this.showerror();\r\n }\r\n )\r\n }\r\n\r\n}\r\n","\r\n\r\n\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Skill Rating Master Form
\r\n \r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
0\">\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
S.NoScoreRating NameRemarkAction
\r\n
{{formInfoList.indexOf(formInfo) + 1}}
\r\n
\r\n
{{formInfo.score}}
\r\n
\r\n
{{formInfo.ratingName}}
\r\n
\r\n
{{formInfo.remark}}
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","export * from './behavioralSkillMaster.component';","import { enableProdMode, NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { AddResourceComponent } from './addResource/addResource.component';\nimport { AdminDashboardComponent } from './adminDashboard/adminDashboard.component';\nimport { BehavioralSkillMasterComponent } from './behavioralSkillMaster';\nimport { DashboardComponent } from './dashboard';\nimport { FunctionalSkillMasterComponent } from './functionalSkillMaster/functionalSkillMaster.component';\nimport { IBUComponent } from './ibu/ibu.component';\nimport { InterestedUsersComponent } from './interested-users/interested-users.component';\nimport { LoginComponent } from './login';\nimport { ManagementUsersComponent } from './managementUser/managementusers.component';\nimport { ManagerRatingSectionComponent } from './managerRatingSection/managerRatingSection.component';\nimport { NominateComponent } from './nominate/nominate.component';\nimport { PositionLadderComponent } from './position-ladder/position-ladder.component';\nimport { RatingHistoryComponent } from './rating-history/rating-history.component';\nimport { InterventionComponent } from './resourceIntervention/intervention.component';\nimport { ScoreComputationComponent } from './scoreComputation/scoreComputation.component';\nimport { SelfRatingSectionComponent } from './selfRatingSection/selfRatingSection.component';\nimport { SkillRatingMasterComponent } from './skillRatingMaster/skillRatingMaster.component';\nimport { SkillRatingSectionComponent } from './skillRatingSection/skillRatingSection.component';\nimport { AdminUserComponent } from './superAdminUser/adminuser.component';\nimport { TowerComponent } from './tower/tower.component';\nimport { TrainingComponent } from './training/training.component';\nimport { UserDashboardComponent } from './user-dashboard/user-dashboard.component';\nimport { CompetencyReportComponent } from './competency-report/competency-report.component';\n\nconst routes: Routes = [\n { path: '', component: LoginComponent },\n { path: 'login', component: LoginComponent },\n { path: 'dashboard', component: DashboardComponent },\n { path: 'addResource', component: AddResourceComponent },\n { path: 'intervention', component: InterventionComponent },\n { path: 'scoreComputation', component: ScoreComputationComponent },\n { path: 'skillRating', component: SkillRatingSectionComponent },\n { path: 'selfRating', component: SelfRatingSectionComponent },\n { path: 'managerRating', component: ManagerRatingSectionComponent },\n { path: 'adminDashboard', component: AdminDashboardComponent },\n { path: 'ibu', component: IBUComponent },\n { path: 'tower', component: TowerComponent },\n { path: 'manageUsers', component: ManagementUsersComponent },\n { path: 'superAdminUser', component: AdminUserComponent },\n { path: 'funSkillMaster', component: FunctionalSkillMasterComponent },\n { path: 'behSkillMaster', component: BehavioralSkillMasterComponent },\n { path: 'skillRatingMaster', component: SkillRatingMasterComponent },\n { path: 'userDashboard', component: UserDashboardComponent },\n { path: 'position-ladder', component: PositionLadderComponent },\n { path: 'training', component: TrainingComponent },\n { path: 'nominate', component: NominateComponent },\n { path: 'interested-users', component: InterestedUsersComponent },\n { path: 'rating-history', component: RatingHistoryComponent },\n { path: 'competencyReport', component: CompetencyReportComponent },\n { path: '**', redirectTo: '' }\n];\nenableProdMode();\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule]\n})\n\nexport class AppRoutingModule { }\n","const empStatusList = [\r\n { 'key': 'Deactive', 'value': 0 },\r\n { 'key': 'Active', 'value': 1 },\r\n { 'key': 'Resigned', 'value': 2 }\r\n]\r\n\r\nconst batchNoList = ['batch1','batch2','batch3','batch4','batch5','batch6','batch7','batch8','batch9','batch10']\r\n\r\nconst trStatusList = [\r\n { 'key': 'Rejected', 'value': 0 },\r\n { 'key': 'Approved', 'value': 1 },\r\n // { 'key': 'Pending', 'value': 2 },\r\n { 'key': 'Not Initiated', 'value': 2 },\r\n { 'key': 'Non Promoted', 'value': 4 },\r\n { 'key': 'Promoted', 'value': 5 },\r\n { 'key': 'Continued', 'value': 6 }\r\n]\r\n\r\nconst addResourceAllColumnList = [\r\n { item_id: 1, slug: 'empCode', item_text: 'Emp. Code' },\r\n { item_id: 2, slug: 'userName', item_text: 'Emp. Name' },\r\n { item_id: 3, slug: 'email', item_text: 'Email Id' },\r\n { item_id: 4, slug: 'currentPosition', item_text: 'Current Role' },\r\n { item_id: 5, slug: 'nextPosition', item_text: 'Next Role' },\r\n { item_id: 6, slug: 'empStatus', item_text: 'Emp Status' },\r\n { item_id: 7, slug: 'batchNo', item_text: 'Batch Number' },\r\n { item_id: 8, slug: 'journeyCompletionDate', item_text: 'Journey Completion Date' },\r\n { item_id: 9, slug: 'isApproved', item_text: 'Status' },\r\n { item_id: 10, slug: 'approvedAt', item_text: 'Nominated At' },\r\n { item_id: 10, slug: 'userId', item_text: 'Notes' }\r\n ];\r\n\r\n const addResourceColumnList = [\r\n { item_id: 1, slug: 'empCode', item_text: 'Emp. Code' },\r\n { item_id: 2, slug: 'userName', item_text: 'Emp. Name' },\r\n { item_id: 4, slug: 'currentPosition', item_text: 'Current Role' },\r\n { item_id: 5, slug: 'nextPosition', item_text: 'Next Role' },\r\n { item_id: 6, slug: 'empStatus', item_text: 'Emp Status' },\r\n { item_id: 9, slug: 'isApproved', item_text: 'Status' }\r\n ];\r\n\r\nexport const ConstantValue = {\r\n EmpStatusList: empStatusList,\r\n BatchNoList: batchNoList,\r\n TrStatusList: trStatusList,\r\n AddResourceColumns: addResourceColumnList,\r\n AddResourceAllColumnList: addResourceAllColumnList\r\n}","import { Component, OnInit, Compiler } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { first, retry } from 'rxjs/operators';\r\nimport { CommonService } from '../service/commons-service';\r\nimport { AppConfig } from '../util';\r\n\r\n@Component({\r\n templateUrl: 'login.component.html',\r\n styleUrls: ['login.component.css'],\r\n})\r\nexport class LoginComponent implements OnInit {\r\n loginForm: FormGroup;\r\n loading = false;\r\n baseURL: any = null;\r\n appConfig: AppConfig;\r\n\r\n public show: boolean = false;\r\n public inputType: any = 'Password';\r\n ipAddress: any = 1;\r\n hide: any;\r\n isCaptcha: boolean = false;\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private router: Router,\r\n private commonService: CommonService,\r\n appConfig: AppConfig,\r\n private _compiler: Compiler\r\n ) {\r\n this._compiler.clearCache();\r\n this.appConfig = appConfig;\r\n this.baseURL = appConfig.getServerURL();\r\n }\r\n\r\n ngOnInit() {\r\n //Using for Christmas/New Year Popup\r\n // $('.closeMaintenanceMsg').click(function () {\r\n // $('.maintenanceMsg').hide();\r\n // $('.maintPopup').removeClass('modal-backdrop');\r\n // });\r\n this.getIP();\r\n this.generateCaptcha();\r\n this.loginForm = this.formBuilder.group({\r\n username: ['', Validators.required],\r\n password: ['', Validators.required],\r\n loginas: ['self', Validators.required],\r\n });\r\n }\r\n\r\n toggle() {\r\n this.show = !this.show;\r\n\r\n // CHANGE THE NAME OF THE BUTTON.\r\n if (this.show) this.inputType = 'Text';\r\n else this.inputType = 'Password';\r\n }\r\n /**\r\n * Get the IP address.\r\n */\r\n getIP() {\r\n this.commonService.getIPAddress().subscribe((res: any) => {\r\n console.log('Ressss', res);\r\n this.ipAddress = res.ip;\r\n });\r\n }\r\n //user login with jira credential\r\n authenticatUser() {\r\n if (this.isCaptcha) {\r\n var string1 = this.removeSpaces(\r\n (document.getElementById('mainCaptcha')).value\r\n );\r\n var string2 = this.removeSpaces(\r\n (document.getElementById('txtInput')).value\r\n );\r\n if (string1 != string2) {\r\n localStorage.setItem('errorMsg', 'Please enter valid captcha');\r\n this.commonService.showerror();\r\n return;\r\n }\r\n }\r\n // stop here if form is invalid\r\n if (\r\n !this.loginForm.controls.username.value &&\r\n !this.loginForm.controls.password.value\r\n ) {\r\n localStorage.setItem('errorMsg', this.appConfig.getBlankLoginErrorMsg());\r\n this.commonService.showerror();\r\n return;\r\n }\r\n const userNameArr = this.loginForm.controls.username.value.split('@');\r\n const userName = userNameArr[0];\r\n let locIpAddr = 1;\r\n this.loading = true;\r\n this.commonService\r\n .login(\r\n userName,\r\n this.loginForm.controls.password.value,\r\n this.loginForm.controls.loginas.value,\r\n this.ipAddress\r\n )\r\n .pipe(first())\r\n .subscribe(\r\n (res) => {\r\n this.loading = false;\r\n if (res && res.data && res.data.length > 0) {\r\n console.log('Login Page', res.data);\r\n if (\r\n !res.data[0].emailAddress ||\r\n res.data[0].emailAddress.trim().length == 0\r\n ) {\r\n if (res.data[0].email) {\r\n res.data[0]['emailAddress'] = res.data[0].email;\r\n } else if (res.data[0].userEmail) {\r\n res.data[0]['emailAddress'] = res.data[0].userEmail;\r\n }\r\n }\r\n if (res.data[0].towerId) {\r\n res.data[0].towerId = res.data[0].towerId.toString();\r\n }\r\n if (\r\n res.data[0].towerId &&\r\n res.data[0].towerId.split(',').length > 1\r\n ) {\r\n res.data[0].towerIdArray = res.data[0].towerId.split(',');\r\n res.data[0].towerId = res.data[0].towerId.split(',')[0];\r\n } else {\r\n res.data[0].towerIdArray = [];\r\n }\r\n localStorage.setItem(\r\n 'user',\r\n JSON.stringify({ userData: res.data[0] })\r\n );\r\n\r\n console.log('userdata', res.data[0]);\r\n if (res.data[0].userRoll == '1')\r\n this.router.navigate(['/adminDashboard']);\r\n else if (res.data[0].userRoll == '5')\r\n this.router.navigate(['/selfRating']);\r\n else this.router.navigate(['/dashboard']);\r\n } else if (res.error) {\r\n if (res.isCaptcha) {\r\n this.isCaptcha = res.isCaptcha;\r\n this.generateCaptcha();\r\n }\r\n localStorage.setItem('errorMsg', res.error);\r\n this.commonService.showLoginError();\r\n localStorage.removeItem('errorMsg');\r\n }\r\n },\r\n (error) => {\r\n this.loading = false;\r\n localStorage.setItem(\r\n 'errorMsg',\r\n this.appConfig.getInvalidDetailsMsg()\r\n );\r\n this.commonService.showerror();\r\n }\r\n );\r\n }\r\n\r\n generateCaptcha() {\r\n var alpha = new Array(\r\n 'A',\r\n 'B',\r\n 'C',\r\n 'D',\r\n 'E',\r\n 'F',\r\n 'G',\r\n 'H',\r\n 'I',\r\n 'J',\r\n 'K',\r\n 'L',\r\n 'M',\r\n 'N',\r\n 'O',\r\n 'P',\r\n 'Q',\r\n 'R',\r\n 'S',\r\n 'T',\r\n 'U',\r\n 'V',\r\n 'W',\r\n 'X',\r\n 'Y',\r\n 'Z',\r\n 'a',\r\n 'b',\r\n 'c',\r\n 'd',\r\n 'e',\r\n 'f',\r\n 'g',\r\n 'h',\r\n 'i',\r\n 'j',\r\n 'k',\r\n 'l',\r\n 'm',\r\n 'n',\r\n 'o',\r\n 'p',\r\n 'q',\r\n 'r',\r\n 's',\r\n 't',\r\n 'u',\r\n 'v',\r\n 'w',\r\n 'x',\r\n 'y',\r\n 'z',\r\n '1',\r\n '2',\r\n '3',\r\n '4',\r\n '5',\r\n '6',\r\n '7',\r\n '8',\r\n '9',\r\n '0'\r\n );\r\n var i;\r\n for (i = 0; i < 6; i++) {\r\n var a = alpha[Math.floor(Math.random() * alpha.length)];\r\n var b = alpha[Math.floor(Math.random() * alpha.length)];\r\n var c = alpha[Math.floor(Math.random() * alpha.length)];\r\n var d = alpha[Math.floor(Math.random() * alpha.length)];\r\n var e = alpha[Math.floor(Math.random() * alpha.length)];\r\n var f = alpha[Math.floor(Math.random() * alpha.length)];\r\n }\r\n var code = a + '' + b + '' + '' + c + '' + d + '' + e + '' + f;\r\n\r\n // var inputValue = (document.getElementById(\"mainCaptcha\")).value = code\r\n if (this.isCaptcha) {\r\n this.waitForCaptch('mainCaptcha').then((elm) => {\r\n var inputValue = (((\r\n document.getElementById('mainCaptcha')\r\n )).value = code);\r\n });\r\n }\r\n }\r\n waitForCaptch(selector) {\r\n return new Promise((resolve) => {\r\n if (document.getElementById(selector)) {\r\n return resolve(document.getElementById(selector));\r\n }\r\n\r\n const observer = new MutationObserver((mutations) => {\r\n if (document.getElementById(selector)) {\r\n resolve(document.getElementById(selector));\r\n observer.disconnect();\r\n }\r\n });\r\n\r\n observer.observe(document.body, {\r\n childList: true,\r\n subtree: true,\r\n });\r\n });\r\n }\r\n\r\n CheckValidCaptcha() {\r\n if (this.isCaptcha) {\r\n var string1 = this.removeSpaces(\r\n (document.getElementById('mainCaptcha')).value\r\n );\r\n var string2 = this.removeSpaces(\r\n (document.getElementById('txtInput')).value\r\n );\r\n if (string1 == string2) {\r\n document.getElementById('success').innerHTML =\r\n 'Form is validated Successfully';\r\n //alert(\"Form is validated Successfully\");\r\n return true;\r\n } else {\r\n document.getElementById('error').innerHTML =\r\n 'Please enter a valid captcha.';\r\n //alert(\"Please enter a valid captcha.\");\r\n return false;\r\n }\r\n }\r\n }\r\n removeSpaces(string) {\r\n return string.split(' ').join('');\r\n }\r\n\r\n hidePopup() {\r\n this.hide = 'hide';\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"NIIT\"\r\n
\r\n
\r\n \r\n Talent
\r\n Readiness\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

© 2021 NIIT Talent Readiness. All rights reserved. Powered by NEC.

\r\n
\r\n","import { Component, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\nexport interface ErrorModel {\r\n title: string;\r\n message: string;\r\n}\r\n@Component({\r\n selector: 'confirm',\r\n template: `\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ error_message }}\r\n
\r\n\r\n
\r\n \r\n OK\r\n \r\n
\r\n
\r\n \r\n
`,\r\n styleUrls: ['./error.component.css'],\r\n})\r\nexport class LoginErrorComponent {\r\n title: string;\r\n message: string;\r\n error_message: any;\r\n isChrome: any = false;\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: ErrorModel\r\n ) {\r\n this.error_message = localStorage.getItem('errorMsg');\r\n if (navigator.userAgent.indexOf('Chrome') != -1) {\r\n console.log('Browser Chrome');\r\n this.isChrome = true;\r\n }\r\n }\r\n\r\n confirm(): void {\r\n localStorage.removeItem('errorMsg');\r\n this.dialogRef.close();\r\n }\r\n\r\n close(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n refresh(): void {\r\n window.location.reload();\r\n }\r\n}\r\n//
\r\n// Please check FAQ\r\n// Link\r\n//
\r\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-admin-sidebar',\n templateUrl: './admin-sidebar.component.html',\n styleUrls: ['./admin-sidebar.component.css']\n})\nexport class AdminSidebarComponent implements OnInit {\n\n private users: any = {};\n public show:boolean = false;\n public buttonName:any = 'Hide';\n private userRoll: number = 0;\n\n constructor() { }\n\n ngOnInit() {\n }\n\n toggle() {\n this.show = !this.show;\n\n // CHANGE THE NAME OF THE BUTTON.\n if(this.show) \n this.buttonName = \"Show\";\n else\n this.buttonName = \"Hide\";\n }\n\n\n}\n","","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"zn8P\";"]}