{"version":3,"file":"main.js","mappings":"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+C;IACzD,QAAQ,EAAE,sCAAsC;IAChD,SAAS,EAAE,wEAAwE;CACpF,CAAC;;;;;;;;;;;;;;;;;;ACN6C;AAGF;AACY;AAEzD,IAAI,6EAAsB,EAAE;IAC1B,6DAAc,EAAE,CAAC;CAClB;AAED,wEAAwB,CAAC,eAAe,CAAC,sDAAS,CAAC;KAChD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;;;;;;;;;;;ACXpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACnSA;;;;;;;;;;ACAA","sources":["./$_lazy_route_resources|lazy|groupOptions: {}|namespace object","./src/app/Services/activity-master.service.ts","./src/app/Services/activitydata.service.ts","./src/app/Services/activitydatamapping.service.ts","./src/app/Services/apiservices.service.ts","./src/app/Services/data.service.ts","./src/app/Services/history.service.ts","./src/app/Services/loading.interceptor.ts","./src/app/Services/loading.service.ts","./src/app/Services/master.service.ts","./src/app/Services/search.service.ts","./src/app/Services/user-role-map.service.ts","./src/app/admin/activity-data-mapp/activity-data-mapp.component.ts","./src/app/admin/activity-data-mapp/activity-data-mapp.component.html","./src/app/admin/activity-data-mapping/activity-data-mapping.component.ts","./src/app/admin/activity-data-mapping/activity-data-mapping.component.html","./src/app/admin/activity-data/activity-data.component.ts","./src/app/admin/activity-data/activity-data.component.html","./src/app/admin/activity-data/CPMIBRReference.html","./src/app/admin/activity-master/activity-master.component.ts","./src/app/admin/activity-master/activity-master.component.html","./src/app/admin/activity-master/addActivityDialog.html","./src/app/admin/activitymapping/activitymapping.component.ts","./src/app/admin/activitymapping/activitymapping.component.html","./src/app/admin/business-area/business-area.component.ts","./src/app/admin/business-area/business-area.component.html","./src/app/admin/business-area/addBusinessAreaDialog.html","./src/app/admin/dashboard/dashboard.component.ts","./src/app/admin/dashboard/dashboard.component.html","./src/app/admin/designation-mapping/designation-mapping.component.ts","./src/app/admin/designation-mapping/designation-mapping.component.html","./src/app/admin/designation-mapping/addDesignationMappingDialog.html","./src/app/admin/designation/designation.component.ts","./src/app/admin/designation/designation.component.html","./src/app/admin/designation/addDesignationDialog.html","./src/app/admin/division/division.component.ts","./src/app/admin/division/division.component.html","./src/app/admin/division/addDivisionDialog.html","./src/app/admin/entity/entity.component.ts","./src/app/admin/entity/entity.component.html","./src/app/admin/entity/addEntityDialog.html","./src/app/admin/history/history.component.ts","./src/app/admin/history/history.component.html","./src/app/admin/popup/popup.component.ts","./src/app/admin/popup/popup.component.html","./src/app/admin/preamble/preamble.component.ts","./src/app/admin/preamble/preamble.component.html","./src/app/admin/preamble/addPreambleDialog.html","./src/app/admin/reading-this-document/reading-this-document.component.ts","./src/app/admin/reading-this-document/reading-this-document.component.html","./src/app/admin/reading-this-document/addReadingDocumentDialog.html","./src/app/admin/report/report.component.ts","./src/app/admin/report/report.component.html","./src/app/admin/search/search.component.ts","./src/app/admin/search/search.component.html","./src/app/admin/treeview/treeview.component.ts","./src/app/admin/treeview/treeview.component.html","./src/app/admin/user-role-mapping/user-role-mapping.component.ts","./src/app/admin/user-role-mapping/user-role-mapping.component.html","./src/app/admin/user-role-mapping/add-user-role-mapping-dialog.html","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/loading/loading-component/loading-component.component.ts","./src/app/loading/loading-component/loading-component.component.html","./src/app/shared/app-material.module.ts","./src/app/sidenav/side-nav.component.ts","./src/app/sidenav/side-nav.component.html","./src/app/sidenav/reportIssueDialog.html","./src/app/sidenav/ProcessFlowDialog.html","./src/environments/environment.qa.ts","./src/main.ts","./node_modules/moment/locale|sync|/^/.*$","ignored|D:\\a\\1\\s\\src\\web\\node_modules\\xlsx-js-style\\dist|fs","ignored|D:\\a\\1\\s\\src\\web\\node_modules\\xlsx-js-style\\dist|stream"],"sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(() => {\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 = () => ([]);\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 98255;\nmodule.exports = webpackEmptyAsyncContext;","import { HttpClient,HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { MatSnackBar, MatSnackBarHorizontalPosition, MatSnackBarVerticalPosition } from '@angular/material/snack-bar';\r\nimport { ActivityMaster } from '../admin/activity-master/activity-master.component';\r\n//import { Observable } from 'rxjs/internal/Observable';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ActivityMasterService {\r\n rooturl= environment.rooturl ;\r\n // rooturl = 'https://localhost:7063/'; \r\n //rooturl = 'https://dev.table-of-authority.in.abb.com/api/'; \r\n // rooturl = 'https://qa.table-of-authority.in.abb.com/api/'; \r\n // rooturl = 'https://stage.table-of-authority.in.abb.com/api/'; \r\n\r\n\r\n filterParams: { parameterName: string; parameterValue: any; }[];\r\n \r\n constructor(private http: HttpClient, private _snackBar:MatSnackBar) { }\r\n\r\n createAuthorizationHeader(headers: HttpHeaders) {\r\n headers.append('Authorization', 'Bearer ' + sessionStorage.getItem('userToken'));\r\n \r\n }\r\n gettoken(userName:any,password:any){\r\n var data = JSON.stringify ( {\r\n \"username\": userName,\r\n \"password\": password\r\n });\r\n \r\n console.log(data);\r\n var reqHeader = new HttpHeaders({ 'Content-Type': 'application/json','No-Auth':'True' });\r\n return this.http.post(this.rooturl + 'api/Account', data, { headers: reqHeader });\r\n }\r\n getEntityList(): Observable {\r\n return this.http.get(this.rooturl + 'api/TOASearch/GetEntityList');\r\n } \r\n getActivityList(busIDs): Observable {\r\n if(busIDs==\"\")\r\n {\r\n busIDs=0\r\n }\r\n return this.http.get(this.rooturl + 'api/ActivityMaster/GetActivityList?busIDs='+ busIDs);\r\n }\r\n\r\n \r\n saveActivityData(data: ActivityMaster): Observable {\r\n return this.http.post(this.rooturl + 'api/ActivityMaster/SaveActivityData',data);\r\n } \r\n \r\n getActivityMaster (){\r\n return this.http.get(this.rooturl + 'api/ActivityMaster/GetActivityMaster');\r\n }\r\n \r\n deleteActivityMaster(data: ActivityMaster): Observable{\r\n return this.http.post(this.rooturl + 'api/ActivityMaster/DeleteActivityMaster',data);\r\n }\r\n \r\n getUserId(emailId : string){\r\n return this.http.get(this.rooturl + 'api/ActivityMaster/GetUserDetails?emailId=' + emailId);\r\n }\r\n\r\n\r\n/***************************** Mapping Screen Data ******************************/\r\n\r\n\r\ngetBuisnessAreaList(entityID): Observable {\r\n return this.http.get(this.rooturl + 'api/TOASearch/GetBuisnessAreaList?entityId='+entityID);\r\n} \r\n\r\ngetSearchActivityList(busIDs): Observable {\r\n if(busIDs==\"\")\r\n {\r\n busIDs=0\r\n }\r\n return this.http.get(this.rooturl + 'api/ActivityMaster/GetActivityNotMappedWithList?busIDs='+ busIDs);\r\n}\r\n\r\n\r\naddActivityToBusinessArea(myData :any): Observable {\r\n \r\n return this.http.post(this.rooturl + 'api/ActivityMaster/AddActivityToBusinessArea',myData);\r\n \r\n} \r\n\r\ndeleteActivityNode(myData :any): Observable {\r\n \r\n return this.http.post(this.rooturl + 'api/ActivityMaster/DeleteActivityDataFromMapping',myData);\r\n \r\n} \r\ngetActivityHistoryTempTRNCount(): Observable {\r\n \r\n return this.http.get(this.rooturl + 'api/ActivityDataMapping/GetActivityHistoryTempTRNCount');\r\n \r\n} \r\n\r\ngetActivityDetailsDraftData(myData :any): Observable {\r\n \r\n return this.http.post(this.rooturl + 'api/ActivityDataMapping/GetActivityDetailsDraftData',myData);\r\n \r\n} \r\nhorizontalPosition: MatSnackBarHorizontalPosition = 'center';\r\n verticalPosition: MatSnackBarVerticalPosition = 'top';\r\n\r\n ShowSnackBar(data: any,color: any)\r\n {\r\n this._snackBar.open(data,'Close', {\r\n horizontalPosition: this.horizontalPosition,\r\n verticalPosition: this.verticalPosition,\r\n duration: 2 * 1000,\r\n panelClass: [color]\r\n });\r\n }\r\n/***************************** Mapping Screen Data ******************************/\r\n}\r\n","import { HttpClient,HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs/internal/Observable';\r\nimport { MatSnackBar, MatSnackBarHorizontalPosition, MatSnackBarVerticalPosition } from '@angular/material/snack-bar';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ActivityDataService {\r\n\r\n rooturl =environment.rooturl;\r\n\r\n // rooturl = 'https://localhost:7063/'; \r\n // rooturl = 'https://dev.table-of-authority.in.abb.com/api/'; \r\n // rooturl = 'https://qa.table-of-authority.in.abb.com/api/'; \r\n // rooturl = 'https://stage.table-of-authority.in.abb.com/api/'; \r\n \r\n constructor(private http: HttpClient, private _snackBar:MatSnackBar) { }\r\n createAuthorizationHeader(headers: HttpHeaders) {\r\n headers.append('Authorization', 'Bearer ' + sessionStorage.getItem('userToken'));\r\n \r\n }\r\n gettoken(userName:any,password:any){\r\n var data = JSON.stringify ( {\r\n \"username\": userName,\r\n \"password\": password\r\n });\r\n \r\n console.log(data);\r\n var reqHeader = new HttpHeaders({ 'Content-Type': 'application/json','No-Auth':'True' });\r\n \r\n return this.http.post(this.rooturl + 'api/Account', data, { headers: reqHeader });\r\n }\r\n getBuisnessAreaList(): Observable {\r\n return this.http.get(this.rooturl + 'api/ActivityData/GetBuisnessAreaList');\r\n } \r\n getCategoryList(): Observable {\r\n var headers = new HttpHeaders();\r\n headers = headers.set('Authorization', 'Bearer ' + sessionStorage.getItem('userToken'));\r\n\r\n return this.http.get(this.rooturl + 'api/ActivityData/GetCategoryList', {headers: headers});\r\n }\r\n getActivityMasterDataListFromBusinessIDandCategoryID(busID,catID): Observable {\r\n var headers = new HttpHeaders();\r\n headers = headers.set('Authorization', 'Bearer ' + sessionStorage.getItem('userToken'));\r\n\r\n return this.http.get(this.rooturl + 'api/ActivityData/GetActivityMasterDataListFromBusinessIDandCategoryID?busID='+busID+ \"&catID=\"+catID, {headers: headers});\r\n } \r\n getDesignationList(busID,catID): Observable {\r\n var headers = new HttpHeaders();\r\n headers = headers.set('Authorization', 'Bearer ' + sessionStorage.getItem('userToken'));\r\n\r\n return this.http.get(this.rooturl + 'api/ActivityData/GetDesignationListFromBusinessAreaID?busID='+busID+ \"&catID=\"+catID, {headers: headers});\r\n }\r\n ActivityDataSave(data:any){\r\n var headers = new HttpHeaders();\r\n headers = headers.set('Authorization', 'Bearer ' + sessionStorage.getItem('userToken'));\r\n return this.http.post(this.rooturl + 'Api/ActivityData/ActivityDataSave', data, {headers: headers});\r\n \r\n }\r\n CheckIfRefTextExists(busID,catID,refText){\r\n var headers = new HttpHeaders();\r\n headers = headers.set('Authorization', 'Bearer ' + sessionStorage.getItem('userToken'));\r\n\r\n return this.http.get(this.rooturl + 'api/ActivityData/CheckIfRefTextExists?busID='+busID+ \"&catID=\"+catID+ \"&refText=\"+refText, {headers: headers});\r\n }\r\n deleteActivityData(data): Observable{\r\n var headers = new HttpHeaders();\r\n headers = headers.set('Authorization', 'Bearer ' + sessionStorage.getItem('userToken'));\r\n return this.http.post(this.rooturl + 'api/ActivityData/DeleteActivityData',data, {headers: headers});\r\n }\r\n horizontalPosition: MatSnackBarHorizontalPosition = 'center';\r\n verticalPosition: MatSnackBarVerticalPosition = 'top';\r\n\r\n ShowSnackBar(data: any,color: any)\r\n {\r\n this._snackBar.open(data,'Close', {\r\n horizontalPosition: this.horizontalPosition,\r\n verticalPosition: this.verticalPosition,\r\n duration: 2 * 1000,\r\n panelClass: [color]\r\n });\r\n }\r\n}\r\n","import { HttpClient,HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs/internal/Observable';\r\nimport { MatSnackBar, MatSnackBarHorizontalPosition, MatSnackBarVerticalPosition } from '@angular/material/snack-bar';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ActivityDataMappingService {\r\n rooturl= environment.rooturl ;\r\n // rooturl = 'https://localhost:7063/'; \r\n //rooturl = 'https://dev.table-of-authority.in.abb.com/api/'; \r\n // rooturl = 'https://qa.table-of-authority.in.abb.com/api/'; \r\n // rooturl = 'https://stage.table-of-authority.in.abb.com/api/'; \r\n \r\n constructor(private http: HttpClient, private _snackBar:MatSnackBar) { }\r\n createAuthorizationHeader(headers: HttpHeaders) {\r\n headers.append('Authorization', 'Bearer ' + sessionStorage.getItem('userToken'));\r\n \r\n }\r\n gettoken(userName:any,password:any){\r\n var data = JSON.stringify ( {\r\n \"username\": userName,\r\n \"password\": password\r\n });\r\n \r\n console.log(data);\r\n var reqHeader = new HttpHeaders({ 'Content-Type': 'application/json','No-Auth':'True' });\r\n \r\n return this.http.post(this.rooturl + 'api/Account', data, { headers: reqHeader });\r\n }\r\n getActivityDetailsForMapping(myData :any): Observable {\r\n \r\n return this.http.post(this.rooturl + 'api/ActivityDataMapping/GetActivityDetailsForMapping',myData);\r\n \r\n } \r\n getCategoryWithActivityMasterData(Buid, ActivityId, name, isLink, isDesignation): Observable {\r\n var headers = new HttpHeaders();\r\n headers = headers.set('Authorization', 'Bearer ' + sessionStorage.getItem('userToken'));\r\n\r\n return this.http.get(this.rooturl + 'api/ActivityDataMapping/GetCategoryWithActivityMasterData?Buid='+Buid+\"&ActivityId=\"+ActivityId+\"&name=\"+name+ \"&isLink=\"+isLink + \"&isDesignation=\" + isDesignation, {headers: headers});\r\n }\r\n getCategoryWithActivityMasterDataAll(Buid, ActivityId, name, isLink, isDesignation): Observable {\r\n var headers = new HttpHeaders();\r\n headers = headers.set('Authorization', 'Bearer ' + sessionStorage.getItem('userToken'));\r\n\r\n return this.http.get(this.rooturl + 'api/ActivityDataMapping/GetCategoryWithActivityMasterDataAll?Buid='+Buid+\"&ActivityId=\"+ActivityId+\"&name=\"+name+ \"&isLink=\"+isLink + \"&isDesignation=\" + isDesignation, {headers: headers});\r\n }\r\n\r\n saveActivityTransactionData(activityMappingData :any): Observable {\r\n \r\n return this.http.post(this.rooturl + 'api/ActivityDataMapping/SaveActivityTransactionData',activityMappingData);\r\n \r\n } \r\n horizontalPosition: MatSnackBarHorizontalPosition = 'center';\r\n verticalPosition: MatSnackBarVerticalPosition = 'top';\r\n\r\n ShowSnackBar(data: any,color: any)\r\n {\r\n this._snackBar.open(data,'Close', {\r\n horizontalPosition: this.horizontalPosition,\r\n verticalPosition: this.verticalPosition,\r\n duration: 2 * 1000,\r\n panelClass: [color]\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpClientModule} from '@angular/common/http';\r\nimport { map } from 'rxjs/operators'\r\nimport { MatSnackBar, MatSnackBarHorizontalPosition, MatSnackBarVerticalPosition } from '@angular/material/snack-bar';\r\nimport { Observable, BehaviorSubject } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\n\r\nexport interface TableData {\r\n Id: number;\r\n FirstName : string;\r\n LastName : string;\r\n Email : string;\r\n Mobile : string;\r\n ShareType:string;\r\n CountryCode:string;\r\n IsActive:boolean;\r\n CreatedBy: number;\r\n CreatedDate:Date;\r\n}\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\n\r\nexport class ApiservicesService {\r\n rooturl= environment.rooturl ;\r\n\r\n// rooturl = 'https://localhost:7063/'; \r\n // rooturl = 'https://dev.table-of-authority.in.abb.com/api/'; \r\n// rooturl = 'https://qa.table-of-authority.in.abb.com/api/'; \r\n // rooturl = 'https://stage.table-of-authority.in.abb.com/api/'; \r\n\r\n\r\n\r\n\r\n\r\n horizontalPosition: MatSnackBarHorizontalPosition = 'center';\r\n verticalPosition: MatSnackBarVerticalPosition = 'top';\r\n\r\n constructor(private http: HttpClient, private _snackBar:MatSnackBar) {\r\n\r\n }\r\n\r\n\r\n\r\n createAuthorizationHeader(headers: HttpHeaders) {\r\n headers.append('Authorization', 'Bearer ' + sessionStorage.getItem('userToken'));\r\n\r\n }\r\n gettoken(userName:any,password:any){\r\n var data = JSON.stringify ( {\r\n \"username\": userName,\r\n \"password\": password\r\n });\r\n\r\n\r\n var reqHeader = new HttpHeaders({ 'Content-Type': 'application/json','No-Auth':'True' });\r\n\r\n return this.http.post(this.rooturl + 'api/Account', data, { headers: reqHeader });\r\n }\r\n\r\n GetABBLogin(email:any)\r\n {\r\n var reqHeader = new HttpHeaders({\r\n 'Content-Type': 'application/json'\r\n });\r\n return this.http.post(this.rooturl + 'api/Login/authenticate?email='+ email , {headers: reqHeader});\r\n }\r\n\r\n \r\n TableData: TableData[] = [];\r\n\r\n private requestDetails = new BehaviorSubject({\r\n requestID: 0,\r\n ToMeetWith: '' ,\r\n MeetingMode: '',\r\n MeetingPurpose: '',\r\n MtgDateOpt1: null,\r\n MtgDateOpt2: null,\r\n MtgDateOpt3: null,\r\n\r\n });\r\n\r\n setRequestDetailsInfo(user: any) {\r\n this.requestDetails.next(user);\r\n }\r\n\r\n getRequestDetailsInfo() {\r\n return this.requestDetails.asObservable();\r\n }\r\n\r\n setVisitorDetailsInfo(user: any) {\r\n this.TableData.push(user);\r\n }\r\n getVisitorDetailsInfo() {\r\n return this.TableData;\r\n }\r\n\r\n ShowSnackBar(data: any,color: any)\r\n {\r\n this._snackBar.open(data,'Close', {\r\n horizontalPosition: this.horizontalPosition,\r\n verticalPosition: this.verticalPosition,\r\n duration: 2 * 1000,\r\n panelClass: [color]\r\n });\r\n\r\n}\r\n\r\n} ","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport{BehaviorSubject} from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DataService{\r\n private dataSubject= new BehaviorSubject(null);\r\n data$= this.dataSubject.asObservable();\r\n\r\n setData(data:any):void{\r\n this.dataSubject.next(data);\r\n }\r\n resetData(){\r\n this.dataSubject.next(\"\");\r\n }\r\n}\r\n","import { HttpClient,HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Observable } from 'rxjs/internal/Observable';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class HistoryService {\r\n rooturl= environment.rooturl ;\r\n\r\n //rooturl = 'https://localhost:7063/'; \r\n // rooturl = 'https://dev.table-of-authority.in.abb.com/api/'; \r\n // rooturl = 'https://qa.table-of-authority.in.abb.com/api/'; \r\n // rooturl = 'https://stage.table-of-authority.in.abb.com/api/'; \r\n\r\n\r\n filterParams: { parameterName: string; parameterValue: any; }[];\r\n \r\n constructor(private http: HttpClient, private _snackBar:MatSnackBar) { }\r\n createAuthorizationHeader(headers: HttpHeaders) {\r\n headers.append('Authorization', 'Bearer ' + sessionStorage.getItem('userToken'));\r\n \r\n }\r\n gettoken(userName:any,password:any){\r\n var data = JSON.stringify ( {\r\n \"username\": userName,\r\n \"password\": password\r\n });\r\n \r\n console.log(data);\r\n var reqHeader = new HttpHeaders({ 'Content-Type': 'application/json','No-Auth':'True' });\r\n return this.http.post(this.rooturl + 'api/Account', data, { headers: reqHeader });\r\n }\r\n\r\n getHistoryList(busIDs): Observable {\r\n if(busIDs==\"\")\r\n {\r\n busIDs=0\r\n }\r\n return this.http.get(this.rooturl + 'api/ActivityHistory/GetHistoryList?busIDs='+busIDs);\r\n } \r\n currentActivitySaveToHistoryTemp(busID,createdBy): Observable {\r\n return this.http.get(this.rooturl + 'api/ActivityHistory/CreateHistory?busID='+ busID + \"&createdBy=\"+createdBy);\r\n } \r\n currentActivityMoveToHistory(): Observable {\r\n return this.http.get(this.rooturl + 'api/ActivityHistory/CurrentActivityMoveToHistory');\r\n } \r\n \r\n getSearchHistoryDetails(myData :any): Observable {\r\n \r\n return this.http.post(this.rooturl + 'api/ActivityHistory/GetHistoryDetails',myData);\r\n \r\n } \r\n \r\n generatePdf(activityDTL:any, allBusIDs:any,selectedBusIDs){\r\n const data={activityDTL,allBusIDs,selectedBusIDs}\r\n return this.http.post(this.rooturl+ 'api/ActivityHistory/GeneratePDF',data,{responseType:'blob'});\r\n }\r\n}\r\n\r\n","import { Component, OnInit, Inject, OnDestroy, Injectable } from '@angular/core';\r\nimport { MsalService, MsalBroadcastService, MSAL_GUARD_CONFIG, MsalGuardConfiguration } from '@azure/msal-angular';\r\nimport { AuthenticationResult, InteractionStatus, InteractionType, PopupRequest, RedirectRequest } from '@azure/msal-browser';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor,\r\n HttpResponse\r\n} from '@angular/common/http';\r\nimport { Router } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError, map, retry, tap } from 'rxjs/operators';\r\nimport { BnNgIdleService } from 'bn-ng-idle';\r\n\r\n\r\nimport { LoadingService, LoadingOverlayRef } from './loading.service';\r\nimport { MatSnackBar, MatSnackBarHorizontalPosition, MatSnackBarVerticalPosition } from '@angular/material/snack-bar';\r\n\r\n\r\n@Injectable()\r\nexport class LoadingInterceptor implements HttpInterceptor {\r\n horizontalPosition: MatSnackBarHorizontalPosition = 'center';\r\n verticalPosition: MatSnackBarVerticalPosition = 'top';\r\n Email : string;\r\n constructor(@Inject(MSAL_GUARD_CONFIG) private msalGuardConfig: MsalGuardConfiguration, private loadingService: LoadingService,\r\n \r\n /* Start Process 1 */\r\n \r\n private _snackBar: MatSnackBar, private bnIdle: BnNgIdleService,private authService: MsalService) {\r\n \r\n\r\n /* Start Process 2 */\r\n this.bnIdle.startWatching(4000).subscribe((res) => {\r\n if(res) \r\n {\r\n this.Email = sessionStorage.getItem('LoginEmail');\r\n\r\n if(this.Email.includes('@in.abb.com') || this.Email.includes('abb.com'))\r\n {\r\n \r\n sessionStorage.removeItem('menuTitle');\r\n sessionStorage.removeItem('menuIcon');\r\n sessionStorage.removeItem('menuLink');\r\n sessionStorage.removeItem('roleId');\r\n sessionStorage.removeItem('role');\r\n sessionStorage.removeItem('LoginEmail');\r\n sessionStorage.removeItem('userId');\r\n sessionStorage.removeItem('userToken');\r\n sessionStorage.removeItem('tokenExpiration');\r\n sessionStorage.removeItem('menuTitle2');\r\n sessionStorage.removeItem('menuIcon2');\r\n sessionStorage.removeItem('menuLink2');\r\n\r\n\r\n console.log('logoutABB');\r\n if (this.msalGuardConfig.interactionType === InteractionType.Popup) {\r\n this.authService.logoutPopup({\r\n postLogoutRedirectUri: \"/\",\r\n mainWindowRedirectUri: \"/\"\r\n });\r\n } else {\r\n this.authService.logoutRedirect({\r\n postLogoutRedirectUri: \"/\",\r\n });\r\n }\r\n\r\n this._snackBar.open(\"Session Timeout, Please login once again!\",'Close', {\r\n horizontalPosition: this.horizontalPosition,\r\n verticalPosition: this.verticalPosition,\r\n duration: 2 * 1000,\r\n panelClass: ['red-snackbar']\r\n });\r\n setTimeout(() => {\r\n window.location.reload(); \r\n }, 500);\r\n }\r\n else\r\n {\r\n\r\n \r\n sessionStorage.removeItem('menuTitle');\r\n sessionStorage.removeItem('menuIcon');\r\n sessionStorage.removeItem('menuLink');\r\n sessionStorage.removeItem('roleId');\r\n sessionStorage.removeItem('role');\r\n sessionStorage.removeItem('LoginEmail');\r\n sessionStorage.removeItem('userId');\r\n sessionStorage.removeItem('userToken');\r\n sessionStorage.removeItem('tokenExpiration');\r\n sessionStorage.removeItem('menuTitle2');\r\n sessionStorage.removeItem('menuIcon2');\r\n sessionStorage.removeItem('menuLink2');\r\n\r\n\r\n this._snackBar.open(\"Session Timeout, Please login once again!!\",'Close', {\r\n horizontalPosition: this.horizontalPosition,\r\n verticalPosition: this.verticalPosition,\r\n duration: 2 * 1000,\r\n panelClass: ['red-snackbar']\r\n });\r\n setTimeout(() => {\r\n window.location.reload(); \r\n }, 500);\r\n }\r\n }\r\n })\r\n /* END Process 2 */\r\n \r\n }\r\n/* END Process 1 */\r\n\r\n/* Start Process 3 */\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n let loadingRef: LoadingOverlayRef;\r\n Promise.resolve(null).then(() => loadingRef = this.loadingService.open());\r\n var tokenExpiration = sessionStorage.getItem(\"tokenExpiration\");\r\n console.log(tokenExpiration);\r\n\r\n /* Start Process 4 */\r\nif(tokenExpiration == null){\r\n console.log('token is null here');\r\n console.log(tokenExpiration);\r\n return next.handle(req).pipe(tap(event => {\r\n if (event instanceof HttpResponse && loadingRef) {\r\n loadingRef.close();\r\n }\r\n })).pipe(catchError((err) => {\r\n if (loadingRef) {\r\n loadingRef.close();\r\n }\r\n throw err;\r\n \r\n }));\r\n}\r\nelse\r\n{\r\n\r\n console.log('token exists');\r\n console.log(tokenExpiration);\r\n\r\n\r\n /* Start Process 5 */\r\n return next.handle(req).pipe(tap(event => {\r\n if (event instanceof HttpResponse && loadingRef) {\r\n loadingRef.close();\r\n }\r\n })).pipe(catchError((err) => {\r\n \r\n if (loadingRef) {\r\n loadingRef.close();\r\n }\r\n console.log('getting tokenExp');\r\n console.log(sessionStorage.getItem(\"tokenExpiration\"));\r\n var tokenExpiration = sessionStorage.getItem(\"tokenExpiration\");\r\n let tokenExpirationDate = new Date(tokenExpiration);\r\n let currentDate = new Date();\r\n\r\n\r\n console.log('getting tokenExpirationDate');\r\n console.log(tokenExpirationDate);\r\n\r\n console.log('getting currentDate');\r\n console.log(currentDate);\r\n\r\n\r\n if(tokenExpirationDate > currentDate){\r\n\r\n }\r\n else if(tokenExpirationDate < currentDate)\r\n {\r\n \r\n this.Email = sessionStorage.getItem('LoginEmail');\r\n\r\n \r\n sessionStorage.removeItem('menuTitle');\r\n sessionStorage.removeItem('menuIcon');\r\n sessionStorage.removeItem('menuLink');\r\n sessionStorage.removeItem('roleId');\r\n sessionStorage.removeItem('role');\r\n sessionStorage.removeItem('LoginEmail');\r\n sessionStorage.removeItem('userId');\r\n sessionStorage.removeItem('userToken');\r\n sessionStorage.removeItem('tokenExpiration');\r\n sessionStorage.removeItem('menuTitle2');\r\n sessionStorage.removeItem('menuIcon2');\r\n sessionStorage.removeItem('menuLink2');\r\n\r\n\r\n console.log('logoutABB');\r\n if (this.msalGuardConfig.interactionType === InteractionType.Popup) {\r\n this.authService.logoutPopup({\r\n postLogoutRedirectUri: \"/\",\r\n mainWindowRedirectUri: \"/\"\r\n });\r\n } else {\r\n this.authService.logoutRedirect({\r\n postLogoutRedirectUri: \"/\",\r\n });\r\n }\r\n\r\n this._snackBar.open(\"Session Timeout, Please login once again!!!\",'Close', {\r\n horizontalPosition: this.horizontalPosition,\r\n verticalPosition: this.verticalPosition,\r\n duration: 2 * 1000,\r\n panelClass: ['red-snackbar']\r\n });\r\n setTimeout(() => {\r\n window.location.reload(); \r\n }, 500);\r\n \r\n }\r\n else{\r\n this._snackBar.open(\"Something Went wrong\",'Close', {\r\n horizontalPosition: this.horizontalPosition,\r\n verticalPosition: this.verticalPosition,\r\n duration: 2 * 1000,\r\n panelClass: ['red-snackbar']\r\n });\r\n }\r\n throw err;\r\n \r\n }));\r\n\r\n /* END Process 5 */\r\n\r\n}\r\n /* END Process 4 */ \r\n \r\n }\r\n\r\n /* END Process 3 */\r\n\r\n\r\n}\r\n","import { ComponentRef, Injectable, Injector } from '@angular/core';\r\nimport { Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\r\nimport { ComponentPortal, PortalInjector } from '@angular/cdk/portal';\r\n\r\nimport { LoadingComponentComponent } from '../loading/loading-component/loading-component.component'\r\n\r\nexport class LoadingOverlayRef {\r\n constructor(private overlayRef: OverlayRef) { }\r\n\r\n close(): void {\r\n this.overlayRef.dispose();\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class LoadingService {\r\n constructor(private injector: Injector, private overlay: Overlay) {\r\n }\r\n\r\n open(): LoadingOverlayRef {\r\n const overlayRef = this.createOverlay();\r\n const dialogRef = new LoadingOverlayRef(overlayRef);\r\n const overlayComponent = this.attachDialogContainer(overlayRef, dialogRef);\r\n\r\n return dialogRef;\r\n }\r\n\r\n private createOverlay(): OverlayRef {\r\n const positionStrategy = this.overlay\r\n .position()\r\n .global()\r\n .centerHorizontally()\r\n .centerVertically();\r\n const overlayConfig = new OverlayConfig({\r\n hasBackdrop: true,\r\n scrollStrategy: this.overlay.scrollStrategies.block(),\r\n positionStrategy\r\n });\r\n\r\n return this.overlay.create(overlayConfig);\r\n }\r\n\r\n private attachDialogContainer(overlayRef: OverlayRef, dialogRef: LoadingOverlayRef): LoadingComponentComponent {\r\n const injector = this.createInjector(dialogRef);\r\n const containerPortal = new ComponentPortal(LoadingComponentComponent, null, injector);\r\n const containerRef: ComponentRef = overlayRef.attach(containerPortal);\r\n\r\n return containerRef.instance;\r\n }\r\n\r\n createInjector(dataToPass:any): PortalInjector {\r\n const injectorTokens = new WeakMap();\r\n injectorTokens.set(LoadingOverlayRef, dataToPass);\r\n return new PortalInjector(this.injector, injectorTokens);\r\n}\r\n\r\n\r\n}","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport { EntityMaster } from '../admin/entity/entity.component';\r\nimport { Observable } from 'rxjs';\r\nimport { BusinessAreaMST } from '../admin/search/search.component';\r\nimport { BusinessAreaMaster } from '../admin/business-area/business-area.component';\r\nimport { DesignationMaster } from '../admin/designation/designation.component';\r\nimport { DivisonMaster } from '../admin/division/division.component';\r\nimport { PreambleMaster } from '../admin/preamble/preamble.component';\r\nimport { ReadingDocumentMaster } from '../admin/reading-this-document/reading-this-document.component';\r\nimport { DesignationMapping } from '../admin/designation-mapping/designation-mapping.component';\r\nimport { MatSnackBar, MatSnackBarHorizontalPosition, MatSnackBarVerticalPosition } from '@angular/material/snack-bar';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MasterService {\r\n rooturl= environment.rooturl ;\r\n // rooturl = 'https://localhost:7063/'; \r\n\r\n // rooturl = 'https://dev.table-of-authority.in.abb.com/api/'; \r\n // rooturl = 'https://qa.table-of-authority.in.abb.com/api/'; \r\n // rooturl = 'https://stage.table-of-authority.in.abb.com/api/'; \r\n\r\n constructor(private http: HttpClient, private _snackBar:MatSnackBar) { }\r\n\r\n\r\n // Entity Master\r\n\r\n saveEntityData(data: EntityMaster): Observable {\r\n return this.http.post(this.rooturl + 'api/EntityMaster/SaveEntityData',data);\r\n } \r\n \r\n getEntityMaster (){\r\n return this.http.get(this.rooturl + 'api/EntityMaster/GetEntityMaster');\r\n }\r\n\r\n deleteEntityMaster(id: number): Observable{\r\n return this.http.get(this.rooturl + 'api/EntityMaster/DeleteEntityMaster?entityId=' + id);\r\n }\r\n\r\n getUserId(emailId : string){\r\n return this.http.get(this.rooturl + 'api/EntityMaster/GetUserDetails?emailId=' + emailId);\r\n }\r\n\r\n // Business Area Master\r\n \r\n saveBusinessAreaMasterData(data: BusinessAreaMaster): Observable {\r\n return this.http.post(this.rooturl + 'api/BusinessAreaMaster/SaveBusinessAreaMasterData',data);\r\n } \r\n \r\n getBusinessAreaMaster (){\r\n return this.http.get(this.rooturl + 'api/BusinessAreaMaster/GetBusinessAreaMaster');\r\n }\r\n getBusinessName(){\r\n return this.http.get(this.rooturl + 'api/BusinessAreaMaster/GetBusinessName');\r\n }\r\n deleteBusinessAreaMaster(data: BusinessAreaMST): Observable{\r\n return this.http.post(this.rooturl + 'api/BusinessAreaMaster/DeleteBusinessAreaMaster',data);\r\n }\r\n\r\n // Designation Master\r\n\r\n saveDesignationData(data: DesignationMaster): Observable {\r\n return this.http.post(this.rooturl + 'api/DesignationMaster/SaveDesignationData',data);\r\n } \r\n \r\n getDesignationMaster (){\r\n return this.http.get(this.rooturl + 'api/DesignationMaster/GetDesignationMaster');\r\n }\r\n\r\n deleteDesignationMaster(id: number): Observable{\r\n return this.http.get(this.rooturl + 'api/DesignationMaster/DeleteDesignationMaster?designationId=' + id);\r\n }\r\n\r\n\r\n // Divison Master\r\n\r\n \r\n saveDivisonData(data: DivisonMaster): Observable {\r\n return this.http.post(this.rooturl + 'api/Division/SaveDivisonMasterData',data);\r\n } \r\n \r\n getDivisionMaster (){\r\n return this.http.get(this.rooturl + 'api/Division/GetDivisionMaster');\r\n }\r\n\r\n deleteDivisonMaster(data: DivisonMaster): Observable{\r\n return this.http.post(this.rooturl + 'api/Division/DeleteDivisonMaster',data);\r\n }\r\n\r\n //Preamble\r\n\r\n getPreambleData(){\r\n return this.http.get(this.rooturl + 'api/Preamble/GetPreambleData');\r\n }\r\n \r\n SavePreambleData(data: PreambleMaster): Observable {\r\n return this.http.post(this.rooturl + 'api/Preamble/SavePreambleData',data);\r\n } \r\n \r\n deletePreambleMaster(id: number): Observable{\r\n return this.http.get(this.rooturl + 'api/Preamble/DeletePreambleMaster?id=' + id);\r\n }\r\n\r\n //Reading document data\r\n\r\n getReadingData(){\r\n return this.http.get(this.rooturl + 'api/ReadingThisDocument/GetReadingThisDocumentData');\r\n }\r\n \r\n saveReadingDocumentData(data: ReadingDocumentMaster): Observable {\r\n return this.http.post(this.rooturl + 'api/ReadingThisDocument/SaveDocumentData',data);\r\n } \r\n \r\n deleteReadingDocumentMaster(id: number): Observable{\r\n return this.http.get(this.rooturl + 'api/ReadingThisDocument/DeleteDocumentData?documentId=' + id);\r\n }\r\n\r\n // Designation Mapping\r\n\r\n \r\n saveDesignationMappingData(data: any): Observable {\r\n return this.http.post(this.rooturl + 'api/DesignationMap/SaveDesignationMappingData',data);\r\n } \r\n \r\n getDesignationMapping (entityId : number,buid:string){\r\n return this.http.get(this.rooturl + 'api/DesignationMap/GetDesignationMapData?entityId=' + entityId +'&buid='+buid);\r\n }\r\n\r\n deleteDesignationMappingMaster(id: number): Observable{\r\n return this.http.get(this.rooturl + 'api/DesignationMap/DeleteDesignationMaster?designationId=' + id);\r\n }\r\n\r\n getBusinessAreaEntityMapping(entityId : number){\r\n return this.http.get(this.rooturl + 'api/DesignationMap/GetBusinessAreaEntityMapping?entityId=' + entityId);\r\n }\r\n \r\n getDesignationBusinessMapping(businessAreaId : string){\r\n return this.http.get(this.rooturl + 'api/DesignationMap/GetDesignationBusinessMapping?businessAreaId=' + businessAreaId);\r\n }\r\n \r\n getDivisionDetailsFromBusinessAreaId(businessAreaId : string){\r\n return this.http.get(this.rooturl + 'api/DesignationMap/GetDivisionDetailsFromBusinessAreaId?businessAreaId=' + businessAreaId);\r\n }\r\n deleteDesignationMapping(id: number): Observable{\r\n return this.http.get(this.rooturl + 'api/DesignationMap/DeleteDesignationMapping?id=' + id);\r\n }\r\n\r\n getEntityList(): Observable {\r\n return this.http.get(this.rooturl + 'api/TOASearch/GetEntityList');\r\n } \r\ngetBuisnessAreaList(entityID): Observable {\r\nreturn this.http.get(this.rooturl + 'api/TOASearch/GetBuisnessAreaList?entityId='+entityID);\r\n}\r\n\r\ndownloadExcel(): Observable {\r\n return this.http.get('assets/documents/DesignationMST.xlsx', { responseType: 'blob' });\r\n}\r\nSaveDesignationMasterBulkData(data){\r\n return this.http.post(this.rooturl + 'api/DesignationMaster/SaveDesignationMasterBulkData',data);\r\n} \r\nhorizontalPosition: MatSnackBarHorizontalPosition = 'center';\r\nverticalPosition: MatSnackBarVerticalPosition = 'top';\r\nShowSnackBar(data: any,color: any)\r\n {\r\n this._snackBar.open(data,'Close', {\r\n horizontalPosition: this.horizontalPosition,\r\n verticalPosition: this.verticalPosition,\r\n duration: 2 * 1000,\r\n panelClass: [color]\r\n });\r\n }\r\n}\r\n","import { HttpClient,HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Observable } from 'rxjs/internal/Observable';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SearchService {\r\n rooturl= environment.rooturl ;\r\n // rooturl = 'https://localhost:7063/'; \r\n // rooturl = 'https://dev.table-of-authority.in.abb.com/api/'; \r\n // rooturl = 'https://qa.table-of-authority.in.abb.com/api/'; \r\n // rooturl = 'https://stage.table-of-authority.in.abb.com/api/'; \r\n\r\n\r\n filterParams: { parameterName: string; parameterValue: any; }[];\r\n \r\n constructor(private http: HttpClient, private _snackBar:MatSnackBar) { }\r\n createAuthorizationHeader(headers: HttpHeaders) {\r\n headers.append('Authorization', 'Bearer ' + sessionStorage.getItem('userToken'));\r\n \r\n }\r\n gettoken(userName:any,password:any){\r\n var data = JSON.stringify ( {\r\n \"username\": userName,\r\n \"password\": password\r\n });\r\n \r\n console.log(data);\r\n var reqHeader = new HttpHeaders({ 'Content-Type': 'application/json','No-Auth':'True' });\r\n return this.http.post(this.rooturl + 'api/Account', data, { headers: reqHeader });\r\n }\r\n getSearchActivityList(busIDs): Observable {\r\n if(busIDs==\"\")\r\n {\r\n busIDs=0\r\n }\r\n return this.http.get(this.rooturl + 'api/TOASearch/GetActivityList?busIDs='+ busIDs);\r\n }\r\n \r\n\r\n\r\n getSearchActivityDetails(myData :any): Observable {\r\n \r\n return this.http.post(this.rooturl + 'api/TOASearch/GetActivityDetails',myData);\r\n \r\n} \r\n \r\n\r\n\r\n getBuisnessAreaList(entityID): Observable {\r\n return this.http.get(this.rooturl + 'api/TOASearch/GetBuisnessAreaList?entityId='+entityID);\r\n } \r\n getEntityList(): Observable {\r\n return this.http.get(this.rooturl + 'api/TOASearch/GetEntityList');\r\n } \r\n getDivisionListFromBusinessAreaID(busIDs): Observable {\r\n if(busIDs==\"\")\r\n {\r\n busIDs=0\r\n }\r\n return this.http.get(this.rooturl + 'api/TOASearch/GetDivisionListFromBusinessAreaID?busIDs='+ busIDs);\r\n } \r\n getDesignationListFromBusinessAreaIDandDivisionID(busIDs,divIDs): Observable {\r\n if(busIDs==\"\")\r\n {\r\n busIDs=0\r\n }\r\n if(divIDs==\"\")\r\n {\r\n divIDs=0\r\n }\r\n\r\n return this.http.get(this.rooturl + 'api/TOASearch/getDesignationListFromBusinessAreaIDandDivisionID?busIDs='+ busIDs + \"&divIDs=\"+divIDs);\r\n } \r\n generatePdf(activityDTL:any, allBusIDs:any,selectedBusIDs){\r\n const data={activityDTL,allBusIDs,selectedBusIDs}\r\n return this.http.post(this.rooturl+ 'api/TOASearch/GeneratePDF',data,{responseType:'blob'});\r\n }\r\n\r\n generateExcel(){\r\n return this.http.post(this.rooturl+ 'api/TOASearch/GenerateExcel',{responseType:'blob'});\r\n }\r\n getPreambleList(): Observable {\r\n return this.http.get(this.rooturl + 'api/TOASearch/GetPreambleList');\r\n } \r\n getReadingThisDocumentList(): Observable {\r\n return this.http.get(this.rooturl + 'api/TOASearch/GetReadingThisDocumentList');\r\n } \r\n getNoteList(): Observable {\r\n return this.http.get(this.rooturl + 'api/TOASearch/GetNoteList');\r\n } \r\n \r\n getCurrentVersion(): Observable {\r\n return this.http.get(this.rooturl + 'api/TOASearch/GetCurrentVersion');\r\n } \r\n}\r\n\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { environment } from 'src/environments/environment';\r\nimport { UserRoleMappingModel } from '../admin/user-role-mapping/user-role-mapping.component';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserRoleMapService {\r\n\r\n rooturl= environment.rooturl ;\r\n // rooturl = 'https://localhost:7063/'; \r\n\r\n // rooturl = 'https://dev.table-of-authority.in.abb.com/api/'; \r\n // rooturl = 'https://qa.table-of-authority.in.abb.com/api/'; \r\n // rooturl = 'https://stage.table-of-authority.in.abb.com/api/'; \r\n\r\n constructor(private http: HttpClient, private _snackBar:MatSnackBar) { }\r\n\r\n getRoleDetails (){\r\n return this.http.get(this.rooturl + 'api/UserRoleMap/GetRoleDetails');\r\n }\r\n getAllUserDetails (){\r\n return this.http.get(this.rooturl + 'api/UserRoleMap/GetAllUserDetails');\r\n }\r\n getUserDetailsByEmail(email : string){\r\n return this.http.get(this.rooturl + 'api/UserRoleMap/GetUserDetailsByEmail?email=' + email);\r\n }\r\n save(data : UserRoleMappingModel){\r\n return this.http.post(this.rooturl + 'api/UserRoleMap/SaveUserRoleMap',data);\r\n }\r\n update(data : any){\r\n return this.http.post(this.rooturl + 'api/UserRoleMap/SaveUserRoleMap',data);\r\n }\r\n}\r\n","import { Component, OnInit,Inject } from '@angular/core';\r\nimport { ActivityDataMappingService } from 'src/app/Services/activitydatamapping.service';\r\nimport { AbstractControl, FormArray, FormBuilder, FormControl, FormGroup, Validators, ValidatorFn } from '@angular/forms';\r\nimport { MatTable, MatTableDataSource } from '@angular/material/table';\r\nimport { MatPaginator } from \"@angular/material/paginator\";\r\nimport { MatSort } from \"@angular/material/sort\";\r\nimport { ViewChild,ElementRef, HostListener } from \"@angular/core\";\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { Observable, of } from \"rxjs\";\r\nimport { map, startWith } from \"rxjs/operators\";\r\nimport { SearchService } from \"src/app/Services/search.service\";\r\n/* import { ActivatedRoute } from '@angular/router'; */\r\nimport {MatAccordion, MatExpansionModule} from '@angular/material/expansion';\r\nimport { HistoryService } from 'src/app/Services/history.service';\r\nimport { Editor, Toolbar, toDoc } from 'ngx-editor';\r\n\r\nexport class ActivityDetails {\r\n ActivityId : number;\r\n SourceOfActivity: string;\r\n CatBatReference: number;\r\n CPReference: JSON;\r\n MIReference: JSON;\r\n BRReference: JSON;\r\n Tool: string;\r\n ApplicableToBusiness: string;\r\n Activity: string;\r\n Responsible: JSON;\r\n accountable: JSON; \r\n Consult: JSON;\r\n Inform: JSON;\r\n Remark: JSON;\r\n ActivityFormingPartOfLat: string;\r\n BusinessArea: string;\r\n BgColor:string;\r\n FontColor:string;\r\n FontWeight:string;\r\n}\r\nexport interface SrNumber{\r\n id:number;\r\n refText: string;\r\n isChecked: boolean;\r\n}\r\nexport interface SourceOfActivity{\r\n id:number;\r\n refText: string;\r\n isChecked: boolean;\r\n}\r\n\r\nexport interface CatBatReference{\r\n id:number;\r\n refText: string;\r\n isChecked: boolean;\r\n}\r\nexport interface Tool{\r\n id:number;\r\n refText: string;\r\n isChecked: boolean;\r\n}\r\nexport interface ApplicableToBusiness{\r\n id:number;\r\n refText: string;\r\n isChecked: boolean;\r\n}\r\nexport interface ActivityFormingPartOfLat{\r\n id:number;\r\n refText: string;\r\n isChecked: boolean;\r\n}\r\nexport interface CPReference{\r\n id:number;\r\n refText: string;\r\n refLink: string;\r\n isChecked: boolean;\r\n}\r\nexport interface MIReference{\r\n id:number;\r\n refText: string;\r\n refLink: string;\r\n isChecked: boolean;\r\n}\r\nexport interface BRReference{\r\n id:number;\r\n refText: string;\r\n refLink: string;\r\n isChecked: boolean;\r\n}\r\nexport interface Remark{\r\n id:number;\r\n refText: string;\r\n refLink: string;\r\n isChecked: boolean;\r\n}\r\nexport interface Responsible{\r\n id:number;\r\n refText: string;\r\n refLink: string;\r\n isChecked: boolean;\r\n}\r\nexport interface Accountable{\r\n id:number;\r\n refText: string;\r\n refLink: string;\r\n isChecked: boolean;\r\n}\r\nexport interface Consult{\r\n id:number;\r\n refText: string;\r\n refLink: string;\r\n isChecked: boolean;\r\n}\r\nexport interface Inform{\r\n id:number;\r\n refText: string;\r\n refLink: string;\r\n isChecked: boolean;\r\n}\r\n@Component({\r\n selector: 'app-activity-data-mapp',\r\n templateUrl: './activity-data-mapp.component.html',\r\n styleUrls: ['./activity-data-mapp.component.scss']\r\n})\r\nexport class ActivityDataMappComponent implements OnInit {\r\n @ViewChild(MatAccordion) accordion: MatAccordion;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort,{static:true}) sort: MatSort;\r\n dataSource1 : MatTableDataSource;\r\n displayedColumns: string[] = ['CatBatReference','CPReference','MIReference','Tool','ApplicableToBusiness','Activity','Responsible', 'Accountable' , 'Consult', 'Inform','Remark','ActivityFormingPartOfLat','BusinessArea'];\r\n formInstance: FormGroup;\r\n businessUnitId: number;\r\n activityId: number;\r\n businessName:string;\r\n activityName:string;\r\n\r\n SrNumberList:SrNumber[]=[]\r\n sourceOfActivityLst: SourceOfActivity[]=[];\r\n catBatReferenceLst: CatBatReference[]=[];\r\n toolLst: Tool[]=[];\r\n applicableToBusinessLst: ApplicableToBusiness[]=[];\r\n activityFormingPartOfLatLst: ActivityFormingPartOfLat[]=[];\r\n CPReferenceLst: CPReference[]=[];\r\n MIReferenceLst:MIReference[]=[];\r\n BRReferenceLst: BRReference[]=[];\r\n remarkWithLinksLst: Remark[]=[];\r\n remarkWithPlainTextLst: Remark[]=[];\r\n responsibleWithLinksLst: Responsible[]=[];\r\n responsibleWithPlainTextLst: Responsible[]=[];\r\n responsibleWithDesignationLst: Responsible[]=[];\r\n accountableWithLinksLst: Accountable[]=[];\r\n accountableWithPlainTextLst: Accountable[]=[];\r\n accountableWithDesignationLst: Accountable[]=[];\r\n consultWithLinksLst: Consult[]=[];\r\n consultWithPlainTextLst: Consult[]=[];\r\n consultWithDesignationLst: Consult[]=[];\r\n informWithLinksLst: Inform[]=[];\r\n informWithPlainTextLst: Inform[]=[];\r\n informWithDesignationLst: Inform[]=[];\r\n \r\n DisplayText:string;\r\n selectedSrNumberOfActivityControl = new FormControl();\r\n selectedSourceOfActivityControl = new FormControl();\r\n selectedCatBatReferenceControl = new FormControl();\r\n selectedToolControl = new FormControl();\r\n selectedApplicableToBusinessControl = new FormControl();\r\n selectedActivityFormingPartControl = new FormControl();\r\n\r\n existingSrNumberOfActivity = [];\r\n existingSourceOfActivity = [];\r\n existingCatBatReference = [];\r\n existingTool = [];\r\n existingApplicableToBusiness = [];\r\n existingActivityFormingPart = [];\r\n\r\n @ViewChild('searchCPReference') searchCPReferenceTextBox: ElementRef;\r\n selectCPReferenceFormControl = new FormControl();\r\n searchCPReferenceTextboxControl = new FormControl();\r\n selectedCPReferenceValues = [];\r\n CPReferenceFilteredOptions: Observable= of(this.CPReferenceLst);\r\n selectedCPReferenceValue= new FormControl([]);\r\n\r\n @ViewChild('searchMIReference') searchMIReferenceTextBox: ElementRef;\r\n selectMIReferenceFormControl = new FormControl();\r\n searchMIReferenceTextboxControl = new FormControl();\r\n selectedMIReferenceValues = [];\r\n MIReferenceFilteredOptions: Observable= of(this.MIReferenceLst);\r\n selectedMIReferenceValue= new FormControl([]);\r\n\r\n @ViewChild('searchBRReference') searchBRReferenceTextBox: ElementRef;\r\n selectBRReferenceFormControl = new FormControl();\r\n searchBRReferenceTextboxControl = new FormControl();\r\n selectedBRReferenceValues = [];\r\n BRReferenceFilteredOptions: Observable= of(this.BRReferenceLst);\r\n selectedBRReferenceValue= new FormControl([]);\r\n\r\n @ViewChild('searchremarkWithLinks') searchremarkWithLinksTextBox: ElementRef;\r\n selectremarkWithLinksFormControl = new FormControl();\r\n searchremarkWithLinksTextboxControl = new FormControl();\r\n selectedremarkWithLinksValues = [];\r\n remarkWithLinksFilteredOptions: Observable= of(this.remarkWithLinksLst);\r\n selectedremarkWithLinksValue= new FormControl([]);\r\n\r\n @ViewChild('searchremarkWithPlainText') searchremarkWithPlainTextTextBox: ElementRef;\r\n selectremarkWithPlainTextFormControl = new FormControl();\r\n searchremarkWithPlainTextTextboxControl = new FormControl();\r\n selectedremarkWithPlainTextValues = [];\r\n remarkWithPlainTextFilteredOptions: Observable= of(this.remarkWithPlainTextLst);\r\n selectedremarkWithPlainTextValue= new FormControl([]);\r\n\r\n @ViewChild('searchresponsibleWithLinks') searchresponsibleWithLinksTextBox: ElementRef;\r\n selectresponsibleWithLinksFormControl = new FormControl();\r\n searchresponsibleWithLinksTextboxControl = new FormControl();\r\n selectedresponsibleWithLinksValues = [];\r\n responsibleWithLinksFilteredOptions: Observable= of(this.responsibleWithLinksLst);\r\n selectedresponsibleWithLinksValue= new FormControl([]);\r\n\r\n @ViewChild('searchresponsibleWithPlainText') searchresponsibleWithPlainTextTextBox: ElementRef;\r\n selectresponsibleWithPlainTextFormControl = new FormControl();\r\n searchresponsibleWithPlainTextTextboxControl = new FormControl();\r\n selectedresponsibleWithPlainTextValues = [];\r\n responsibleWithPlainTextFilteredOptions: Observable= of(this.responsibleWithPlainTextLst);\r\n selectedresponsibleWithPlainTextValue= new FormControl([]);\r\n\r\n @ViewChild('searchresponsibleWithDesignation') searchresponsibleWithDesignationTextBox: ElementRef;\r\n selectresponsibleWithDesignationFormControl = new FormControl();\r\n searchresponsibleWithDesignationTextboxControl = new FormControl();\r\n selectedresponsibleWithDesignationValues = [];\r\n responsibleWithDesignationFilteredOptions: Observable= of(this.responsibleWithDesignationLst);\r\n selectedresponsibleWithDesignationValue= new FormControl([]);\r\n\r\n @ViewChild('searchaccountableWithLinks') searchaccountableWithLinksTextBox: ElementRef;\r\n selectaccountableWithLinksFormControl = new FormControl();\r\n searchaccountableWithLinksTextboxControl = new FormControl();\r\n selectedaccountableWithLinksValues = [];\r\n accountableWithLinksFilteredOptions: Observable= of(this.accountableWithLinksLst);\r\n selectedaccountableWithLinksValue= new FormControl([]);\r\n\r\n @ViewChild('searchaccountableWithPlainText') searchaccountableWithPlainTextTextBox: ElementRef;\r\n selectaccountableWithPlainTextFormControl = new FormControl();\r\n searchaccountableWithPlainTextTextboxControl = new FormControl();\r\n selectedaccountableWithPlainTextValues = [];\r\n accountableWithPlainTextFilteredOptions: Observable= of(this.accountableWithPlainTextLst);\r\n selectedaccountableWithPlainTextValue= new FormControl([]);\r\n\r\n @ViewChild('searchaccountableWithDesignation') searchaccountableWithDesignationTextBox: ElementRef;\r\n selectaccountableWithDesignationFormControl = new FormControl();\r\n searchaccountableWithDesignationTextboxControl = new FormControl();\r\n selectedaccountableWithDesignationValues = [];\r\n accountableWithDesignationFilteredOptions: Observable= of(this.accountableWithDesignationLst);\r\n selectedaccountableWithDesignationValue= new FormControl([]);\r\n\r\n @ViewChild('searchconsultWithLinks') searchconsultWithLinksTextBox: ElementRef;\r\n selectconsultWithLinksFormControl = new FormControl();\r\n searchconsultWithLinksTextboxControl = new FormControl();\r\n selectedconsultWithLinksValues = [];\r\n consultWithLinksFilteredOptions: Observable= of(this.consultWithLinksLst);\r\n selectedconsultWithLinksValue= new FormControl([]);\r\n\r\n @ViewChild('searchconsultWithPlainText') searchconsultWithPlainTextTextBox: ElementRef;\r\n selectconsultWithPlainTextFormControl = new FormControl();\r\n searchconsultWithPlainTextTextboxControl = new FormControl();\r\n selectedconsultWithPlainTextValues = [];\r\n consultWithPlainTextFilteredOptions: Observable= of(this.consultWithPlainTextLst);\r\n selectedconsultWithPlainTextValue= new FormControl([]);\r\n\r\n @ViewChild('searchconsultWithDesignation') searchconsultWithDesignationTextBox: ElementRef;\r\n selectconsultWithDesignationFormControl = new FormControl();\r\n searchconsultWithDesignationTextboxControl = new FormControl();\r\n selectedconsultWithDesignationValues = [];\r\n consultWithDesignationFilteredOptions: Observable= of(this.consultWithDesignationLst);\r\n selectedconsultWithDesignationValue= new FormControl([]);\r\n\r\n @ViewChild('searchinformWithLinks') searchinformWithLinksTextBox: ElementRef;\r\n selectinformWithLinksFormControl = new FormControl();\r\n searchinformWithLinksTextboxControl = new FormControl();\r\n selectedinformWithLinksValues = [];\r\n informWithLinksFilteredOptions: Observable= of(this.informWithLinksLst);\r\n selectedinformWithLinksValue= new FormControl([]);\r\n\r\n @ViewChild('searchinformWithPlainText') searchinformWithPlainTextTextBox: ElementRef;\r\n selectinformWithPlainTextFormControl = new FormControl();\r\n searchinformWithPlainTextTextboxControl = new FormControl();\r\n selectedinformWithPlainTextValues = [];\r\n informWithPlainTextFilteredOptions: Observable= of(this.informWithPlainTextLst);\r\n selectedinformWithPlainTextValue= new FormControl([]);\r\n\r\n @ViewChild('searchinformWithDesignation') searchinformWithDesignationTextBox: ElementRef;\r\n selectinformWithDesignationFormControl = new FormControl();\r\n searchinformWithDesignationTextboxControl = new FormControl();\r\n selectedinformWithDesignationValues = [];\r\n informWithDesignationFilteredOptions: Observable= of(this.informWithDesignationLst);\r\n selectedinformWithDesignationValue= new FormControl([]);\r\n\r\n\r\n remarkText = new FormControl();\r\n remarkId= new FormControl();\r\n/* private route: ActivatedRoute, */\r\n\r\n constructor(private activityDataMapping: ActivityDataMappingService,private search: SearchService\r\n , @Inject(MAT_DIALOG_DATA) public data: any ,public dialogRef: MatDialogRef\r\n ,private historyServ: HistoryService) {\r\n\r\n\r\n \r\n }\r\n\r\n toolbar: Toolbar = [\r\n ['bold', 'italic'],\r\n ['underline'],\r\n ['ordered_list', 'bullet_list','link']\r\n ];\r\n topicEditor: Editor;\r\n remarksEditor: Editor;\r\n \r\n\r\n ngOnInit(): void {\r\n\r\n this.topicEditor = new Editor();\r\n this.remarksEditor = new Editor();\r\n\r\nthis.remarkText.setValue('')\r\nthis.remarkId.setValue('')\r\n console.log(this.data);\r\n this.businessUnitId=this.data.businessUnit;\r\n this.activityId=this.data.activityIDs;\r\n this.businessName=this.data.businessName;\r\n this.activityName=this.data.activityName;\r\n \r\n /* this.route.params.subscribe(params => {\r\n let param1 = params['buid'];\r\n let param2 = params['id'];\r\n console.log('Received parameters:', param1, param2);\r\n }); */\r\n /* this.businessUnitId=2;\r\n this.activityId=382; */\r\n this.loadGrid(\"0\");\r\n this.getSrNumberForActivity();\r\n this.getSourceOfActivity();\r\n this.getcatBatReference();\r\n this.gettool();\r\n this.getapplicableToBusiness();\r\n this.getactivityFormingPartOfLat();\r\n this.getCPReference();\r\n this.getMIReference();\r\n this.getBRReference();\r\n // this.getremarkWithLinks();\r\n //this.getremarkWithPlainText();\r\n this.getremark()\r\n this.getresponsibleWithLinks();\r\n this.getresponsibleWithPlainText();\r\n this.getresponsibleWithDesignation();\r\n this.getaccountableWithLinks();\r\n this.getaccountableWithPlainText();\r\n this.getaccountableWithDesignation();\r\n this.getconsultWithLinks();\r\n this.getconsultWithPlainText();\r\n this.getconsultWithDesignation();\r\n this.getinformWithLinks();\r\n this.getinformWithPlainText();\r\n this.getinformWithDesignation();\r\n }\r\n loadGrid(MappingValues){\r\n \r\n var busIDs=\"0\"\r\n var divIDs=\"0\"\r\n var designationIDs=\"0\"\r\n var activityIDs=\"0\"\r\n var dataList=\"0\"\r\n var Remark=this.remarkText.value\r\n var emailId = sessionStorage.getItem('LoginEmail');\r\n var srNo= \"1\";\r\n\r\n if(this.selectedSrNumberOfActivityControl.value!=\"\" && this.selectedSrNumberOfActivityControl.value!=null)\r\n srNo= this.selectedSrNumberOfActivityControl.value.toString();\r\n\r\n if (MappingValues!=0)\r\n dataList=MappingValues.join(\",\");\r\n\r\n const myData = { busIDs: this.businessUnitId.toString(), \r\n divIDs: divIDs, \r\n designationIDs: designationIDs, \r\n activityIDs: this.activityId.toString(),\r\n dataList:dataList,\r\n remark:Remark,\r\n email:emailId,\r\n srNo:srNo };\r\n\r\n this.activityDataMapping.getActivityDetailsForMapping(myData).subscribe((data1: any[])=>{\r\n this.dataSource1= new MatTableDataSource(data1);\r\n this.dataSource1.paginator = this.paginator;\r\n this.dataSource1.sort = this.sort;\r\n if(dataList!=\"0\")\r\n this.activityDataMapping.ShowSnackBar(\"Data Submitted Successfully\",'red-snackbar'); \r\n });\r\n\r\n \r\n\r\n this.businessName=this.data.businessName;\r\n this.activityName=this.data.activityName;\r\n }\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource1.filter = filterValue.trim().toLowerCase();\r\n if (this.dataSource1.paginator) {\r\n this.dataSource1.paginator.firstPage();\r\n }\r\n\r\n }\r\n \r\n addHyperlink(Data: string) {\r\n \r\n const jsonObject = JSON.parse(Data);\r\n var retValText = \"\"; \r\n\r\n var retVal = \"\";\r\n for(var key in jsonObject) { \r\n retValText=jsonObject[key].Text.replace('; ', ';
'); \r\n \r\n }\r\n \r\n return retValText;\r\n }\r\n\r\n getSrNumberForActivity() {\r\n \r\n this.activityDataMapping.getCategoryWithActivityMasterData(this.businessUnitId, this.activityId,'SrNumber',false,false).subscribe((data: any)=>{\r\n this.SrNumberList=data;\r\n this.SrNumberList= this.SrNumberList.filter(item=>item.refText !== null);\r\n if (this.SrNumberList && this.SrNumberList.length > 0) {\r\n this.SrNumberList.forEach((e) => {\r\n if(e.isChecked== true){\r\n if (this.existingSrNumberOfActivity.indexOf(e) == -1) {\r\n this.existingSrNumberOfActivity.push(e.id);\r\n }\r\n }\r\n });\r\n }\r\n this.selectedSrNumberOfActivityControl.patchValue(this.existingSrNumberOfActivity[0]);\r\n })\r\n}\r\n\r\n\r\n getSourceOfActivity() {\r\n \r\n this.activityDataMapping.getCategoryWithActivityMasterData(this.businessUnitId, this.activityId,'SourceOfActivity',false,false).subscribe((data: any)=>{\r\n this.sourceOfActivityLst=data;\r\n this.sourceOfActivityLst= this.sourceOfActivityLst.filter(item=>item.refText !== null);\r\n if (this.sourceOfActivityLst && this.sourceOfActivityLst.length > 0) {\r\n this.sourceOfActivityLst.forEach((e) => {\r\n if(e.isChecked== true){\r\n if (this.existingSourceOfActivity.indexOf(e) == -1) {\r\n this.existingSourceOfActivity.push(e.id);\r\n }\r\n }\r\n });\r\n }\r\n this.selectedSourceOfActivityControl.patchValue(this.existingSourceOfActivity[0]);\r\n })\r\n}\r\n\r\n getcatBatReference() {\r\n this.activityDataMapping.getCategoryWithActivityMasterData(this.businessUnitId, this.activityId,'CatBatReference',false,false).subscribe((data: any)=>{\r\n this.catBatReferenceLst=data;\r\n this.catBatReferenceLst= this.catBatReferenceLst.filter(item=>item.refText !== null);\r\n if (this.catBatReferenceLst && this.catBatReferenceLst.length > 0) {\r\n this.catBatReferenceLst.forEach((e) => {\r\n if(e.isChecked== true){\r\n if (this.existingCatBatReference.indexOf(e) == -1) {\r\n this.existingCatBatReference.push(e.id);\r\n }\r\n }\r\n });\r\n }\r\n this.selectedCatBatReferenceControl.patchValue(this.existingCatBatReference[0]);\r\n })\r\n }\r\n gettool() {\r\n this.activityDataMapping.getCategoryWithActivityMasterData(this.businessUnitId, this.activityId,'Tool',false,false).subscribe((data: any)=>{\r\n this.toolLst=data;\r\n this.toolLst= this.toolLst.filter(item=>item.refText !== null);\r\n if (this.toolLst && this.toolLst.length > 0) {\r\n this.toolLst.forEach((e) => {\r\n if(e.isChecked== true){\r\n if (this.existingTool.indexOf(e) == -1) {\r\n this.existingTool.push(e.id);\r\n }\r\n }\r\n });\r\n }\r\n this.selectedToolControl.patchValue(this.existingTool[0]);\r\n })\r\n }\r\n getapplicableToBusiness() {\r\n this.activityDataMapping.getCategoryWithActivityMasterData(this.businessUnitId, this.activityId,'ApplicableToBusiness',false,false).subscribe((data: any)=>{\r\n this.applicableToBusinessLst=data;\r\n this.applicableToBusinessLst= this.applicableToBusinessLst.filter(item=>item.refText !== null);\r\n if (this.applicableToBusinessLst && this.applicableToBusinessLst.length > 0) {\r\n this.applicableToBusinessLst.forEach((e) => {\r\n if(e.isChecked== true){\r\n if (this.existingApplicableToBusiness.indexOf(e) == -1) {\r\n this.existingApplicableToBusiness.push(e.id);\r\n }\r\n }\r\n });\r\n }\r\n this.selectedApplicableToBusinessControl.patchValue(this.existingApplicableToBusiness[0]);\r\n });\r\n }\r\n getactivityFormingPartOfLat() {\r\n this.activityDataMapping.getCategoryWithActivityMasterData(this.businessUnitId, this.activityId,'ActivityFormingPartOfLat',false,false).subscribe((data: any)=>{\r\n this.activityFormingPartOfLatLst=data;\r\n this.activityFormingPartOfLatLst= this.activityFormingPartOfLatLst.filter(item=>item.refText !== null);\r\n if (this.activityFormingPartOfLatLst && this.activityFormingPartOfLatLst.length > 0) {\r\n this.activityFormingPartOfLatLst.forEach((e) => {\r\n if(e.isChecked== true){\r\n if (this.existingActivityFormingPart.indexOf(e) == -1) {\r\n this.existingActivityFormingPart.push(e.id);\r\n }\r\n }\r\n });\r\n }\r\n this.selectedActivityFormingPartControl.patchValue(this.existingActivityFormingPart[0]);\r\n });\r\n }\r\n getCPReference() {\r\n this.activityDataMapping.getCategoryWithActivityMasterData(this.businessUnitId, this.activityId,'CPReference',true,false).subscribe((data: any)=>{\r\n this.CPReferenceLst=data,\r\n this.CPReferenceLst= this.CPReferenceLst.filter(item=>item.refText !== null);\r\n this.setExistingCPReferenceAsSelected();\r\n this.CPReferenceFilteredOptions = this.searchCPReferenceTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.CPReferenceFilter(name))\r\n );\r\n () => console.log('Get all complete'); \r\n });\r\n }\r\n getMIReference() {\r\n this.activityDataMapping.getCategoryWithActivityMasterData(this.businessUnitId, this.activityId,'MIReference',true,false).subscribe((data: any)=>{\r\n this.MIReferenceLst=data,\r\n this.MIReferenceLst= this.MIReferenceLst.filter(item=>item.refText !== null);\r\n this.setExistingMIReferenceAsSelected();\r\n this.MIReferenceFilteredOptions = this.searchMIReferenceTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.MIReferenceFilter(name))\r\n );\r\n () => console.log('Get all complete'); \r\n });\r\n }\r\n getBRReference() {\r\n this.activityDataMapping.getCategoryWithActivityMasterData(this.businessUnitId, this.activityId,'BRReference',true,false).subscribe((data: any)=>{\r\n this.BRReferenceLst=data,\r\n this.BRReferenceLst= this.BRReferenceLst.filter(item=>item.refText !== null);\r\n this.setExistingBRReferenceAsSelected();\r\n this.BRReferenceFilteredOptions = this.searchBRReferenceTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.BRReferenceFilter(name))\r\n );\r\n () => console.log('Get all complete'); \r\n });\r\n }\r\n /* getremarkWithLinks() {\r\n this.activityDataMapping.getCategoryWithActivityMasterData(this.businessUnitId, this.activityId,'Remark',true,false).subscribe((data: any)=>{\r\n this.remarkWithLinksLst=data,\r\n this.remarkWithLinksLst= this.remarkWithLinksLst.filter(item=>item.refText !== null);\r\n this.setExistingRemarkWithLinksAsSelected();\r\n this.remarkWithLinksFilteredOptions = this.searchremarkWithLinksTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.remarkWithLinksFilter(name))\r\n );\r\n () => console.log('Get all complete'); \r\n });\r\n } */\r\n /* getremarkWithPlainText() {\r\n this.activityDataMapping.getCategoryWithActivityMasterData(this.businessUnitId, this.activityId,'Remark',false,false).subscribe((data: any)=>{\r\n this.remarkWithPlainTextLst=data,\r\n this.remarkWithPlainTextLst= this.remarkWithPlainTextLst.filter(item=>item.refText !== null);\r\n this.setExistingRemarkWithPlainTextAsSelected();\r\n this.remarkWithPlainTextFilteredOptions = this.searchremarkWithPlainTextTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.remarkWithPlainTextFilter(name))\r\n );\r\n () => console.log('Get all complete'); \r\n });\r\n } */\r\n getremark() {\r\n this.activityDataMapping.getCategoryWithActivityMasterData(this.businessUnitId, this.activityId,'Remark',false,false).subscribe((data: any)=>{\r\n /* this.remarkWithPlainTextLst=data,\r\n this.remarkWithPlainTextLst= this.remarkWithPlainTextLst.filter(item=>item.refText !== null);\r\n this.setExistingRemarkWithPlainTextAsSelected();\r\n this.remarkWithPlainTextFilteredOptions = this.searchremarkWithPlainTextTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.remarkWithPlainTextFilter(name))\r\n );\r\n () => console.log('Get all complete'); \r\n */\r\n console.debug(data);\r\n // this.remarkWithPlainTextLst=data,\r\n /* this.remarkText= data[0]['refText']; */\r\n if( data.length>0) \r\n {\r\n this.remarkText.setValue(data[0]['refText'])\r\n this.remarkId.setValue(data[0]['id'])\r\n }\r\n else\r\n {\r\n this.remarkText.setValue('')\r\n this.remarkId.setValue(0)\r\n }\r\n \r\n });\r\n }\r\n getresponsibleWithLinks() {\r\n this.activityDataMapping.getCategoryWithActivityMasterData(this.businessUnitId, this.activityId,'Responsible',true,false).subscribe((data: any)=>{\r\n this.responsibleWithLinksLst=data,\r\n this.responsibleWithLinksLst= this.responsibleWithLinksLst.filter(item=>item.refText !== null);\r\n this.setExistingResponsibleWithLinksAsSelected();\r\n this.responsibleWithLinksFilteredOptions = this.searchresponsibleWithLinksTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.responsibleWithLinksFilter(name))\r\n );\r\n () => console.log('Get all complete'); \r\n });\r\n }\r\n getresponsibleWithPlainText() {\r\n this.activityDataMapping.getCategoryWithActivityMasterData(this.businessUnitId, this.activityId,'Responsible',false,false).subscribe((data: any)=>{\r\n this.responsibleWithPlainTextLst=data,\r\n this.responsibleWithPlainTextLst= this.responsibleWithPlainTextLst.filter(item=>item.refText !== null);\r\n this.setExistingResponsibleWithPlainTextAsSelected();\r\n this.responsibleWithPlainTextFilteredOptions = this.searchresponsibleWithPlainTextTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.responsibleWithPlainTextFilter(name))\r\n );\r\n () => console.log('Get all complete'); \r\n\r\n });\r\n }\r\n getresponsibleWithDesignation() {\r\n this.activityDataMapping.getCategoryWithActivityMasterData(this.businessUnitId, this.activityId,'Responsible',false,true).subscribe((data: any)=>{\r\n this.responsibleWithDesignationLst=data,\r\n this.responsibleWithDesignationLst= this.responsibleWithDesignationLst.filter(item=>item.refText !== null);\r\n this.setExistingResponsibleWithDesignationAsSelected();\r\n this.responsibleWithDesignationFilteredOptions = this.searchresponsibleWithDesignationTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.responsibleWithDesignationFilter(name))\r\n );\r\n () => console.log('Get all complete'); \r\n \r\n });\r\n }\r\n getaccountableWithLinks() {\r\n this.activityDataMapping.getCategoryWithActivityMasterData(this.businessUnitId, this.activityId,'Accountable',true,false).subscribe((data: any)=>{\r\n this.accountableWithLinksLst=data,\r\n this.accountableWithLinksLst= this.accountableWithLinksLst.filter(item=>item.refText !== null);\r\n this.setExistingAccountableWithLinksAsSelected();\r\n this.accountableWithLinksFilteredOptions = this.searchaccountableWithLinksTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.accountableWithLinksFilter(name))\r\n );\r\n () => console.log('Get all complete');\r\n\r\n });\r\n }\r\n getaccountableWithPlainText() {\r\n this.activityDataMapping.getCategoryWithActivityMasterData(this.businessUnitId, this.activityId,'Accountable',false,false).subscribe((data: any)=>{\r\n this.accountableWithPlainTextLst=data,\r\n this.accountableWithPlainTextLst= this.accountableWithPlainTextLst.filter(item=>item.refText !== null);\r\n this.setExistingAccountableWithPlainTextAsSelected();\r\n this.accountableWithPlainTextFilteredOptions = this.searchaccountableWithPlainTextTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.accountableWithPlainTextFilter(name))\r\n );\r\n () => console.log('Get all complete'); \r\n\r\n });\r\n }\r\n getaccountableWithDesignation() {\r\n this.activityDataMapping.getCategoryWithActivityMasterData(this.businessUnitId, this.activityId,'Accountable',false,true).subscribe((data: any)=>{\r\n this.accountableWithDesignationLst=data,\r\n this.accountableWithDesignationLst= this.accountableWithDesignationLst.filter(item=>item.refText !== null);\r\n this.setExistingAccountableWithDesignationAsSelected();\r\n this.accountableWithDesignationFilteredOptions = this.searchaccountableWithDesignationTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.accountableWithDesignationFilter(name))\r\n );\r\n () => console.log('Get all complete'); \r\n\r\n });\r\n }\r\n getconsultWithLinks() {\r\n this.activityDataMapping.getCategoryWithActivityMasterData(this.businessUnitId, this.activityId,'Consult',true,false).subscribe((data: any)=>{\r\n this.consultWithLinksLst=data,\r\n this.consultWithLinksLst= this.consultWithLinksLst.filter(item=>item.refText !== null);\r\n this.setExistingConsultWithLinksAsSelected();\r\n this.consultWithLinksFilteredOptions = this.searchconsultWithLinksTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.consultWithLinksFilter(name))\r\n );\r\n () => console.log('Get all complete');\r\n\r\n });\r\n }\r\n getconsultWithPlainText() {\r\n this.activityDataMapping.getCategoryWithActivityMasterData(this.businessUnitId, this.activityId,'Consult',false,false).subscribe((data: any)=>{\r\n this.consultWithPlainTextLst=data,\r\n this.consultWithPlainTextLst= this.consultWithPlainTextLst.filter(item=>item.refText !== null);\r\n this.setExistingConsultWithPlainTextAsSelected();\r\n this.consultWithPlainTextFilteredOptions = this.searchconsultWithPlainTextTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.consultWithPlainTextFilter(name))\r\n );\r\n () => console.log('Get all complete'); \r\n\r\n });\r\n }\r\n getconsultWithDesignation() {\r\n this.activityDataMapping.getCategoryWithActivityMasterData(this.businessUnitId, this.activityId,'Consult',false,true).subscribe((data: any)=>{\r\n this.consultWithDesignationLst=data,\r\n this.consultWithDesignationLst= this.consultWithDesignationLst.filter(item=>item.refText !== null);\r\n this.setExistingConsultWithDesignationAsSelected();\r\n this.consultWithDesignationFilteredOptions = this.searchconsultWithDesignationTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.consultWithDesignationFilter(name))\r\n );\r\n () => console.log('Get all complete'); \r\n\r\n });\r\n }\r\n getinformWithLinks() {\r\n this.activityDataMapping.getCategoryWithActivityMasterData(this.businessUnitId, this.activityId,'Inform',true,false).subscribe((data: any)=>{\r\n this.informWithLinksLst=data,\r\n this.informWithLinksLst= this.informWithLinksLst.filter(item=>item.refText !== null);\r\n this.setExistingInformWithLinksAsSelected();\r\n this.informWithLinksFilteredOptions = this.searchinformWithLinksTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.informWithLinksFilter(name))\r\n );\r\n () => console.log('Get all complete');\r\n\r\n });\r\n }\r\n getinformWithPlainText() {\r\n this.activityDataMapping.getCategoryWithActivityMasterData(this.businessUnitId, this.activityId,'Inform',false,false).subscribe((data: any)=>{\r\n this.informWithPlainTextLst=data,\r\n this.informWithPlainTextLst= this.informWithPlainTextLst.filter(item=>item.refText !== null);\r\n this.setExistingInformWithPlainTextAsSelected();\r\n this.informWithPlainTextFilteredOptions = this.searchinformWithPlainTextTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.informWithPlainTextFilter(name))\r\n );\r\n () => console.log('Get all complete');\r\n });\r\n }\r\n getinformWithDesignation() {\r\n this.activityDataMapping.getCategoryWithActivityMasterData(this.businessUnitId, this.activityId,'Inform',false,true).subscribe((data: any)=>{\r\n this.informWithDesignationLst=data,\r\n this.informWithDesignationLst= this.informWithDesignationLst.filter(item=>item.refText !== null);\r\n this.setExistingInformWithDesignationAsSelected();\r\n this.informWithDesignationFilteredOptions = this.searchinformWithDesignationTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.informWithDesignationFilter(name))\r\n );\r\n () => console.log('Get all complete'); \r\n\r\n });\r\n }\r\n\r\n private CPReferenceFilter(name: string) {\r\n const filterValue = name.toLowerCase();\r\n // Set selected values to retain the selected checkbox state \r\n this.setCPReferenceSelectedValues();\r\n this.selectCPReferenceFormControl.patchValue(this.selectedCPReferenceValues);\r\n let filteredList = this.CPReferenceLst.filter(option => option.refText.toLowerCase().includes(filterValue.toLowerCase()));\r\n return filteredList;\r\n }\r\n\r\n CPReferenceSelectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedCPReferenceValues.indexOf(event.source.value.refText);\r\n this.selectedCPReferenceValues.splice(index, 1)\r\n }\r\n }\r\n openedCPReferenceChange(e) {\r\n // Set search textbox value as empty while opening selectbox \r\n this.searchCPReferenceTextboxControl.patchValue('');\r\n // Focus to search textbox while clicking on selectbox\r\n if (e == true) {\r\n this.searchCPReferenceTextBox.nativeElement.focus();\r\n }\r\n }\r\n\r\n clearCPReferenceSearch(event) {\r\n event.stopPropagation();\r\n this.searchCPReferenceTextboxControl.patchValue('');\r\n }\r\n\r\n setCPReferenceSelectedValues() {\r\n if (this.selectCPReferenceFormControl.value && this.selectCPReferenceFormControl.value.length > 0) {\r\n this.selectCPReferenceFormControl.value.forEach((e) => {\r\n if (this.selectedCPReferenceValues.indexOf(e) == -1) {\r\n this.selectedCPReferenceValues.push(e);\r\n }\r\n });\r\n }\r\n }\r\n setExistingCPReferenceAsSelected(){\r\n if (this.CPReferenceLst && this.CPReferenceLst.length > 0) {\r\n this.CPReferenceLst.forEach((e) => {\r\n if(e.isChecked == true){\r\n if (this.selectedCPReferenceValues.indexOf(e) == -1) {\r\n this.selectedCPReferenceValues.push(e);\r\n }\r\n } \r\n });\r\n }\r\n }\r\n getSelectedCPReference(){\r\n const selectedOptions= this.selectCPReferenceFormControl.value;\r\n if(!selectedOptions || selectedOptions.length ==0){\r\n return '';\r\n }\r\n return selectedOptions.map(option=>option.refText).join(', ');\r\n }\r\n \r\n private MIReferenceFilter(name: string) {\r\n const filterValue = name.toLowerCase();\r\n // Set selected values to retain the selected checkbox state \r\n this.setMIReferenceSelectedValues();\r\n this.selectMIReferenceFormControl.patchValue(this.selectedMIReferenceValues);\r\n let filteredList = this.MIReferenceLst.filter(option => option.refText.toLowerCase().includes(filterValue.toLowerCase()));\r\n return filteredList;\r\n }\r\n\r\n MIReferenceSelectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedMIReferenceValues.indexOf(event.source.value.refText);\r\n this.selectedMIReferenceValues.splice(index, 1)\r\n }\r\n }\r\n openedMIReferenceChange(e) {\r\n // Set search textbox value as empty while opening selectbox \r\n this.searchMIReferenceTextboxControl.patchValue('');\r\n // Focus to search textbox while clicking on selectbox\r\n if (e == true) {\r\n this.searchMIReferenceTextBox.nativeElement.focus();\r\n }\r\n }\r\n\r\n clearMIReferenceSearch(event) {\r\n event.stopPropagation();\r\n this.searchMIReferenceTextboxControl.patchValue('');\r\n }\r\n\r\n setMIReferenceSelectedValues() {\r\n if (this.selectMIReferenceFormControl.value && this.selectMIReferenceFormControl.value.length > 0) {\r\n this.selectMIReferenceFormControl.value.forEach((e) => {\r\n if (this.selectedMIReferenceValues.indexOf(e) == -1) {\r\n this.selectedMIReferenceValues.push(e);\r\n }\r\n });\r\n }\r\n }\r\n setExistingMIReferenceAsSelected(){\r\n if (this.MIReferenceLst && this.MIReferenceLst.length > 0) {\r\n this.MIReferenceLst.forEach((e) => {\r\n if(e.isChecked == true){\r\n if (this.selectedMIReferenceValues.indexOf(e) == -1) {\r\n this.selectedMIReferenceValues.push(e);\r\n }\r\n } \r\n });\r\n }\r\n }\r\n getSelectedMIReference(){\r\n const selectedOptions= this.selectMIReferenceFormControl.value;\r\n if(!selectedOptions || selectedOptions.length ==0){\r\n return '';\r\n }\r\n return selectedOptions.map(option=>option.refText).join(', ');\r\n }\r\n\r\n private BRReferenceFilter(name: string) {\r\n const filterValue = name.toLowerCase();\r\n \r\n // Set selected values to retain the selected checkbox state \r\n this.setBRReferenceSelectedValues();\r\n this.selectBRReferenceFormControl.patchValue(this.selectedBRReferenceValues);\r\n let filteredList = this.BRReferenceLst.filter(option => option.refText.toLowerCase().includes(filterValue.toLowerCase()));\r\n return filteredList;\r\n }\r\n\r\n BRReferenceSelectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedBRReferenceValues.indexOf(event.source.value.refText);\r\n this.selectedBRReferenceValues.splice(index, 1)\r\n }\r\n }\r\n openedBRReferenceChange(e) {\r\n // Set search textbox value as empty while opening selectbox \r\n this.searchBRReferenceTextboxControl.patchValue('');\r\n // Focus to search textbox while clicking on selectbox\r\n if (e == true) {\r\n this.searchBRReferenceTextBox.nativeElement.focus();\r\n }\r\n }\r\n\r\n clearBRReferenceSearch(event) {\r\n event.stopPropagation();\r\n this.searchBRReferenceTextboxControl.patchValue('');\r\n }\r\n\r\n setBRReferenceSelectedValues() {\r\n if (this.selectBRReferenceFormControl.value && this.selectBRReferenceFormControl.value.length > 0) {\r\n this.selectBRReferenceFormControl.value.forEach((e) => {\r\n if (this.selectedBRReferenceValues.indexOf(e) == -1) {\r\n this.selectedBRReferenceValues.push(e);\r\n }\r\n });\r\n }\r\n }\r\n setExistingBRReferenceAsSelected(){\r\n if (this.BRReferenceLst && this.BRReferenceLst.length > 0) {\r\n this.BRReferenceLst.forEach((e) => {\r\n if(e.isChecked == true){\r\n if (this.selectedBRReferenceValues.indexOf(e) == -1) {\r\n this.selectedBRReferenceValues.push(e);\r\n }\r\n } \r\n });\r\n }\r\n }\r\n getSelectedBRReference(){\r\n const selectedOptions= this.selectBRReferenceFormControl.value;\r\n if(!selectedOptions || selectedOptions.length ==0){\r\n return '';\r\n }\r\n return selectedOptions.map(option=>option.refText).join(', ');\r\n }\r\n private remarkWithLinksFilter(name: string) {\r\n const filterValue = name.toLowerCase();\r\n // Set selected values to retain the selected checkbox state \r\n this.setremarkWithLinksSelectedValues();\r\n this.selectremarkWithLinksFormControl.patchValue(this.selectedremarkWithLinksValues);\r\n let filteredList = this.remarkWithLinksLst.filter(option => option.refText.toLowerCase().includes(filterValue.toLowerCase()));\r\n return filteredList;\r\n }\r\n\r\n remarkWithLinksSelectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedremarkWithLinksValues.indexOf(event.source.value.refText);\r\n this.selectedremarkWithLinksValues.splice(index, 1)\r\n }\r\n }\r\n openedremarkWithLinksChange(e) {\r\n // Set search textbox value as empty while opening selectbox \r\n this.searchremarkWithLinksTextboxControl.patchValue('');\r\n // Focus to search textbox while clicking on selectbox\r\n if (e == true) {\r\n this.searchremarkWithLinksTextBox.nativeElement.focus();\r\n }\r\n }\r\n\r\n clearremarkWithLinksSearch(event) {\r\n event.stopPropagation();\r\n this.searchremarkWithLinksTextboxControl.patchValue('');\r\n }\r\n\r\n setremarkWithLinksSelectedValues() {\r\n if (this.selectremarkWithLinksFormControl.value && this.selectremarkWithLinksFormControl.value.length > 0) {\r\n this.selectremarkWithLinksFormControl.value.forEach((e) => {\r\n if (this.selectedremarkWithLinksValues.indexOf(e) == -1) {\r\n this.selectedremarkWithLinksValues.push(e);\r\n }\r\n });\r\n }\r\n }\r\n setExistingRemarkWithLinksAsSelected(){\r\n if (this.remarkWithLinksLst && this.remarkWithLinksLst.length > 0) {\r\n this.remarkWithLinksLst.forEach((e) => {\r\n if(e.isChecked == true){\r\n if (this.selectedremarkWithLinksValues.indexOf(e) == -1) {\r\n this.selectedremarkWithLinksValues.push(e);\r\n }\r\n } \r\n });\r\n }\r\n\r\n }\r\n getSelectedremarkWithLinks(){\r\n const selectedOptions= this.selectremarkWithLinksFormControl.value;\r\n if(!selectedOptions || selectedOptions.length ==0){\r\n return '';\r\n }\r\n return selectedOptions.map(option=>option.refText).join(', ');\r\n }\r\n\r\n \r\nprivate remarkWithPlainTextFilter(name: string) {\r\n const filterValue = name.toLowerCase();\r\n // Set selected values to retain the selected checkbox state \r\n this.setremarkWithPlainTextSelectedValues();\r\n this.selectremarkWithPlainTextFormControl.patchValue(this.selectedremarkWithPlainTextValues);\r\n let filteredList = this.remarkWithPlainTextLst.filter(option => option.refText.toLowerCase().includes(filterValue.toLowerCase()));\r\n return filteredList;\r\n}\r\n\r\nremarkWithPlainTextSelectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedremarkWithPlainTextValues.indexOf(event.source.value.refText);\r\n this.selectedremarkWithPlainTextValues.splice(index, 1)\r\n }\r\n}\r\nopenedremarkWithPlainTextChange(e) {\r\n // Set search textbox value as empty while opening selectbox \r\n this.searchremarkWithPlainTextTextboxControl.patchValue('');\r\n // Focus to search textbox while clicking on selectbox\r\n if (e == true) { this.searchremarkWithPlainTextTextBox.nativeElement.focus();\r\n }\r\n}\r\n\r\nclearremarkWithPlainTextSearch(event) {\r\n event.stopPropagation(); this.searchremarkWithPlainTextTextboxControl.patchValue('');\r\n}\r\n\r\nsetremarkWithPlainTextSelectedValues() {\r\n if (this.selectremarkWithPlainTextFormControl.value && this.selectremarkWithPlainTextFormControl.value.length > 0) {\r\n this.selectremarkWithPlainTextFormControl.value.forEach((e) => {\r\n if (this.selectedremarkWithPlainTextValues.indexOf(e) == -1) { this.selectedremarkWithPlainTextValues.push(e); }\r\n });\r\n }\r\n}\r\nsetExistingRemarkWithPlainTextAsSelected(){\r\n if (this.remarkWithPlainTextLst && this.remarkWithPlainTextLst.length > 0) {\r\n this.remarkWithPlainTextLst.forEach((e) => {\r\n if(e.isChecked == true){\r\n if (this.selectedremarkWithPlainTextValues.indexOf(e) == -1) {\r\n this.selectedremarkWithPlainTextValues.push(e);\r\n }\r\n } \r\n });\r\n }\r\n\r\n}\r\ngetSelectedremarkWithPlainText(){\r\n const selectedOptions= this.selectremarkWithPlainTextFormControl.value;\r\n if(!selectedOptions || selectedOptions.length ==0){return '';}\r\n return selectedOptions.map(option=>option.refText).join(', ');\r\n}\r\nprivate responsibleWithLinksFilter(name: string) {\r\n const filterValue = name.toLowerCase();\r\n // Set selected values to retain the selected checkbox state \r\n this.setresponsibleWithLinksSelectedValues();\r\n this.selectresponsibleWithLinksFormControl.patchValue(this.selectedresponsibleWithLinksValues);\r\n let filteredList = this.responsibleWithLinksLst.filter(option => option.refText.toLowerCase().includes(filterValue.toLowerCase()));\r\n return filteredList;\r\n}\r\n\r\nresponsibleWithLinksSelectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedresponsibleWithLinksValues.indexOf(event.source.value.refText);\r\n this.selectedresponsibleWithLinksValues.splice(index, 1)\r\n }\r\n}\r\nopenedresponsibleWithLinksChange(e) {\r\n // Set search textbox value as empty while opening selectbox \r\n this.searchresponsibleWithLinksTextboxControl.patchValue('');\r\n // Focus to search textbox while clicking on selectbox\r\n if (e == true) { this.searchresponsibleWithLinksTextBox.nativeElement.focus();\r\n }\r\n}\r\n\r\nclearresponsibleWithLinksSearch(event) {\r\n event.stopPropagation(); this.searchresponsibleWithLinksTextboxControl.patchValue('');\r\n}\r\n\r\nsetresponsibleWithLinksSelectedValues() {\r\n if (this.selectresponsibleWithLinksFormControl.value && this.selectresponsibleWithLinksFormControl.value.length > 0) {\r\n this.selectresponsibleWithLinksFormControl.value.forEach((e) => {\r\n if (this.selectedresponsibleWithLinksValues.indexOf(e) == -1) { this.selectedresponsibleWithLinksValues.push(e); }\r\n });\r\n }\r\n}\r\nsetExistingResponsibleWithLinksAsSelected(){\r\n if (this.responsibleWithLinksLst && this.responsibleWithLinksLst.length > 0) {\r\n this.responsibleWithLinksLst.forEach((e) => {\r\n if(e.isChecked == true){\r\n if (this.selectedresponsibleWithLinksValues.indexOf(e) == -1) {\r\n this.selectedresponsibleWithLinksValues.push(e);\r\n }\r\n } \r\n });\r\n }\r\n\r\n}\r\ngetSelectedresponsibleWithLinks(){\r\n const selectedOptions= this.selectresponsibleWithLinksFormControl.value;\r\n if(!selectedOptions || selectedOptions.length ==0){return '';}\r\n return selectedOptions.map(option=>option.refText).join(', ');\r\n}\r\n\r\nprivate responsibleWithPlainTextFilter(name: string) {\r\n const filterValue = name.toLowerCase();\r\n // Set selected values to retain the selected checkbox state \r\n this.setresponsibleWithPlainTextSelectedValues();\r\n this.selectresponsibleWithPlainTextFormControl.patchValue(this.selectedresponsibleWithPlainTextValues);\r\n let filteredList = this.responsibleWithPlainTextLst.filter(option => option.refText.toLowerCase().includes(filterValue.toLowerCase()));\r\n return filteredList;\r\n}\r\n\r\nresponsibleWithPlainTextSelectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedresponsibleWithPlainTextValues.indexOf(event.source.value.refText);\r\n this.selectedresponsibleWithPlainTextValues.splice(index, 1)\r\n }\r\n}\r\nopenedresponsibleWithPlainTextChange(e) {\r\n // Set search textbox value as empty while opening selectbox \r\n this.searchresponsibleWithPlainTextTextboxControl.patchValue('');\r\n // Focus to search textbox while clicking on selectbox\r\n if (e == true) { this.searchresponsibleWithPlainTextTextBox.nativeElement.focus();\r\n }\r\n}\r\n\r\nclearresponsibleWithPlainTextSearch(event) {\r\n event.stopPropagation(); this.searchresponsibleWithPlainTextTextboxControl.patchValue('');\r\n}\r\n\r\nsetresponsibleWithPlainTextSelectedValues() {\r\n if (this.selectresponsibleWithPlainTextFormControl.value && this.selectresponsibleWithPlainTextFormControl.value.length > 0) {\r\n this.selectresponsibleWithPlainTextFormControl.value.forEach((e) => {\r\n if (this.selectedresponsibleWithPlainTextValues.indexOf(e) == -1) { this.selectedresponsibleWithPlainTextValues.push(e); }\r\n });\r\n }\r\n}\r\nsetExistingResponsibleWithPlainTextAsSelected(){\r\n if (this.responsibleWithPlainTextLst && this.responsibleWithPlainTextLst.length > 0) {\r\n this.responsibleWithPlainTextLst.forEach((e) => {\r\n if(e.isChecked == true){\r\n if (this.selectedresponsibleWithPlainTextValues.indexOf(e) == -1) {\r\n this.selectedresponsibleWithPlainTextValues.push(e);\r\n }\r\n } \r\n });\r\n }\r\n\r\n}\r\ngetSelectedresponsibleWithPlainText(){\r\n const selectedOptions= this.selectresponsibleWithPlainTextFormControl.value;\r\n if(!selectedOptions || selectedOptions.length ==0){return '';}\r\n return selectedOptions.map(option=>option.refText).join(', ');\r\n}\r\nprivate responsibleWithDesignationFilter(name: string) {\r\n const filterValue = name.toLowerCase();\r\n // Set selected values to retain the selected checkbox state \r\n this.setresponsibleWithDesignationSelectedValues();\r\n this.selectresponsibleWithDesignationFormControl.patchValue(this.selectedresponsibleWithDesignationValues);\r\n let filteredList = this.responsibleWithDesignationLst.filter(option => option.refText.toLowerCase().includes(filterValue.toLowerCase()));\r\n return filteredList;\r\n}\r\n\r\nresponsibleWithDesignationSelectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedresponsibleWithDesignationValues.indexOf(event.source.value.refText);\r\n this.selectedresponsibleWithDesignationValues.splice(index, 1)\r\n }\r\n}\r\nopenedresponsibleWithDesignationChange(e) {\r\n // Set search textbox value as empty while opening selectbox \r\n this.searchresponsibleWithDesignationTextboxControl.patchValue('');\r\n // Focus to search textbox while clicking on selectbox\r\n if (e == true) { this.searchresponsibleWithDesignationTextBox.nativeElement.focus();\r\n }\r\n}\r\n\r\nclearresponsibleWithDesignationSearch(event) {\r\n event.stopPropagation(); this.searchresponsibleWithDesignationTextboxControl.patchValue('');\r\n}\r\n\r\nsetresponsibleWithDesignationSelectedValues() {\r\n if (this.selectresponsibleWithDesignationFormControl.value && this.selectresponsibleWithDesignationFormControl.value.length > 0) {\r\n this.selectresponsibleWithDesignationFormControl.value.forEach((e) => {\r\n if (this.selectedresponsibleWithDesignationValues.indexOf(e) == -1) { this.selectedresponsibleWithDesignationValues.push(e); }\r\n });\r\n }\r\n}\r\n\r\nsetExistingResponsibleWithDesignationAsSelected(){\r\n if (this.responsibleWithDesignationLst && this.responsibleWithDesignationLst.length > 0) {\r\n this.responsibleWithDesignationLst.forEach((e) => {\r\n if(e.isChecked == true){\r\n if (this.selectedresponsibleWithDesignationValues.indexOf(e) == -1) {\r\n this.selectedresponsibleWithDesignationValues.push(e);\r\n }\r\n } \r\n });\r\n }\r\n\r\n}\r\ngetSelectedresponsibleWithDesignation(){\r\n const selectedOptions= this.selectresponsibleWithDesignationFormControl.value;\r\n if(!selectedOptions || selectedOptions.length ==0){return '';}\r\n return selectedOptions.map(option=>option.refText).join(', ');\r\n}\r\nprivate accountableWithLinksFilter(name: string) {\r\n const filterValue = name.toLowerCase();\r\n // Set selected values to retain the selected checkbox state \r\n this.setaccountableWithLinksSelectedValues();\r\n this.selectaccountableWithLinksFormControl.patchValue(this.selectedaccountableWithLinksValues);\r\n let filteredList = this.accountableWithLinksLst.filter(option => option.refText.toLowerCase().includes(filterValue.toLowerCase()));\r\n return filteredList;\r\n}\r\n\r\naccountableWithLinksSelectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedaccountableWithLinksValues.indexOf(event.source.value.refText);\r\n this.selectedaccountableWithLinksValues.splice(index, 1)\r\n }\r\n}\r\nopenedaccountableWithLinksChange(e) {\r\n // Set search textbox value as empty while opening selectbox \r\n this.searchaccountableWithLinksTextboxControl.patchValue('');\r\n // Focus to search textbox while clicking on selectbox\r\n if (e == true) { this.searchaccountableWithLinksTextBox.nativeElement.focus();\r\n }\r\n}\r\n\r\nclearaccountableWithLinksSearch(event) {\r\n event.stopPropagation(); this.searchaccountableWithLinksTextboxControl.patchValue('');\r\n}\r\n\r\nsetaccountableWithLinksSelectedValues() {\r\n if (this.selectaccountableWithLinksFormControl.value && this.selectaccountableWithLinksFormControl.value.length > 0) {\r\n this.selectaccountableWithLinksFormControl.value.forEach((e) => {\r\n if (this.selectedaccountableWithLinksValues.indexOf(e) == -1) { this.selectedaccountableWithLinksValues.push(e); }\r\n });\r\n }\r\n}\r\nsetExistingAccountableWithLinksAsSelected(){\r\n if (this.accountableWithLinksLst && this.accountableWithLinksLst.length > 0) {\r\n this.accountableWithLinksLst.forEach((e) => {\r\n if(e.isChecked == true){\r\n if (this.selectedaccountableWithLinksValues.indexOf(e) == -1) {\r\n this.selectedaccountableWithLinksValues.push(e);\r\n }\r\n } \r\n });\r\n }\r\n\r\n}\r\n\r\ngetSelectedaccountableWithLinks(){\r\n const selectedOptions= this.selectaccountableWithLinksFormControl.value;\r\n if(!selectedOptions || selectedOptions.length ==0){return '';}\r\n return selectedOptions.map(option=>option.refText).join(', ');\r\n}\r\n\r\nprivate accountableWithPlainTextFilter(name: string) {\r\n const filterValue = name.toLowerCase();\r\n // Set selected values to retain the selected checkbox state \r\n this.setaccountableWithPlainTextSelectedValues();\r\n this.selectaccountableWithPlainTextFormControl.patchValue(this.selectedaccountableWithPlainTextValues);\r\n let filteredList = this.accountableWithPlainTextLst.filter(option => option.refText.toLowerCase().includes(filterValue.toLowerCase()));\r\n return filteredList;\r\n}\r\n\r\naccountableWithPlainTextSelectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedaccountableWithPlainTextValues.indexOf(event.source.value.refText);\r\n this.selectedaccountableWithPlainTextValues.splice(index, 1)\r\n }\r\n}\r\nopenedaccountableWithPlainTextChange(e) {\r\n // Set search textbox value as empty while opening selectbox \r\n this.searchaccountableWithPlainTextTextboxControl.patchValue('');\r\n // Focus to search textbox while clicking on selectbox\r\n if (e == true) { this.searchaccountableWithPlainTextTextBox.nativeElement.focus();\r\n }\r\n}\r\n\r\nclearaccountableWithPlainTextSearch(event) {\r\n event.stopPropagation(); this.searchaccountableWithPlainTextTextboxControl.patchValue('');\r\n}\r\n\r\nsetaccountableWithPlainTextSelectedValues() {\r\n if (this.selectaccountableWithPlainTextFormControl.value && this.selectaccountableWithPlainTextFormControl.value.length > 0) {\r\n this.selectaccountableWithPlainTextFormControl.value.forEach((e) => {\r\n if (this.selectedaccountableWithPlainTextValues.indexOf(e) == -1) { this.selectedaccountableWithPlainTextValues.push(e); }\r\n });\r\n }\r\n}\r\n\r\nsetExistingAccountableWithPlainTextAsSelected(){\r\n if (this.accountableWithPlainTextLst && this.accountableWithPlainTextLst.length > 0) {\r\n this.accountableWithPlainTextLst.forEach((e) => {\r\n if(e.isChecked == true){\r\n if (this.selectedaccountableWithPlainTextValues.indexOf(e) == -1) {\r\n this.selectedaccountableWithPlainTextValues.push(e);\r\n }\r\n } \r\n });\r\n }\r\n\r\n}\r\n\r\ngetSelectedaccountableWithPlainText(){\r\n const selectedOptions= this.selectaccountableWithPlainTextFormControl.value;\r\n if(!selectedOptions || selectedOptions.length ==0){return '';}\r\n return selectedOptions.map(option=>option.refText).join(', ');\r\n}\r\nprivate accountableWithDesignationFilter(name: string) {\r\n const filterValue = name.toLowerCase();\r\n // Set selected values to retain the selected checkbox state \r\n this.setaccountableWithDesignationSelectedValues();\r\n this.selectaccountableWithDesignationFormControl.patchValue(this.selectedaccountableWithDesignationValues);\r\n let filteredList = this.accountableWithDesignationLst.filter(option => option.refText.toLowerCase().includes(filterValue.toLowerCase()));\r\n return filteredList;\r\n}\r\n\r\naccountableWithDesignationSelectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedaccountableWithDesignationValues.indexOf(event.source.value.refText);\r\n this.selectedaccountableWithDesignationValues.splice(index, 1)\r\n }\r\n}\r\nopenedaccountableWithDesignationChange(e) {\r\n // Set search textbox value as empty while opening selectbox \r\n this.searchaccountableWithDesignationTextboxControl.patchValue('');\r\n // Focus to search textbox while clicking on selectbox\r\n if (e == true) { this.searchaccountableWithDesignationTextBox.nativeElement.focus();\r\n }\r\n}\r\n\r\nclearaccountableWithDesignationSearch(event) {\r\n event.stopPropagation(); this.searchaccountableWithDesignationTextboxControl.patchValue('');\r\n}\r\n\r\nsetaccountableWithDesignationSelectedValues() {\r\n if (this.selectaccountableWithDesignationFormControl.value && this.selectaccountableWithDesignationFormControl.value.length > 0) {\r\n this.selectaccountableWithDesignationFormControl.value.forEach((e) => {\r\n if (this.selectedaccountableWithDesignationValues.indexOf(e) == -1) { this.selectedaccountableWithDesignationValues.push(e); }\r\n });\r\n }\r\n}\r\nsetExistingAccountableWithDesignationAsSelected(){\r\n if (this.accountableWithDesignationLst && this.accountableWithDesignationLst.length > 0) {\r\n this.accountableWithDesignationLst.forEach((e) => {\r\n if(e.isChecked == true){\r\n if (this.selectedaccountableWithDesignationValues.indexOf(e) == -1) {\r\n this.selectedaccountableWithDesignationValues.push(e);\r\n }\r\n } \r\n });\r\n }\r\n\r\n}\r\ngetSelectedaccountableWithDesignation(){\r\n const selectedOptions= this.selectaccountableWithDesignationFormControl.value;\r\n if(!selectedOptions || selectedOptions.length ==0){return '';}\r\n return selectedOptions.map(option=>option.refText).join(', ');\r\n}\r\nprivate consultWithLinksFilter(name: string) {\r\n const filterValue = name.toLowerCase();\r\n // Set selected values to retain the selected checkbox state \r\n this.setconsultWithLinksSelectedValues();\r\n this.selectconsultWithLinksFormControl.patchValue(this.selectedconsultWithLinksValues);\r\n let filteredList = this.consultWithLinksLst.filter(option => option.refText.toLowerCase().includes(filterValue.toLowerCase()));\r\n return filteredList;\r\n}\r\nconsultWithLinksSelectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedconsultWithLinksValues.indexOf(event.source.value.refText);\r\n this.selectedconsultWithLinksValues.splice(index, 1)\r\n }\r\n}\r\nopenedconsultWithLinksChange(e) {\r\n // Set search textbox value as empty while opening selectbox \r\n this.searchconsultWithLinksTextboxControl.patchValue('');\r\n // Focus to search textbox while clicking on selectbox\r\n if (e == true) { this.searchconsultWithLinksTextBox.nativeElement.focus();\r\n }\r\n}\r\n\r\nclearconsultWithLinksSearch(event) {\r\n event.stopPropagation(); this.searchconsultWithLinksTextboxControl.patchValue('');\r\n}\r\n\r\nsetconsultWithLinksSelectedValues() {\r\n if (this.selectconsultWithLinksFormControl.value && this.selectconsultWithLinksFormControl.value.length > 0) {\r\n this.selectconsultWithLinksFormControl.value.forEach((e) => {\r\n if (this.selectedconsultWithLinksValues.indexOf(e) == -1) { this.selectedconsultWithLinksValues.push(e); }\r\n });\r\n }\r\n}\r\nsetExistingConsultWithLinksAsSelected(){\r\n if (this.consultWithLinksLst && this.consultWithLinksLst.length > 0) {\r\n this.consultWithLinksLst.forEach((e) => {\r\n if(e.isChecked == true){\r\n if (this.selectedconsultWithLinksValues.indexOf(e) == -1) {\r\n this.selectedconsultWithLinksValues.push(e);\r\n }\r\n } \r\n });\r\n }\r\n\r\n}\r\n\r\ngetSelectedconsultWithLinks(){\r\n const selectedOptions= this.selectconsultWithLinksFormControl.value;\r\n if(!selectedOptions || selectedOptions.length ==0){return '';}\r\n return selectedOptions.map(option=>option.refText).join(', ');\r\n}\r\n\r\nprivate consultWithPlainTextFilter(name: string) {\r\n const filterValue = name.toLowerCase();\r\n // Set selected values to retain the selected checkbox state \r\n this.setconsultWithPlainTextSelectedValues();\r\n this.selectconsultWithPlainTextFormControl.patchValue(this.selectedconsultWithPlainTextValues);\r\n let filteredList = this.consultWithPlainTextLst.filter(option => option.refText.toLowerCase().includes(filterValue.toLowerCase()));\r\n return filteredList;\r\n}\r\n\r\nconsultWithPlainTextSelectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedconsultWithPlainTextValues.indexOf(event.source.value.refText);\r\n this.selectedconsultWithPlainTextValues.splice(index, 1)\r\n }\r\n}\r\nopenedconsultWithPlainTextChange(e) {\r\n // Set search textbox value as empty while opening selectbox \r\n this.searchconsultWithPlainTextTextboxControl.patchValue('');\r\n // Focus to search textbox while clicking on selectbox\r\n if (e == true) { this.searchconsultWithPlainTextTextBox.nativeElement.focus();\r\n }\r\n}\r\n\r\nclearconsultWithPlainTextSearch(event) {\r\n event.stopPropagation(); this.searchconsultWithPlainTextTextboxControl.patchValue('');\r\n}\r\n\r\nsetconsultWithPlainTextSelectedValues() {\r\n if (this.selectconsultWithPlainTextFormControl.value && this.selectconsultWithPlainTextFormControl.value.length > 0) {\r\n this.selectconsultWithPlainTextFormControl.value.forEach((e) => {\r\n if (this.selectedconsultWithPlainTextValues.indexOf(e) == -1) { this.selectedconsultWithPlainTextValues.push(e); }\r\n });\r\n }\r\n}\r\nsetExistingConsultWithPlainTextAsSelected(){\r\n if (this.consultWithPlainTextLst && this.consultWithPlainTextLst.length > 0) {\r\n this.consultWithPlainTextLst.forEach((e) => {\r\n if(e.isChecked == true){\r\n if (this.selectedconsultWithPlainTextValues.indexOf(e) == -1) {\r\n this.selectedconsultWithPlainTextValues.push(e);\r\n }\r\n } \r\n });\r\n }\r\n\r\n}\r\n\r\ngetSelectedconsultWithPlainText(){\r\n const selectedOptions= this.selectconsultWithPlainTextFormControl.value;\r\n if(!selectedOptions || selectedOptions.length ==0){return '';}\r\n return selectedOptions.map(option=>option.refText).join(', ');\r\n}\r\nprivate consultWithDesignationFilter(name: string) {\r\n const filterValue = name.toLowerCase();\r\n // Set selected values to retain the selected checkbox state \r\n this.setconsultWithDesignationSelectedValues();\r\n this.selectconsultWithDesignationFormControl.patchValue(this.selectedconsultWithDesignationValues);\r\n let filteredList = this.consultWithDesignationLst.filter(option => option.refText.toLowerCase().includes(filterValue.toLowerCase()));\r\n return filteredList;\r\n}\r\n\r\nconsultWithDesignationSelectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedconsultWithDesignationValues.indexOf(event.source.value.refText);\r\n this.selectedconsultWithDesignationValues.splice(index, 1)\r\n }\r\n}\r\nopenedconsultWithDesignationChange(e) {\r\n // Set search textbox value as empty while opening selectbox \r\n this.searchconsultWithDesignationTextboxControl.patchValue('');\r\n // Focus to search textbox while clicking on selectbox\r\n if (e == true) { this.searchconsultWithDesignationTextBox.nativeElement.focus();\r\n }\r\n}\r\n\r\nclearconsultWithDesignationSearch(event) {\r\n event.stopPropagation(); this.searchconsultWithDesignationTextboxControl.patchValue('');\r\n}\r\n\r\nsetconsultWithDesignationSelectedValues() {\r\n if (this.selectconsultWithDesignationFormControl.value && this.selectconsultWithDesignationFormControl.value.length > 0) {\r\n this.selectconsultWithDesignationFormControl.value.forEach((e) => {\r\n if (this.selectedconsultWithDesignationValues.indexOf(e) == -1) { this.selectedconsultWithDesignationValues.push(e); }\r\n });\r\n }\r\n}\r\nsetExistingConsultWithDesignationAsSelected(){\r\n if (this.consultWithDesignationLst && this.consultWithDesignationLst.length > 0) {\r\n this.consultWithDesignationLst.forEach((e) => {\r\n if(e.isChecked == true){\r\n if (this.selectedconsultWithDesignationValues.indexOf(e) == -1) {\r\n this.selectedconsultWithDesignationValues.push(e);\r\n }\r\n } \r\n });\r\n }\r\n\r\n}\r\ngetSelectedconsultWithDesignation(){\r\n const selectedOptions= this.selectconsultWithDesignationFormControl.value;\r\n if(!selectedOptions || selectedOptions.length ==0){return '';}\r\n return selectedOptions.map(option=>option.refText).join(', ');\r\n}\r\nprivate informWithLinksFilter(name: string) {\r\n const filterValue = name.toLowerCase();\r\n // Set selected values to retain the selected checkbox state \r\n this.setinformWithLinksSelectedValues();\r\n this.selectinformWithLinksFormControl.patchValue(this.selectedinformWithLinksValues);\r\n let filteredList = this.informWithLinksLst.filter(option => option.refText.toLowerCase().includes(filterValue.toLowerCase()));\r\n return filteredList;\r\n}\r\ninformWithLinksSelectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedinformWithLinksValues.indexOf(event.source.value.refText);\r\n this.selectedinformWithLinksValues.splice(index, 1)\r\n }\r\n}\r\nopenedinformWithLinksChange(e) {\r\n // Set search textbox value as empty while opening selectbox \r\n this.searchinformWithLinksTextboxControl.patchValue('');\r\n // Focus to search textbox while clicking on selectbox\r\n if (e == true) { this.searchinformWithLinksTextBox.nativeElement.focus();\r\n }\r\n}\r\n\r\nclearinformWithLinksSearch(event) {\r\n event.stopPropagation(); this.searchinformWithLinksTextboxControl.patchValue('');\r\n}\r\n\r\nsetinformWithLinksSelectedValues() {\r\n if (this.selectinformWithLinksFormControl.value && this.selectinformWithLinksFormControl.value.length > 0) {\r\n this.selectinformWithLinksFormControl.value.forEach((e) => {\r\n if (this.selectedinformWithLinksValues.indexOf(e) == -1) { this.selectedinformWithLinksValues.push(e); }\r\n });\r\n }\r\n}\r\nsetExistingInformWithLinksAsSelected(){\r\n if (this.informWithLinksLst && this.informWithLinksLst.length > 0) {\r\n this.informWithLinksLst.forEach((e) => {\r\n if(e.isChecked == true){\r\n if (this.selectedinformWithLinksValues.indexOf(e) == -1) {\r\n this.selectedinformWithLinksValues.push(e);\r\n }\r\n } \r\n });\r\n }\r\n\r\n}\r\n\r\ngetSelectedinformWithLinks(){\r\n const selectedOptions= this.selectinformWithLinksFormControl.value;\r\n if(!selectedOptions || selectedOptions.length ==0){return '';}\r\n return selectedOptions.map(option=>option.refText).join(', ');\r\n}\r\n\r\nprivate informWithPlainTextFilter(name: string) {\r\n const filterValue = name.toLowerCase();\r\n // Set selected values to retain the selected checkbox state \r\n this.setinformWithPlainTextSelectedValues();\r\n this.selectinformWithPlainTextFormControl.patchValue(this.selectedinformWithPlainTextValues);\r\n let filteredList = this.informWithPlainTextLst.filter(option => option.refText.toLowerCase().includes(filterValue.toLowerCase()));\r\n return filteredList;\r\n}\r\n\r\ninformWithPlainTextSelectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedinformWithPlainTextValues.indexOf(event.source.value.refText);\r\n this.selectedinformWithPlainTextValues.splice(index, 1)\r\n }\r\n}\r\nopenedinformWithPlainTextChange(e) {\r\n // Set search textbox value as empty while opening selectbox \r\n this.searchinformWithPlainTextTextboxControl.patchValue('');\r\n // Focus to search textbox while clicking on selectbox\r\n if (e == true) { this.searchinformWithPlainTextTextBox.nativeElement.focus();\r\n }\r\n}\r\n\r\nclearinformWithPlainTextSearch(event) {\r\n event.stopPropagation(); this.searchinformWithPlainTextTextboxControl.patchValue('');\r\n}\r\n\r\nsetinformWithPlainTextSelectedValues() {\r\n if (this.selectinformWithPlainTextFormControl.value && this.selectinformWithPlainTextFormControl.value.length > 0) {\r\n this.selectinformWithPlainTextFormControl.value.forEach((e) => {\r\n if (this.selectedinformWithPlainTextValues.indexOf(e) == -1) { this.selectedinformWithPlainTextValues.push(e); }\r\n });\r\n }\r\n}\r\nsetExistingInformWithPlainTextAsSelected(){\r\n if (this.informWithPlainTextLst && this.informWithPlainTextLst.length > 0) {\r\n this.informWithPlainTextLst.forEach((e) => {\r\n if(e.isChecked == true){\r\n if (this.selectedinformWithPlainTextValues.indexOf(e) == -1) {\r\n this.selectedinformWithPlainTextValues.push(e);\r\n }\r\n } \r\n });\r\n }\r\n\r\n}\r\n\r\ngetSelectedinformWithPlainText(){\r\n const selectedOptions= this.selectinformWithPlainTextFormControl.value;\r\n if(!selectedOptions || selectedOptions.length ==0){return '';}\r\n return selectedOptions.map(option=>option.refText).join(', ');\r\n}\r\nprivate informWithDesignationFilter(name: string) {\r\n const filterValue = name.toLowerCase();\r\n // Set selected values to retain the selected checkbox state \r\n this.setinformWithDesignationSelectedValues();\r\n this.selectinformWithDesignationFormControl.patchValue(this.selectedinformWithDesignationValues);\r\n let filteredList = this.informWithDesignationLst.filter(option => option.refText.toLowerCase().includes(filterValue.toLowerCase()));\r\n return filteredList;\r\n}\r\n\r\ninformWithDesignationSelectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedinformWithDesignationValues.indexOf(event.source.value.refText);\r\n this.selectedinformWithDesignationValues.splice(index, 1)\r\n }\r\n}\r\nopenedinformWithDesignationChange(e) {\r\n // Set search textbox value as empty while opening selectbox \r\n this.searchinformWithDesignationTextboxControl.patchValue('');\r\n // Focus to search textbox while clicking on selectbox\r\n if (e == true) { this.searchinformWithDesignationTextBox.nativeElement.focus();\r\n }\r\n}\r\n\r\nclearinformWithDesignationSearch(event) {\r\n event.stopPropagation(); this.searchinformWithDesignationTextboxControl.patchValue('');\r\n}\r\n\r\nsetinformWithDesignationSelectedValues() {\r\n if (this.selectinformWithDesignationFormControl.value && this.selectinformWithDesignationFormControl.value.length > 0) {\r\n this.selectinformWithDesignationFormControl.value.forEach((e) => {\r\n if (this.selectedinformWithDesignationValues.indexOf(e) == -1) { this.selectedinformWithDesignationValues.push(e); }\r\n });\r\n }\r\n}\r\nsetExistingInformWithDesignationAsSelected(){\r\n if (this.informWithDesignationLst && this.informWithDesignationLst.length > 0) {\r\n this.informWithDesignationLst.forEach((e) => {\r\n if(e.isChecked == true){\r\n if (this.selectedinformWithDesignationValues.indexOf(e) == -1) {\r\n this.selectedinformWithDesignationValues.push(e);\r\n }\r\n } \r\n });\r\n }\r\n\r\n}\r\ngetSelectedinformWithDesignation(){\r\n const selectedOptions= this.selectinformWithDesignationFormControl.value;\r\n if(!selectedOptions || selectedOptions.length ==0){return '';}\r\n return selectedOptions.map(option=>option.refText).join(', ');\r\n}\r\nclose()\r\n{\r\n this.dialogRef.close();\r\n}\r\nresetForm(){\r\n if (this.sourceOfActivityLst && this.sourceOfActivityLst.length > 0) {\r\n this.sourceOfActivityLst.forEach((e) => {\r\n if(e.isChecked== true){\r\n if (this.existingSourceOfActivity.indexOf(e) == -1) {\r\n this.existingSourceOfActivity.push(e.id);\r\n }\r\n }\r\n });\r\n }\r\n this.selectedSourceOfActivityControl.patchValue(this.existingSourceOfActivity[0]);\r\n}\r\nSubmit(){\r\n if(this.selectedSrNumberOfActivityControl.value == undefined){\r\n this.activityDataMapping.ShowSnackBar(\"Please Select Sr Number for Activity\",'rd-snackbar');\r\n return;\r\n }\r\n\r\n if(this.selectedSourceOfActivityControl.value == undefined){\r\n this.activityDataMapping.ShowSnackBar(\"Please Select Source Of Activity\",'rd-snackbar');\r\n return;\r\n }\r\n if(this.selectedCatBatReferenceControl.value ==undefined){\r\n this.activityDataMapping.ShowSnackBar(\"Please Select CAT/BAT Reference\",'rd-snackbar');\r\n return;\r\n }\r\n if(this.selectedToolControl.value ==undefined){\r\n this.activityDataMapping.ShowSnackBar(\"Please Select Tool / System / Portal\",'rd-snackbar');\r\n return;\r\n }\r\n if(this.selectedApplicableToBusinessControl.value ==undefined){\r\n this.activityDataMapping.ShowSnackBar(\"Please Select Applicable to business\",'rd-snackbar');\r\n return;\r\n }\r\n if(this.selectedActivityFormingPartControl.value ==undefined){\r\n this.activityDataMapping.ShowSnackBar(\"Please Select Activity forming part of LAT?\",'rd-snackbar');\r\n return;\r\n }\r\n if(this.selectCPReferenceFormControl.value ==\"\"){\r\n this.activityDataMapping.ShowSnackBar(\"Please Select CP Reference\",'rd-snackbar');\r\n return;\r\n }\r\n if(this.selectMIReferenceFormControl.value ==\"\"){\r\n this.activityDataMapping.ShowSnackBar(\"Please Select MI Reference\",'rd-snackbar');\r\n return;\r\n }\r\n if(this.selectBRReferenceFormControl.value ==\"\"){\r\n this.activityDataMapping.ShowSnackBar(\"Please Select BR Reference\",'rd-snackbar');\r\n return;\r\n }\r\n if( (this.remarkText.value==\"

\" || this.remarkText.value.trim()==\"\") ){\r\n this.activityDataMapping.ShowSnackBar(\"Please enter valid Remark\",'red-snackbar');\r\n return;\r\n }\r\n\r\n\r\n/* if(this.selectremarkWithLinksFormControl.value ==\"\" && this.selectremarkWithPlainTextFormControl.value ==\"\"){\r\n this.activityDataMapping.ShowSnackBar(\"Please Select Either Remark(Links) or Remarks(PlainText)\",'rd-snackbar');\r\n return;\r\n } */\r\n if(this.selectresponsibleWithLinksFormControl.value ==\"\" && this.selectresponsibleWithPlainTextFormControl.value ==\"\" && this.selectresponsibleWithDesignationFormControl.value ==\"\"){\r\n this.activityDataMapping.ShowSnackBar(\"Please Select Either Responsible(Links) or Responsible(PlainText) or Responsible(Designation)\",'rd-snackbar');\r\n return;\r\n }\r\n if(this.selectaccountableWithLinksFormControl.value ==\"\" && this.selectaccountableWithPlainTextFormControl.value ==\"\" && this.selectaccountableWithDesignationFormControl.value ==\"\"){\r\n this.activityDataMapping.ShowSnackBar(\"Please Select Either Accountable(Links) or Accountable(PlainText) or Accountable(Designation)\",'rd-snackbar');\r\n return;\r\n }\r\n if(this.selectconsultWithLinksFormControl.value ==\"\" && this.selectconsultWithPlainTextFormControl.value ==\"\" && this.selectconsultWithDesignationFormControl.value ==\"\"){\r\n this.activityDataMapping.ShowSnackBar(\"Please Select Either Consult(Links) or Consult(PlainText) or Consult(Designation)\",'rd-snackbar');\r\n return;\r\n }\r\n if(this.selectinformWithLinksFormControl.value ==\"\" && this.selectinformWithPlainTextFormControl.value ==\"\" && this.selectinformWithDesignationFormControl.value ==\"\"){\r\n this.activityDataMapping.ShowSnackBar(\"Please Select Either Inform(Links) or Inform(PlainText) or Inform(Designation)\",'rd-snackbar');\r\n return;\r\n }\r\n \r\n var busID=this.businessUnitId.toString()\r\n var activityID=this.activityId.toString()\r\n var sourceOfActivityID=\"0\"\r\n var CATBATReferenceID=\"0\"\r\n var ToolSystemPortalID=\"0\"\r\n var applicableToBusinessID=\"0\"\r\n var activityFormingPartID=\"0\";\r\n var CPReferenceIDs=\"0\";\r\n var MIReferenceIDs=\"0\";\r\n var BRReferenceIDs=\"0\";\r\n var remarksWithLinksIDs=\"0\";\r\n var remarksWithPlainTextIDs=\"0\";\r\n var responsibleWithLinksIDs=\"0\";\r\n var responsibleWithPlainTextIDs=\"0\";\r\n var responsibleWithDesignationIDs=\"0\";\r\n var accountableWithLinksIDs=\"0\";\r\n var accountableWithPlainTextIDs=\"0\";\r\n var accountableWithDesignationIDs=\"0\";\r\n var consultWithLinksIDs=\"0\";\r\n var consultWithPlainTextIDs=\"0\";\r\n var consultWithDesignationIDs=\"0\";\r\n var informWithLinksIDs=\"0\";\r\n var informWithPlainTextIDs=\"0\";\r\n var informWithDesignationIDs=\"0\";\r\n var MappingValues=[];\r\n var Remark=\"\";\r\n\r\n\r\n if(this.selectedSourceOfActivityControl.value !=\"\"){\r\n sourceOfActivityID= this.selectedSourceOfActivityControl.value;\r\n MappingValues.push(sourceOfActivityID);\r\n }\r\n if(this.selectedCatBatReferenceControl.value !=\"\"){\r\n CATBATReferenceID= this.selectedCatBatReferenceControl.value;\r\n MappingValues.push(CATBATReferenceID);\r\n }\r\n if(this.selectedToolControl.value !=\"\"){\r\n ToolSystemPortalID= this.selectedToolControl.value;\r\n MappingValues.push(ToolSystemPortalID);\r\n }\r\n if(this.selectedApplicableToBusinessControl.value !=\"\"){\r\n applicableToBusinessID= this.selectedApplicableToBusinessControl.value;\r\n MappingValues.push(applicableToBusinessID);\r\n }\r\n if(this.selectedActivityFormingPartControl.value !=\"\"){\r\n activityFormingPartID= this.selectedActivityFormingPartControl.value;\r\n MappingValues.push(activityFormingPartID);\r\n }\r\n if(this.selectCPReferenceFormControl.value !=\"\"){\r\n CPReferenceIDs= this.selectCPReferenceFormControl.value.map(option=>option.id).join(', ')\r\n MappingValues.push(CPReferenceIDs);\r\n }\r\n if(this.selectMIReferenceFormControl.value !=\"\"){\r\n MIReferenceIDs= this.selectMIReferenceFormControl.value.map(option=>option.id).join(', ')\r\n MappingValues.push(MIReferenceIDs);\r\n }\r\n if(this.selectBRReferenceFormControl.value !=\"\"){\r\n BRReferenceIDs= this.selectBRReferenceFormControl.value.map(option=>option.id).join(', ')\r\n MappingValues.push(BRReferenceIDs);\r\n }\r\n /* if(this.selectremarkWithLinksFormControl.value !=\"\"){\r\n remarksWithLinksIDs= this.selectremarkWithLinksFormControl.value.map(option=>option.id).join(', ')\r\n MappingValues.push(remarksWithLinksIDs);\r\n }\r\n if(this.selectremarkWithPlainTextFormControl.value !=\"\"){\r\n remarksWithPlainTextIDs= this.selectremarkWithPlainTextFormControl.value.map(option=>option.id).join(', ')\r\n MappingValues.push(remarksWithPlainTextIDs);\r\n } */\r\n if(this.remarkText.value !=\"

\" && this.remarkText.value !=\"\")\r\n {\r\n MappingValues.push(this.remarkId.value);\r\n\r\n }\r\n\r\n\r\n if(this.selectresponsibleWithLinksFormControl.value !=\"\"){\r\n responsibleWithLinksIDs= this.selectresponsibleWithLinksFormControl.value.map(option=>option.id).join(', ')\r\n MappingValues.push(responsibleWithLinksIDs);\r\n }\r\n if(this.selectresponsibleWithPlainTextFormControl.value !=\"\"){\r\n responsibleWithPlainTextIDs= this.selectresponsibleWithPlainTextFormControl.value.map(option=>option.id).join(', ')\r\n MappingValues.push(responsibleWithPlainTextIDs);\r\n }\r\n if(this.selectresponsibleWithDesignationFormControl.value !=\"\"){\r\n responsibleWithDesignationIDs= this.selectresponsibleWithDesignationFormControl.value.map(option=>option.id).join(', ')\r\n MappingValues.push(responsibleWithDesignationIDs);\r\n }\r\n if(this.selectaccountableWithLinksFormControl.value !=\"\"){\r\n accountableWithLinksIDs= this.selectaccountableWithLinksFormControl.value.map(option=>option.id).join(', ')\r\n MappingValues.push(accountableWithLinksIDs);\r\n }\r\n if(this.selectaccountableWithPlainTextFormControl.value !=\"\"){\r\n accountableWithPlainTextIDs= this.selectaccountableWithPlainTextFormControl.value.map(option=>option.id).join(', ')\r\n MappingValues.push(accountableWithPlainTextIDs);\r\n }\r\n if(this.selectaccountableWithDesignationFormControl.value !=\"\"){\r\n accountableWithDesignationIDs= this.selectaccountableWithDesignationFormControl.value.map(option=>option.id).join(', ')\r\n MappingValues.push(accountableWithDesignationIDs);\r\n }\r\n if(this.selectconsultWithLinksFormControl.value !=\"\"){\r\n consultWithLinksIDs= this.selectconsultWithLinksFormControl.value.map(option=>option.id).join(', ')\r\n MappingValues.push(consultWithLinksIDs);\r\n }\r\n if(this.selectconsultWithPlainTextFormControl.value !=\"\"){\r\n consultWithPlainTextIDs= this.selectconsultWithPlainTextFormControl.value.map(option=>option.id).join(', ')\r\n MappingValues.push(consultWithPlainTextIDs);\r\n }\r\n if(this.selectconsultWithDesignationFormControl.value !=\"\"){\r\n consultWithDesignationIDs= this.selectconsultWithDesignationFormControl.value.map(option=>option.id).join(', ')\r\n MappingValues.push(consultWithDesignationIDs);\r\n }\r\n if(this.selectinformWithLinksFormControl.value !=\"\"){\r\n informWithLinksIDs= this.selectinformWithLinksFormControl.value.map(option=>option.id).join(', ')\r\n MappingValues.push(informWithLinksIDs);\r\n }\r\n if(this.selectinformWithPlainTextFormControl.value !=\"\"){\r\n informWithPlainTextIDs= this.selectinformWithPlainTextFormControl.value.map(option=>option.id).join(', ')\r\n MappingValues.push(informWithPlainTextIDs);\r\n }\r\n if(this.selectinformWithDesignationFormControl.value !=\"\"){\r\n informWithDesignationIDs= this.selectinformWithDesignationFormControl.value.map(option=>option.id).join(', ')\r\n MappingValues.push(informWithDesignationIDs);\r\n }\r\n //const activityMappingData = { busID: busID, activityID: activityID, MappingValues: MappingValues.join(\",\")};\r\n \r\n this.loadGrid(MappingValues);\r\n/* this.activityDataMapping.saveActivityTransactionData(activityMappingData).subscribe((data: any)=>{\r\n if(data !=\"\"){\r\n this.activityDataMapping.ShowSnackBar(\"Data Submitted Successfully\",'red-snackbar'); \r\n this.loadGrid();\r\n \r\n }\r\n }); */\r\n }\r\n}\r\n","\r\n
\r\n
\r\n Data Mapping for Business Area:{{businessName}}; Activity: {{activityName}}\r\n
\r\n \r\n
\r\n close\r\n
\r\n\r\n\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n Serial Number\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {{srNumber.refText}}\r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n Source Of Activity\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {{sourceOfActivity.refText}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n CAT/ BAT reference\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n {{catBatReference.refText}}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n Tool / System / Portal\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {{tool.refText}}\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n\r\n \r\n \r\n \r\n Applicable to business\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {{applicableToBusiness.refText}}\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n Activity forming part of LAT?\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n {{activityFormingPartOfLat.refText}}\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n CPReference\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {{getSelectedCPReference()}}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
No results found!
\r\n
\r\n \r\n {{CPReference.refText}}\r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n \r\n \r\n \r\n \r\n MIReference\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {{getSelectedMIReference()}}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
No results found!
\r\n
\r\n \r\n {{MIReference.refText}}\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n \r\n \r\n \r\n \r\n BR Reference\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n {{getSelectedBRReference()}}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
No results found!
\r\n
\r\n \r\n {{BRReference.refText}}\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n \r\n\r\n\r\n \r\n \r\n \r\n Responsible\r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n \r\n Select Responsible(Links)\r\n \r\n \r\n {{getSelectedresponsibleWithLinks()}}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
No results found!
\r\n
\r\n \r\n {{responsibleWithLinks.refText}}\r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n Select Responsible(Plain Text)\r\n \r\n \r\n {{getSelectedresponsibleWithPlainText()}}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
No results found!
\r\n
\r\n \r\n {{responsibleWithPlainText.refText}}\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n Select Responsible(Designation)\r\n \r\n \r\n {{getSelectedresponsibleWithDesignation()}}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
No results found!
\r\n
\r\n \r\n {{responsibleWithDesignation.refText}}\r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n Accountable\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n
\r\n\r\n \r\n Select Accountable(Links)\r\n \r\n \r\n {{getSelectedaccountableWithLinks()}}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
No results found!
\r\n
\r\n \r\n {{accountableWithLinks.refText}}\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n Select Accountable(Plain Text)\r\n \r\n \r\n {{getSelectedaccountableWithPlainText()}}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
No results found!
\r\n
\r\n \r\n {{accountableWithPlainText.refText}}\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n Select Accountable(Designation)\r\n \r\n \r\n {{getSelectedaccountableWithDesignation()}}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
No results found!
\r\n
\r\n \r\n {{accountableWithDesignation.refText}}\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n \r\n \r\n \r\n Consult\r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n \r\n Select Consult(Links)\r\n \r\n \r\n {{getSelectedconsultWithLinks()}}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
No results found!
\r\n
\r\n \r\n {{consultWithLinks.refText}}\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n Select Consult(Plain Text)\r\n \r\n \r\n {{getSelectedconsultWithPlainText()}}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
No results found!
\r\n
\r\n \r\n {{consultWithPlainText.refText}}\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n Select Consult(Designation)\r\n \r\n \r\n {{getSelectedconsultWithDesignation()}}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
No results found!
\r\n
\r\n \r\n {{consultWithDesignation.refText}}\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n \r\n \r\n \r\n \r\n Inform\r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n
\r\n \r\n Select Inform(Links)\r\n \r\n \r\n {{getSelectedinformWithLinks()}}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
No results found!
\r\n
\r\n \r\n {{informWithLinks.refText}}\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n Select Inform(Plain Text)\r\n \r\n \r\n {{getSelectedinformWithPlainText()}}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
No results found!
\r\n
\r\n \r\n {{informWithPlainText.refText}}\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n Select Inform(Designation)\r\n \r\n \r\n {{getSelectedinformWithDesignation()}}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
No results found!
\r\n
\r\n \r\n {{informWithDesignation.refText}}\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n \r\n \r\n \r\n \r\n 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\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n

\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n
Id \r\n {{element.activityId}} Source of Activity {{element.sourceOfActivity}} CAT/ BAT Reference \r\n {{element.catBatReference}} CP Reference \r\n MI Reference \r\n BR Reference Tool/System/Portal \r\n {{element.tool}} Applicable to business \r\n {{element.applicableToBusiness}} Activity \r\n {{element.activity}} Responsible \r\n Accountable \r\n Consult \r\n Inform \r\n Remark \r\n Activity forming part of LAT? \r\n {{element.activityFormingPartOfLat}} BusinessArea \r\n {{element.businessArea}}
Please select the filter for data.
\r\n
\r\n \r\n
\r\n\r\n
","import { Component, OnInit,Inject } from '@angular/core';\r\nimport { ActivityDataMappingService } from 'src/app/Services/activitydatamapping.service';\r\nimport { AbstractControl, FormArray, FormBuilder, FormControl, FormGroup, Validators, ValidatorFn } from '@angular/forms';\r\nimport { MatTable, MatTableDataSource } from '@angular/material/table';\r\nimport { MatPaginator } from \"@angular/material/paginator\";\r\nimport { MatSort } from \"@angular/material/sort\";\r\nimport { ViewChild,ElementRef, HostListener } from \"@angular/core\";\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { Observable, of } from \"rxjs\";\r\nimport { map, startWith } from \"rxjs/operators\";\r\nimport { SearchService } from \"src/app/Services/search.service\";\r\n/* import { ActivatedRoute } from '@angular/router'; */\r\nimport {MatAccordion, MatExpansionModule} from '@angular/material/expansion';\r\nimport { HistoryService } from 'src/app/Services/history.service';\r\nimport { Editor, Toolbar, toDoc } from 'ngx-editor';\r\nimport { th } from 'date-fns/locale';\r\n\r\nexport class ActivityDetails {\r\n ActivityId : number;\r\n SourceOfActivity: string;\r\n CatBatReference: number;\r\n CPReference: JSON;\r\n MIReference: JSON;\r\n BRReference: JSON;\r\n Tool: string;\r\n ApplicableToBusiness: string;\r\n Activity: string;\r\n Responsible: JSON;\r\n accountable: JSON; \r\n Consult: JSON;\r\n Inform: JSON;\r\n Remark: JSON;\r\n ActivityFormingPartOfLat: string;\r\n BusinessArea: string;\r\n BgColor:string;\r\n FontColor:string;\r\n FontWeight:string;\r\n}\r\nexport interface SrNumber{\r\n id:number;\r\n refText: string;\r\n isChecked: boolean;\r\n}\r\nexport interface SourceOfActivity{\r\n id:number;\r\n refText: string;\r\n isChecked: boolean;\r\n}\r\n\r\nexport interface CatBatReference{\r\n id:number;\r\n refText: string;\r\n isChecked: boolean;\r\n}\r\nexport interface Tool{\r\n id:number;\r\n refText: string;\r\n isChecked: boolean;\r\n}\r\nexport interface ApplicableToBusiness{\r\n id:number;\r\n refText: string;\r\n isChecked: boolean;\r\n}\r\nexport interface ActivityFormingPartOfLat{\r\n id:number;\r\n refText: string;\r\n isChecked: boolean;\r\n}\r\nexport interface CPReference{\r\n id:number;\r\n refText: string;\r\n refLink: string;\r\n isChecked: boolean;\r\n}\r\nexport interface MIReference{\r\n id:number;\r\n refText: string;\r\n refLink: string;\r\n isChecked: boolean;\r\n}\r\nexport interface BRReference{\r\n id:number;\r\n refText: string;\r\n refLink: string;\r\n isChecked: boolean;\r\n}\r\nexport interface Remark{\r\n id:number;\r\n refText: string;\r\n refLink: string;\r\n isChecked: boolean;\r\n}\r\nexport interface Responsible{\r\n id:number;\r\n refText: string;\r\n refLink: string;\r\n isChecked: boolean;\r\n}\r\nexport interface Accountable{\r\n id:number;\r\n refText: string;\r\n refLink: string;\r\n isChecked: boolean;\r\n}\r\nexport interface Consult{\r\n id:number;\r\n refText: string;\r\n refLink: string;\r\n isChecked: boolean;\r\n}\r\nexport interface Inform{\r\n id:number;\r\n refText: string;\r\n refLink: string;\r\n isChecked: boolean;\r\n}\r\n@Component({\r\n selector: 'app-activity-data-mapping',\r\n templateUrl: './activity-data-mapping.component.html',\r\n styleUrls: ['./activity-data-mapping.component.scss']\r\n})\r\nexport class ActivityDataMappingComponent implements OnInit {\r\n @ViewChild(MatAccordion) accordion: MatAccordion;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort,{static:true}) sort: MatSort;\r\n dataSource1 : MatTableDataSource;\r\n displayedColumns: string[] = ['CatBatReference','CPReference','MIReference','Tool','ApplicableToBusiness','Activity','Responsible', 'Accountable' , 'Consult', 'Inform','Remark','ActivityFormingPartOfLat','BusinessArea'];\r\n formInstance: FormGroup;\r\n businessUnitId: number;\r\n activityId: number;\r\n businessName:string;\r\n activityName:string;\r\n\r\n SrNumberList:SrNumber[]=[]\r\n sourceOfActivityLst: SourceOfActivity[]=[];\r\n catBatReferenceLst: CatBatReference[]=[];\r\n toolLst: Tool[]=[];\r\n applicableToBusinessLst: ApplicableToBusiness[]=[];\r\n activityFormingPartOfLatLst: ActivityFormingPartOfLat[]=[];\r\n CPReferenceLst: CPReference[]=[];\r\n MIReferenceLst:MIReference[]=[];\r\n BRReferenceLst: BRReference[]=[];\r\n remarkWithLinksLst: Remark[]=[];\r\n remarkWithPlainTextLst: Remark[]=[];\r\n responsibleWithLinksLst: Responsible[]=[];\r\n responsibleWithPlainTextLst: Responsible[]=[];\r\n responsibleWithDesignationLst: Responsible[]=[];\r\n accountableWithLinksLst: Accountable[]=[];\r\n accountableWithPlainTextLst: Accountable[]=[];\r\n accountableWithDesignationLst: Accountable[]=[];\r\n consultWithLinksLst: Consult[]=[];\r\n consultWithPlainTextLst: Consult[]=[];\r\n consultWithDesignationLst: Consult[]=[];\r\n informWithLinksLst: Inform[]=[];\r\n informWithPlainTextLst: Inform[]=[];\r\n informWithDesignationLst: Inform[]=[];\r\n \r\n DisplayText:string;\r\n selectedSrNumberOfActivityControl = new FormControl();\r\n selectedSourceOfActivityControl = new FormControl();\r\n selectedCatBatReferenceControl = new FormControl();\r\n selectedToolControl = new FormControl();\r\n selectedApplicableToBusinessControl = new FormControl();\r\n selectedActivityFormingPartControl = new FormControl();\r\n\r\n existingSrNumberOfActivity = [];\r\n existingSourceOfActivity = [];\r\n existingCatBatReference = [];\r\n existingTool = [];\r\n existingApplicableToBusiness = [];\r\n existingActivityFormingPart = [];\r\n\r\n @ViewChild('searchCPReference') searchCPReferenceTextBox: ElementRef;\r\n selectCPReferenceFormControl = new FormControl();\r\n searchCPReferenceTextboxControl = new FormControl();\r\n selectedCPReferenceValues = [];\r\n CPReferenceFilteredOptions: Observable= of(this.CPReferenceLst);\r\n selectedCPReferenceValue= new FormControl([]);\r\n\r\n @ViewChild('searchMIReference') searchMIReferenceTextBox: ElementRef;\r\n selectMIReferenceFormControl = new FormControl();\r\n searchMIReferenceTextboxControl = new FormControl();\r\n selectedMIReferenceValues = [];\r\n MIReferenceFilteredOptions: Observable= of(this.MIReferenceLst);\r\n selectedMIReferenceValue= new FormControl([]);\r\n\r\n @ViewChild('searchBRReference') searchBRReferenceTextBox: ElementRef;\r\n selectBRReferenceFormControl = new FormControl();\r\n searchBRReferenceTextboxControl = new FormControl();\r\n selectedBRReferenceValues = [];\r\n BRReferenceFilteredOptions: Observable= of(this.BRReferenceLst);\r\n selectedBRReferenceValue= new FormControl([]);\r\n\r\n @ViewChild('searchremarkWithLinks') searchremarkWithLinksTextBox: ElementRef;\r\n selectremarkWithLinksFormControl = new FormControl();\r\n searchremarkWithLinksTextboxControl = new FormControl();\r\n selectedremarkWithLinksValues = [];\r\n remarkWithLinksFilteredOptions: Observable= of(this.remarkWithLinksLst);\r\n selectedremarkWithLinksValue= new FormControl([]);\r\n\r\n @ViewChild('searchremarkWithPlainText') searchremarkWithPlainTextTextBox: ElementRef;\r\n selectremarkWithPlainTextFormControl = new FormControl();\r\n searchremarkWithPlainTextTextboxControl = new FormControl();\r\n selectedremarkWithPlainTextValues = [];\r\n remarkWithPlainTextFilteredOptions: Observable= of(this.remarkWithPlainTextLst);\r\n selectedremarkWithPlainTextValue= new FormControl([]);\r\n\r\n @ViewChild('searchresponsibleWithLinks') searchresponsibleWithLinksTextBox: ElementRef;\r\n selectresponsibleWithLinksFormControl = new FormControl();\r\n searchresponsibleWithLinksTextboxControl = new FormControl();\r\n selectedresponsibleWithLinksValues = [];\r\n responsibleWithLinksFilteredOptions: Observable= of(this.responsibleWithLinksLst);\r\n selectedresponsibleWithLinksValue= new FormControl([]);\r\n\r\n @ViewChild('searchresponsibleWithPlainText') searchresponsibleWithPlainTextTextBox: ElementRef;\r\n selectresponsibleWithPlainTextFormControl = new FormControl();\r\n searchresponsibleWithPlainTextTextboxControl = new FormControl();\r\n selectedresponsibleWithPlainTextValues = [];\r\n responsibleWithPlainTextFilteredOptions: Observable= of(this.responsibleWithPlainTextLst);\r\n selectedresponsibleWithPlainTextValue= new FormControl([]);\r\n\r\n @ViewChild('searchresponsibleWithDesignation') searchresponsibleWithDesignationTextBox: ElementRef;\r\n selectresponsibleWithDesignationFormControl = new FormControl();\r\n searchresponsibleWithDesignationTextboxControl = new FormControl();\r\n selectedresponsibleWithDesignationValues = [];\r\n responsibleWithDesignationFilteredOptions: Observable= of(this.responsibleWithDesignationLst);\r\n selectedresponsibleWithDesignationValue= new FormControl([]);\r\n\r\n @ViewChild('searchaccountableWithLinks') searchaccountableWithLinksTextBox: ElementRef;\r\n selectaccountableWithLinksFormControl = new FormControl();\r\n searchaccountableWithLinksTextboxControl = new FormControl();\r\n selectedaccountableWithLinksValues = [];\r\n accountableWithLinksFilteredOptions: Observable= of(this.accountableWithLinksLst);\r\n selectedaccountableWithLinksValue= new FormControl([]);\r\n\r\n @ViewChild('searchaccountableWithPlainText') searchaccountableWithPlainTextTextBox: ElementRef;\r\n selectaccountableWithPlainTextFormControl = new FormControl();\r\n searchaccountableWithPlainTextTextboxControl = new FormControl();\r\n selectedaccountableWithPlainTextValues = [];\r\n accountableWithPlainTextFilteredOptions: Observable= of(this.accountableWithPlainTextLst);\r\n selectedaccountableWithPlainTextValue= new FormControl([]);\r\n\r\n @ViewChild('searchaccountableWithDesignation') searchaccountableWithDesignationTextBox: ElementRef;\r\n selectaccountableWithDesignationFormControl = new FormControl();\r\n searchaccountableWithDesignationTextboxControl = new FormControl();\r\n selectedaccountableWithDesignationValues = [];\r\n accountableWithDesignationFilteredOptions: Observable= of(this.accountableWithDesignationLst);\r\n selectedaccountableWithDesignationValue= new FormControl([]);\r\n\r\n @ViewChild('searchconsultWithLinks') searchconsultWithLinksTextBox: ElementRef;\r\n selectconsultWithLinksFormControl = new FormControl();\r\n searchconsultWithLinksTextboxControl = new FormControl();\r\n selectedconsultWithLinksValues = [];\r\n consultWithLinksFilteredOptions: Observable= of(this.consultWithLinksLst);\r\n selectedconsultWithLinksValue= new FormControl([]);\r\n\r\n @ViewChild('searchconsultWithPlainText') searchconsultWithPlainTextTextBox: ElementRef;\r\n selectconsultWithPlainTextFormControl = new FormControl();\r\n searchconsultWithPlainTextTextboxControl = new FormControl();\r\n selectedconsultWithPlainTextValues = [];\r\n consultWithPlainTextFilteredOptions: Observable= of(this.consultWithPlainTextLst);\r\n selectedconsultWithPlainTextValue= new FormControl([]);\r\n\r\n @ViewChild('searchconsultWithDesignation') searchconsultWithDesignationTextBox: ElementRef;\r\n selectconsultWithDesignationFormControl = new FormControl();\r\n searchconsultWithDesignationTextboxControl = new FormControl();\r\n selectedconsultWithDesignationValues = [];\r\n consultWithDesignationFilteredOptions: Observable= of(this.consultWithDesignationLst);\r\n selectedconsultWithDesignationValue= new FormControl([]);\r\n\r\n @ViewChild('searchinformWithLinks') searchinformWithLinksTextBox: ElementRef;\r\n selectinformWithLinksFormControl = new FormControl();\r\n searchinformWithLinksTextboxControl = new FormControl();\r\n selectedinformWithLinksValues = [];\r\n informWithLinksFilteredOptions: Observable= of(this.informWithLinksLst);\r\n selectedinformWithLinksValue= new FormControl([]);\r\n\r\n @ViewChild('searchinformWithPlainText') searchinformWithPlainTextTextBox: ElementRef;\r\n selectinformWithPlainTextFormControl = new FormControl();\r\n searchinformWithPlainTextTextboxControl = new FormControl();\r\n selectedinformWithPlainTextValues = [];\r\n informWithPlainTextFilteredOptions: Observable= of(this.informWithPlainTextLst);\r\n selectedinformWithPlainTextValue= new FormControl([]);\r\n\r\n @ViewChild('searchinformWithDesignation') searchinformWithDesignationTextBox: ElementRef;\r\n selectinformWithDesignationFormControl = new FormControl();\r\n searchinformWithDesignationTextboxControl = new FormControl();\r\n selectedinformWithDesignationValues = [];\r\n informWithDesignationFilteredOptions: Observable= of(this.informWithDesignationLst);\r\n selectedinformWithDesignationValue= new FormControl([]);\r\n\r\n\r\n remarkText = new FormControl();\r\n remarkId= new FormControl();\r\n/* private route: ActivatedRoute, */\r\n\r\n constructor(private activityDataMapping: ActivityDataMappingService,private search: SearchService\r\n , @Inject(MAT_DIALOG_DATA) public data: any ,public dialogRef: MatDialogRef\r\n ,private historyServ: HistoryService) {\r\n\r\n\r\n \r\n }\r\n\r\n toolbar: Toolbar = [\r\n ['bold', 'italic'],\r\n ['underline'],\r\n ['ordered_list', 'bullet_list','link']\r\n ];\r\n topicEditor: Editor;\r\n remarksEditor: Editor;\r\n \r\n\r\n ngOnInit(): void {\r\n\r\n this.topicEditor = new Editor();\r\n this.remarksEditor = new Editor();\r\n\r\nthis.remarkText.setValue('')\r\nthis.remarkId.setValue('')\r\n console.log(this.data);\r\n this.businessUnitId=this.data.businessUnit;\r\n this.activityId=this.data.activityIDs;\r\n this.businessName=this.data.businessName;\r\n this.activityName=this.data.activityName;\r\n \r\n /* this.route.params.subscribe(params => {\r\n let param1 = params['buid'];\r\n let param2 = params['id'];\r\n console.log('Received parameters:', param1, param2);\r\n }); */\r\n /* this.businessUnitId=2;\r\n this.activityId=382; */\r\n this.loadGrid(\"0\");\r\n this.getSrNumberForActivity();\r\n this.getremark();\r\n this.getAllData();\r\n }\r\n loadGrid(MappingValues){\r\n \r\n var busIDs=\"0\"\r\n var divIDs=\"0\"\r\n var designationIDs=\"0\"\r\n var activityIDs=\"0\"\r\n var dataList=\"0\"\r\n var Remark=this.remarkText.value\r\n var emailId = sessionStorage.getItem('LoginEmail');\r\n var srNo= \"1\";\r\n\r\n if(this.selectedSrNumberOfActivityControl.value!=\"\" && this.selectedSrNumberOfActivityControl.value!=null)\r\n srNo= this.selectedSrNumberOfActivityControl.value.toString();\r\n\r\n if (MappingValues!=0)\r\n dataList=MappingValues.join(\",\");\r\n\r\n const myData = { busIDs: this.businessUnitId.toString(), \r\n divIDs: divIDs, \r\n designationIDs: designationIDs, \r\n activityIDs: this.activityId.toString(),\r\n dataList:dataList,\r\n remark:Remark,\r\n email:emailId,\r\n srNo:srNo };\r\n\r\n this.activityDataMapping.getActivityDetailsForMapping(myData).subscribe((data1: any[])=>{\r\n this.dataSource1= new MatTableDataSource(data1);\r\n this.dataSource1.paginator = this.paginator;\r\n this.dataSource1.sort = this.sort;\r\n if(dataList!=\"0\")\r\n this.activityDataMapping.ShowSnackBar(\"Data Submitted Successfully\",'red-snackbar'); \r\n });\r\n\r\n \r\n\r\n this.businessName=this.data.businessName;\r\n this.activityName=this.data.activityName;\r\n }\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource1.filter = filterValue.trim().toLowerCase();\r\n if (this.dataSource1.paginator) {\r\n this.dataSource1.paginator.firstPage();\r\n }\r\n\r\n }\r\n \r\n addHyperlink(Data: string) {\r\n \r\n const jsonObject = JSON.parse(Data);\r\n var retValText = \"\"; \r\n\r\n var retVal = \"\";\r\n for(var key in jsonObject) { \r\n retValText=jsonObject[key].Text.replace('; ', ';
'); \r\n \r\n }\r\n \r\n return retValText;\r\n }\r\n\r\n getSrNumberForActivity() {\r\n \r\n this.activityDataMapping.getCategoryWithActivityMasterDataAll(this.businessUnitId, this.activityId,'SrNumber',false,false).subscribe((data: any)=>{\r\n this.SrNumberList=data;\r\n this.SrNumberList= this.SrNumberList.filter(item=>item.refText !== null);\r\n if (this.SrNumberList && this.SrNumberList.length > 0) {\r\n this.SrNumberList.forEach((e) => {\r\n if(e.isChecked== true){\r\n if (this.existingSrNumberOfActivity.indexOf(e) == -1) {\r\n this.existingSrNumberOfActivity.push(e.id);\r\n }\r\n }\r\n });\r\n }\r\n this.selectedSrNumberOfActivityControl.patchValue(this.existingSrNumberOfActivity[0]);\r\n })\r\n}\r\n\r\ngetAllData(){\r\n this.activityDataMapping.getCategoryWithActivityMasterDataAll(this.businessUnitId, this.activityId,'test',false,false).subscribe((data: any)=>{\r\n console.log(data);\r\n //Get SourceOfActivity\r\n this.sourceOfActivityLst= data.filter(item=>item.name=='SourceOfActivity' && item.isLink==false && item.isDesignation==false);\r\n this.sourceOfActivityLst= this.sourceOfActivityLst.filter(item=>item.refText !== null);\r\n if (this.sourceOfActivityLst && this.sourceOfActivityLst.length > 0) {\r\n this.sourceOfActivityLst.forEach((e) => {\r\n if(e.isChecked== true){\r\n if (this.existingSourceOfActivity.indexOf(e) == -1) {\r\n this.existingSourceOfActivity.push(e.id);\r\n }\r\n }\r\n });\r\n }\r\n this.selectedSourceOfActivityControl.patchValue(this.existingSourceOfActivity[0]);\r\n //Get CatBatReference\r\n this.catBatReferenceLst=data.filter(item=>item.name=='CatBatReference' && item.isLink==false && item.isDesignation==false);;\r\n this.catBatReferenceLst= this.catBatReferenceLst.filter(item=>item.refText !== null);\r\n if (this.catBatReferenceLst && this.catBatReferenceLst.length > 0) {\r\n this.catBatReferenceLst.forEach((e) => {\r\n if(e.isChecked== true){\r\n if (this.existingCatBatReference.indexOf(e) == -1) {\r\n this.existingCatBatReference.push(e.id);\r\n }\r\n }\r\n });\r\n }\r\n this.selectedCatBatReferenceControl.patchValue(this.existingCatBatReference[0]);\r\n\r\n //Get Tool\r\n this.toolLst=data.filter(item=>item.name=='Tool' && item.isLink==false && item.isDesignation==false);\r\n this.toolLst= this.toolLst.filter(item=>item.refText !== null);\r\n if (this.toolLst && this.toolLst.length > 0) {\r\n this.toolLst.forEach((e) => {\r\n if(e.isChecked== true){\r\n if (this.existingTool.indexOf(e) == -1) {\r\n this.existingTool.push(e.id);\r\n }\r\n }\r\n });\r\n }\r\n this.selectedToolControl.patchValue(this.existingTool[0]);\r\n //Get ApplicableToBusiness\r\n this.applicableToBusinessLst=data.filter(item=>item.name=='ApplicableToBusiness' && item.isLink==false && item.isDesignation==false);;\r\n this.applicableToBusinessLst= this.applicableToBusinessLst.filter(item=>item.refText !== null);\r\n if (this.applicableToBusinessLst && this.applicableToBusinessLst.length > 0) {\r\n this.applicableToBusinessLst.forEach((e) => {\r\n if(e.isChecked== true){\r\n if (this.existingApplicableToBusiness.indexOf(e) == -1) {\r\n this.existingApplicableToBusiness.push(e.id);\r\n }\r\n }\r\n });\r\n }\r\n this.selectedApplicableToBusinessControl.patchValue(this.existingApplicableToBusiness[0]);\r\n //Get ActivityFormingPartOfLat\r\n this.activityFormingPartOfLatLst=data.filter(item=>item.name=='ActivityFormingPartOfLat' && item.isLink==false && item.isDesignation==false);;\r\n this.activityFormingPartOfLatLst= this.activityFormingPartOfLatLst.filter(item=>item.refText !== null);\r\n if (this.activityFormingPartOfLatLst && this.activityFormingPartOfLatLst.length > 0) {\r\n this.activityFormingPartOfLatLst.forEach((e) => {\r\n if(e.isChecked== true){\r\n if (this.existingActivityFormingPart.indexOf(e) == -1) {\r\n this.existingActivityFormingPart.push(e.id);\r\n }\r\n }\r\n });\r\n }\r\n this.selectedActivityFormingPartControl.patchValue(this.existingActivityFormingPart[0]);\r\n\r\n //Get CPReference\r\n this.CPReferenceLst=data.filter(item=>item.name=='CPReference');\r\n this.CPReferenceLst= this.CPReferenceLst.filter(item=>item.refText !== null);\r\n this.setExistingCPReferenceAsSelected();\r\n this.CPReferenceFilteredOptions = this.searchCPReferenceTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.CPReferenceFilter(name))\r\n );\r\n () => console.log('Get all complete'); \r\n \r\n //Get MIReference\r\n\r\n this.MIReferenceLst=data.filter(item=>item.name=='MIReference');\r\n this.MIReferenceLst= this.MIReferenceLst.filter(item=>item.refText !== null);\r\n this.setExistingMIReferenceAsSelected();\r\n this.MIReferenceFilteredOptions = this.searchMIReferenceTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.MIReferenceFilter(name))\r\n );\r\n () => console.log('Get all complete'); \r\n\r\n //Get BRReference \r\n this.BRReferenceLst=data.filter(item=>item.name=='BRReference');\r\n this.BRReferenceLst= this.BRReferenceLst.filter(item=>item.refText !== null);\r\n this.setExistingBRReferenceAsSelected();\r\n this.BRReferenceFilteredOptions = this.searchBRReferenceTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.BRReferenceFilter(name))\r\n );\r\n () => console.log('Get all complete'); \r\n\r\n //Get Responsible With Links\r\n this.responsibleWithLinksLst=data.filter(item=>item.name=='Responsible' && item.isLink==true && item.isDesignation==false);\r\n this.responsibleWithLinksLst= this.responsibleWithLinksLst.filter(item=>item.refText !== null);\r\n this.setExistingResponsibleWithLinksAsSelected();\r\n this.responsibleWithLinksFilteredOptions = this.searchresponsibleWithLinksTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.responsibleWithLinksFilter(name))\r\n );\r\n () => console.log('Get all complete'); \r\n //Get Responsible with Plain Text\r\n this.responsibleWithPlainTextLst=data.filter(item=>item.name=='Responsible' && item.isLink==false && item.isDesignation==false);\r\n this.responsibleWithPlainTextLst= this.responsibleWithPlainTextLst.filter(item=>item.refText !== null);\r\n this.setExistingResponsibleWithPlainTextAsSelected();\r\n this.responsibleWithPlainTextFilteredOptions = this.searchresponsibleWithPlainTextTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.responsibleWithPlainTextFilter(name))\r\n );\r\n () => console.log('Get all complete'); \r\n //Get Responsible with Designation\r\n this.responsibleWithDesignationLst=data.filter(item=>item.name=='Responsible' && item.isLink==false && item.isDesignation==true);\r\n this.responsibleWithDesignationLst= this.responsibleWithDesignationLst.filter(item=>item.refText !== null);\r\n this.setExistingResponsibleWithDesignationAsSelected();\r\n this.responsibleWithDesignationFilteredOptions = this.searchresponsibleWithDesignationTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.responsibleWithDesignationFilter(name))\r\n );\r\n () => console.log('Get all complete'); \r\n\r\n //Get Accountable with Links\r\n this.accountableWithLinksLst=data.filter(item=>item.name=='Accountable' && item.isLink==true && item.isDesignation==false);\r\n this.accountableWithLinksLst= this.accountableWithLinksLst.filter(item=>item.refText !== null);\r\n this.setExistingAccountableWithLinksAsSelected();\r\n this.accountableWithLinksFilteredOptions = this.searchaccountableWithLinksTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.accountableWithLinksFilter(name))\r\n );\r\n () => console.log('Get all complete');\r\n\r\n //Get Accountable with Plain Text\r\n this.accountableWithPlainTextLst=data.filter(item=>item.name=='Accountable' && item.isLink==false && item.isDesignation==false);\r\n this.accountableWithPlainTextLst= this.accountableWithPlainTextLst.filter(item=>item.refText !== null);\r\n this.setExistingAccountableWithPlainTextAsSelected();\r\n this.accountableWithPlainTextFilteredOptions = this.searchaccountableWithPlainTextTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.accountableWithPlainTextFilter(name))\r\n );\r\n () => console.log('Get all complete');\r\n //Get Accountable with Designation\r\n this.accountableWithDesignationLst=data.filter(item=>item.name=='Accountable' && item.isLink==false && item.isDesignation==true);\r\n this.accountableWithDesignationLst= this.accountableWithDesignationLst.filter(item=>item.refText !== null);\r\n this.setExistingAccountableWithDesignationAsSelected();\r\n this.accountableWithDesignationFilteredOptions = this.searchaccountableWithDesignationTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.accountableWithDesignationFilter(name))\r\n );\r\n () => console.log('Get all complete'); \r\n //Get Consult With Links\r\n this.consultWithLinksLst=data.filter(item=>item.name=='Consult' && item.isLink==true && item.isDesignation==false);\r\n this.consultWithLinksLst= this.consultWithLinksLst.filter(item=>item.refText !== null);\r\n this.setExistingConsultWithLinksAsSelected();\r\n this.consultWithLinksFilteredOptions = this.searchconsultWithLinksTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.consultWithLinksFilter(name))\r\n );\r\n () => console.log('Get all complete');\r\n //Get Consult With Plain Text\r\n this.consultWithPlainTextLst=data.filter(item=>item.name=='Consult' && item.isLink==false && item.isDesignation==false);\r\n this.consultWithPlainTextLst= this.consultWithPlainTextLst.filter(item=>item.refText !== null);\r\n this.setExistingConsultWithPlainTextAsSelected();\r\n this.consultWithPlainTextFilteredOptions = this.searchconsultWithPlainTextTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.consultWithPlainTextFilter(name))\r\n );\r\n () => console.log('Get all complete'); \r\n\r\n //Get Consult With Designation\r\n this.consultWithDesignationLst=data.filter(item=>item.name=='Consult' && item.isLink==false && item.isDesignation==true);\r\n this.consultWithDesignationLst= this.consultWithDesignationLst.filter(item=>item.refText !== null);\r\n this.setExistingConsultWithDesignationAsSelected();\r\n this.consultWithDesignationFilteredOptions = this.searchconsultWithDesignationTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.consultWithDesignationFilter(name))\r\n );\r\n () => console.log('Get all complete'); \r\n\r\n //Get Inform With Link\r\n this.informWithLinksLst=data.filter(item=>item.name=='Inform' && item.isLink==true && item.isDesignation==false);\r\n this.informWithLinksLst= this.informWithLinksLst.filter(item=>item.refText !== null);\r\n this.setExistingInformWithLinksAsSelected();\r\n this.informWithLinksFilteredOptions = this.searchinformWithLinksTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.informWithLinksFilter(name))\r\n );\r\n () => console.log('Get all complete');\r\n //Get Inform With Plain Text\r\n this.informWithPlainTextLst=data.filter(item=>item.name=='Inform' && item.isLink==false && item.isDesignation==false);\r\n this.informWithPlainTextLst= this.informWithPlainTextLst.filter(item=>item.refText !== null);\r\n this.setExistingInformWithPlainTextAsSelected();\r\n this.informWithPlainTextFilteredOptions = this.searchinformWithPlainTextTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.informWithPlainTextFilter(name))\r\n );\r\n () => console.log('Get all complete');\r\n //Get Inform with Designation\r\n this.informWithDesignationLst=data.filter(item=>item.name=='Inform' && item.isLink==false && item.isDesignation==true);\r\n this.informWithDesignationLst= this.informWithDesignationLst.filter(item=>item.refText !== null);\r\n this.setExistingInformWithDesignationAsSelected();\r\n this.informWithDesignationFilteredOptions = this.searchinformWithDesignationTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.informWithDesignationFilter(name))\r\n );\r\n () => console.log('Get all complete'); \r\n });\r\n}\r\n \r\n \r\n getremark() {\r\n this.activityDataMapping.getCategoryWithActivityMasterDataAll(this.businessUnitId, this.activityId,'Remark',false,false).subscribe((data: any)=>{\r\n console.debug(data);\r\n // this.remarkWithPlainTextLst=data,\r\n /* this.remarkText= data[0]['refText']; */\r\n if( data.length>0) \r\n {\r\n this.remarkText.setValue(data[0]['refText'])\r\n this.remarkId.setValue(data[0]['id'])\r\n }\r\n else\r\n {\r\n this.remarkText.setValue('')\r\n this.remarkId.setValue(0)\r\n }\r\n \r\n });\r\n }\r\n\r\n private CPReferenceFilter(name: string) {\r\n const filterValue = name.toLowerCase();\r\n // Set selected values to retain the selected checkbox state \r\n this.setCPReferenceSelectedValues();\r\n this.selectCPReferenceFormControl.patchValue(this.selectedCPReferenceValues);\r\n let filteredList = this.CPReferenceLst.filter(option => option.refText.toLowerCase().includes(filterValue.toLowerCase()));\r\n return filteredList;\r\n }\r\n\r\n CPReferenceSelectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedCPReferenceValues.indexOf(event.source.value.refText);\r\n this.selectedCPReferenceValues.splice(index, 1)\r\n }\r\n }\r\n openedCPReferenceChange(e) {\r\n // Set search textbox value as empty while opening selectbox \r\n this.searchCPReferenceTextboxControl.patchValue('');\r\n // Focus to search textbox while clicking on selectbox\r\n if (e == true) {\r\n this.searchCPReferenceTextBox.nativeElement.focus();\r\n }\r\n }\r\n\r\n clearCPReferenceSearch(event) {\r\n event.stopPropagation();\r\n this.searchCPReferenceTextboxControl.patchValue('');\r\n }\r\n\r\n setCPReferenceSelectedValues() {\r\n if (this.selectCPReferenceFormControl.value && this.selectCPReferenceFormControl.value.length > 0) {\r\n this.selectCPReferenceFormControl.value.forEach((e) => {\r\n if (this.selectedCPReferenceValues.indexOf(e) == -1) {\r\n this.selectedCPReferenceValues.push(e);\r\n }\r\n });\r\n }\r\n }\r\n setExistingCPReferenceAsSelected(){\r\n if (this.CPReferenceLst && this.CPReferenceLst.length > 0) {\r\n this.CPReferenceLst.forEach((e) => {\r\n if(e.isChecked == true){\r\n if (this.selectedCPReferenceValues.indexOf(e) == -1) {\r\n this.selectedCPReferenceValues.push(e);\r\n }\r\n } \r\n });\r\n }\r\n }\r\n getSelectedCPReference(){\r\n const selectedOptions= this.selectCPReferenceFormControl.value;\r\n if(!selectedOptions || selectedOptions.length ==0){\r\n return '';\r\n }\r\n return selectedOptions.map(option=>option.refText).join(', ');\r\n }\r\n \r\n private MIReferenceFilter(name: string) {\r\n const filterValue = name.toLowerCase();\r\n // Set selected values to retain the selected checkbox state \r\n this.setMIReferenceSelectedValues();\r\n this.selectMIReferenceFormControl.patchValue(this.selectedMIReferenceValues);\r\n let filteredList = this.MIReferenceLst.filter(option => option.refText.toLowerCase().includes(filterValue.toLowerCase()));\r\n return filteredList;\r\n }\r\n\r\n MIReferenceSelectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedMIReferenceValues.indexOf(event.source.value.refText);\r\n this.selectedMIReferenceValues.splice(index, 1)\r\n }\r\n }\r\n openedMIReferenceChange(e) {\r\n // Set search textbox value as empty while opening selectbox \r\n this.searchMIReferenceTextboxControl.patchValue('');\r\n // Focus to search textbox while clicking on selectbox\r\n if (e == true) {\r\n this.searchMIReferenceTextBox.nativeElement.focus();\r\n }\r\n }\r\n\r\n clearMIReferenceSearch(event) {\r\n event.stopPropagation();\r\n this.searchMIReferenceTextboxControl.patchValue('');\r\n }\r\n\r\n setMIReferenceSelectedValues() {\r\n if (this.selectMIReferenceFormControl.value && this.selectMIReferenceFormControl.value.length > 0) {\r\n this.selectMIReferenceFormControl.value.forEach((e) => {\r\n if (this.selectedMIReferenceValues.indexOf(e) == -1) {\r\n this.selectedMIReferenceValues.push(e);\r\n }\r\n });\r\n }\r\n }\r\n setExistingMIReferenceAsSelected(){\r\n if (this.MIReferenceLst && this.MIReferenceLst.length > 0) {\r\n this.MIReferenceLst.forEach((e) => {\r\n if(e.isChecked == true){\r\n if (this.selectedMIReferenceValues.indexOf(e) == -1) {\r\n this.selectedMIReferenceValues.push(e);\r\n }\r\n } \r\n });\r\n }\r\n }\r\n getSelectedMIReference(){\r\n const selectedOptions= this.selectMIReferenceFormControl.value;\r\n if(!selectedOptions || selectedOptions.length ==0){\r\n return '';\r\n }\r\n return selectedOptions.map(option=>option.refText).join(', ');\r\n }\r\n\r\n private BRReferenceFilter(name: string) {\r\n const filterValue = name.toLowerCase();\r\n \r\n // Set selected values to retain the selected checkbox state \r\n this.setBRReferenceSelectedValues();\r\n this.selectBRReferenceFormControl.patchValue(this.selectedBRReferenceValues);\r\n let filteredList = this.BRReferenceLst.filter(option => option.refText.toLowerCase().includes(filterValue.toLowerCase()));\r\n return filteredList;\r\n }\r\n\r\n BRReferenceSelectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedBRReferenceValues.indexOf(event.source.value.refText);\r\n this.selectedBRReferenceValues.splice(index, 1)\r\n }\r\n }\r\n openedBRReferenceChange(e) {\r\n // Set search textbox value as empty while opening selectbox \r\n this.searchBRReferenceTextboxControl.patchValue('');\r\n // Focus to search textbox while clicking on selectbox\r\n if (e == true) {\r\n this.searchBRReferenceTextBox.nativeElement.focus();\r\n }\r\n }\r\n\r\n clearBRReferenceSearch(event) {\r\n event.stopPropagation();\r\n this.searchBRReferenceTextboxControl.patchValue('');\r\n }\r\n\r\n setBRReferenceSelectedValues() {\r\n if (this.selectBRReferenceFormControl.value && this.selectBRReferenceFormControl.value.length > 0) {\r\n this.selectBRReferenceFormControl.value.forEach((e) => {\r\n if (this.selectedBRReferenceValues.indexOf(e) == -1) {\r\n this.selectedBRReferenceValues.push(e);\r\n }\r\n });\r\n }\r\n }\r\n setExistingBRReferenceAsSelected(){\r\n if (this.BRReferenceLst && this.BRReferenceLst.length > 0) {\r\n this.BRReferenceLst.forEach((e) => {\r\n if(e.isChecked == true){\r\n if (this.selectedBRReferenceValues.indexOf(e) == -1) {\r\n this.selectedBRReferenceValues.push(e);\r\n }\r\n } \r\n });\r\n }\r\n }\r\n getSelectedBRReference(){\r\n const selectedOptions= this.selectBRReferenceFormControl.value;\r\n if(!selectedOptions || selectedOptions.length ==0){\r\n return '';\r\n }\r\n return selectedOptions.map(option=>option.refText).join(', ');\r\n }\r\n private remarkWithLinksFilter(name: string) {\r\n const filterValue = name.toLowerCase();\r\n // Set selected values to retain the selected checkbox state \r\n this.setremarkWithLinksSelectedValues();\r\n this.selectremarkWithLinksFormControl.patchValue(this.selectedremarkWithLinksValues);\r\n let filteredList = this.remarkWithLinksLst.filter(option => option.refText.toLowerCase().includes(filterValue.toLowerCase()));\r\n return filteredList;\r\n }\r\n\r\n remarkWithLinksSelectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedremarkWithLinksValues.indexOf(event.source.value.refText);\r\n this.selectedremarkWithLinksValues.splice(index, 1)\r\n }\r\n }\r\n openedremarkWithLinksChange(e) {\r\n // Set search textbox value as empty while opening selectbox \r\n this.searchremarkWithLinksTextboxControl.patchValue('');\r\n // Focus to search textbox while clicking on selectbox\r\n if (e == true) {\r\n this.searchremarkWithLinksTextBox.nativeElement.focus();\r\n }\r\n }\r\n\r\n clearremarkWithLinksSearch(event) {\r\n event.stopPropagation();\r\n this.searchremarkWithLinksTextboxControl.patchValue('');\r\n }\r\n\r\n setremarkWithLinksSelectedValues() {\r\n if (this.selectremarkWithLinksFormControl.value && this.selectremarkWithLinksFormControl.value.length > 0) {\r\n this.selectremarkWithLinksFormControl.value.forEach((e) => {\r\n if (this.selectedremarkWithLinksValues.indexOf(e) == -1) {\r\n this.selectedremarkWithLinksValues.push(e);\r\n }\r\n });\r\n }\r\n }\r\n setExistingRemarkWithLinksAsSelected(){\r\n if (this.remarkWithLinksLst && this.remarkWithLinksLst.length > 0) {\r\n this.remarkWithLinksLst.forEach((e) => {\r\n if(e.isChecked == true){\r\n if (this.selectedremarkWithLinksValues.indexOf(e) == -1) {\r\n this.selectedremarkWithLinksValues.push(e);\r\n }\r\n } \r\n });\r\n }\r\n\r\n }\r\n getSelectedremarkWithLinks(){\r\n const selectedOptions= this.selectremarkWithLinksFormControl.value;\r\n if(!selectedOptions || selectedOptions.length ==0){\r\n return '';\r\n }\r\n return selectedOptions.map(option=>option.refText).join(', ');\r\n }\r\n\r\n \r\nprivate remarkWithPlainTextFilter(name: string) {\r\n const filterValue = name.toLowerCase();\r\n // Set selected values to retain the selected checkbox state \r\n this.setremarkWithPlainTextSelectedValues();\r\n this.selectremarkWithPlainTextFormControl.patchValue(this.selectedremarkWithPlainTextValues);\r\n let filteredList = this.remarkWithPlainTextLst.filter(option => option.refText.toLowerCase().includes(filterValue.toLowerCase()));\r\n return filteredList;\r\n}\r\n\r\nremarkWithPlainTextSelectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedremarkWithPlainTextValues.indexOf(event.source.value.refText);\r\n this.selectedremarkWithPlainTextValues.splice(index, 1)\r\n }\r\n}\r\nopenedremarkWithPlainTextChange(e) {\r\n // Set search textbox value as empty while opening selectbox \r\n this.searchremarkWithPlainTextTextboxControl.patchValue('');\r\n // Focus to search textbox while clicking on selectbox\r\n if (e == true) { this.searchremarkWithPlainTextTextBox.nativeElement.focus();\r\n }\r\n}\r\n\r\nclearremarkWithPlainTextSearch(event) {\r\n event.stopPropagation(); this.searchremarkWithPlainTextTextboxControl.patchValue('');\r\n}\r\n\r\nsetremarkWithPlainTextSelectedValues() {\r\n if (this.selectremarkWithPlainTextFormControl.value && this.selectremarkWithPlainTextFormControl.value.length > 0) {\r\n this.selectremarkWithPlainTextFormControl.value.forEach((e) => {\r\n if (this.selectedremarkWithPlainTextValues.indexOf(e) == -1) { this.selectedremarkWithPlainTextValues.push(e); }\r\n });\r\n }\r\n}\r\nsetExistingRemarkWithPlainTextAsSelected(){\r\n if (this.remarkWithPlainTextLst && this.remarkWithPlainTextLst.length > 0) {\r\n this.remarkWithPlainTextLst.forEach((e) => {\r\n if(e.isChecked == true){\r\n if (this.selectedremarkWithPlainTextValues.indexOf(e) == -1) {\r\n this.selectedremarkWithPlainTextValues.push(e);\r\n }\r\n } \r\n });\r\n }\r\n\r\n}\r\ngetSelectedremarkWithPlainText(){\r\n const selectedOptions= this.selectremarkWithPlainTextFormControl.value;\r\n if(!selectedOptions || selectedOptions.length ==0){return '';}\r\n return selectedOptions.map(option=>option.refText).join(', ');\r\n}\r\nprivate responsibleWithLinksFilter(name: string) {\r\n const filterValue = name.toLowerCase();\r\n // Set selected values to retain the selected checkbox state \r\n this.setresponsibleWithLinksSelectedValues();\r\n this.selectresponsibleWithLinksFormControl.patchValue(this.selectedresponsibleWithLinksValues);\r\n let filteredList = this.responsibleWithLinksLst.filter(option => option.refText.toLowerCase().includes(filterValue.toLowerCase()));\r\n return filteredList;\r\n}\r\n\r\nresponsibleWithLinksSelectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedresponsibleWithLinksValues.indexOf(event.source.value.refText);\r\n this.selectedresponsibleWithLinksValues.splice(index, 1)\r\n }\r\n}\r\nopenedresponsibleWithLinksChange(e) {\r\n // Set search textbox value as empty while opening selectbox \r\n this.searchresponsibleWithLinksTextboxControl.patchValue('');\r\n // Focus to search textbox while clicking on selectbox\r\n if (e == true) { this.searchresponsibleWithLinksTextBox.nativeElement.focus();\r\n }\r\n}\r\n\r\nclearresponsibleWithLinksSearch(event) {\r\n event.stopPropagation(); this.searchresponsibleWithLinksTextboxControl.patchValue('');\r\n}\r\n\r\nsetresponsibleWithLinksSelectedValues() {\r\n if (this.selectresponsibleWithLinksFormControl.value && this.selectresponsibleWithLinksFormControl.value.length > 0) {\r\n this.selectresponsibleWithLinksFormControl.value.forEach((e) => {\r\n if (this.selectedresponsibleWithLinksValues.indexOf(e) == -1) { this.selectedresponsibleWithLinksValues.push(e); }\r\n });\r\n }\r\n}\r\nsetExistingResponsibleWithLinksAsSelected(){\r\n if (this.responsibleWithLinksLst && this.responsibleWithLinksLst.length > 0) {\r\n this.responsibleWithLinksLst.forEach((e) => {\r\n if(e.isChecked == true){\r\n if (this.selectedresponsibleWithLinksValues.indexOf(e) == -1) {\r\n this.selectedresponsibleWithLinksValues.push(e);\r\n }\r\n } \r\n });\r\n }\r\n\r\n}\r\ngetSelectedresponsibleWithLinks(){\r\n const selectedOptions= this.selectresponsibleWithLinksFormControl.value;\r\n if(!selectedOptions || selectedOptions.length ==0){return '';}\r\n return selectedOptions.map(option=>option.refText).join(', ');\r\n}\r\n\r\nprivate responsibleWithPlainTextFilter(name: string) {\r\n const filterValue = name.toLowerCase();\r\n // Set selected values to retain the selected checkbox state \r\n this.setresponsibleWithPlainTextSelectedValues();\r\n this.selectresponsibleWithPlainTextFormControl.patchValue(this.selectedresponsibleWithPlainTextValues);\r\n let filteredList = this.responsibleWithPlainTextLst.filter(option => option.refText.toLowerCase().includes(filterValue.toLowerCase()));\r\n return filteredList;\r\n}\r\n\r\nresponsibleWithPlainTextSelectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedresponsibleWithPlainTextValues.indexOf(event.source.value.refText);\r\n this.selectedresponsibleWithPlainTextValues.splice(index, 1)\r\n }\r\n}\r\nopenedresponsibleWithPlainTextChange(e) {\r\n // Set search textbox value as empty while opening selectbox \r\n this.searchresponsibleWithPlainTextTextboxControl.patchValue('');\r\n // Focus to search textbox while clicking on selectbox\r\n if (e == true) { this.searchresponsibleWithPlainTextTextBox.nativeElement.focus();\r\n }\r\n}\r\n\r\nclearresponsibleWithPlainTextSearch(event) {\r\n event.stopPropagation(); this.searchresponsibleWithPlainTextTextboxControl.patchValue('');\r\n}\r\n\r\nsetresponsibleWithPlainTextSelectedValues() {\r\n if (this.selectresponsibleWithPlainTextFormControl.value && this.selectresponsibleWithPlainTextFormControl.value.length > 0) {\r\n this.selectresponsibleWithPlainTextFormControl.value.forEach((e) => {\r\n if (this.selectedresponsibleWithPlainTextValues.indexOf(e) == -1) { this.selectedresponsibleWithPlainTextValues.push(e); }\r\n });\r\n }\r\n}\r\nsetExistingResponsibleWithPlainTextAsSelected(){\r\n if (this.responsibleWithPlainTextLst && this.responsibleWithPlainTextLst.length > 0) {\r\n this.responsibleWithPlainTextLst.forEach((e) => {\r\n if(e.isChecked == true){\r\n if (this.selectedresponsibleWithPlainTextValues.indexOf(e) == -1) {\r\n this.selectedresponsibleWithPlainTextValues.push(e);\r\n }\r\n } \r\n });\r\n }\r\n\r\n}\r\ngetSelectedresponsibleWithPlainText(){\r\n const selectedOptions= this.selectresponsibleWithPlainTextFormControl.value;\r\n if(!selectedOptions || selectedOptions.length ==0){return '';}\r\n return selectedOptions.map(option=>option.refText).join(', ');\r\n}\r\nprivate responsibleWithDesignationFilter(name: string) {\r\n const filterValue = name.toLowerCase();\r\n // Set selected values to retain the selected checkbox state \r\n this.setresponsibleWithDesignationSelectedValues();\r\n this.selectresponsibleWithDesignationFormControl.patchValue(this.selectedresponsibleWithDesignationValues);\r\n let filteredList = this.responsibleWithDesignationLst.filter(option => option.refText.toLowerCase().includes(filterValue.toLowerCase()));\r\n return filteredList;\r\n}\r\n\r\nresponsibleWithDesignationSelectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedresponsibleWithDesignationValues.indexOf(event.source.value.refText);\r\n this.selectedresponsibleWithDesignationValues.splice(index, 1)\r\n }\r\n}\r\nopenedresponsibleWithDesignationChange(e) {\r\n // Set search textbox value as empty while opening selectbox \r\n this.searchresponsibleWithDesignationTextboxControl.patchValue('');\r\n // Focus to search textbox while clicking on selectbox\r\n if (e == true) { this.searchresponsibleWithDesignationTextBox.nativeElement.focus();\r\n }\r\n}\r\n\r\nclearresponsibleWithDesignationSearch(event) {\r\n event.stopPropagation(); this.searchresponsibleWithDesignationTextboxControl.patchValue('');\r\n}\r\n\r\nsetresponsibleWithDesignationSelectedValues() {\r\n if (this.selectresponsibleWithDesignationFormControl.value && this.selectresponsibleWithDesignationFormControl.value.length > 0) {\r\n this.selectresponsibleWithDesignationFormControl.value.forEach((e) => {\r\n if (this.selectedresponsibleWithDesignationValues.indexOf(e) == -1) { this.selectedresponsibleWithDesignationValues.push(e); }\r\n });\r\n }\r\n}\r\n\r\nsetExistingResponsibleWithDesignationAsSelected(){\r\n if (this.responsibleWithDesignationLst && this.responsibleWithDesignationLst.length > 0) {\r\n this.responsibleWithDesignationLst.forEach((e) => {\r\n if(e.isChecked == true){\r\n if (this.selectedresponsibleWithDesignationValues.indexOf(e) == -1) {\r\n this.selectedresponsibleWithDesignationValues.push(e);\r\n }\r\n } \r\n });\r\n }\r\n\r\n}\r\ngetSelectedresponsibleWithDesignation(){\r\n const selectedOptions= this.selectresponsibleWithDesignationFormControl.value;\r\n if(!selectedOptions || selectedOptions.length ==0){return '';}\r\n return selectedOptions.map(option=>option.refText).join(', ');\r\n}\r\nprivate accountableWithLinksFilter(name: string) {\r\n const filterValue = name.toLowerCase();\r\n // Set selected values to retain the selected checkbox state \r\n this.setaccountableWithLinksSelectedValues();\r\n this.selectaccountableWithLinksFormControl.patchValue(this.selectedaccountableWithLinksValues);\r\n let filteredList = this.accountableWithLinksLst.filter(option => option.refText.toLowerCase().includes(filterValue.toLowerCase()));\r\n return filteredList;\r\n}\r\n\r\naccountableWithLinksSelectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedaccountableWithLinksValues.indexOf(event.source.value.refText);\r\n this.selectedaccountableWithLinksValues.splice(index, 1)\r\n }\r\n}\r\nopenedaccountableWithLinksChange(e) {\r\n // Set search textbox value as empty while opening selectbox \r\n this.searchaccountableWithLinksTextboxControl.patchValue('');\r\n // Focus to search textbox while clicking on selectbox\r\n if (e == true) { this.searchaccountableWithLinksTextBox.nativeElement.focus();\r\n }\r\n}\r\n\r\nclearaccountableWithLinksSearch(event) {\r\n event.stopPropagation(); this.searchaccountableWithLinksTextboxControl.patchValue('');\r\n}\r\n\r\nsetaccountableWithLinksSelectedValues() {\r\n if (this.selectaccountableWithLinksFormControl.value && this.selectaccountableWithLinksFormControl.value.length > 0) {\r\n this.selectaccountableWithLinksFormControl.value.forEach((e) => {\r\n if (this.selectedaccountableWithLinksValues.indexOf(e) == -1) { this.selectedaccountableWithLinksValues.push(e); }\r\n });\r\n }\r\n}\r\nsetExistingAccountableWithLinksAsSelected(){\r\n if (this.accountableWithLinksLst && this.accountableWithLinksLst.length > 0) {\r\n this.accountableWithLinksLst.forEach((e) => {\r\n if(e.isChecked == true){\r\n if (this.selectedaccountableWithLinksValues.indexOf(e) == -1) {\r\n this.selectedaccountableWithLinksValues.push(e);\r\n }\r\n } \r\n });\r\n }\r\n\r\n}\r\n\r\ngetSelectedaccountableWithLinks(){\r\n const selectedOptions= this.selectaccountableWithLinksFormControl.value;\r\n if(!selectedOptions || selectedOptions.length ==0){return '';}\r\n return selectedOptions.map(option=>option.refText).join(', ');\r\n}\r\n\r\nprivate accountableWithPlainTextFilter(name: string) {\r\n const filterValue = name.toLowerCase();\r\n // Set selected values to retain the selected checkbox state \r\n this.setaccountableWithPlainTextSelectedValues();\r\n this.selectaccountableWithPlainTextFormControl.patchValue(this.selectedaccountableWithPlainTextValues);\r\n let filteredList = this.accountableWithPlainTextLst.filter(option => option.refText.toLowerCase().includes(filterValue.toLowerCase()));\r\n return filteredList;\r\n}\r\n\r\naccountableWithPlainTextSelectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedaccountableWithPlainTextValues.indexOf(event.source.value.refText);\r\n this.selectedaccountableWithPlainTextValues.splice(index, 1)\r\n }\r\n}\r\nopenedaccountableWithPlainTextChange(e) {\r\n // Set search textbox value as empty while opening selectbox \r\n this.searchaccountableWithPlainTextTextboxControl.patchValue('');\r\n // Focus to search textbox while clicking on selectbox\r\n if (e == true) { this.searchaccountableWithPlainTextTextBox.nativeElement.focus();\r\n }\r\n}\r\n\r\nclearaccountableWithPlainTextSearch(event) {\r\n event.stopPropagation(); this.searchaccountableWithPlainTextTextboxControl.patchValue('');\r\n}\r\n\r\nsetaccountableWithPlainTextSelectedValues() {\r\n if (this.selectaccountableWithPlainTextFormControl.value && this.selectaccountableWithPlainTextFormControl.value.length > 0) {\r\n this.selectaccountableWithPlainTextFormControl.value.forEach((e) => {\r\n if (this.selectedaccountableWithPlainTextValues.indexOf(e) == -1) { this.selectedaccountableWithPlainTextValues.push(e); }\r\n });\r\n }\r\n}\r\n\r\nsetExistingAccountableWithPlainTextAsSelected(){\r\n if (this.accountableWithPlainTextLst && this.accountableWithPlainTextLst.length > 0) {\r\n this.accountableWithPlainTextLst.forEach((e) => {\r\n if(e.isChecked == true){\r\n if (this.selectedaccountableWithPlainTextValues.indexOf(e) == -1) {\r\n this.selectedaccountableWithPlainTextValues.push(e);\r\n }\r\n } \r\n });\r\n }\r\n\r\n}\r\n\r\ngetSelectedaccountableWithPlainText(){\r\n const selectedOptions= this.selectaccountableWithPlainTextFormControl.value;\r\n if(!selectedOptions || selectedOptions.length ==0){return '';}\r\n return selectedOptions.map(option=>option.refText).join(', ');\r\n}\r\nprivate accountableWithDesignationFilter(name: string) {\r\n const filterValue = name.toLowerCase();\r\n // Set selected values to retain the selected checkbox state \r\n this.setaccountableWithDesignationSelectedValues();\r\n this.selectaccountableWithDesignationFormControl.patchValue(this.selectedaccountableWithDesignationValues);\r\n let filteredList = this.accountableWithDesignationLst.filter(option => option.refText.toLowerCase().includes(filterValue.toLowerCase()));\r\n return filteredList;\r\n}\r\n\r\naccountableWithDesignationSelectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedaccountableWithDesignationValues.indexOf(event.source.value.refText);\r\n this.selectedaccountableWithDesignationValues.splice(index, 1)\r\n }\r\n}\r\nopenedaccountableWithDesignationChange(e) {\r\n // Set search textbox value as empty while opening selectbox \r\n this.searchaccountableWithDesignationTextboxControl.patchValue('');\r\n // Focus to search textbox while clicking on selectbox\r\n if (e == true) { this.searchaccountableWithDesignationTextBox.nativeElement.focus();\r\n }\r\n}\r\n\r\nclearaccountableWithDesignationSearch(event) {\r\n event.stopPropagation(); this.searchaccountableWithDesignationTextboxControl.patchValue('');\r\n}\r\n\r\nsetaccountableWithDesignationSelectedValues() {\r\n if (this.selectaccountableWithDesignationFormControl.value && this.selectaccountableWithDesignationFormControl.value.length > 0) {\r\n this.selectaccountableWithDesignationFormControl.value.forEach((e) => {\r\n if (this.selectedaccountableWithDesignationValues.indexOf(e) == -1) { this.selectedaccountableWithDesignationValues.push(e); }\r\n });\r\n }\r\n}\r\nsetExistingAccountableWithDesignationAsSelected(){\r\n if (this.accountableWithDesignationLst && this.accountableWithDesignationLst.length > 0) {\r\n this.accountableWithDesignationLst.forEach((e) => {\r\n if(e.isChecked == true){\r\n if (this.selectedaccountableWithDesignationValues.indexOf(e) == -1) {\r\n this.selectedaccountableWithDesignationValues.push(e);\r\n }\r\n } \r\n });\r\n }\r\n\r\n}\r\ngetSelectedaccountableWithDesignation(){\r\n const selectedOptions= this.selectaccountableWithDesignationFormControl.value;\r\n if(!selectedOptions || selectedOptions.length ==0){return '';}\r\n return selectedOptions.map(option=>option.refText).join(', ');\r\n}\r\nprivate consultWithLinksFilter(name: string) {\r\n const filterValue = name.toLowerCase();\r\n // Set selected values to retain the selected checkbox state \r\n this.setconsultWithLinksSelectedValues();\r\n this.selectconsultWithLinksFormControl.patchValue(this.selectedconsultWithLinksValues);\r\n let filteredList = this.consultWithLinksLst.filter(option => option.refText.toLowerCase().includes(filterValue.toLowerCase()));\r\n return filteredList;\r\n}\r\nconsultWithLinksSelectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedconsultWithLinksValues.indexOf(event.source.value.refText);\r\n this.selectedconsultWithLinksValues.splice(index, 1)\r\n }\r\n}\r\nopenedconsultWithLinksChange(e) {\r\n // Set search textbox value as empty while opening selectbox \r\n this.searchconsultWithLinksTextboxControl.patchValue('');\r\n // Focus to search textbox while clicking on selectbox\r\n if (e == true) { this.searchconsultWithLinksTextBox.nativeElement.focus();\r\n }\r\n}\r\n\r\nclearconsultWithLinksSearch(event) {\r\n event.stopPropagation(); this.searchconsultWithLinksTextboxControl.patchValue('');\r\n}\r\n\r\nsetconsultWithLinksSelectedValues() {\r\n if (this.selectconsultWithLinksFormControl.value && this.selectconsultWithLinksFormControl.value.length > 0) {\r\n this.selectconsultWithLinksFormControl.value.forEach((e) => {\r\n if (this.selectedconsultWithLinksValues.indexOf(e) == -1) { this.selectedconsultWithLinksValues.push(e); }\r\n });\r\n }\r\n}\r\nsetExistingConsultWithLinksAsSelected(){\r\n if (this.consultWithLinksLst && this.consultWithLinksLst.length > 0) {\r\n this.consultWithLinksLst.forEach((e) => {\r\n if(e.isChecked == true){\r\n if (this.selectedconsultWithLinksValues.indexOf(e) == -1) {\r\n this.selectedconsultWithLinksValues.push(e);\r\n }\r\n } \r\n });\r\n }\r\n\r\n}\r\n\r\ngetSelectedconsultWithLinks(){\r\n const selectedOptions= this.selectconsultWithLinksFormControl.value;\r\n if(!selectedOptions || selectedOptions.length ==0){return '';}\r\n return selectedOptions.map(option=>option.refText).join(', ');\r\n}\r\n\r\nprivate consultWithPlainTextFilter(name: string) {\r\n const filterValue = name.toLowerCase();\r\n // Set selected values to retain the selected checkbox state \r\n this.setconsultWithPlainTextSelectedValues();\r\n this.selectconsultWithPlainTextFormControl.patchValue(this.selectedconsultWithPlainTextValues);\r\n let filteredList = this.consultWithPlainTextLst.filter(option => option.refText.toLowerCase().includes(filterValue.toLowerCase()));\r\n return filteredList;\r\n}\r\n\r\nconsultWithPlainTextSelectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedconsultWithPlainTextValues.indexOf(event.source.value.refText);\r\n this.selectedconsultWithPlainTextValues.splice(index, 1)\r\n }\r\n}\r\nopenedconsultWithPlainTextChange(e) {\r\n // Set search textbox value as empty while opening selectbox \r\n this.searchconsultWithPlainTextTextboxControl.patchValue('');\r\n // Focus to search textbox while clicking on selectbox\r\n if (e == true) { this.searchconsultWithPlainTextTextBox.nativeElement.focus();\r\n }\r\n}\r\n\r\nclearconsultWithPlainTextSearch(event) {\r\n event.stopPropagation(); this.searchconsultWithPlainTextTextboxControl.patchValue('');\r\n}\r\n\r\nsetconsultWithPlainTextSelectedValues() {\r\n if (this.selectconsultWithPlainTextFormControl.value && this.selectconsultWithPlainTextFormControl.value.length > 0) {\r\n this.selectconsultWithPlainTextFormControl.value.forEach((e) => {\r\n if (this.selectedconsultWithPlainTextValues.indexOf(e) == -1) { this.selectedconsultWithPlainTextValues.push(e); }\r\n });\r\n }\r\n}\r\nsetExistingConsultWithPlainTextAsSelected(){\r\n if (this.consultWithPlainTextLst && this.consultWithPlainTextLst.length > 0) {\r\n this.consultWithPlainTextLst.forEach((e) => {\r\n if(e.isChecked == true){\r\n if (this.selectedconsultWithPlainTextValues.indexOf(e) == -1) {\r\n this.selectedconsultWithPlainTextValues.push(e);\r\n }\r\n } \r\n });\r\n }\r\n\r\n}\r\n\r\ngetSelectedconsultWithPlainText(){\r\n const selectedOptions= this.selectconsultWithPlainTextFormControl.value;\r\n if(!selectedOptions || selectedOptions.length ==0){return '';}\r\n return selectedOptions.map(option=>option.refText).join(', ');\r\n}\r\nprivate consultWithDesignationFilter(name: string) {\r\n const filterValue = name.toLowerCase();\r\n // Set selected values to retain the selected checkbox state \r\n this.setconsultWithDesignationSelectedValues();\r\n this.selectconsultWithDesignationFormControl.patchValue(this.selectedconsultWithDesignationValues);\r\n let filteredList = this.consultWithDesignationLst.filter(option => option.refText.toLowerCase().includes(filterValue.toLowerCase()));\r\n return filteredList;\r\n}\r\n\r\nconsultWithDesignationSelectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedconsultWithDesignationValues.indexOf(event.source.value.refText);\r\n this.selectedconsultWithDesignationValues.splice(index, 1)\r\n }\r\n}\r\nopenedconsultWithDesignationChange(e) {\r\n // Set search textbox value as empty while opening selectbox \r\n this.searchconsultWithDesignationTextboxControl.patchValue('');\r\n // Focus to search textbox while clicking on selectbox\r\n if (e == true) { this.searchconsultWithDesignationTextBox.nativeElement.focus();\r\n }\r\n}\r\n\r\nclearconsultWithDesignationSearch(event) {\r\n event.stopPropagation(); this.searchconsultWithDesignationTextboxControl.patchValue('');\r\n}\r\n\r\nsetconsultWithDesignationSelectedValues() {\r\n if (this.selectconsultWithDesignationFormControl.value && this.selectconsultWithDesignationFormControl.value.length > 0) {\r\n this.selectconsultWithDesignationFormControl.value.forEach((e) => {\r\n if (this.selectedconsultWithDesignationValues.indexOf(e) == -1) { this.selectedconsultWithDesignationValues.push(e); }\r\n });\r\n }\r\n}\r\nsetExistingConsultWithDesignationAsSelected(){\r\n if (this.consultWithDesignationLst && this.consultWithDesignationLst.length > 0) {\r\n this.consultWithDesignationLst.forEach((e) => {\r\n if(e.isChecked == true){\r\n if (this.selectedconsultWithDesignationValues.indexOf(e) == -1) {\r\n this.selectedconsultWithDesignationValues.push(e);\r\n }\r\n } \r\n });\r\n }\r\n\r\n}\r\ngetSelectedconsultWithDesignation(){\r\n const selectedOptions= this.selectconsultWithDesignationFormControl.value;\r\n if(!selectedOptions || selectedOptions.length ==0){return '';}\r\n return selectedOptions.map(option=>option.refText).join(', ');\r\n}\r\nprivate informWithLinksFilter(name: string) {\r\n const filterValue = name.toLowerCase();\r\n // Set selected values to retain the selected checkbox state \r\n this.setinformWithLinksSelectedValues();\r\n this.selectinformWithLinksFormControl.patchValue(this.selectedinformWithLinksValues);\r\n let filteredList = this.informWithLinksLst.filter(option => option.refText.toLowerCase().includes(filterValue.toLowerCase()));\r\n return filteredList;\r\n}\r\ninformWithLinksSelectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedinformWithLinksValues.indexOf(event.source.value.refText);\r\n this.selectedinformWithLinksValues.splice(index, 1)\r\n }\r\n}\r\nopenedinformWithLinksChange(e) {\r\n // Set search textbox value as empty while opening selectbox \r\n this.searchinformWithLinksTextboxControl.patchValue('');\r\n // Focus to search textbox while clicking on selectbox\r\n if (e == true) { this.searchinformWithLinksTextBox.nativeElement.focus();\r\n }\r\n}\r\n\r\nclearinformWithLinksSearch(event) {\r\n event.stopPropagation(); this.searchinformWithLinksTextboxControl.patchValue('');\r\n}\r\n\r\nsetinformWithLinksSelectedValues() {\r\n if (this.selectinformWithLinksFormControl.value && this.selectinformWithLinksFormControl.value.length > 0) {\r\n this.selectinformWithLinksFormControl.value.forEach((e) => {\r\n if (this.selectedinformWithLinksValues.indexOf(e) == -1) { this.selectedinformWithLinksValues.push(e); }\r\n });\r\n }\r\n}\r\nsetExistingInformWithLinksAsSelected(){\r\n if (this.informWithLinksLst && this.informWithLinksLst.length > 0) {\r\n this.informWithLinksLst.forEach((e) => {\r\n if(e.isChecked == true){\r\n if (this.selectedinformWithLinksValues.indexOf(e) == -1) {\r\n this.selectedinformWithLinksValues.push(e);\r\n }\r\n } \r\n });\r\n }\r\n\r\n}\r\n\r\ngetSelectedinformWithLinks(){\r\n const selectedOptions= this.selectinformWithLinksFormControl.value;\r\n if(!selectedOptions || selectedOptions.length ==0){return '';}\r\n return selectedOptions.map(option=>option.refText).join(', ');\r\n}\r\n\r\nprivate informWithPlainTextFilter(name: string) {\r\n const filterValue = name.toLowerCase();\r\n // Set selected values to retain the selected checkbox state \r\n this.setinformWithPlainTextSelectedValues();\r\n this.selectinformWithPlainTextFormControl.patchValue(this.selectedinformWithPlainTextValues);\r\n let filteredList = this.informWithPlainTextLst.filter(option => option.refText.toLowerCase().includes(filterValue.toLowerCase()));\r\n return filteredList;\r\n}\r\n\r\ninformWithPlainTextSelectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedinformWithPlainTextValues.indexOf(event.source.value.refText);\r\n this.selectedinformWithPlainTextValues.splice(index, 1)\r\n }\r\n}\r\nopenedinformWithPlainTextChange(e) {\r\n // Set search textbox value as empty while opening selectbox \r\n this.searchinformWithPlainTextTextboxControl.patchValue('');\r\n // Focus to search textbox while clicking on selectbox\r\n if (e == true) { this.searchinformWithPlainTextTextBox.nativeElement.focus();\r\n }\r\n}\r\n\r\nclearinformWithPlainTextSearch(event) {\r\n event.stopPropagation(); this.searchinformWithPlainTextTextboxControl.patchValue('');\r\n}\r\n\r\nsetinformWithPlainTextSelectedValues() {\r\n if (this.selectinformWithPlainTextFormControl.value && this.selectinformWithPlainTextFormControl.value.length > 0) {\r\n this.selectinformWithPlainTextFormControl.value.forEach((e) => {\r\n if (this.selectedinformWithPlainTextValues.indexOf(e) == -1) { this.selectedinformWithPlainTextValues.push(e); }\r\n });\r\n }\r\n}\r\nsetExistingInformWithPlainTextAsSelected(){\r\n if (this.informWithPlainTextLst && this.informWithPlainTextLst.length > 0) {\r\n this.informWithPlainTextLst.forEach((e) => {\r\n if(e.isChecked == true){\r\n if (this.selectedinformWithPlainTextValues.indexOf(e) == -1) {\r\n this.selectedinformWithPlainTextValues.push(e);\r\n }\r\n } \r\n });\r\n }\r\n\r\n}\r\n\r\ngetSelectedinformWithPlainText(){\r\n const selectedOptions= this.selectinformWithPlainTextFormControl.value;\r\n if(!selectedOptions || selectedOptions.length ==0){return '';}\r\n return selectedOptions.map(option=>option.refText).join(', ');\r\n}\r\nprivate informWithDesignationFilter(name: string) {\r\n const filterValue = name.toLowerCase();\r\n // Set selected values to retain the selected checkbox state \r\n this.setinformWithDesignationSelectedValues();\r\n this.selectinformWithDesignationFormControl.patchValue(this.selectedinformWithDesignationValues);\r\n let filteredList = this.informWithDesignationLst.filter(option => option.refText.toLowerCase().includes(filterValue.toLowerCase()));\r\n return filteredList;\r\n}\r\n\r\ninformWithDesignationSelectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedinformWithDesignationValues.indexOf(event.source.value.refText);\r\n this.selectedinformWithDesignationValues.splice(index, 1)\r\n }\r\n}\r\nopenedinformWithDesignationChange(e) {\r\n // Set search textbox value as empty while opening selectbox \r\n this.searchinformWithDesignationTextboxControl.patchValue('');\r\n // Focus to search textbox while clicking on selectbox\r\n if (e == true) { this.searchinformWithDesignationTextBox.nativeElement.focus();\r\n }\r\n}\r\n\r\nclearinformWithDesignationSearch(event) {\r\n event.stopPropagation(); this.searchinformWithDesignationTextboxControl.patchValue('');\r\n}\r\n\r\nsetinformWithDesignationSelectedValues() {\r\n if (this.selectinformWithDesignationFormControl.value && this.selectinformWithDesignationFormControl.value.length > 0) {\r\n this.selectinformWithDesignationFormControl.value.forEach((e) => {\r\n if (this.selectedinformWithDesignationValues.indexOf(e) == -1) { this.selectedinformWithDesignationValues.push(e); }\r\n });\r\n }\r\n}\r\nsetExistingInformWithDesignationAsSelected(){\r\n if (this.informWithDesignationLst && this.informWithDesignationLst.length > 0) {\r\n this.informWithDesignationLst.forEach((e) => {\r\n if(e.isChecked == true){\r\n if (this.selectedinformWithDesignationValues.indexOf(e) == -1) {\r\n this.selectedinformWithDesignationValues.push(e);\r\n }\r\n } \r\n });\r\n }\r\n\r\n}\r\ngetSelectedinformWithDesignation(){\r\n const selectedOptions= this.selectinformWithDesignationFormControl.value;\r\n if(!selectedOptions || selectedOptions.length ==0){return '';}\r\n return selectedOptions.map(option=>option.refText).join(', ');\r\n}\r\nclose()\r\n{\r\n this.dialogRef.close();\r\n}\r\nresetForm(){\r\n if (this.sourceOfActivityLst && this.sourceOfActivityLst.length > 0) {\r\n this.sourceOfActivityLst.forEach((e) => {\r\n if(e.isChecked== true){\r\n if (this.existingSourceOfActivity.indexOf(e) == -1) {\r\n this.existingSourceOfActivity.push(e.id);\r\n }\r\n }\r\n });\r\n }\r\n this.selectedSourceOfActivityControl.patchValue(this.existingSourceOfActivity[0]);\r\n}\r\nSubmit(){\r\n if(this.selectedSrNumberOfActivityControl.value == undefined){\r\n this.activityDataMapping.ShowSnackBar(\"Please Select Sr Number for Activity\",'rd-snackbar');\r\n return;\r\n }\r\n\r\n if(this.selectedSourceOfActivityControl.value == undefined){\r\n this.activityDataMapping.ShowSnackBar(\"Please Select Source Of Activity\",'rd-snackbar');\r\n return;\r\n }\r\n if(this.selectedCatBatReferenceControl.value ==undefined){\r\n this.activityDataMapping.ShowSnackBar(\"Please Select CAT/BAT Reference\",'rd-snackbar');\r\n return;\r\n }\r\n if(this.selectedToolControl.value ==undefined){\r\n this.activityDataMapping.ShowSnackBar(\"Please Select Tool / System / Portal\",'rd-snackbar');\r\n return;\r\n }\r\n if(this.selectedApplicableToBusinessControl.value ==undefined){\r\n this.activityDataMapping.ShowSnackBar(\"Please Select Applicable to business\",'rd-snackbar');\r\n return;\r\n }\r\n if(this.selectedActivityFormingPartControl.value ==undefined){\r\n this.activityDataMapping.ShowSnackBar(\"Please Select Activity forming part of LAT?\",'rd-snackbar');\r\n return;\r\n }\r\n if(this.selectCPReferenceFormControl.value ==\"\"){\r\n this.activityDataMapping.ShowSnackBar(\"Please Select CP Reference\",'rd-snackbar');\r\n return;\r\n }\r\n if(this.selectMIReferenceFormControl.value ==\"\"){\r\n this.activityDataMapping.ShowSnackBar(\"Please Select MI Reference\",'rd-snackbar');\r\n return;\r\n }\r\n if(this.selectBRReferenceFormControl.value ==\"\"){\r\n this.activityDataMapping.ShowSnackBar(\"Please Select BR Reference\",'rd-snackbar');\r\n return;\r\n }\r\n if( (this.remarkText.value==\"

\" || this.remarkText.value.trim()==\"\") ){\r\n this.activityDataMapping.ShowSnackBar(\"Please enter valid Remark\",'red-snackbar');\r\n return;\r\n }\r\n\r\n\r\n/* if(this.selectremarkWithLinksFormControl.value ==\"\" && this.selectremarkWithPlainTextFormControl.value ==\"\"){\r\n this.activityDataMapping.ShowSnackBar(\"Please Select Either Remark(Links) or Remarks(PlainText)\",'rd-snackbar');\r\n return;\r\n } */\r\n if(this.selectresponsibleWithLinksFormControl.value ==\"\" && this.selectresponsibleWithPlainTextFormControl.value ==\"\" && this.selectresponsibleWithDesignationFormControl.value ==\"\"){\r\n this.activityDataMapping.ShowSnackBar(\"Please Select Either Responsible(Links) or Responsible(PlainText) or Responsible(Designation)\",'rd-snackbar');\r\n return;\r\n }\r\n if(this.selectaccountableWithLinksFormControl.value ==\"\" && this.selectaccountableWithPlainTextFormControl.value ==\"\" && this.selectaccountableWithDesignationFormControl.value ==\"\"){\r\n this.activityDataMapping.ShowSnackBar(\"Please Select Either Accountable(Links) or Accountable(PlainText) or Accountable(Designation)\",'rd-snackbar');\r\n return;\r\n }\r\n if(this.selectconsultWithLinksFormControl.value ==\"\" && this.selectconsultWithPlainTextFormControl.value ==\"\" && this.selectconsultWithDesignationFormControl.value ==\"\"){\r\n this.activityDataMapping.ShowSnackBar(\"Please Select Either Consult(Links) or Consult(PlainText) or Consult(Designation)\",'rd-snackbar');\r\n return;\r\n }\r\n if(this.selectinformWithLinksFormControl.value ==\"\" && this.selectinformWithPlainTextFormControl.value ==\"\" && this.selectinformWithDesignationFormControl.value ==\"\"){\r\n this.activityDataMapping.ShowSnackBar(\"Please Select Either Inform(Links) or Inform(PlainText) or Inform(Designation)\",'rd-snackbar');\r\n return;\r\n }\r\n \r\n var busID=this.businessUnitId.toString()\r\n var activityID=this.activityId.toString()\r\n var sourceOfActivityID=\"0\"\r\n var CATBATReferenceID=\"0\"\r\n var ToolSystemPortalID=\"0\"\r\n var applicableToBusinessID=\"0\"\r\n var activityFormingPartID=\"0\";\r\n var CPReferenceIDs=\"0\";\r\n var MIReferenceIDs=\"0\";\r\n var BRReferenceIDs=\"0\";\r\n var remarksWithLinksIDs=\"0\";\r\n var remarksWithPlainTextIDs=\"0\";\r\n var responsibleWithLinksIDs=\"0\";\r\n var responsibleWithPlainTextIDs=\"0\";\r\n var responsibleWithDesignationIDs=\"0\";\r\n var accountableWithLinksIDs=\"0\";\r\n var accountableWithPlainTextIDs=\"0\";\r\n var accountableWithDesignationIDs=\"0\";\r\n var consultWithLinksIDs=\"0\";\r\n var consultWithPlainTextIDs=\"0\";\r\n var consultWithDesignationIDs=\"0\";\r\n var informWithLinksIDs=\"0\";\r\n var informWithPlainTextIDs=\"0\";\r\n var informWithDesignationIDs=\"0\";\r\n var MappingValues=[];\r\n var Remark=\"\";\r\n\r\n\r\n if(this.selectedSourceOfActivityControl.value !=\"\"){\r\n sourceOfActivityID= this.selectedSourceOfActivityControl.value;\r\n MappingValues.push(sourceOfActivityID);\r\n }\r\n if(this.selectedCatBatReferenceControl.value !=\"\"){\r\n CATBATReferenceID= this.selectedCatBatReferenceControl.value;\r\n MappingValues.push(CATBATReferenceID);\r\n }\r\n if(this.selectedToolControl.value !=\"\"){\r\n ToolSystemPortalID= this.selectedToolControl.value;\r\n MappingValues.push(ToolSystemPortalID);\r\n }\r\n if(this.selectedApplicableToBusinessControl.value !=\"\"){\r\n applicableToBusinessID= this.selectedApplicableToBusinessControl.value;\r\n MappingValues.push(applicableToBusinessID);\r\n }\r\n if(this.selectedActivityFormingPartControl.value !=\"\"){\r\n activityFormingPartID= this.selectedActivityFormingPartControl.value;\r\n MappingValues.push(activityFormingPartID);\r\n }\r\n if(this.selectCPReferenceFormControl.value !=\"\"){\r\n CPReferenceIDs= this.selectCPReferenceFormControl.value.map(option=>option.id).join(', ')\r\n MappingValues.push(CPReferenceIDs);\r\n }\r\n if(this.selectMIReferenceFormControl.value !=\"\"){\r\n MIReferenceIDs= this.selectMIReferenceFormControl.value.map(option=>option.id).join(', ')\r\n MappingValues.push(MIReferenceIDs);\r\n }\r\n if(this.selectBRReferenceFormControl.value !=\"\"){\r\n BRReferenceIDs= this.selectBRReferenceFormControl.value.map(option=>option.id).join(', ')\r\n MappingValues.push(BRReferenceIDs);\r\n }\r\n /* if(this.selectremarkWithLinksFormControl.value !=\"\"){\r\n remarksWithLinksIDs= this.selectremarkWithLinksFormControl.value.map(option=>option.id).join(', ')\r\n MappingValues.push(remarksWithLinksIDs);\r\n }\r\n if(this.selectremarkWithPlainTextFormControl.value !=\"\"){\r\n remarksWithPlainTextIDs= this.selectremarkWithPlainTextFormControl.value.map(option=>option.id).join(', ')\r\n MappingValues.push(remarksWithPlainTextIDs);\r\n } */\r\n if(this.remarkText.value !=\"

\" && this.remarkText.value !=\"\")\r\n {\r\n MappingValues.push(this.remarkId.value);\r\n\r\n }\r\n\r\n\r\n if(this.selectresponsibleWithLinksFormControl.value !=\"\"){\r\n responsibleWithLinksIDs= this.selectresponsibleWithLinksFormControl.value.map(option=>option.id).join(', ')\r\n MappingValues.push(responsibleWithLinksIDs);\r\n }\r\n if(this.selectresponsibleWithPlainTextFormControl.value !=\"\"){\r\n responsibleWithPlainTextIDs= this.selectresponsibleWithPlainTextFormControl.value.map(option=>option.id).join(', ')\r\n MappingValues.push(responsibleWithPlainTextIDs);\r\n }\r\n if(this.selectresponsibleWithDesignationFormControl.value !=\"\"){\r\n responsibleWithDesignationIDs= this.selectresponsibleWithDesignationFormControl.value.map(option=>option.id).join(', ')\r\n MappingValues.push(responsibleWithDesignationIDs);\r\n }\r\n if(this.selectaccountableWithLinksFormControl.value !=\"\"){\r\n accountableWithLinksIDs= this.selectaccountableWithLinksFormControl.value.map(option=>option.id).join(', ')\r\n MappingValues.push(accountableWithLinksIDs);\r\n }\r\n if(this.selectaccountableWithPlainTextFormControl.value !=\"\"){\r\n accountableWithPlainTextIDs= this.selectaccountableWithPlainTextFormControl.value.map(option=>option.id).join(', ')\r\n MappingValues.push(accountableWithPlainTextIDs);\r\n }\r\n if(this.selectaccountableWithDesignationFormControl.value !=\"\"){\r\n accountableWithDesignationIDs= this.selectaccountableWithDesignationFormControl.value.map(option=>option.id).join(', ')\r\n MappingValues.push(accountableWithDesignationIDs);\r\n }\r\n if(this.selectconsultWithLinksFormControl.value !=\"\"){\r\n consultWithLinksIDs= this.selectconsultWithLinksFormControl.value.map(option=>option.id).join(', ')\r\n MappingValues.push(consultWithLinksIDs);\r\n }\r\n if(this.selectconsultWithPlainTextFormControl.value !=\"\"){\r\n consultWithPlainTextIDs= this.selectconsultWithPlainTextFormControl.value.map(option=>option.id).join(', ')\r\n MappingValues.push(consultWithPlainTextIDs);\r\n }\r\n if(this.selectconsultWithDesignationFormControl.value !=\"\"){\r\n consultWithDesignationIDs= this.selectconsultWithDesignationFormControl.value.map(option=>option.id).join(', ')\r\n MappingValues.push(consultWithDesignationIDs);\r\n }\r\n if(this.selectinformWithLinksFormControl.value !=\"\"){\r\n informWithLinksIDs= this.selectinformWithLinksFormControl.value.map(option=>option.id).join(', ')\r\n MappingValues.push(informWithLinksIDs);\r\n }\r\n if(this.selectinformWithPlainTextFormControl.value !=\"\"){\r\n informWithPlainTextIDs= this.selectinformWithPlainTextFormControl.value.map(option=>option.id).join(', ')\r\n MappingValues.push(informWithPlainTextIDs);\r\n }\r\n if(this.selectinformWithDesignationFormControl.value !=\"\"){\r\n informWithDesignationIDs= this.selectinformWithDesignationFormControl.value.map(option=>option.id).join(', ')\r\n MappingValues.push(informWithDesignationIDs);\r\n }\r\n //const activityMappingData = { busID: busID, activityID: activityID, MappingValues: MappingValues.join(\",\")};\r\n \r\n this.loadGrid(MappingValues);\r\n/* this.activityDataMapping.saveActivityTransactionData(activityMappingData).subscribe((data: any)=>{\r\n if(data !=\"\"){\r\n this.activityDataMapping.ShowSnackBar(\"Data Submitted Successfully\",'red-snackbar'); \r\n this.loadGrid();\r\n \r\n }\r\n }); */\r\n }\r\n}\r\n","\r\n
\r\n
\r\n Data Mapping for Business Area:{{businessName}}; Activity: {{activityName}}\r\n
\r\n \r\n
\r\n close\r\n
\r\n\r\n\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n Serial Number\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {{srNumber.refText}}\r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n Source Of Activity\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {{sourceOfActivity.refText}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n CAT/ BAT reference\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n {{catBatReference.refText}}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n Tool / System / Portal\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {{tool.refText}}\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n\r\n \r\n \r\n \r\n Applicable to business\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {{applicableToBusiness.refText}}\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n Activity forming part of LAT?\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n {{activityFormingPartOfLat.refText}}\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n CPReference\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {{getSelectedCPReference()}}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
No results found!
\r\n
\r\n \r\n {{CPReference.refText}}\r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n \r\n \r\n \r\n \r\n MIReference\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {{getSelectedMIReference()}}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
No results found!
\r\n
\r\n \r\n {{MIReference.refText}}\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n \r\n \r\n \r\n \r\n BR Reference\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n {{getSelectedBRReference()}}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
No results found!
\r\n
\r\n \r\n {{BRReference.refText}}\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n \r\n\r\n\r\n \r\n \r\n \r\n Responsible\r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n \r\n Select Responsible(Links)\r\n \r\n \r\n {{getSelectedresponsibleWithLinks()}}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
No results found!
\r\n
\r\n \r\n {{responsibleWithLinks.refText}}\r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n Select Responsible(Plain Text)\r\n \r\n \r\n {{getSelectedresponsibleWithPlainText()}}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
No results found!
\r\n
\r\n \r\n {{responsibleWithPlainText.refText}}\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n Select Responsible(Designation)\r\n \r\n \r\n {{getSelectedresponsibleWithDesignation()}}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
No results found!
\r\n
\r\n \r\n {{responsibleWithDesignation.refText}}\r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n Accountable\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n
\r\n\r\n \r\n Select Accountable(Links)\r\n \r\n \r\n {{getSelectedaccountableWithLinks()}}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
No results found!
\r\n
\r\n \r\n {{accountableWithLinks.refText}}\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n Select Accountable(Plain Text)\r\n \r\n \r\n {{getSelectedaccountableWithPlainText()}}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
No results found!
\r\n
\r\n \r\n {{accountableWithPlainText.refText}}\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n Select Accountable(Designation)\r\n \r\n \r\n {{getSelectedaccountableWithDesignation()}}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
No results found!
\r\n
\r\n \r\n {{accountableWithDesignation.refText}}\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n \r\n \r\n \r\n Consult\r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n \r\n Select Consult(Links)\r\n \r\n \r\n {{getSelectedconsultWithLinks()}}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
No results found!
\r\n
\r\n \r\n {{consultWithLinks.refText}}\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n Select Consult(Plain Text)\r\n \r\n \r\n {{getSelectedconsultWithPlainText()}}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
No results found!
\r\n
\r\n \r\n {{consultWithPlainText.refText}}\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n Select Consult(Designation)\r\n \r\n \r\n {{getSelectedconsultWithDesignation()}}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
No results found!
\r\n
\r\n \r\n {{consultWithDesignation.refText}}\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n \r\n \r\n \r\n \r\n Inform\r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n
\r\n \r\n Select Inform(Links)\r\n \r\n \r\n {{getSelectedinformWithLinks()}}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
No results found!
\r\n
\r\n \r\n {{informWithLinks.refText}}\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n Select Inform(Plain Text)\r\n \r\n \r\n {{getSelectedinformWithPlainText()}}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
No results found!
\r\n
\r\n \r\n {{informWithPlainText.refText}}\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n Select Inform(Designation)\r\n \r\n \r\n {{getSelectedinformWithDesignation()}}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
No results found!
\r\n
\r\n \r\n {{informWithDesignation.refText}}\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n \r\n \r\n \r\n \r\n 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\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n

\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n
Id \r\n {{element.activityId}} Source of Activity {{element.sourceOfActivity}} CAT/ BAT Reference \r\n {{element.catBatReference}} CP Reference \r\n MI Reference \r\n BR Reference Tool/System/Portal \r\n {{element.tool}} Applicable to business \r\n {{element.applicableToBusiness}} Activity \r\n {{element.activity}} Responsible \r\n Accountable \r\n Consult \r\n Inform \r\n Remark \r\n Activity forming part of LAT? \r\n {{element.activityFormingPartOfLat}} BusinessArea \r\n {{element.businessArea}}
Please select the filter for data.
\r\n
\r\n \r\n
\r\n\r\n
","import { Component, OnInit,Inject } from '@angular/core';\r\nimport { ActivityDataService } from 'src/app/Services/activitydata.service';\r\nimport { AbstractControl, FormArray, FormBuilder, FormControl, FormGroup, Validators, ValidatorFn } from '@angular/forms';\r\nimport { MatTable, MatTableDataSource } from '@angular/material/table';\r\nimport { MatPaginator } from \"@angular/material/paginator\";\r\nimport { MatSort } from \"@angular/material/sort\";\r\nimport { ViewChild,ElementRef, HostListener } from \"@angular/core\";\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { tr } from 'date-fns/locale';\r\nimport { newArray } from '@angular/compiler/src/util';\r\nimport { Observable, of } from \"rxjs\";\r\nimport { map, startWith } from \"rxjs/operators\";\r\nimport { MatOption } from \"@angular/material/core\";\r\nimport { MatSelect } from \"@angular/material/select\";\r\nimport { Editor, Toolbar, toDoc } from 'ngx-editor';\r\n\r\nexport interface BusinessAreaMST{\r\n id:number;\r\n name: string;\r\n}\r\n\r\nexport interface MasterDataMST{\r\n id:number;\r\n shortName: string;\r\n name: string;\r\n status:boolean;\r\n}\r\n\r\nexport class ActivityDataDetails {\r\n Id:number;\r\n CategoryId : number;\r\n CategoryName: string\r\n IsLink: boolean;\r\n RefText: string;\r\n RefLink: string;\r\n IsDesignation: boolean;\r\n DesignationMapId: number;\r\n DesignationName: string;\r\n BusinessUnit: number;\r\n BusinessUnitName: string;\r\n IsShowDelete: boolean;\r\n}\r\nexport interface ActivityMST_Delete\r\n{\r\n Id:number;\r\n CategoryId : number;\r\n IsLink: boolean;\r\n RefText: string;\r\n RefLink: string;\r\n IsDesignation: boolean;\r\n DesignationMapId: number;\r\n Status: boolean;\r\n BuisnessUnit: number;\r\n CreatedBy: number;\r\n CreatedDate: Date;\r\n UpdatedBy: number;\r\n UpdatedDate: Date;\r\n IsDeleted:boolean;\r\n IsShowDelete: boolean;\r\n}\r\n@Component({\r\n selector: 'app-activity-data',\r\n templateUrl: './activity-data.component.html',\r\n styleUrls: ['./activity-data.component.scss']\r\n})\r\n\r\nexport class ActivityDataComponent implements OnInit {\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort,{static:true}) sort: MatSort;\r\n businessList: BusinessAreaMST[];\r\n masterDataList: MasterDataMST[];\r\n formInstance: any;\r\n selectedBusinessAreaControl = new FormControl();\r\n selectedCategoryControl = new FormControl();\r\n showAddButton:boolean=false;\r\n selectedBusinessArea:string;\r\n selectedCategory:string;\r\n dataSource_ActivityData : MatTableDataSource;\r\n displayedColumns_ActivityData: string[] = ['BusinessUnitName','spacerColumn','CategoryName','spacerColumn','IsLink','spacerColumn','RefText','spacerColumn','RefLink','spacerColumn','IsDesignation','spacerColumn','Status','spacerColumn','action'];\r\n constructor(private activityData: ActivityDataService,public dialog: MatDialog) { }\r\n\r\n ngOnInit(): void {\r\n this.getBuisnessArea();\r\n this.getMasterData();\r\n }\r\n\r\n deleteSend : ActivityMST_Delete={\r\n Id:0, CategoryId: 0, IsLink: false, RefText: \"\", RefLink: \"\", IsDesignation: false, DesignationMapId:0, Status:false, BuisnessUnit:0, CreatedBy:Number(sessionStorage.getItem('userId')),CreatedDate: new Date(), UpdatedBy:Number(sessionStorage.getItem('userId')),UpdatedDate: new Date(), IsDeleted:true, IsShowDelete: true\r\n }\r\n\r\n getBuisnessArea(){\r\n this.activityData.getBuisnessAreaList().subscribe((data:any)=>{\r\n this.businessList = data,\r\n () => console.log('Get all complete'); \r\n });\r\n }\r\n getMasterData(){\r\n this.activityData.getCategoryList().subscribe((data:any)=>{\r\n this.masterDataList = data,\r\n this.masterDataList.shift(),\r\n () => console.log('Get all complete'); \r\n });\r\n }\r\n businessAreaSelection(){\r\n if(this.selectedBusinessAreaControl.value != null && this.selectedCategoryControl.value != null){\r\n this.showAddButton= true;\r\n }else{\r\n this.showAddButton= false;\r\n }\r\n }\r\n categorySelection(){\r\n if(this.selectedBusinessAreaControl.value !=null && this.selectedCategoryControl.value !=null){\r\n this.showAddButton= true;\r\n }else{\r\n this.showAddButton= false;\r\n }\r\n }\r\n retrieve(){\r\n if(this.selectedBusinessAreaControl.value ==null ){\r\n this.activityData.ShowSnackBar(\"Please Choose Business Area\",'rd-snackbar');\r\n return;\r\n }\r\n if(this.selectedCategoryControl.value ==null ){\r\n this.activityData.ShowSnackBar(\"Please Choose Category\",'rd-snackbar');\r\n return;\r\n }\r\n else{\r\n this.activityData.getActivityMasterDataListFromBusinessIDandCategoryID(this.selectedBusinessAreaControl.value,this.selectedCategoryControl.value['id']).subscribe((data: any[])=>\r\n {\r\n this.dataSource_ActivityData= new MatTableDataSource(data);\r\n console.log(this.dataSource_ActivityData);\r\n this.dataSource_ActivityData.paginator = this.paginator;\r\n this.dataSource_ActivityData.sort = this.sort;\r\n });\r\n }\r\n \r\n }\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource_ActivityData.filter = filterValue.trim().toLowerCase();\r\n if (this.dataSource_ActivityData.paginator) {\r\n this.dataSource_ActivityData.paginator.firstPage();\r\n }\r\n\r\n }\r\n openDialogBox_CPMIBRReference(){\r\n const dialogRef = this.dialog.open(CPMIBRReference,{\r\n height: '400px',\r\n width: '600px',\r\n data: {\r\n isSave: true,\r\n id:0,\r\n businessUnit: this.selectedBusinessAreaControl.value,\r\n categoryId : this.selectedCategoryControl.value.id,\r\n categoryName: this.selectedCategoryControl.value.name\r\n }, \r\n });\r\n dialogRef.afterClosed().subscribe({\r\n next: (val) => {\r\n this.retrieve();\r\n }\r\n })\r\n }\r\n loadResourceToEdit(data : any){\r\n const dialogRef = this.dialog.open(CPMIBRReference,{\r\n height: '400px',\r\n width: '600px',\r\n data,\r\n }) \r\n dialogRef.afterClosed().subscribe({\r\n next: (val) => {\r\n this.retrieve();\r\n }\r\n })\r\n }\r\n delete(data: any) {\r\n \r\n if(data.status=='Active'){\r\n data.status= true;\r\n }else{\r\n data.status= false;\r\n }\r\n this.deleteSend.Id=data.id;\r\n this.deleteSend.CategoryId= data.categoryId;\r\n this.deleteSend.IsLink= data.isLink;\r\n this.deleteSend.RefText= data.refText;\r\n this.deleteSend.RefLink= data.refLink;\r\n this.deleteSend.IsDesignation= data.isDesignation;\r\n this.deleteSend.DesignationMapId= data.designationMapId;\r\n this.deleteSend.Status= data.status;\r\n this.deleteSend.BuisnessUnit= data.businessUnit;\r\n this.deleteSend.IsDeleted= true;\r\n if (confirm(\"Are you sure you want to delete this\")) { \r\n this.activityData.deleteActivityData(this.deleteSend).subscribe(() => { \r\n this.retrieve();\r\n }); \r\n } \r\n } \r\n}\r\n\r\n\r\nexport interface ActivityMST_Insert_Update\r\n{\r\n Id:number;\r\n CategoryId : number;\r\n IsLink: boolean;\r\n RefText: string;\r\n RefLink: string;\r\n IsDesignation: boolean;\r\n DesignationMapId: number;\r\n Status: boolean;\r\n BuisnessUnit: number;\r\n CreatedBy: number;\r\n CreatedDate: Date;\r\n UpdatedBy: number;\r\n UpdatedDate: Date;\r\n IsDeleted: boolean;\r\n}\r\n\r\nexport interface ActivityMST_Insert_Update_ValuesToSend{\r\n Id:number;\r\n CategoryId : number;\r\n IsLink: boolean;\r\n RefText: string;\r\n RefLink: string;\r\n IsDesignation: boolean;\r\n DesignationMapId: number;\r\n Status: boolean;\r\n BuisnessUnit: number;\r\n CreatedBy: number;\r\n CreatedDate: Date;\r\n UpdatedBy: number;\r\n UpdatedDate: Date;\r\n IsDeleted: boolean;\r\n}\r\nexport interface DesignationMST{\r\n id:number;\r\n name: string;\r\n}\r\n@Component ({\r\n selector: 'app-activity-data',\r\n templateUrl: './CPMIBRReference.html',\r\n styleUrls: ['./activity-data.component.scss']})\r\n \r\n export class CPMIBRReference implements OnInit {\r\n\r\n searchValueText: string = '';\r\n formInstance: FormGroup;\r\n businessUnitId: number;\r\n categoryId: number;\r\n categoryName: string;\r\n designationList: DesignationMST[]=[];\r\n refText:string;\r\n radiobutton:string = \"isLink\";\r\n refLink:string;\r\n plainText: string\r\n designationMapId: number;\r\n designationName: string;\r\n isCPMIBRReference:boolean= false;\r\n isRACI: boolean= false;\r\n isRemark: boolean=false;\r\n isOther:boolean=false;\r\n enableLink: boolean=true;\r\n enablePlainText:boolean=false;\r\n enableDesignation:boolean=false;\r\n designationID: number;\r\n links: string[]=[];\r\n isSave: boolean=false;\r\n statusCheck: boolean=false;\r\n disableRadioButton: boolean=false;\r\n showReset: boolean=false;\r\n activityMST_Insert_Update_ValuesToSend: ActivityMST_Insert_Update_ValuesToSend[] = [];\r\n\r\n @ViewChild('searchDesignation') searchDesignationTextBox: ElementRef;\r\n selectedDesignationId= new FormControl([]);\r\n selectedDesignationValue= new FormControl([]);\r\n selectDesignationFormControl = new FormControl([]);\r\n searchDesignationTextboxControl = new FormControl();\r\n selectedDesignationValues = [];\r\n designationFilteredOptions: Observable= of(this.designationList);\r\n allSelectedDesignation=false;\r\n isMultipleSelectedDesignation: boolean = false;\r\n\r\n @ViewChild(MatSort,{static:true}) sort: MatSort;\r\n @ViewChild('selectDesignation') selectDesignation: MatSelect;\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,public dialogRef: MatDialogRef,\r\n private activityData: ActivityDataService,private _formBuilder: FormBuilder)\r\n {\r\n };\r\n\r\n\r\n toolbar: Toolbar = [\r\n ['bold', 'italic'],\r\n ['underline'],\r\n ['ordered_list', 'bullet_list','link']\r\n ];\r\n topicEditor: Editor;\r\n remarksEditor: Editor;\r\n\r\n\r\n ngOnInit(): void {\r\n this.topicEditor = new Editor();\r\n this.remarksEditor = new Editor();\r\n\r\n this.businessUnitId= this.data.businessUnit;\r\n this.categoryId= this.data.categoryId;\r\n this.categoryName= this.data.categoryName;\r\n this.isSave= this.data.isSave;\r\n this.getDesignationList();\r\n console.log(this.data);\r\n this.refText= this.data.refText; \r\n this.plainText=\"\";\r\n\r\n if(this.data.isLink== true)\r\n {\r\n this.radiobutton= \"isLink\";\r\n this.refLink= this.data.refLink;\r\n this.enableLink= true;\r\n this.enablePlainText= false;\r\n this.enableDesignation=false;\r\n }\r\n else if(this.data.isLink== false && this.data.refText !=\"\"){\r\n this.radiobutton=\"isPlainText\";\r\n this.plainText= this.data.refText;\r\n this.enablePlainText= true;\r\n this.enableLink= false;\r\n this.enableDesignation=false;\r\n }\r\n if(this.data.isDesignation== true)\r\n {\r\n this.radiobutton=\"isDesignation\";\r\n this.designationMapId= this.data.designationMapId;\r\n this.designationName= this.data.refText;\r\n this.enableDesignation=true;\r\n this.enableLink= false;\r\n this.enablePlainText= false;\r\n this.refText=undefined;\r\n \r\n }\r\n if(this.isSave == true){\r\n this.statusCheck= true;\r\n this.disableRadioButton= true;\r\n this.showReset=true;\r\n }\r\n else if(this.data.status=='Active'){\r\n this.statusCheck= true;\r\n }else{\r\n this.statusCheck=false;\r\n }\r\n \r\n \r\n if(this.categoryName=='CPReference' || this.categoryName=='MIReference' || this.categoryName=='BRReference'){\r\n this.isCPMIBRReference=true;\r\n }\r\n else if(this.categoryName=='Responsible' || this.categoryName=='Accountable'|| this.categoryName=='Consult'|| this.categoryName=='Inform'){\r\n this.isRACI= true;\r\n }\r\n else if(this.categoryName=='Remark'){\r\n \r\n this.isRemark = true;\r\n }\r\n else{\r\n this.isOther= true;\r\n }\r\n }\r\n\r\n activityMST_Insert_Update : ActivityMST_Insert_Update={\r\n Id:0, CategoryId: 0, IsLink: false, RefText: \"\", RefLink: \"\", IsDesignation: false, DesignationMapId:0, Status:false, BuisnessUnit:0, CreatedBy:Number(sessionStorage.getItem('userId')),CreatedDate: new Date(), UpdatedBy:Number(sessionStorage.getItem('userId')),UpdatedDate: new Date(), IsDeleted:false\r\n }\r\n addItem(id:number, name: string){\r\n const newItem: DesignationMST={id,name};\r\n this.designationList.push(newItem);\r\n }\r\n cancel(){\r\nthis.refText='';\r\nthis.refLink='';\r\nthis.designationName='';\r\nthis.radiobutton='isLink';\r\nthis.plainText='';\r\nthis.enableLink=true;\r\nthis.enablePlainText=false;\r\nthis.enableDesignation= false;\r\n }\r\n\r\n getDesignationList(){\r\n\r\n this.activityData.getDesignationList(this.businessUnitId, this.categoryId).subscribe((data: any[])=>\r\n {\r\n \r\n this.designationList= data,\r\n this.designationFilteredOptions = this.searchDesignationTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.designationFilter(name))\r\n ); \r\n () => console.log('Get all complete'); \r\n if(this.isSave == undefined){\r\n this.addItem(this.data.designationMapId, this.data.refText);\r\n }\r\n });\r\n }\r\n private designationFilter(name: string) {\r\n const filterValue = name.toLowerCase();\r\n // Set selected values to retain the selected checkbox state \r\n this.setDesignationSelectedValues();\r\n this.selectedDesignationId= new FormControl([]);\r\n this.selectedDesignationValue= new FormControl([]);\r\n this.selectDesignationFormControl.patchValue(this.selectedDesignationValues);\r\n this.selectDesignationFormControl.value.forEach(item=> {\r\n this.selectedDesignationId.value.push(item.id);\r\n this.selectedDesignationValue.value.push(item.name);\r\n });\r\n let filteredList = this.designationList.filter(option => option.name.toLowerCase().includes(filterValue.toLowerCase()));\r\n return filteredList;\r\n }\r\n\r\n designationSelectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedDesignationValues.indexOf(event.source.value);\r\n this.selectedDesignationValues.splice(index, 1)\r\n }\r\n }\r\n openedDesignationChange(e) {\r\n // Set search textbox value as empty while opening selectbox \r\n this.searchDesignationTextboxControl.patchValue('');\r\n // Focus to search textbox while clicking on selectbox\r\n if (e == true) {\r\n this.searchDesignationTextBox.nativeElement.focus();\r\n }\r\n }\r\n\r\n clearDesignationSearch(event) {\r\n event.stopPropagation();\r\n this.searchDesignationTextboxControl.patchValue('');\r\n }\r\n\r\n setDesignationSelectedValues() {\r\n console.log('selectDesignationFormControl', this.selectDesignationFormControl.value);\r\n if (this.selectDesignationFormControl.value && this.selectDesignationFormControl.value.length > 0) {\r\n this.selectDesignationFormControl.value.forEach((e) => {\r\n if (this.selectedDesignationValues.indexOf(e) == -1) {\r\n this.selectedDesignationValues.push(e);\r\n }\r\n });\r\n }\r\n }\r\n\r\n selectedDesignationIdExists(id: number):boolean{\r\n return this.selectedDesignationId.value.some(item=>item === id);\r\n }\r\n selectedDesignationValueExists(value: string):boolean{\r\n return this.selectedDesignationValue.value.some(item=>item === value);\r\n }\r\n toggleAllSelectionDesignation() {\r\n if (this.allSelectedDesignation) {\r\n this.selectDesignation.options.forEach((item: MatOption) => item.select());\r\n this.isMultipleSelectedDesignation = true;\r\n this.selectedDesignationValue= new FormControl([]);\r\n this.selectedDesignationValue= new FormControl([]);\r\n \r\n this.selectDesignationFormControl.value.forEach(item=> {\r\n this.selectedDesignationId.value.push(item.id);\r\n this.selectedDesignationValue.value.push(item.name);\r\n });\r\n \r\n } else {\r\n this.selectDesignation.options.forEach((item: MatOption) => item.deselect()); \r\n this.isMultipleSelectedDesignation = false;\r\n this.selectedDesignationId= new FormControl([]);\r\n this.selectedDesignationValue= new FormControl([]);\r\n }\r\n }\r\n designationSelection(){\r\n this.selectedDesignationId= new FormControl([]);\r\n this.selectedDesignationValue= new FormControl([]);\r\n if(this.selectedDesignationValues.length !=0){\r\n this.selectedDesignationValues.forEach(item=> {\r\n this.selectedDesignationId.value.push(item.id);\r\n this.selectedDesignationValue.value.push(item.name);\r\n });\r\n }\r\n this.selectDesignationFormControl.value.forEach(item=> {\r\n if(!this.selectedDesignationIdExists(item.id)){\r\n this.selectedDesignationId.value.push(item.id);\r\n }\r\n if(!this.selectedDesignationValueExists(item.name)){\r\n this.selectedDesignationValue.value.push(item.name);\r\n }\r\n \r\n });\r\n\r\n if(this.selectedDesignationId.value.length == this.designationList.length){\r\n this.allSelectedDesignation = true;\r\n }else{\r\n this.allSelectedDesignation = false;\r\n }\r\n }\r\n close()\r\n {\r\n this.dialogRef.close();\r\n }\r\n onStatusCheckboxChange(isChecked: boolean){\r\n this.statusCheck= isChecked;\r\n }\r\n isLinkRadioChange_Remarks(){\r\n if(this.radiobutton== \"isLink\"){\r\n this.enableLink= true;\r\n this.enablePlainText=false;\r\n }else if(this.radiobutton== \"isPlainText\"){\r\n this.enableLink= false;\r\n this.enablePlainText=true;\r\n }\r\n }\r\n isLinkRadioChange_RACI(){\r\n if(this.radiobutton== \"isLink\"){\r\n this.enableLink= true;\r\n this.enablePlainText=false;\r\n this.enableDesignation=false;\r\n }else if(this.radiobutton== \"isPlainText\"){\r\n this.enableLink= false;\r\n this.enablePlainText=true;\r\n this.enableDesignation=false;\r\n }else if(this.radiobutton ==\"isDesignation\"){\r\n this.enableLink= false;\r\n this.enablePlainText=false;\r\n this.enableDesignation=true;\r\n }\r\n }\r\n designationSelectionSave(desID: number, desName: string){\r\n this.designationID= desID;\r\n this.designationName= desName;\r\n }\r\n isValidUrl(url:string):boolean{\r\n try{\r\n new URL(url);\r\n return true;\r\n }\r\n catch{\r\n return false;\r\n }\r\n }\r\n save()\r\n {\r\n this.activityMST_Insert_Update_ValuesToSend=[];\r\n let isValidUrl : boolean=false;\r\n var datatoCheck=\"\";\r\n \r\n if(this.isCPMIBRReference== true)\r\n {\r\n \r\n if(this.isCPMIBRReference== true && (this.refText==\"NA\" || this.refText==\"-\"))\r\n {\r\n\r\n }\r\n else if((this.refText== undefined && this.isCPMIBRReference== true) || (this.refText== '' && this.isCPMIBRReference== true)){\r\n this.activityData.ShowSnackBar(\"Please enter Text for link\",'rd-snackbar');\r\n return;\r\n }\r\n else if((this.refLink== undefined && this.isCPMIBRReference==true ) || (this.refLink== '' && this.isCPMIBRReference==true)){\r\n this.activityData.ShowSnackBar(\"Please enter RefLink\",'red-snackbar');\r\n return;\r\n }\r\n /* && this.refText!=\"NA\" || this.refText!=\"-\" */\r\n }\r\n else if(this.isRACI ==true)\r\n {\r\n if((this.radiobutton == \"isLink\" && this.refText == undefined) || (this.radiobutton == \"isLink\" && this.refText == '')){\r\n this.activityData.ShowSnackBar(\"Please enter Text for link\",'red-snackbar');\r\n return;\r\n }\r\n else if(( this.radiobutton == \"isLink\" && this.refLink== undefined) || (this.radiobutton == \"isLink\" && this.refLink== '')){\r\n this.activityData.ShowSnackBar(\"Please enter RefLink\",'red-snackbar');\r\n return;\r\n }\r\n else\r\n /* Plain Text */\r\n if((this.radiobutton==\"isPlainText\" && this.plainText== undefined) || (this.radiobutton==\"isPlainText\" &&this.plainText== '')){\r\n this.activityData.ShowSnackBar(\"Please enter PlainText\",'red-snackbar');\r\n return;\r\n }\r\n /* else if(this.plainText != undefined && this.plainText.trim()==''){\r\n this.activityData.ShowSnackBar(\"Please enter valid PlainText\",'red-snackbar');\r\n return;\r\n } */\r\n else if(this.isSave== true && this.radiobutton==\"isDesignation\" && this.selectedDesignationId.value.length== 0){\r\n this.activityData.ShowSnackBar(\"Please choose Designation\",'red-snackbar');\r\n return;\r\n }\r\n \r\n \r\n }\r\n else if(this.isRemark ==true){\r\n /* if((this.radiobutton == \"isLink\" && this.refText == undefined) || (this.radiobutton == \"isLink\" && this.refText == '')){\r\n this.activityData.ShowSnackBar(\"Please enter Text for link\",'red-snackbar');\r\n return;\r\n }\r\n else if(( this.radiobutton == \"isLink\" && this.refLink== undefined) || (this.radiobutton == \"isLink\" && this.refLink== '')){\r\n this.activityData.ShowSnackBar(\"Please enter RefLink\",'red-snackbar');\r\n return;\r\n }\r\n \r\n if((this.radiobutton==\"isPlainText\" && this.plainText== undefined) || (this.radiobutton==\"isPlainText\" &&this.plainText== '')){\r\n this.activityData.ShowSnackBar(\"Please enter PlainText\",'red-snackbar');\r\n return;\r\n }\r\n if(this.plainText != undefined && this.plainText.trim()==''){\r\n this.activityData.ShowSnackBar(\"Please enter valid PlainText\",'red-snackbar');\r\n return;\r\n } */\r\n\r\n if(this.plainText != undefined && (this.plainText.trim()=='

' || this.plainText.trim()==\"\") ){\r\n this.activityData.ShowSnackBar(\"Please enter valid PlainText\",'red-snackbar');\r\n return;\r\n }\r\n\r\n }\r\n else if(this.isOther==true)\r\n {\r\n if((this.isOther== true && this.refText== undefined) || (this.isOther== true && this.refText== '')){\r\n this.activityData.ShowSnackBar(\"Please enter Text\",'red-snackbar');\r\n return;\r\n }\r\n }\r\n\r\n /* else{ */\r\n\r\n if(this.isCPMIBRReference== true)\r\n datatoCheck=this.refText;\r\n else if(this.isRACI== true)\r\n {\r\n if(this.radiobutton == \"isLink\")\r\n datatoCheck=this.refText;\r\n else if(this.radiobutton == \"isPlainText\")\r\n datatoCheck=this.plainText;\r\n else if(this.radiobutton == \"isDesignation\")\r\n datatoCheck=\"$$$$-$$$$-$$$\";//Some dummy text\r\n }\r\n else if(this.isRemark== true)\r\n {\r\n /* if(this.radiobutton == \"isLink\")\r\n datatoCheck=this.refText;\r\n else if(this.radiobutton == \"isPlainText\") */\r\n datatoCheck=this.plainText;\r\n }\r\n else if(this.isOther==true)\r\n {\r\n datatoCheck=this.refText;\r\n }\r\n\r\n this.activityData.CheckIfRefTextExists(this.businessUnitId,this.categoryId,datatoCheck).subscribe((dataCount:any)=>{\r\n isValidUrl= this.isValidUrl(this.refLink);\r\n if(dataCount >0 && this.isSave == true){\r\n this.activityData.ShowSnackBar(\"Entered text already exists under respective BusinessArea and Category\",'red-snackbar');\r\n return; \r\n }\r\n var isTextSave=false;\r\n if(((this.refLink == undefined && isValidUrl == false)||(this.refLink == \"\" && isValidUrl == false))&& this.isCPMIBRReference== true && (datatoCheck==\"NA\" || datatoCheck==\"-\"))\r\n {\r\n if(this.refLink== undefined || this.refLink == \"\")\r\n {\r\n this.refLink=\"\";\r\n isTextSave=true;\r\n }\r\n \r\n }\r\n\r\n\r\n if(this.refLink != undefined && isValidUrl == false && isTextSave==false){\r\n \r\n \r\n this.activityData.ShowSnackBar(\"Please enter valid Link\",'red-snackbar');\r\n return; \r\n \r\n }\r\n else{\r\n if(this.categoryName=='CPReference' || this.categoryName=='MIReference' || this.categoryName=='BRReference'){\r\n this.activityMST_Insert_Update.CategoryId= this.categoryId;\r\n \r\n if(this.refText==\"NA\" || this.refText==\"-\")\r\n this.activityMST_Insert_Update.IsLink= false;\r\n else\r\n this.activityMST_Insert_Update.IsLink= true;\r\n\r\n this.activityMST_Insert_Update.RefText= this.refText;\r\n this.activityMST_Insert_Update.RefLink= this.refLink;\r\n this.activityMST_Insert_Update.IsDesignation= false;\r\n this.activityMST_Insert_Update.DesignationMapId=0;\r\n this.activityMST_Insert_Update.Status=this.statusCheck;\r\n this.activityMST_Insert_Update.BuisnessUnit= this.businessUnitId;\r\n this.activityMST_Insert_Update.CreatedBy= this.activityMST_Insert_Update.CreatedBy;\r\n this.activityMST_Insert_Update.CreatedDate= this.activityMST_Insert_Update.CreatedDate;\r\n this.activityMST_Insert_Update.UpdatedBy= this.activityMST_Insert_Update.UpdatedBy;\r\n this.activityMST_Insert_Update.UpdatedDate= new Date();\r\n this.activityMST_Insert_Update.IsDeleted= false;\r\n this.activityMST_Insert_Update_ValuesToSend.push({\r\n Id: this.data.id,\r\n CategoryId: this.categoryId,\r\n IsLink: this.activityMST_Insert_Update.IsLink,\r\n RefText: this.activityMST_Insert_Update.RefText,\r\n RefLink: this.activityMST_Insert_Update.RefLink,\r\n IsDesignation: this.activityMST_Insert_Update.IsDesignation,\r\n DesignationMapId: this.activityMST_Insert_Update.DesignationMapId,\r\n Status: this.activityMST_Insert_Update.Status,\r\n BuisnessUnit:this.businessUnitId,\r\n CreatedBy: this.activityMST_Insert_Update.CreatedBy,\r\n CreatedDate:this.activityMST_Insert_Update.CreatedDate,\r\n UpdatedBy: this.activityMST_Insert_Update.UpdatedBy,\r\n UpdatedDate: new Date(),\r\n IsDeleted: this.activityMST_Insert_Update.IsDeleted\r\n });\r\n }\r\n else if(this.categoryName=='Responsible' || this.categoryName=='Accountable'|| this.categoryName=='Consult'|| this.categoryName=='Inform'){\r\n if(this.radiobutton== \"isLink\"){\r\n this.activityMST_Insert_Update.RefText= this.refText;\r\n this.activityMST_Insert_Update.IsLink= true;\r\n this.activityMST_Insert_Update.RefLink= this.refLink;\r\n this.activityMST_Insert_Update.IsDesignation= false;\r\n this.activityMST_Insert_Update.DesignationMapId=0;\r\n this.activityMST_Insert_Update.Status=this.statusCheck;\r\n this.activityMST_Insert_Update.BuisnessUnit= this.businessUnitId;\r\n this.activityMST_Insert_Update.CreatedBy= this.activityMST_Insert_Update.CreatedBy;\r\n this.activityMST_Insert_Update.CreatedDate= this.activityMST_Insert_Update.CreatedDate;\r\n this.activityMST_Insert_Update.UpdatedBy= this.activityMST_Insert_Update.UpdatedBy;\r\n this.activityMST_Insert_Update.UpdatedDate= new Date();\r\n this.activityMST_Insert_Update.IsDeleted= false;\r\n this.activityMST_Insert_Update_ValuesToSend.push({\r\n Id: this.data.id,\r\n CategoryId: this.categoryId,\r\n IsLink: this.activityMST_Insert_Update.IsLink,\r\n RefText: this.activityMST_Insert_Update.RefText,\r\n RefLink: this.activityMST_Insert_Update.RefLink,\r\n IsDesignation: this.activityMST_Insert_Update.IsDesignation,\r\n DesignationMapId: this.activityMST_Insert_Update.DesignationMapId,\r\n Status: this.activityMST_Insert_Update.Status,\r\n BuisnessUnit:this.businessUnitId,\r\n CreatedBy: this.activityMST_Insert_Update.CreatedBy,\r\n CreatedDate:this.activityMST_Insert_Update.CreatedDate,\r\n UpdatedBy: this.activityMST_Insert_Update.UpdatedBy,\r\n UpdatedDate: new Date(),\r\n IsDeleted: this.activityMST_Insert_Update.IsDeleted\r\n });\r\n } \r\n else if(this.radiobutton== \"isPlainText\"){\r\n this.activityMST_Insert_Update.RefText=this.plainText;\r\n this.activityMST_Insert_Update.IsLink= false;\r\n this.activityMST_Insert_Update.RefLink= '';\r\n this.activityMST_Insert_Update.IsDesignation= false;\r\n this.activityMST_Insert_Update.DesignationMapId=0;\r\n this.activityMST_Insert_Update.Status=this.statusCheck;\r\n this.activityMST_Insert_Update.BuisnessUnit= this.businessUnitId;\r\n this.activityMST_Insert_Update.CreatedBy= this.activityMST_Insert_Update.CreatedBy;\r\n this.activityMST_Insert_Update.CreatedDate= this.activityMST_Insert_Update.CreatedDate;\r\n this.activityMST_Insert_Update.UpdatedBy= this.activityMST_Insert_Update.UpdatedBy;\r\n this.activityMST_Insert_Update.UpdatedDate= new Date();\r\n this.activityMST_Insert_Update.IsDeleted= false;\r\n this.activityMST_Insert_Update_ValuesToSend.push({\r\n Id: this.data.id,\r\n CategoryId: this.categoryId,\r\n IsLink: this.activityMST_Insert_Update.IsLink,\r\n RefText: this.activityMST_Insert_Update.RefText,\r\n RefLink: this.activityMST_Insert_Update.RefLink,\r\n IsDesignation: this.activityMST_Insert_Update.IsDesignation,\r\n DesignationMapId: this.activityMST_Insert_Update.DesignationMapId,\r\n Status: this.activityMST_Insert_Update.Status,\r\n BuisnessUnit:this.businessUnitId,\r\n CreatedBy: this.activityMST_Insert_Update.CreatedBy,\r\n CreatedDate:this.activityMST_Insert_Update.CreatedDate,\r\n UpdatedBy: this.activityMST_Insert_Update.UpdatedBy,\r\n UpdatedDate: new Date(),\r\n IsDeleted: this.activityMST_Insert_Update.IsDeleted\r\n });\r\n }\r\n else if(this.radiobutton== \"isDesignation\"){\r\n if(this.isSave){\r\n if(this.selectedDesignationId.value.length >0)\r\n {\r\n for(let i=0; i< this.selectedDesignationId.value.length;i++){\r\n this.activityMST_Insert_Update.RefText= this.selectedDesignationValue.value[i];\r\n this.activityMST_Insert_Update.IsLink= false;\r\n this.activityMST_Insert_Update.RefLink= '';\r\n this.activityMST_Insert_Update.IsDesignation= true;\r\n this.activityMST_Insert_Update.DesignationMapId=this.selectedDesignationId.value[i];\r\n this.activityMST_Insert_Update.Status=this.statusCheck;\r\n this.activityMST_Insert_Update.BuisnessUnit= this.businessUnitId;\r\n this.activityMST_Insert_Update.CreatedBy= this.activityMST_Insert_Update.CreatedBy;\r\n this.activityMST_Insert_Update.CreatedDate= this.activityMST_Insert_Update.CreatedDate;\r\n this.activityMST_Insert_Update.UpdatedBy= this.activityMST_Insert_Update.UpdatedBy;\r\n this.activityMST_Insert_Update.UpdatedDate= new Date();\r\n this.activityMST_Insert_Update.IsDeleted= false;\r\n this.activityMST_Insert_Update_ValuesToSend.push({\r\n Id: this.data.id,\r\n CategoryId:this.categoryId,\r\n IsLink: this.activityMST_Insert_Update.IsLink,\r\n RefText: this.activityMST_Insert_Update.RefText,\r\n RefLink: this.activityMST_Insert_Update.RefLink,\r\n IsDesignation: this.activityMST_Insert_Update.IsDesignation,\r\n DesignationMapId: this.activityMST_Insert_Update.DesignationMapId,\r\n Status: this.activityMST_Insert_Update.Status,\r\n BuisnessUnit:this.businessUnitId,\r\n CreatedBy: this.activityMST_Insert_Update.CreatedBy,\r\n CreatedDate:this.activityMST_Insert_Update.CreatedDate,\r\n UpdatedBy: this.activityMST_Insert_Update.UpdatedBy,\r\n UpdatedDate: new Date(),\r\n IsDeleted: this.activityMST_Insert_Update.IsDeleted\r\n });\r\n }\r\n }\r\n }\r\n else{\r\n this.activityMST_Insert_Update.RefText= this.designationName;\r\n this.activityMST_Insert_Update.IsLink= false;\r\n this.activityMST_Insert_Update.RefLink= '';\r\n this.activityMST_Insert_Update.IsDesignation= true;\r\n this.activityMST_Insert_Update.DesignationMapId=this.designationID;\r\n this.activityMST_Insert_Update.Status=this.statusCheck;\r\n this.activityMST_Insert_Update.BuisnessUnit= this.businessUnitId;\r\n this.activityMST_Insert_Update.CreatedBy= this.activityMST_Insert_Update.CreatedBy;\r\n this.activityMST_Insert_Update.CreatedDate= this.activityMST_Insert_Update.CreatedDate;\r\n this.activityMST_Insert_Update.UpdatedBy= this.activityMST_Insert_Update.UpdatedBy;\r\n this.activityMST_Insert_Update.UpdatedDate= new Date();\r\n this.activityMST_Insert_Update.IsDeleted= false;\r\n this.activityMST_Insert_Update_ValuesToSend.push({\r\n Id: this.data.id,\r\n CategoryId:this.categoryId,\r\n IsLink: this.activityMST_Insert_Update.IsLink,\r\n RefText: this.activityMST_Insert_Update.RefText,\r\n RefLink: this.activityMST_Insert_Update.RefLink,\r\n IsDesignation: this.activityMST_Insert_Update.IsDesignation,\r\n DesignationMapId: this.activityMST_Insert_Update.DesignationMapId,\r\n Status: this.activityMST_Insert_Update.Status,\r\n BuisnessUnit:this.businessUnitId,\r\n CreatedBy: this.activityMST_Insert_Update.CreatedBy,\r\n CreatedDate:this.activityMST_Insert_Update.CreatedDate,\r\n UpdatedBy: this.activityMST_Insert_Update.UpdatedBy,\r\n UpdatedDate: new Date(),\r\n IsDeleted: this.activityMST_Insert_Update.IsDeleted\r\n });\r\n }\r\n \r\n }\r\n }\r\n else if(this.categoryName=='Remark'){\r\n /* if(this.radiobutton== \"isLink\"){\r\n this.activityMST_Insert_Update.RefText= this.refText;\r\n this.activityMST_Insert_Update.IsLink= true;\r\n this.activityMST_Insert_Update.RefLink= this.refLink;\r\n this.activityMST_Insert_Update.IsDesignation= false;\r\n this.activityMST_Insert_Update.DesignationMapId=0;\r\n this.activityMST_Insert_Update.Status=this.statusCheck;\r\n this.activityMST_Insert_Update.BuisnessUnit= this.businessUnitId;\r\n this.activityMST_Insert_Update.CreatedBy= this.activityMST_Insert_Update.CreatedBy;\r\n this.activityMST_Insert_Update.CreatedDate= this.activityMST_Insert_Update.CreatedDate;\r\n this.activityMST_Insert_Update.UpdatedBy= this.activityMST_Insert_Update.UpdatedBy;\r\n this.activityMST_Insert_Update.UpdatedDate= new Date();\r\n this.activityMST_Insert_Update.IsDeleted= false;\r\n this.activityMST_Insert_Update_ValuesToSend.push({\r\n Id: this.data.id,\r\n CategoryId: this.categoryId,\r\n IsLink: this.activityMST_Insert_Update.IsLink,\r\n RefText: this.activityMST_Insert_Update.RefText,\r\n RefLink: this.activityMST_Insert_Update.RefLink,\r\n IsDesignation: this.activityMST_Insert_Update.IsDesignation,\r\n DesignationMapId: this.activityMST_Insert_Update.DesignationMapId,\r\n Status: this.activityMST_Insert_Update.Status,\r\n BuisnessUnit:this.businessUnitId,\r\n CreatedBy: this.activityMST_Insert_Update.CreatedBy,\r\n CreatedDate:this.activityMST_Insert_Update.CreatedDate,\r\n UpdatedBy: this.activityMST_Insert_Update.UpdatedBy,\r\n UpdatedDate: new Date(),\r\n IsDeleted: this.activityMST_Insert_Update.IsDeleted\r\n });\r\n } \r\n else if(this.radiobutton== \"isPlainText\"){ */\r\n this.activityMST_Insert_Update.RefText=this.plainText;\r\n this.activityMST_Insert_Update.IsLink= false;\r\n this.activityMST_Insert_Update.RefLink= '';\r\n this.activityMST_Insert_Update.IsDesignation= false;\r\n this.activityMST_Insert_Update.DesignationMapId=0;\r\n this.activityMST_Insert_Update.Status=this.statusCheck;\r\n this.activityMST_Insert_Update.BuisnessUnit= this.businessUnitId;\r\n this.activityMST_Insert_Update.CreatedBy= this.activityMST_Insert_Update.CreatedBy;\r\n this.activityMST_Insert_Update.CreatedDate= this.activityMST_Insert_Update.CreatedDate;\r\n this.activityMST_Insert_Update.UpdatedBy= this.activityMST_Insert_Update.UpdatedBy;\r\n this.activityMST_Insert_Update.UpdatedDate= new Date();\r\n this.activityMST_Insert_Update.IsDeleted= false;\r\n this.activityMST_Insert_Update_ValuesToSend.push({\r\n Id: this.data.id,\r\n CategoryId: this.categoryId,\r\n IsLink: this.activityMST_Insert_Update.IsLink,\r\n RefText: this.activityMST_Insert_Update.RefText,\r\n RefLink: this.activityMST_Insert_Update.RefLink,\r\n IsDesignation: this.activityMST_Insert_Update.IsDesignation,\r\n DesignationMapId: this.activityMST_Insert_Update.DesignationMapId,\r\n Status: this.activityMST_Insert_Update.Status,\r\n BuisnessUnit:this.businessUnitId,\r\n CreatedBy: this.activityMST_Insert_Update.CreatedBy,\r\n CreatedDate:this.activityMST_Insert_Update.CreatedDate,\r\n UpdatedBy: this.activityMST_Insert_Update.UpdatedBy,\r\n UpdatedDate: new Date(),\r\n IsDeleted: this.activityMST_Insert_Update.IsDeleted\r\n });\r\n //}\r\n }\r\n else if(this.isOther== true){\r\n this.activityMST_Insert_Update.RefText= this.refText;\r\n this.activityMST_Insert_Update.IsLink= false;\r\n this.activityMST_Insert_Update.RefLink= '';\r\n this.activityMST_Insert_Update.IsDesignation= false;\r\n this.activityMST_Insert_Update.DesignationMapId=0;\r\n this.activityMST_Insert_Update.Status=this.statusCheck;\r\n this.activityMST_Insert_Update.BuisnessUnit= this.businessUnitId;\r\n this.activityMST_Insert_Update.CreatedBy= this.activityMST_Insert_Update.CreatedBy;\r\n this.activityMST_Insert_Update.CreatedDate= this.activityMST_Insert_Update.CreatedDate;\r\n this.activityMST_Insert_Update.UpdatedBy= this.activityMST_Insert_Update.UpdatedBy;\r\n this.activityMST_Insert_Update.UpdatedDate= new Date();\r\n this.activityMST_Insert_Update.IsDeleted= false;\r\n this.activityMST_Insert_Update_ValuesToSend.push({\r\n Id: this.data.id,\r\n CategoryId: this.categoryId,\r\n IsLink: this.activityMST_Insert_Update.IsLink,\r\n RefText: this.activityMST_Insert_Update.RefText,\r\n RefLink: this.activityMST_Insert_Update.RefLink,\r\n IsDesignation: this.activityMST_Insert_Update.IsDesignation,\r\n DesignationMapId: this.activityMST_Insert_Update.DesignationMapId,\r\n Status: this.activityMST_Insert_Update.Status,\r\n BuisnessUnit:this.businessUnitId,\r\n CreatedBy: this.activityMST_Insert_Update.CreatedBy,\r\n CreatedDate:this.activityMST_Insert_Update.CreatedDate,\r\n UpdatedBy: this.activityMST_Insert_Update.UpdatedBy,\r\n UpdatedDate: new Date(),\r\n IsDeleted: this.activityMST_Insert_Update.IsDeleted\r\n });\r\n }\r\n this.activityData.ActivityDataSave(this.activityMST_Insert_Update_ValuesToSend).subscribe((data:any)=>{\r\n if(data !=\"\"){\r\n this.activityData.ShowSnackBar(\"Data Saved Successfully\",'red-snackbar'); \r\n this.dialogRef.close(true);\r\n\r\n }\r\n });\r\n }\r\n }); \r\n /* } */\r\n }\r\n}\r\n","\r\n
\r\n

\r\n Activity Data Master

\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Select Business Area\r\n \r\n \r\n {{business.name}}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Select Category\r\n \r\n \r\n {{masterData.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 Search\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
BusinessUnit {{element.businessUnitName}} CategoryName {{element.categoryName}} IsLink {{element.isLink}} RefText RefLink {{element.refLink}} IsDesignation {{element.isDesignation}} Status {{element.status}} Action\r\n \r\n \r\n
Please select the filter for data.
\r\n
\r\n \r\n
\r\n
\r\n","
\r\n
\r\n

{{categoryName}}

\r\n
\r\n \r\n
\r\n close\r\n
\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n \r\n Enter RefText\r\n \r\n Value is mandatory\r\n \r\n
\r\n
\r\n \r\n Enter Link\r\n \r\n Value is mandatory\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n Is Link \r\n Is Plaintext \r\n Is Designation\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Enter RefText\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Enter Link\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n Enter Plaintext\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Select Designation\r\n \r\n \r\n {{selectedDesignationValue.value? selectedDesignationValue.value.join(', '): ''}}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
No results found!
\r\n
\r\n Select All\r\n \r\n {{designation.name}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Select Designation\r\n \r\n \r\n {{designation.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 Enter RefText\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n Active :  \r\n \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 { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\nimport { FlatTreeControl } from \"@angular/cdk/tree\";\r\nimport { NestedTreeControl } from \"@angular/cdk/tree\";\r\nimport { Component,Inject, Injectable, OnInit, ViewChild,ElementRef, HostListener } from \"@angular/core\";\r\nimport {MatTreeFlatDataSource,MatTreeFlattener, MatTreeNestedDataSource} from \"@angular/material/tree\";\r\nimport { BehaviorSubject } from \"rxjs\";\r\nimport { MatTable, MatTableDataSource } from '@angular/material/table';\r\nimport { Observable, of } from \"rxjs\";\r\nimport { ActivityMasterService } from \"src/app/Services/activity-master.service\";\r\nimport { SelectionModel } from \"@angular/cdk/collections\";\r\n/**\r\n * Node for to-do item\r\n */\r\nexport class TodoItemNode {\r\n children: TodoItemNode[];\r\n id:number;\r\n parentId: string;\r\n text: string;\r\n parentActivityName: string;\r\n level: number;\r\n expandable: boolean;\r\n selected?: boolean;\r\n status:boolean;\r\n isDeleted:boolean;\r\n disabled:boolean;\r\n}\r\n\r\n/** Flat to-do item node with expandable and level information */\r\nexport class TodoItemFlatNode {\r\n id:number;\r\n text: string;\r\n parentId: string;\r\n parentActivityName: string;\r\n level: number;\r\n expandable: boolean;\r\n selected?: boolean;\r\n children: TodoItemFlatNode[];\r\n status:boolean;\r\n isDeleted:boolean;\r\n disabled:boolean;\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n@Injectable()\r\nexport class ChecklistDatabase {\r\n dataChange = new BehaviorSubject([]);\r\n get data(): TodoItemNode[] { return this.dataChange.value; }\r\n\r\n constructor(private activitymasterSer: ActivityMasterService) {\r\n this.initialize();\r\n }\r\n\r\n initialize() {\r\n\r\n this.activitymasterSer.getActivityMaster().subscribe((data1: any[])=>{\r\n const data = this.treeConstruct(data1);\r\n this.dataChange.next(data);\r\n }) \r\n }\r\n\r\n treeConstruct(treeData) {\r\n let constructedTree = [];\r\n for (let i of treeData) {\r\n let treeObj = i;\r\n let assigned = false;\r\n this.constructTree(constructedTree, treeObj, assigned)\r\n }\r\n return constructedTree;\r\n }\r\n constructTree(constructedTree, treeObj, assigned) {\r\n if (treeObj.parentId == null) {\r\n treeObj.children = [];\r\n constructedTree.push(treeObj);\r\n return true;\r\n } else if (treeObj.parentId == constructedTree.id) {\r\n treeObj.children = [];\r\n constructedTree.children.push(treeObj);\r\n return true;\r\n }\r\n else {\r\n if (constructedTree.children != undefined) {\r\n for (let index = 0; index < constructedTree.children.length; index++) {\r\n let constructedObj = constructedTree.children[index];\r\n if (assigned == false) {\r\n assigned = this.constructTree(constructedObj, treeObj, assigned);\r\n }\r\n }\r\n } else {\r\n for (let index = 0; index < constructedTree.length; index++) {\r\n let constructedObj = constructedTree[index];\r\n if (assigned == false) {\r\n assigned = this.constructTree(constructedObj, treeObj, assigned);\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n }\r\n\r\n\r\n /** Add an item to to-do list */\r\n insertItem(parent: TodoItemNode, name: string) {\r\n if (parent.children) {\r\n parent.children.push({text: name} as TodoItemNode);\r\n this.dataChange.next(this.data);\r\n }\r\n }\r\n\r\n updateItem(node: TodoItemNode, name: string) {\r\n node.text = name;\r\n this.dataChange.next(this.data);\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-activity-master',\r\n templateUrl: './activity-master.component.html',\r\n styleUrls: ['./activity-master.component.css'],\r\n providers: [ChecklistDatabase]\r\n})\r\n//Start ******************************************** ActivityMasterComponent Component\r\nexport class ActivityMasterComponent implements OnInit {\r\n isIdVisible: boolean = false;\r\n formInstance: any;\r\n searchString = ''\r\n\r\n /** Map from flat node to nested node. This helps us finding the nested node to be modified */\r\n flatNodeMap = new Map();\r\n\r\n /** Map from nested node to flattened node. This helps us to keep the same object for selection */\r\n nestedNodeMap = new Map();\r\n \r\n /** A selected parent node to be inserted */\r\n selectedParent: TodoItemFlatNode | null = null;\r\n \r\n treeControl: NestedTreeControl;\r\n dataSource_Tree: MatTreeNestedDataSource; \r\n \r\n\r\n \r\n constructor(private snackBar: MatSnackBar,private _database: ChecklistDatabase,private activitymasterSer: ActivityMasterService,public dialog: MatDialog,) { \r\n\r\n \r\n this.treeControl = new NestedTreeControl(node => node.children);\r\n this.dataSource_Tree = new MatTreeNestedDataSource();\r\n\r\n\r\n this.activitymasterSer.getActivityMaster().subscribe((data1: any[])=>{\r\n const data = this.treeConstruct(data1);\r\n this.dataSource_Tree.data = data;\r\n this.treeControl.dataNodes = data;\r\n }) \r\n\r\n }\r\n\r\n getLevel = (node: TodoItemFlatNode) => node.level;\r\n isExpandable = (node: TodoItemFlatNode) => node.expandable;\r\n getChildren = (node: TodoItemNode): TodoItemNode[] => node.children;\r\n hasNoContent = (_: number, _nodeData: TodoItemFlatNode) => _nodeData.text === '';\r\n hasChild = (_: number, node: TodoItemNode) => !!node.children && node.children.length > 0;\r\n\r\n\r\n \r\n\r\n treeConstruct(treeData) {\r\n let constructedTree = [];\r\n for (let i of treeData) {\r\n let treeObj = i;\r\n let assigned = false;\r\n this.constructTree(constructedTree, treeObj, assigned)\r\n }\r\n return constructedTree;\r\n }\r\nconstructTree(constructedTree, treeObj, assigned) {\r\n if (treeObj.parentId == null) {\r\n treeObj.children = [];\r\n constructedTree.push(treeObj);\r\n return true;\r\n } else if (treeObj.parentId == constructedTree.id) {\r\n treeObj.children = [];\r\n constructedTree.children.push(treeObj);\r\n return true;\r\n }\r\n else {\r\n if (constructedTree.children != undefined) {\r\n for (let index = 0; index < constructedTree.children.length; index++) {\r\n let constructedObj = constructedTree.children[index];\r\n if (assigned == false) {\r\n assigned = this.constructTree(constructedObj, treeObj, assigned);\r\n }\r\n }\r\n } else {\r\n for (let index = 0; index < constructedTree.length; index++) {\r\n let constructedObj = constructedTree[index];\r\n if (assigned == false) {\r\n assigned = this.constructTree(constructedObj, treeObj, assigned);\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n }\r\n\r\n\r\n // search filter logic start\r\n filterLeafNode(node: TodoItemFlatNode): boolean {\r\n if (!this.searchString) {\r\n return false\r\n }\r\n return node.text.toLowerCase()\r\n .indexOf(this.searchString?.toLowerCase()) === -1\r\n \r\n }\r\n\r\n filterParentNode(node: TodoItemFlatNode): boolean {\r\n\r\n if (\r\n !this.searchString ||\r\n node.text.toLowerCase().indexOf(this.searchString?.toLowerCase()) !==\r\n -1\r\n ) {\r\n return false\r\n }\r\n const descendants = this.treeControl.getDescendants(node)\r\n\r\n if (\r\n descendants.some(\r\n (descendantNode) =>\r\n descendantNode.text\r\n .toLowerCase()\r\n .indexOf(this.searchString?.toLowerCase()) !== -1\r\n )\r\n ) {\r\n return false\r\n }\r\n\r\n return true\r\n }\r\n // search filter logic end\r\n\r\n\r\n getColor(node: TodoItemFlatNode): string {\r\n return node.status === false || node.disabled === true ? 'red':'black' ;\r\n }\r\n\r\n\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n loadResourceToEdit(data : any){\r\n data.action=\"Edit\";\r\n this.isIdVisible = true;\r\n const dialogRef = this.dialog.open(AddActivityDialog,{\r\n data,height:'800px',width:'600px'\r\n }) \r\n dialogRef.afterClosed().subscribe({\r\n next: (val) => {\r\n if(val){\r\n this.getActivityMaster();\r\n }\r\n }\r\n })\r\n }\r\n\r\n snackBarLoader(content, action, duration, color){\r\n this.snackBar.open(content, action, {\r\n duration: 2000,\r\n verticalPosition: \"top\", \r\n horizontalPosition: \"center\", \r\n panelClass: [color]\r\n });\r\n}\r\n\r\ngetActivityMaster(){\r\n this.activitymasterSer.getActivityMaster().subscribe((data1: any[])=>{\r\n console.log(data1);\r\n const data = this.treeConstruct(data1);\r\n this.dataSource_Tree.data = data;\r\n this.treeControl.dataNodes = data;\r\n }) \r\n}\r\n\r\nAddDialogBox(data : any){\r\n if(data!=\"\")\r\n {\r\n data.action=\"Add\";\r\n }\r\n \r\n this.isIdVisible = false;\r\n const dialogRef = this.dialog.open(AddActivityDialog,\r\n {data,\r\n height: '450px',\r\n width: '600px'\r\n });\r\n dialogRef.afterClosed().subscribe({\r\n next: (val) => {\r\n if(val){\r\n this.getActivityMaster();\r\n }\r\n }\r\n })\r\n}\r\n\r\n\r\n}\r\n//End ********************** ActivityMasterComponent Component\r\n\r\n\r\n/* ************************ Activity Master Popup for Activity creation ************************ */\r\n\r\nexport interface ActivityMaster{\r\n activityId: number;\r\n activity : string;\r\n parentId : number;\r\n parentActivityName: string;\r\n status : boolean;\r\n createdBy : number; \r\n createdDate : Date;\r\n updatedBy : number; \r\n updatedDate : Date;\r\n action:string;\r\n}\r\n\r\n\r\n@Component ({\r\n selector: 'app-dialog-entity',\r\n templateUrl: './addActivityDialog.html',\r\n styleUrls: ['./activity-master.component.css'],\r\n providers: [ChecklistDatabase]\r\n})\r\n\r\n export class AddActivityDialog implements OnInit {\r\n formInstance: FormGroup;\r\n isIdVisible :boolean =false;\r\n ischecked :boolean =true;\r\n ischild :boolean =true;\r\n parentId: number;\r\n createdByUserId : number;\r\n createdBy : number;\r\n createdDate : Date;\r\n activityModel: ActivityMaster= {} as ActivityMaster;\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,public dialogRef: MatDialogRef,\r\n private snackBar: MatSnackBar,private _formBuilder: FormBuilder, private activityServ : ActivityMasterService) \r\n {\r\n this.formInstance = _formBuilder.group({\r\n // \"id\":0,\r\n \"activity\":['', Validators.required],\r\n \"status\": true\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.activityModel.status = true;\r\n if(this.data.parentActivityName == null || this.data.parentActivityName == \"\" ){\r\n this.ischild = false;\r\n }\r\n if(this.data==\"\")\r\n {\r\n this.activityModel.activityId = 0;\r\n this.activityModel.parentId = 0;\r\n this.isIdVisible = false;\r\n }\r\n else if(this.data !=null && this.data !=undefined)\r\n {\r\n if(this.data.action=='Add')\r\n {\r\n this.activityModel.activityId = 0;\r\n this.activityModel.parentId = this.data.id;\r\n this.isIdVisible = false;\r\n }\r\n else\r\n {\r\n this.activityModel.activityId = this.data.id;\r\n this.activityModel.parentId = this.data.parentId;\r\n this.activityModel.parentActivityName = this.data.parentActivityName;\r\n this.activityModel.activity = this.data.text;\r\n this.activityModel.status = this.data.status;\r\n this.createdBy = this.data.createdBy;\r\n this.createdDate = this.data.createdDate;\r\n this.isIdVisible = true;\r\n }\r\n \r\n \r\n }\r\n var emailId = sessionStorage.getItem('LoginEmail');\r\n this.getUserId(emailId);\r\n }\r\n\r\n closepopup(){\r\n if(confirm(\"Are you sure to close this\")) {\r\n this.dialogRef.close();\r\n }\r\n }\r\n save(){\r\n if (this.formInstance.invalid) {\r\n return;\r\n }\r\n this.activityModel.createdBy = this.createdByUserId;\r\n this.activityServ.saveActivityData(this.activityModel).subscribe({\r\n next: (val :any) => {\r\n this.snackBarLoader('Submitted Successfully','Done','1000', 'red-snackbar')\r\n this.resetForm();\r\n this.dialogRef.close(true);\r\n \r\n },\r\n error: (err: any) =>{\r\n this.snackBarLoader(err.error,'Done','1000', 'red-snackbar')\r\n this.resetForm();\r\n }\r\n })\r\n }\r\n \r\n\r\n update(){\r\n if (this.formInstance.invalid) {\r\n return;\r\n }\r\n this.activityModel.updatedBy = this.createdByUserId;\r\n this.activityModel.createdBy = this.createdBy;\r\n this.activityModel.createdDate = this.createdDate;\r\n console.log('the',this.activityModel)\r\n this.activityServ.saveActivityData(this.activityModel).subscribe({\r\n next: (val :any) => {\r\n this.snackBarLoader('Updated Successfully','Done','1000', 'red-snackbar')\r\n this.resetForm();\r\n this.dialogRef.close(true);\r\n // this.getBusinessLineType();\r\n },\r\n error: (err: any) =>{\r\n this.snackBarLoader(err.error,'Done','1000', 'red-snackbar')\r\n this.resetForm();\r\n }\r\n })\r\n }\r\n snackBarLoader(content, action, duration, color){\r\n this.snackBar.open(content, action, {\r\n duration: 2000,\r\n verticalPosition: \"top\", \r\n horizontalPosition: \"center\", \r\n panelClass: [color]\r\n });\r\n }\r\n \r\n resetForm() { \r\n this.formInstance.reset(); \r\n this.activityModel.activityId = 0;\r\n this.activityModel.parentId = 0;\r\n Object.keys(this.formInstance.controls).forEach(key => {\r\n this.formInstance.get(key).setErrors(null) ;\r\n });\r\n this.isIdVisible = false;\r\n this.dialogRef.close(true);\r\n }\r\n \r\n getUserId(emailId : string){\r\n this.activityServ.getUserId(emailId).subscribe((data:any)=>{\r\n this.createdByUserId = data[0].id;\r\n });\r\n }\r\n\r\n \r\n }\r\n","\r\n
\r\n
\r\n\r\n

\r\n Activity Master

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

arrow_backBack

\r\n\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n {{node.text}}\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n {{node.text}} \r\n \r\n \r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
","\r\n \r\n

\r\n Activity Master

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Parent Activity: \r\n \r\n \r\n

\r\n


\r\n
\r\n
\r\n \r\n Activity \r\n \r\n Activity is required\r\n \r\n

\r\n
\r\n
\r\n
\r\n \r\n Active \r\n \r\n
\r\n

\r\n \r\n
\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 { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { AbstractControl, FormArray, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\nimport { FlatTreeControl } from \"@angular/cdk/tree\";\r\nimport { NestedTreeControl } from \"@angular/cdk/tree\";\r\nimport { Component,Inject, Injectable, OnInit, ViewChild,ElementRef, HostListener } from \"@angular/core\";\r\nimport {MatTreeFlatDataSource,MatTreeFlattener, MatTreeNestedDataSource} from \"@angular/material/tree\";\r\nimport { BehaviorSubject } from \"rxjs\";\r\nimport { MatTable, MatTableDataSource } from '@angular/material/table';\r\nimport { Observable, of } from \"rxjs\";\r\nimport { ActivityMasterService } from \"src/app/Services/activity-master.service\";\r\nimport { SelectionModel } from \"@angular/cdk/collections\";\r\nimport { SearchService } from \"src/app/Services/search.service\";\r\nimport { MatInput } from \"@angular/material/input\";\r\nimport { MatSelect } from \"@angular/material/select\";\r\nimport { MatOption } from \"@angular/material/core\";\r\nimport { MatSelectFilterModule } from 'mat-select-filter';\r\nimport { MatOptionSelectionChange} from '@angular/material/core';\r\nimport { map, startWith } from \"rxjs/operators\";\r\nimport { MatSelectChange } from \"@angular/material/select\";\r\n import { ActivityDataMappComponent } from '../activity-data-mapp/activity-data-mapp.component'; \r\nimport { Router } from '@angular/router';\r\nimport { HistoryService } from 'src/app/Services/history.service';\r\nimport * as XLSX from 'xlsx-js-style';\r\nimport { ActivityDataMappingComponent } from '../activity-data-mapping/activity-data-mapping.component';\r\n\r\n/**\r\n * Node for to-do item\r\n */\r\nexport class TodoItemNode {\r\n children: TodoItemNode[];\r\n id:number;\r\n parentId: string;\r\n text: string;\r\n level: number;\r\n expandable: boolean;\r\n isChecked?: boolean;\r\n status:boolean;\r\n isUsed:boolean;\r\n isData:boolean;\r\n \r\n\r\n}\r\nexport class ActivityListDetails {\r\n ActivityId : number;\r\n SourceOfActivity: string;\r\n CatBatReference: number;\r\n CPReference: JSON;\r\n MIReference: JSON;\r\n BRReference: JSON;\r\n Tool: string;\r\n ApplicableToBusiness: string;\r\n Activity: string;\r\n Responsible: JSON;\r\n accountable: JSON; \r\n Consult: JSON;\r\n Inform: JSON;\r\n Remark: JSON;\r\n ActivityFormingPartOfLat: string;\r\n BusinessAreaID: number;\r\n BusinessArea: string;\r\n businessAreaCode: string;\r\n BgColor:string;\r\n FontColor:string;\r\n FontWeight:string;\r\n}\r\n/** Flat to-do item node with expandable and level information */\r\nexport class TodoItemFlatNode {\r\n id:number;\r\n text: string;\r\n parentId: string;\r\n level: number;\r\n expandable: boolean;\r\n isChecked?: boolean;\r\n children: TodoItemFlatNode[];\r\n status:boolean;\r\n isUsed:boolean;\r\n isData:boolean;\r\n}\r\n\r\n\r\nexport interface BusinessAreaMST{\r\n id:number;\r\n name: string;\r\n code:string;\r\n}\r\n\r\nexport class Entity{\r\n id:number;\r\n code:string;\r\n name: string;\r\n status: boolean;\r\n}\r\n\r\nexport interface WorkSheetTableConfig{\r\n displayedColumns: string[];\r\n dataSource: MatTableDataSource;\r\n tableId: string;\r\n}\r\n\r\nexport class Preamble{\r\n id:number;\r\n topic:string;\r\n remarks: string;\r\n}\r\n\r\nexport class ReadingThisDocument{\r\n id:number;\r\n column:string;\r\n description: string;\r\n}\r\n\r\n@Injectable()\r\nexport class ChecklistDatabase {\r\n dataChange = new BehaviorSubject([]);\r\n get data(): TodoItemNode[] { return this.dataChange.value; }\r\n dataSource_Preamble : MatTableDataSource;\r\n dataSource_Reading : MatTableDataSource;\r\n dataChange_new = new BehaviorSubject([]);\r\n get data_new(): TodoItemNode[] { return this.dataChange_new.value; }\r\n\r\n constructor(private activitymasterSer: ActivityMasterService) {\r\n this.initialize();\r\n }\r\n\r\n initialize() {\r\n\r\n /* this.activitymasterSer.getActivityList('').subscribe((data1: any[])=>{\r\n console.log(data1);\r\n const data = this.treeConstruct(data1);\r\n this.dataChange.next(data);\r\n }) */\r\n \r\n \r\n }\r\n\r\n treeConstruct(treeData) {\r\n let constructedTree = [];\r\n for (let i of treeData) {\r\n let treeObj = i;\r\n let assigned = false;\r\n this.constructTree(constructedTree, treeObj, assigned)\r\n }\r\n return constructedTree;\r\n }\r\nconstructTree(constructedTree, treeObj, assigned) {\r\nif (treeObj.parentId == null) {\r\n treeObj.children = [];\r\n \r\n constructedTree.push(treeObj);\r\n return true;\r\n } else if (treeObj.parentId == constructedTree.id) {\r\n treeObj.children = [];\r\n constructedTree.children.push(treeObj);\r\n return true;\r\n }\r\n else {\r\n if (constructedTree.children != undefined) {\r\n for (let index = 0; index < constructedTree.children.length; index++) {\r\n let constructedObj = constructedTree.children[index];\r\n if (assigned == false) {\r\n assigned = this.constructTree(constructedObj, treeObj, assigned);\r\n }\r\n }\r\n } else {\r\n for (let index = 0; index < constructedTree.length; index++) {\r\n let constructedObj = constructedTree[index];\r\n if (assigned == false) {\r\n assigned = this.constructTree(constructedObj, treeObj, assigned);\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n }\r\n\r\n\r\n /** Add an item to to-do list */\r\n insertItem(parent: TodoItemNode, name: string) {\r\n if (parent.children) {\r\n parent.children.push({text: name} as TodoItemNode);\r\n this.dataChange.next(this.data);\r\n }\r\n }\r\n\r\n updateItem(node: TodoItemNode, name: string) {\r\n node.text = name;\r\n this.dataChange.next(this.data);\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-activitymapping',\r\n templateUrl: './activitymapping.component.html',\r\n styleUrls: ['./activitymapping.component.scss'],\r\n providers: [ChecklistDatabase]\r\n})\r\nexport class ActivityMappingComponent implements OnInit {\r\n\r\n businessList: BusinessAreaMST[]=[];\r\n \r\n @ViewChild('select') select: MatSelect;\r\n allSelected=false;\r\n isMultipleSelected: boolean = false;\r\n formEntity: FormGroup;\r\n searchValue : string = ''; \r\n selectedEntityValue = [];\r\n entityList: Entity[]=[];\r\n selectEntityFormControl = new FormControl();\r\n businessFormControl = new FormControl();\r\n //selectedDesignationId= new FormControl([]);\r\n getSelectedItemsList = \"\";\r\n formInstance: any;\r\n @ViewChild('tree') tree;\r\n @ViewChild('tree_new') tree_new;\r\n @ViewChild('txtBusinessunit') txtBusinessunit: ElementRef; \r\n isShowNote:boolean= false;\r\n workSheetTables: WorkSheetTableConfig[]=[];\r\n selectedData: { value: string; text: string } = {\r\n value: \"\",\r\n text: \"\"\r\n };\r\n combined_workbook: XLSX.WorkBook;\r\n displayedColumns_Preamble: string[] = ['id','topic','remarks'];\r\n displayedColumns_Reading: string[] = ['id','column','description'];\r\n dataSource_Preamble : MatTableDataSource;\r\n dataSource_Reading : MatTableDataSource;\r\n dummyDataSource: MatTableDataSource;\r\n displayedColumns_Dummy: string[] = ['BgColor','FontColor','FontWeight','BusinessArea','SourceOfActivity','CatBatReference','CPReference','MIReference','BRReference','Tool','ApplicableToBusiness','Activity','Responsible', 'Accountable' , 'Consult', 'Inform','Remark','ActivityFormingPartOfLat'];\r\n isIdVisible: boolean = false;\r\n editDisable:boolean=true;\r\n showHistory: boolean= false;\r\n showToolTip: string=\"Please Click on Create History button before editing\"\r\n dataChange = new BehaviorSubject([]);\r\n get data(): TodoItemNode[] { return this.dataChange.value; }\r\n dataChange_new = new BehaviorSubject([]);\r\n get data_new(): TodoItemNode[] { return this.dataChange_new.value; }\r\n\r\n /** Map from flat node to nested node. This helps us finding the nested node to be modified */\r\n flatNodeMap = new Map();\r\n\r\n /** Map from nested node to flattened node. This helps us to keep the same object for selection */\r\n nestedNodeMap = new Map();\r\n \r\n /** A selected parent node to be inserted */\r\n selectedParent: TodoItemFlatNode | null = null;\r\n \r\n /** The new item's name */\r\n newItemName = '';\r\n \r\n treeControl: NestedTreeControl;\r\n treeControl_new: NestedTreeControl;\r\n /* treeFlattener: MatTreeFlattener; */\r\n \r\n dataSource_Tree: MatTreeNestedDataSource; \r\n dataSource_Tree_new: MatTreeNestedDataSource; \r\n /** The selection for checklist */\r\n checklistSelection = new SelectionModel(true /* multiple */);\r\n \r\n constructor(private router: Router,private snackBar: MatSnackBar,private _database: ChecklistDatabase,private _formBuilder: FormBuilder,private activitymasterSer: ActivityMasterService,public dialog: MatDialog,\r\n private historyServ: HistoryService,private searchServ: SearchService\r\n ) { \r\n\r\n /* this.treeFlattener = new MatTreeFlattener(this.transformer, this.getLevel,\r\n this.isExpandable, this.getChildren); */\r\n \r\n this.treeControl = new NestedTreeControl(node => node.children);\r\n this.dataSource_Tree = new MatTreeNestedDataSource();\r\n\r\n\r\n this.treeControl_new = new NestedTreeControl(node => node.children);\r\n this.dataSource_Tree_new = new MatTreeNestedDataSource();\r\n\r\n \r\n this.searchServ.getPreambleList().subscribe(preambleData=>{\r\n this.dataSource_Preamble= new MatTableDataSource(preambleData);\r\n this.searchServ.getReadingThisDocumentList().subscribe(readingData=>{\r\n this.dataSource_Reading= new MatTableDataSource(readingData);\r\n console.log(this.dataSource_Reading.filteredData);\r\n });\r\n });\r\n \r\n\r\n this.formInstance = _formBuilder.group({\r\n \"businessControl\":['', Validators.required],\r\n \r\n searchString_new: new FormControl(''),\r\n searchString: new FormControl('')\r\n });\r\n \r\n\r\n }\r\n\r\n getLevel = (node: TodoItemFlatNode) => node.level;\r\n isExpandable = (node: TodoItemFlatNode) => node.expandable;\r\n getChildren = (node: TodoItemNode): TodoItemNode[] => node.children;\r\n hasNoContent = (_: number, _nodeData: TodoItemFlatNode) => _nodeData.text === '';\r\n hasChild = (_: number, node: TodoItemNode) => !!node.children && node.children.length > 0;\r\n\r\n\r\n \r\n\r\n treeConstruct(treeData) {\r\n let constructedTree = [];\r\n for (let i of treeData) {\r\n let treeObj = i;\r\n let assigned = false;\r\n this.constructTree(constructedTree, treeObj, assigned)\r\n }\r\n return constructedTree;\r\n }\r\nconstructTree(constructedTree, treeObj, assigned) {\r\nif (treeObj.parentId == null) {\r\n treeObj.children = [];\r\n constructedTree.push(treeObj);\r\n return true;\r\n } else if (treeObj.parentId == constructedTree.id) {\r\n treeObj.children = [];\r\n constructedTree.children.push(treeObj);\r\n return true;\r\n }\r\n else {\r\n if (constructedTree.children != undefined) {\r\n for (let index = 0; index < constructedTree.children.length; index++) {\r\n let constructedObj = constructedTree.children[index];\r\n if (assigned == false) {\r\n assigned = this.constructTree(constructedObj, treeObj, assigned);\r\n }\r\n }\r\n } else {\r\n for (let index = 0; index < constructedTree.length; index++) {\r\n let constructedObj = constructedTree[index];\r\n if (assigned == false) {\r\n assigned = this.constructTree(constructedObj, treeObj, assigned);\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n }\r\n\r\n\r\n // search filter logic start\r\n//************************************Start Serches for New activities\r\n filterLeafNode_new(node: TodoItemFlatNode): boolean {\r\n \r\n //console.log(this.businessFormControl.value);\r\n if (!this.formInstance.value.searchString_new) {\r\n return false\r\n }\r\n return node.text.toLowerCase()\r\n .indexOf(this.formInstance.value.searchString_new?.toLowerCase()) === -1\r\n \r\n }\r\n\r\n filterParentNode_new(node: TodoItemFlatNode): boolean {\r\n\r\n if (\r\n !this.formInstance.value.searchString_new ||\r\n node.text.toLowerCase().indexOf(this.formInstance.value.searchString_new?.toLowerCase()) !==\r\n -1\r\n ) {\r\n return false\r\n }\r\n const descendants = this.treeControl.getDescendants(node)\r\n\r\n if (\r\n descendants.some(\r\n (descendantNode) =>\r\n descendantNode.text\r\n .toLowerCase()\r\n .indexOf(this.formInstance.value.searchString_new?.toLowerCase()) !== -1\r\n )\r\n ) {\r\n return false\r\n }\r\n\r\n return true\r\n }\r\n\r\n//************************************End Serches for New activities\r\n\r\n\r\n\r\n//************************************Start Serches for existing activities\r\n filterLeafNode(node: TodoItemFlatNode): boolean {\r\n if (!this.formInstance.value.searchString) {\r\n return false\r\n }\r\n return node.text.toLowerCase()\r\n .indexOf(this.formInstance.value.searchString?.toLowerCase()) === -1\r\n \r\n }\r\n\r\n filterParentNode(node: TodoItemFlatNode): boolean {\r\n\r\n if (\r\n !this.formInstance.value.searchString ||\r\n node.text.toLowerCase().indexOf(this.formInstance.value.searchString?.toLowerCase()) !==\r\n -1\r\n ) {\r\n return false\r\n }\r\n const descendants = this.treeControl.getDescendants(node)\r\n\r\n if (\r\n descendants.some(\r\n (descendantNode) =>\r\n descendantNode.text\r\n .toLowerCase()\r\n .indexOf(this.formInstance.value.searchString?.toLowerCase()) !== -1\r\n )\r\n ) {\r\n return false\r\n }\r\n\r\n return true\r\n }\r\n //************************************End Serches for existing activities\r\n // search filter logic end\r\n\r\n /** Whether all the descendants of the node are selected. */\r\n descendantsAllSelected(node: TodoItemFlatNode): boolean {\r\n const descendants = this.treeControl_new.getDescendants(node);\r\n const descAllSelected = descendants.length > 0 && descendants.every(child => {\r\n return this.checklistSelection.isSelected(child);\r\n });\r\n return descAllSelected;\r\n }\r\n\r\n /** Whether part of the descendants are selected */\r\n descendantsPartiallySelected(node: TodoItemFlatNode): boolean {\r\n const descendants = this.treeControl_new.getDescendants(node);\r\n const result = descendants.some(child => this.checklistSelection.isSelected(child));\r\n return result && !this.descendantsAllSelected(node);\r\n }\r\n\r\n\r\n\r\n /** Toggle the to-do item selection. Select/deselect all the descendants node */\r\n todoItemSelectionToggle(node: TodoItemFlatNode): void {\r\n this.checklistSelection.toggle(node);\r\n const descendants = this.treeControl_new.getDescendants(node);\r\n this.checklistSelection.isSelected(node)\r\n ? this.checklistSelection.select(...descendants)\r\n : this.checklistSelection.deselect(...descendants);\r\n }\r\n\r\n \r\n\r\n\r\n /* todoItemSelectionToggle(checked, node) {\r\n \r\n this.checklistSelection.toggle(node);\r\n const descendants = this.treeControl_new.getDescendants(node);\r\n this.checklistSelection.isSelected(node)\r\n ? this.checklistSelection.select(node)\r\n : this.checklistSelection.deselect(node);\r\n \r\n // Force update for the parent\r\n descendants.forEach(child => this.checklistSelection.isSelected(node));\r\n this.checkAllParentsnew(node);\r\n \r\n \r\n node.selected = checked;\r\n if (node.children) {\r\n node.children.forEach(x => {\r\n this.todoItemSelectionToggle(checked, x);\r\n \r\n });\r\n }\r\n this.checkAllParentsnew(node);\r\n \r\n } */\r\n\r\n setParent(data, parent) {\r\n data.parent = parent;\r\n if (data.children) {\r\n data.children.forEach(x => {\r\n this.setParent(x, data);\r\n });\r\n }\r\n }\r\n \r\n\r\n\r\n checkAllParentsnew(node) {\r\n if (node.parent) {\r\n const descendants = this.treeControl_new.getDescendants(node.parent);\r\n node.parent.selected = descendants.every(child => child.isChecked);\r\n node.parent.indeterminate = descendants.some(child => child.isChecked);\r\n this.checkAllParentsnew(node.parent);\r\n }\r\n }\r\n /** Toggle a leaf to-do item selection. Check all the parents to see if they changed */\r\n todoLeafItemSelectionToggle(node: TodoItemFlatNode): void {\r\n this.checklistSelection.toggle(node);\r\n this.checkAllParentsSelection(node);\r\n }\r\n\r\n /* Checks all the parents when a leaf node is selected/unselected */\r\n checkAllParentsSelection(node: TodoItemFlatNode): void {\r\n let parent: TodoItemFlatNode | null = this.getParentNode(node);\r\n while (parent) {\r\n this.checkRootNodeSelection(parent);\r\n parent = this.getParentNode(parent);\r\n }\r\n }\r\n\r\n /** Check root node checked state and change it accordingly */\r\n checkRootNodeSelection(node: TodoItemFlatNode): void {\r\n const nodeSelected = this.checklistSelection.isSelected(node);\r\n const descendants = this.treeControl.getDescendants(node);\r\n const descAllSelected = descendants.length > 0 && descendants.every(child => {\r\n return this.checklistSelection.isSelected(child);\r\n });\r\n if (nodeSelected && !descAllSelected) {\r\n this.checklistSelection.deselect(node);\r\n } else if (!nodeSelected && descAllSelected) {\r\n this.checklistSelection.select(node);\r\n }\r\n }\r\n\r\n /* Get the parent node of a node */\r\n getParentNode(node: TodoItemFlatNode): TodoItemFlatNode | null {\r\n const currentLevel = this.getLevel(node);\r\n\r\n if (currentLevel < 1) {\r\n return null;\r\n }\r\n\r\n const startIndex = this.treeControl.dataNodes.indexOf(node) - 1;\r\n\r\n for (let i = startIndex; i >= 0; i--) {\r\n const currentNode = this.treeControl.dataNodes[i];\r\n\r\n if (this.getLevel(currentNode) < currentLevel) {\r\n return currentNode;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n\r\n\r\n\r\n ngOnInit(): void {\r\n \r\n this.getEntity();\r\n }\r\n getEntity(){\r\n \r\n this.activitymasterSer.getEntityList().subscribe((data:any)=>{\r\n this.entityList= data;\r\n let entityID: number;\r\n if (this.entityList && this.entityList.length > 0) {\r\n this.entityList.forEach((e) => {\r\n if(e.code == 'IN01'){\r\n entityID= e.id;\r\n if (this.selectedEntityValue.indexOf(e) == -1) {\r\n this.selectedEntityValue.push(e);\r\n }\r\n } \r\n });\r\n }\r\n this.selectEntityFormControl.patchValue(this.selectedEntityValue[0]);\r\n this.activitymasterSer.getBuisnessAreaList(entityID).subscribe((data:any)=>{\r\n this.businessList = data, () => console.log('Get all complete'); \r\n });\r\n });\r\n }\r\n entitySelection(entityID:number){\r\n this.businessList=[];\r\n\r\n this.businessFormControl.reset();\r\nthis.selectedData.text='';\r\n\r\n this.dataSource_Tree.data=[];\r\n this.dataSource_Tree_new.data=[];\r\n this.activitymasterSer.getBuisnessAreaList(entityID).subscribe((data:any)=>{\r\n this.businessList = data, () => console.log('Get all complete'); \r\n });\r\n }\r\n \r\n getColor(node: TodoItemFlatNode): string {\r\n return node.isData === false ? 'red':'black' ;\r\n }\r\n /* getNodeColor(node: TodoItemFlatNode): string {\r\n return node.isData === false ? 'red':'black' ;\r\n } */\r\n \r\n selectedValue(event: MatSelectChange) {\r\n this.selectedData = {\r\n value: event.value,\r\n text: event.source.triggerValue\r\n };\r\n console.log(this.selectedData);\r\n }\r\n\r\n \r\n \r\n businessAreaSelection() {\r\n this.editDisable=true;\r\n this.showHistory= false;\r\n this.formInstance.value.businessControl = this.businessFormControl.value;\r\n if(this.formInstance.value.businessControl>0){\r\n this.activitymasterSer.getActivityHistoryTempTRNCount().subscribe((data:any)=>{\r\n if(data >0){\r\n this.showHistory= true;\r\n }\r\n });\r\n }\r\n if(this.formInstance.value.businessControl.length > 1){\r\n console.log('len',this.formInstance.value.businessControl.length);\r\n this.isMultipleSelected = true;\r\n } \r\n else{\r\n this.isMultipleSelected = false;\r\n } \r\n\r\n this.allSelected=false;\r\n //this.getSelectedItemsList = this.formInstance.value.businessControl.innerText.trim();\r\n this.checklistSelection.clear();\r\n /* this.txtBusinessunit='Select Activity111!' ; */\r\n var busIDs=\"0\"\r\n var divIDs=\"0\"\r\n var designationIDs=\"0\"\r\n var activityIDs=\"0\"\r\n if(this.formInstance.value.businessControl!=\"\")\r\n busIDs=this.formInstance.value.businessControl.toString();//\"1,2,3,4,5,6,7,8\";\r\n const myData = { busIDs: busIDs, \r\n divIDs: divIDs, \r\n designationIDs: designationIDs, \r\n activityIDs: activityIDs };\r\n \r\n\r\n \r\n\r\n this.activitymasterSer.getActivityList(this.formInstance.value.businessControl).subscribe((data1: any[])=>{\r\n console.log(data1);\r\n const data = this.treeConstruct(data1);\r\n this.dataSource_Tree.data = data;\r\n this.treeControl.dataNodes = data;\r\n this.isShowNote=true;\r\n Object.keys(this.dataSource_Tree.data).forEach(x => {\r\n this.setParent(this.dataSource_Tree.data[x], null);\r\n });\r\n this.dataChange.next(data);\r\n }) \r\n\r\n this.activitymasterSer.getSearchActivityList(this.formInstance.value.businessControl).subscribe((data1: any[])=>{\r\n console.log(data1);\r\n const data = this.treeConstruct(data1);\r\n this.dataSource_Tree_new.data = data;\r\n this.treeControl_new.dataNodes = data;\r\n for (let i = 0; i < this.treeControl_new.dataNodes.length; i++) {\r\n if (this.treeControl_new.dataNodes[i].isChecked == true) {\r\n this.treeControl_new.expand(this.treeControl_new.dataNodes[i])\r\n }\r\n }\r\n\r\n Object.keys(this.dataSource_Tree_new.data).forEach(x => {\r\n this.setParent(this.dataSource_Tree_new.data[x], null);\r\n });\r\n this.dataChange_new.next(data);\r\n })\r\n \r\n\r\n }\r\n addHyperlink(Data: string) {\r\n \r\n const jsonObject = JSON.parse(Data);\r\n var retValText = \"\"; \r\n\r\n var retVal = \"\";\r\n for(var key in jsonObject) { \r\n retValText=jsonObject[key].Text.replace('; ', ';
'); \r\n \r\n }\r\n \r\n return retValText;\r\n }\r\n /* exportExcel(){\r\n const table = document.getElementById('draftData');\r\n const workSheet_CommonData: XLSX.WorkSheet= XLSX.utils.table_to_sheet(table);\r\n workSheet_CommonData['!cols']=[{width:30},{width:40},{width:40},{width:40},{width:40},{width:40},{width:60},{width:40},{width:40},{width:40},{width:40},{width:60},{width:40},{width:40},{width:40},{width:40}];\r\n workSheet_CommonData['!rows']=[{hpx:15},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30}];\r\n \r\n // Get the rows and cells from the HTML table\r\n const rows = table.querySelectorAll('tr');\r\n rows.forEach((row, rowIndex) => {\r\n const cells = row.querySelectorAll('td, th');\r\n cells.forEach((cell, colIndex) => {\r\n const cellAddress = XLSX.utils.encode_cell({ r: rowIndex, c: colIndex });\r\n // Assign cell value from HTML table\r\n const cellValue = cell.textContent?.trim() || '';\r\n\r\n // Update the worksheet cell\r\n\r\n if(workSheet_CommonData[cellAddress].l == undefined){\r\n workSheet_CommonData[cellAddress] = {\r\n v: cellValue,\r\n t: 's', // Set cell type to string\r\n s: { numFmt: '@' } // Ensure cell is treated as text in Excel\r\n };\r\n }\r\n else{\r\n workSheet_CommonData[cellAddress] = {\r\n v: cellValue,\r\n t: 's', // Set cell type to string\r\n s: { numFmt: '@' } ,// Ensure cell is treated as text in Excel\r\n l: workSheet_CommonData[cellAddress].l\r\n };\r\n }\r\n });\r\n });\r\n const header_Style_Divisions= {\r\n font:{\r\n bold: true,\r\n color:{rgb:\"FFFFFF\"},\r\n name: 'ABBvoice',\r\n },\r\n alignment: {\r\n vertical: 'center',\r\n horizontal: 'center',\r\n wrapText: '1', // any truthy value here\r\n },\r\n fill:{\r\n fgColor:{rgb:\"ff000f\"}\r\n },\r\n border: {\r\n right: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n bottom: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n top: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n left: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n },\r\n }\r\n for (var i in workSheet_CommonData) {\r\n\r\n workSheet_CommonData['A1'].s= header_Style_Divisions;\r\n workSheet_CommonData['B1'].s= header_Style_Divisions\r\n workSheet_CommonData['C1'].s=header_Style_Divisions;\r\n workSheet_CommonData['D1'].s=header_Style_Divisions\r\n workSheet_CommonData['E1'].s=header_Style_Divisions\r\n workSheet_CommonData['F1'].s=header_Style_Divisions\r\n workSheet_CommonData['G1'].s=header_Style_Divisions\r\n workSheet_CommonData['H1'].s=header_Style_Divisions\r\n workSheet_CommonData['I1'].s=header_Style_Divisions\r\n workSheet_CommonData['J1'].s=header_Style_Divisions\r\n workSheet_CommonData['K1'].s=header_Style_Divisions\r\n workSheet_CommonData['L1'].s=header_Style_Divisions\r\n workSheet_CommonData['M1'].s=header_Style_Divisions\r\n workSheet_CommonData['N1'].s=header_Style_Divisions\r\n workSheet_CommonData['O1'].s=header_Style_Divisions\r\n \r\n\r\n if (typeof workSheet_CommonData[i] != 'object') continue;\r\n \r\n let cell = XLSX.utils.decode_cell(i);\r\n workSheet_CommonData[i].s = {\r\n wch: 50,\r\n // styling for all cells\r\n font: {\r\n name: 'ABBvoice',\r\n },\r\n alignment: {\r\n vertical: 'center',\r\n horizontal: 'center',\r\n wrapText: '1', // any truthy value here\r\n },\r\n border: {\r\n right: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n bottom: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n top: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n left: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n },\r\n };\r\n \r\n if (cell.c == 6) {\r\n // first column\r\n workSheet_CommonData[i].s.numFmt = 'DD-MM-YYYY'; // for dates\r\n workSheet_CommonData[i].z = 'DD-MM-YYYY';\r\n } else {\r\n workSheet_CommonData[i].s.numFmt = '00'; // other numbers\r\n }\r\n\r\n if (cell.r == 0) {\r\n // first row\r\n workSheet_CommonData[i].s.border.bottom = {\r\n // bottom border\r\n style: 'thin',\r\n color: '000000',\r\n };\r\n }\r\n }\r\n this.applyBgColorFontColorFontweightForColumns(workSheet_CommonData, this.dummyDataSource.data);\r\n workSheet_CommonData['M1'].s=header_Style_Divisions;\r\n workSheet_CommonData['N1'].s=header_Style_Divisions;\r\n workSheet_CommonData['O1'].s=header_Style_Divisions;\r\n \r\n if(this.dummyDataSource.data.length == 0){\r\n XLSX.utils.sheet_add_aoa(workSheet_CommonData,[['No records found']], {origin : 'A2'});\r\n workSheet_CommonData['A2'].s= {\r\n font:{\r\n bold: true,\r\n color:{rgb:\"000000\"},\r\n name: 'ABBvoice',\r\n },\r\n alignment: {\r\n vertical: 'center',\r\n horizontal: 'center',\r\n wrapText: '1', // any truthy value here\r\n },\r\n }\r\n }\r\n const combined_wb: XLSX.WorkBook= XLSX.utils.book_new();\r\n XLSX.utils.book_append_sheet(combined_wb, workSheet_CommonData,'Sheet 1');\r\n XLSX.writeFile(combined_wb, `TOA_Draft.xlsx`);\r\n} */\r\n executeafterDelay(){\r\n const currentDateTime= new Date();\r\n const dateString= currentDateTime.toISOString().replace(/[:.]/g,'-');\r\n const tabledata_Preamble= this.dataSource_Preamble.filteredData.map(row=>[row.id, row.topic,row.remarks]);\r\n const dataPreamble=[\r\n [\"\",\"\",\"Generated on:\"+dateString],\r\n [\"Preamble - an introduction to the contents, structure and flow of the TOA\"],\r\n [\"\",\"\",\"\"],\r\n [\"ID\",\"Column\",\"Description\"],\r\n ...tabledata_Preamble\r\n ];\r\n const workSheet_Preamble: XLSX.WorkSheet = XLSX.utils.aoa_to_sheet(dataPreamble);\r\n const header_Style= {\r\n font:{\r\n bold: true,\r\n color:{rgb:\"FFFFFF\"},\r\n name: 'ABBvoice',\r\n },\r\n alignment: {\r\n vertical: 'center',\r\n horizontal: 'center',\r\n wrapText: '1', // any truthy value here\r\n },\r\n fill:{\r\n fgColor:{rgb:\"ff000f\"}\r\n },\r\n border: {\r\n right: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n bottom: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n top: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n left: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n },\r\n }\r\n const header_Style_Divisions= {\r\n font:{\r\n bold: true,\r\n color:{rgb:\"FFFFFF\"},\r\n name: 'ABBvoice',\r\n },\r\n alignment: {\r\n vertical: 'center',\r\n horizontal: 'center',\r\n wrapText: '1', // any truthy value here\r\n },\r\n fill:{\r\n fgColor:{rgb:\"ff000f\"}\r\n },\r\n border: {\r\n right: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n bottom: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n top: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n left: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n },\r\n }\r\n workSheet_Preamble['!cols']=[{width:10},{width:30},{width:120}];\r\n workSheet_Preamble['!rows']=[{hpx:15},{hpx:30},{hpx:30}];\r\n \r\n for (var i in workSheet_Preamble) {\r\n workSheet_Preamble['C1'].s={\r\n border:{},\r\n font:{\r\n bold: true,\r\n color:{rgb:\"000000\"},\r\n name: 'ABBvoice',\r\n },\r\n alignment: {\r\n vertical: 'right',\r\n horizontal: 'right',\r\n wrapText: '1', // any truthy value here\r\n },\r\n },\r\n workSheet_Preamble['A2'].s={\r\n border:{},\r\n font:{\r\n bold: true,\r\n color:{rgb:\"000000\"},\r\n name: 'ABBvoice',\r\n underline:true\r\n },\r\n },\r\n workSheet_Preamble['A1'].s={\r\n border:{}\r\n },\r\n workSheet_Preamble['B1'].s={\r\n border:{}\r\n },\r\n workSheet_Preamble['A3'].s={\r\n border:{}\r\n },\r\n workSheet_Preamble['B3'].s={\r\n border:{}\r\n },\r\n workSheet_Preamble['C3'].s={\r\n border:{}\r\n },\r\n workSheet_Preamble['A4'].s=header_Style;\r\n workSheet_Preamble['B4'].s=header_Style;\r\n workSheet_Preamble['C4'].s=header_Style;\r\n if (typeof workSheet_Preamble[i] != 'object') continue;\r\n let cell = XLSX.utils.decode_cell(i);\r\n workSheet_Preamble[i].s = {\r\n wch: 50,\r\n // styling for all cells\r\n font: {\r\n name: 'ABBvoice',\r\n },\r\n alignment: {\r\n vertical: 'center',\r\n horizontal: 'center',\r\n wrapText: '1', // any truthy value here\r\n },\r\n border: {\r\n right: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n bottom: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n top: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n left: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n },\r\n };\r\n\r\n if (cell.c == 6) {\r\n // first column\r\n workSheet_Preamble[i].s.numFmt = 'DD-MM-YYYY'; // for dates\r\n workSheet_Preamble[i].z = 'DD-MM-YYYY';\r\n } else {\r\n workSheet_Preamble[i].s.numFmt = '00'; // other numbers\r\n }\r\n\r\n if (cell.r == 0) {\r\n // first row\r\n workSheet_Preamble[i].s.border.bottom = {\r\n // bottom border\r\n style: 'thin',\r\n color: '000000',\r\n };\r\n }\r\n }\r\n\r\n const combined_wb: XLSX.WorkBook= XLSX.utils.book_new();\r\n XLSX.utils.book_append_sheet(combined_wb, workSheet_Preamble, 'Preamble');\r\n\r\n\r\n const tabledata_Reading= this.dataSource_Reading.filteredData.map(row=>[row.id, row.column,row.description]);\r\n console.log(tabledata_Reading);\r\n const dataReading=[\r\n [\"Reading this document\"],\r\n [\"Listed below is the description of the column headers in the TOA sheet. It guides the users to interpret the columns and how the information therein is populated.\"],\r\n [\"\",\"\",\"\"],\r\n [\"ID\",\"Column\",\"Description\"],\r\n ...tabledata_Reading\r\n ];\r\n const workSheet_Reading: XLSX.WorkSheet = XLSX.utils.aoa_to_sheet(dataReading);\r\n workSheet_Reading['!cols']=[{width:10},{width:30},{width:120}];\r\n workSheet_Reading['!rows']=[{hpx:15},{hpx:30},{hpx:30}];\r\n \r\n for (var i in workSheet_Reading) {\r\n workSheet_Reading['A1'].s={\r\n border:{},\r\n font:{\r\n bold: true,\r\n color:{rgb:\"000000\"},\r\n name: 'ABBvoice',\r\n underline:true\r\n },\r\n },\r\n workSheet_Reading['A2'].s={\r\n border:{},\r\n font:{\r\n bold: true,\r\n color:{rgb:\"000000\"},\r\n name: 'ABBvoice',\r\n underline:true\r\n },\r\n },\r\n workSheet_Reading['A3'].s={\r\n border:{}\r\n },\r\n workSheet_Reading['B3'].s={\r\n border:{}\r\n },\r\n workSheet_Reading['C3'].s={\r\n border:{}\r\n },\r\n workSheet_Reading['A4'].s=header_Style;\r\n workSheet_Reading['B4'].s=header_Style;\r\n workSheet_Reading['C4'].s=header_Style;\r\n if (typeof workSheet_Reading[i] != 'object') continue;\r\n let cell = XLSX.utils.decode_cell(i);\r\n workSheet_Reading[i].s = {\r\n wch: 50,\r\n // styling for all cells\r\n font: {\r\n name: 'ABBvoice',\r\n },\r\n alignment: {\r\n vertical: 'center',\r\n horizontal: 'center',\r\n wrapText: '1', // any truthy value here\r\n },\r\n border: {\r\n right: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n bottom: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n top: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n left: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n },\r\n };\r\n\r\n if (cell.c == 6) {\r\n // first column\r\n workSheet_Reading[i].s.numFmt = 'DD-MM-YYYY'; // for dates\r\n workSheet_Reading[i].z = 'DD-MM-YYYY';\r\n } else {\r\n workSheet_Reading[i].s.numFmt = '00'; // other numbers\r\n }\r\n\r\n if (cell.r == 0) {\r\n // first row\r\n workSheet_Reading[i].s.border.bottom = {\r\n // bottom border\r\n style: 'thin',\r\n color: '000000',\r\n };\r\n }\r\n }\r\n\r\n XLSX.utils.book_append_sheet(combined_wb, workSheet_Reading, 'Reading this document');\r\n for(let w = 0; w < this.workSheetTables.length; w++) \r\n {\r\n debugger;\r\n const table = document.getElementById(this.workSheetTables[w].tableId);\r\n const workSheet_CommonData: XLSX.WorkSheet= XLSX.utils.table_to_sheet(table);\r\n workSheet_CommonData['!cols']=[{width:30},{width:40},{width:40},{width:40},{width:40},{width:40},{width:60},{width:40},{width:40},{width:40},{width:40},{width:60},{width:40},{width:40},{width:40},{width:40}];\r\n workSheet_CommonData['!rows']=[{hpx:15},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30}];\r\n \r\n // Get the rows and cells from the HTML table\r\n const rows = table.querySelectorAll('tr');\r\n rows.forEach((row, rowIndex) => {\r\n const cells = row.querySelectorAll('td, th');\r\n cells.forEach((cell, colIndex) => {\r\n const cellAddress = XLSX.utils.encode_cell({ r: rowIndex, c: colIndex });\r\n // Assign cell value from HTML table\r\n const cellValue = cell.textContent?.trim() || '';\r\n\r\n // Update the worksheet cell\r\n\r\n if(workSheet_CommonData[cellAddress].l == undefined){\r\n workSheet_CommonData[cellAddress] = {\r\n v: cellValue,\r\n t: 's', // Set cell type to string\r\n s: { numFmt: '@' } // Ensure cell is treated as text in Excel\r\n };\r\n }\r\n else{\r\n workSheet_CommonData[cellAddress] = {\r\n v: cellValue,\r\n t: 's', // Set cell type to string\r\n s: { numFmt: '@' } ,// Ensure cell is treated as text in Excel\r\n l: workSheet_CommonData[cellAddress].l\r\n };\r\n }\r\n });\r\n });\r\n for (var i in workSheet_CommonData) {\r\n\r\n workSheet_CommonData['A1'].s= header_Style_Divisions;\r\n workSheet_CommonData['B1'].s= header_Style_Divisions\r\n workSheet_CommonData['C1'].s=header_Style_Divisions;\r\n workSheet_CommonData['D1'].s=header_Style_Divisions\r\n workSheet_CommonData['E1'].s=header_Style_Divisions\r\n workSheet_CommonData['F1'].s=header_Style_Divisions\r\n workSheet_CommonData['G1'].s=header_Style_Divisions\r\n workSheet_CommonData['H1'].s=header_Style_Divisions\r\n workSheet_CommonData['I1'].s=header_Style_Divisions\r\n workSheet_CommonData['J1'].s=header_Style_Divisions\r\n workSheet_CommonData['K1'].s=header_Style_Divisions\r\n workSheet_CommonData['L1'].s=header_Style_Divisions\r\n workSheet_CommonData['M1'].s=header_Style_Divisions\r\n workSheet_CommonData['N1'].s=header_Style_Divisions\r\n workSheet_CommonData['O1'].s=header_Style_Divisions\r\n \r\n\r\n if (typeof workSheet_CommonData[i] != 'object') continue;\r\n \r\n let cell = XLSX.utils.decode_cell(i);\r\n workSheet_CommonData[i].s = {\r\n wch: 50,\r\n // styling for all cells\r\n font: {\r\n name: 'ABBvoice',\r\n },\r\n alignment: {\r\n vertical: 'center',\r\n horizontal: 'center',\r\n wrapText: '1', // any truthy value here\r\n },\r\n border: {\r\n right: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n bottom: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n top: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n left: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n },\r\n };\r\n \r\n if (cell.c == 6) {\r\n // first column\r\n workSheet_CommonData[i].s.numFmt = 'DD-MM-YYYY'; // for dates\r\n workSheet_CommonData[i].z = 'DD-MM-YYYY';\r\n } else {\r\n workSheet_CommonData[i].s.numFmt = '00'; // other numbers\r\n }\r\n\r\n if (cell.r == 0) {\r\n // first row\r\n workSheet_CommonData[i].s.border.bottom = {\r\n // bottom border\r\n style: 'thin',\r\n color: '000000',\r\n };\r\n }\r\n }\r\n this.applyBgColorFontColorFontweightForColumns(workSheet_CommonData, this.workSheetTables[w].dataSource.data);\r\n workSheet_CommonData['M1'].s=header_Style_Divisions;\r\n workSheet_CommonData['N1'].s=header_Style_Divisions;\r\n workSheet_CommonData['O1'].s=header_Style_Divisions;\r\n \r\n if(this.workSheetTables[w].dataSource.data.length == 0){\r\n XLSX.utils.sheet_add_aoa(workSheet_CommonData,[['No records found']], {origin : 'A2'});\r\n workSheet_CommonData['A2'].s= {\r\n font:{\r\n bold: true,\r\n color:{rgb:\"000000\"},\r\n name: 'ABBvoice',\r\n },\r\n alignment: {\r\n vertical: 'center',\r\n horizontal: 'center',\r\n wrapText: '1', // any truthy value here\r\n },\r\n }\r\n }\r\n\r\n\r\n XLSX.utils.book_append_sheet(combined_wb, workSheet_CommonData, this.workSheetTables[w].tableId);\r\n }\r\n const now = new Date();\r\n XLSX.writeFile(combined_wb, `TOA_Draft_`+now.toLocaleString('en-US', {year: 'numeric',\r\n month: '2-digit',day: '2-digit',hour: '2-digit',minute: '2-digit',second: '2-digit',hour12: false })+`.xlsx`);\r\n }\r\nexportExcel(){\r\n\r\n var busIDs=\"0\"\r\n var divIDs=\"0\"\r\n var designationIDs=\"0\"\r\n var activityIDs=\"0\"\r\n if(this.formInstance.value.businessControl!=\"\")\r\n busIDs= this.businessList.map(item=>item.id).join(',').toString();\r\n const myData = { busIDs: busIDs, \r\n divIDs: divIDs, \r\n designationIDs: designationIDs, \r\n activityIDs: activityIDs };\r\n this.activitymasterSer.getActivityDetailsDraftData(myData).subscribe((data1: any[])=>{\r\n \r\n this.dummyDataSource= new MatTableDataSource(data1);\r\n console.log(data1);\r\n //Start/Added for getting Business area list \r\n\r\nthis.workSheetTables=[];\r\nfor(let i = 0; i < this.businessList.length; i++)\r\n{\r\n/* if(this.formInstance.value.businessControl.includes(this.businessList[i].id)){ */\r\n this.workSheetTables.push({\r\n displayedColumns: ['BgColor','FontColor','FontWeight','SourceOfActivity','CatBatReference','CPReference','MIReference','BRReference','Tool','ApplicableToBusiness','Activity','Responsible', 'Accountable' , 'Consult', 'Inform','Remark','ActivityFormingPartOfLat','BuisnessArea','BusinessAreaCode'],\r\n dataSource: new MatTableDataSource(this.dummyDataSource.filteredData.filter(row=>row.businessAreaCode===this.businessList[i].code)),\r\n tableId: this.businessList[i].code\r\n });\r\n/* } */\r\n}\r\n\r\nconsole.log(this.workSheetTables);\r\n//END/Added for getting Business area list\r\n\r\nsetTimeout(()=>{\r\n this.executeafterDelay();\r\n},5000);\r\n });\r\n \r\n}\r\n\r\n\r\n\r\napplyBgColorFontColorFontweightForColumns(worksheet: XLSX.WorkSheet, data: any[]):void{\r\n if(data.length >0){\r\n// Assuming your data starts at row 2 because row 1 is headers\r\nconst range: XLSX.Range = XLSX.utils.decode_range(worksheet['!ref']);\r\nfor (let rowNum = range.s.r + 1; rowNum <= range.e.r; rowNum++) {\r\nconst cellRef_bgColor = XLSX.utils.encode_cell({ r: rowNum, c: 0 });\r\nconst cellRef_fontColor = XLSX.utils.encode_cell({ r: rowNum, c: 1 });\r\nconst cellRef_bold = XLSX.utils.encode_cell({ r: rowNum, c: 2 });\r\n\r\nconst colorCell: XLSX.CellObject = worksheet[cellRef_bgColor];\r\nconst cell_fontColor : XLSX.CellObject = worksheet[cellRef_fontColor];\r\nconst cell_bold : XLSX.CellObject = worksheet[cellRef_bold];\r\nlet fontWeight: boolean;\r\nlet fontColor:string;\r\nif(cell_bold != undefined){\r\nif(cell_bold.v.toString().toLowerCase() === 'bold'){\r\n fontWeight= true\r\n}else{\r\n fontWeight=false\r\n}\r\n}\r\n\r\nif(cell_fontColor){\r\n let fontColor_Name= cell_fontColor.v;\r\n if(fontColor_Name== 'red'){\r\n fontColor='#FF0000';\r\n }else if(fontColor_Name =='black'){\r\n fontColor='#000000';\r\n }\r\n}\r\nfontColor= fontColor.toString().substring(1);\r\nif (colorCell) {\r\n let color = colorCell.v; // Get the value\r\n if(color== 'White'){\r\n color='#FFFFFF';\r\n }\r\n color= color.toString().substring(1);\r\n // Apply the color to each cell in the row\r\n for (let colNum = range.s.c; colNum <= range.e.c; colNum++) {\r\n const cellAddress = XLSX.utils.encode_cell({ r: rowNum, c: colNum });\r\n \r\n if (!worksheet[cellAddress]) worksheet[cellAddress] = {};\r\n worksheet[cellAddress].s = {\r\n fill:{\r\n fgColor:{rgb:color}\r\n },\r\n font:{\r\n bold: fontWeight,\r\n color:{rgb:fontColor},\r\n name: 'ABBvoice',\r\n },\r\n alignment: {\r\n vertical: colNum ==11 ? 'left' :'center',\r\n horizontal: colNum ==11 ? 'left' :'center',\r\n wrapText: '1', // any truthy value here\r\n },\r\n border: {\r\n right: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n bottom: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n top: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n left: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n },\r\n };\r\n if(worksheet[cellAddress].l != undefined){\r\n worksheet[cellAddress].s = {\r\n fill:{\r\n fgColor:{rgb:color}\r\n },\r\n font:{\r\n bold: fontWeight,\r\n color:{rgb:\"0000FF\"},\r\n name: 'ABBvoice',\r\n underline:true\r\n },\r\n alignment: {\r\n vertical: 'center',\r\n horizontal: 'center',\r\n wrapText: '1', // any truthy value here\r\n },\r\n border: {\r\n right: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n bottom: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n top: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n left: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n },\r\n }\r\n }\r\n }\r\n}\r\n}\r\n }\r\nlet dataLength : number;\r\nif(data.length==0){ \r\ndataLength = 3;\r\n}else{\r\ndataLength = data.length;\r\n}\r\n\r\nfor(let i = 0; i < dataLength; i++) {\r\nfor(let j = 0; j < 3; j++) {\r\ndelete worksheet[XLSX.utils.encode_cell({r: i,c: j })]; } }\r\n\r\nfor (let i = 0; i < dataLength + 1; i++) {\r\nconst cellD = XLSX.utils.encode_cell({ r: i, c: 3 }); // Cell in column D\r\nconst cellA = XLSX.utils.encode_cell({ r: i, c: 0 }); // Corresponding cell in column A\r\nworksheet[cellA] = worksheet[cellD]; // Move data\r\ndelete worksheet[cellD]; // Delete original data in column D\r\n\r\nconst cellE = XLSX.utils.encode_cell({ r: i, c: 4 }); // Cell in column D\r\nconst cellB = XLSX.utils.encode_cell({ r: i, c: 1 }); // Corresponding cell in column A\r\nworksheet[cellB] = worksheet[cellE]; // Move data\r\ndelete worksheet[cellE]; // Delete original data in column D\r\n\r\nconst cellF = XLSX.utils.encode_cell({ r: i, c: 5 }); // Cell in column D\r\nconst cellC = XLSX.utils.encode_cell({ r: i, c: 2 }); // Corresponding cell in column A\r\nworksheet[cellC] = worksheet[cellF]; // Move data\r\ndelete worksheet[cellF]; // Delete original data in column D\r\n\r\nconst cellG = XLSX.utils.encode_cell({ r: i, c: 6 }); // Cell in column D\r\nconst cell_D = XLSX.utils.encode_cell({ r: i, c: 3 }); // Corresponding cell in column A\r\nworksheet[cell_D] = worksheet[cellG]; // Move data\r\ndelete worksheet[cellG]; // Delete original data in column D\r\n\r\nconst cellH = XLSX.utils.encode_cell({ r: i, c: 7 }); // Cell in column D\r\nconst cell_E = XLSX.utils.encode_cell({ r: i, c: 4 }); // Corresponding cell in column A\r\nworksheet[cell_E] = worksheet[cellH]; // Move data\r\ndelete worksheet[cellH]; // Delete original data in column D\r\n\r\nconst cellI = XLSX.utils.encode_cell({ r: i, c: 8 }); // Cell in column D\r\nconst cell_F = XLSX.utils.encode_cell({ r: i, c: 5 }); // Corresponding cell in column A\r\nworksheet[cell_F] = worksheet[cellI]; // Move data\r\ndelete worksheet[cellI]; // Delete original data in column D\r\n\r\nconst cellJ = XLSX.utils.encode_cell({ r: i, c: 9 }); // Cell in column D\r\nconst cell_G = XLSX.utils.encode_cell({ r: i, c: 6 }); // Corresponding cell in column A\r\nworksheet[cell_G] = worksheet[cellJ]; // Move data\r\ndelete worksheet[cellJ]; // Delete original data in column D\r\n\r\nconst cellK = XLSX.utils.encode_cell({ r: i, c: 10 }); // Cell in column D\r\nconst cell_H = XLSX.utils.encode_cell({ r: i, c: 7 }); // Corresponding cell in column A\r\nworksheet[cell_H] = worksheet[cellK]; // Move data\r\ndelete worksheet[cellK]; // Delete original data in column D\r\n\r\nconst cellL = XLSX.utils.encode_cell({ r: i, c: 11 }); // Cell in column D\r\nconst cell_I = XLSX.utils.encode_cell({ r: i, c: 8 }); // Corresponding cell in column A\r\nworksheet[cell_I] = worksheet[cellL]; // Move data\r\ndelete worksheet[cellL]; // Delete original data in column D\r\n\r\nconst cellM = XLSX.utils.encode_cell({ r: i, c: 12 }); // Cell in column D\r\nconst cell_J = XLSX.utils.encode_cell({ r: i, c: 9 }); // Corresponding cell in column A\r\nworksheet[cell_J] = worksheet[cellM]; // Move data\r\ndelete worksheet[cellM]; // Delete original data in column D\r\n\r\nconst cellN = XLSX.utils.encode_cell({ r: i, c: 13 }); // Cell in column D\r\nconst cell_K = XLSX.utils.encode_cell({ r: i, c: 10 }); // Corresponding cell in column A\r\nworksheet[cell_K] = worksheet[cellN]; // Move data\r\ndelete worksheet[cellN]; // Delete original data in column D\r\n\r\nconst cellO = XLSX.utils.encode_cell({ r: i, c: 14 }); // Cell in column D\r\nconst cell_L = XLSX.utils.encode_cell({ r: i, c: 11 }); // Corresponding cell in column A\r\nworksheet[cell_L] = worksheet[cellO]; // Move data\r\ndelete worksheet[cellO]; // Delete original data in column D\r\n\r\nconst cellP = XLSX.utils.encode_cell({ r: i, c: 15 }); // Cell in column D\r\nconst cell_M = XLSX.utils.encode_cell({ r: i, c: 12 }); // Corresponding cell in column A\r\nworksheet[cell_M] = worksheet[cellP]; // Move data\r\ndelete worksheet[cellP]; // Delete original data in column D\r\n\r\nconst cellQ = XLSX.utils.encode_cell({ r: i, c: 16 }); // Cell in column D\r\nconst cell_N = XLSX.utils.encode_cell({ r: i, c: 13 }); // Corresponding cell in column A\r\nworksheet[cell_N] = worksheet[cellQ]; // Move data\r\ndelete worksheet[cellQ]; // Delete original data in column D\r\n\r\nconst cellR = XLSX.utils.encode_cell({ r: i, c: 17 }); // Cell in column D\r\nconst cell_O = XLSX.utils.encode_cell({ r: i, c: 14 }); // Corresponding cell in column A\r\nworksheet[cell_O] = worksheet[cellR]; // Move data\r\ndelete worksheet[cellR]; // Delete original data in column D\r\n\r\nconst cellS = XLSX.utils.encode_cell({ r: i, c: 18 });\r\nconst cell_P = XLSX.utils.encode_cell({ r: i, c: 15 }); // Corresponding cell in column A\r\nworksheet[cell_P] = worksheet[cellS]; // Move data\r\ndelete worksheet[cellS];\r\n }\r\n }\r\n getToolTip() : string {\r\n return this.editDisable ? this.showToolTip : '';\r\n }\r\n \r\n\r\n// filter recursively on a text string using property object value\r\nfilterRecursive(filterText: string, array: any[], property: string) {\r\n let filteredData;\r\n \r\n //make a copy of the data so we don't mutate the original\r\n function copy(o: any) {\r\n return Object.assign({}, o);\r\n }\r\n \r\n // has string\r\n if (filterText) {\r\n // need the string to match the property value\r\n filterText = filterText.toLowerCase();\r\n // copy obj so we don't mutate it and filter\r\n filteredData = array.map(copy).filter(function x(y) {\r\n if (y[property].toLowerCase().includes(filterText)) {\r\n return true;\r\n }\r\n // if children match\r\n if (y.children) {\r\n return (y.children = y.children.map(copy).filter(x)).length;\r\n }\r\n });\r\n // no string, return whole array\r\n } else {\r\n filteredData = array;\r\n }\r\n \r\n return filteredData;\r\n }\r\n\r\n // pass mat input string to recursive function and return data\r\n filterTree(filterText: string) {\r\n // use filter input text, return filtered TREE_DATA, use the 'name' object value\r\n this.dataSource_Tree.data = this.filterRecursive(filterText, this.data, 'text');\r\n this.treeControl.dataNodes = this.data;\r\n}\r\n\r\n applyFilterForTree(event: Event) {\r\n const filterText = (event.target as HTMLInputElement).value;\r\n this.filterTree(filterText);\r\n // show / hide based on state of filter string\r\n if (filterText) {\r\n this.tree.treeControl.collapseAll();\r\n } else {\r\n \r\n this.tree.treeControl.expandAll();\r\n }\r\n }\r\n\r\n ClearSelection()\r\n {\r\n this.searchValue = '';\r\n /* this.txtTreeViewSelected.nativeElement.value='' ; */\r\n this.getSelectedItemsList = \"Select Activity!\";\r\n this.checklistSelection.clear();\r\n this.activitymasterSer.getSearchActivityList(this.formInstance.value.businessControl.join(\",\")).subscribe((data1: any[])=>{\r\n console.log(data1);\r\n const data = this.treeConstruct(data1);\r\n\r\n this.dataSource_Tree.data = data;\r\n this.treeControl.dataNodes = data;\r\n Object.keys(this.dataSource_Tree.data).forEach(x => {\r\n this.setParent(this.dataSource_Tree.data[x], null);\r\n });\r\n\r\n this.dataChange.next(data);\r\n }); \r\n }\r\n\r\n DeleteNode(node: TodoItemFlatNode)\r\n {\r\n\r\n var busIDs=\"0\"\r\n var divIDs=\"0\"\r\n var designationIDs=\"0\"\r\n var activityIDs=\"0\";\r\n \r\n if(this.formInstance.value.businessControl!=\"\")\r\n busIDs=this.formInstance.value.businessControl.toString();\r\n \r\n activityIDs= node.id.toString();\r\n \r\n if(activityIDs!=\"0\")\r\n {\r\n var emailId = sessionStorage.getItem('LoginEmail');\r\n var myData = { busIDs: busIDs, \r\n divIDs: divIDs, \r\n designationIDs: designationIDs, \r\n activityIDs: activityIDs,\r\n emailId:emailId };\r\n\r\n this.activitymasterSer.deleteActivityNode(myData).subscribe((data1: any[])=>{\r\n \r\n \r\n this.activitymasterSer.getActivityList(this.formInstance.value.businessControl).subscribe((data1: any[])=>{\r\n console.log(data1);\r\n const data = this.treeConstruct(data1);\r\n this.dataSource_Tree.data = data;\r\n this.treeControl.dataNodes = data;\r\n Object.keys(this.dataSource_Tree.data).forEach(x => {\r\n this.setParent(this.dataSource_Tree.data[x], null);\r\n });\r\n this.dataChange.next(data);\r\n }) \r\n \r\n this.activitymasterSer.getSearchActivityList(this.formInstance.value.businessControl).subscribe((data1: any[])=>{\r\n console.log(data1);\r\n const data = this.treeConstruct(data1);\r\n this.dataSource_Tree_new.data = data;\r\n this.treeControl_new.dataNodes = data;\r\n for (let i = 0; i < this.treeControl_new.dataNodes.length; i++) {\r\n if (this.treeControl_new.dataNodes[i].isChecked == true) {\r\n this.treeControl_new.expand(this.treeControl_new.dataNodes[i])\r\n }\r\n }\r\n \r\n Object.keys(this.dataSource_Tree_new.data).forEach(x => {\r\n this.setParent(this.dataSource_Tree_new.data[x], null);\r\n });\r\n this.dataChange_new.next(data);\r\n })\r\n\r\n\r\n this.checklistSelection.clear();\r\n\r\n });\r\n \r\n }\r\n }\r\n\r\naddActivityToBusinessArea(){\r\n var busIDs=\"0\"\r\n var divIDs=\"0\"\r\n var designationIDs=\"0\"\r\n var activityIDs=\"0\";\r\n this.formInstance.value.searchString_new='';\r\n if(this.businessFormControl.value!=\"\")\r\n //busIDs=this.formInstance.value.businessControl.toString()\r\n busIDs=this.businessFormControl.value.toString();\r\n\r\n if(this.checklistSelection.selected.map(s => s.id).join(\",\") !=\"\")\r\n activityIDs=this.checklistSelection.selected.map(s => s.id).join(\",\") \r\n\r\nif(activityIDs!=\"0\")\r\n {\r\n var emailId = sessionStorage.getItem('LoginEmail');\r\n var myData = { busIDs: busIDs, \r\n divIDs: divIDs, \r\n designationIDs: designationIDs, \r\n activityIDs: activityIDs,\r\n emailId:emailId };\r\n\r\n this.activitymasterSer.addActivityToBusinessArea(myData).subscribe((data1: any[])=>{\r\n /* console.log(data1);\r\n const data = this.treeConstruct(data1);\r\n this.dataSource_Tree_new.data = data;\r\n this.treeControl_new.dataNodes = data; */\r\n this.activitymasterSer.getActivityList(this.businessFormControl.value).subscribe((data1: any[])=>{\r\n console.log(data1);\r\n const data = this.treeConstruct(data1);\r\n this.dataSource_Tree.data = data;\r\n this.treeControl.dataNodes = data;\r\n Object.keys(this.dataSource_Tree.data).forEach(x => {\r\n this.setParent(this.dataSource_Tree.data[x], null);\r\n });\r\n this.dataChange.next(data);\r\n }) \r\n\r\n this.activitymasterSer.getSearchActivityList(this.businessFormControl.value).subscribe((data1: any[])=>{\r\n console.log(data1);\r\n const data = this.treeConstruct(data1);\r\n this.dataSource_Tree_new.data = data;\r\n this.treeControl_new.dataNodes = data;\r\n for (let i = 0; i < this.treeControl_new.dataNodes.length; i++) {\r\n if (this.treeControl_new.dataNodes[i].isChecked == true) {\r\n this.treeControl_new.expand(this.treeControl_new.dataNodes[i])\r\n }\r\n }\r\n \r\n Object.keys(this.dataSource_Tree_new.data).forEach(x => {\r\n this.setParent(this.dataSource_Tree_new.data[x], null);\r\n });\r\n this.dataChange_new.next(data);\r\n })\r\n\r\n this.checklistSelection.clear();\r\n }) \r\n}else\r\n{\r\n if(this.formInstance.value.businessControl!=\"\")\r\n this.snackBarLoader(\"Please select activity to map with selected division.\",'Done','1000', 'red-snackbar')\r\n \r\n}\r\n\r\n \r\n}\r\n\r\nsnackBarLoader(content, action, duration, color){\r\n this.snackBar.open(content, action, {\r\n duration: 2000,\r\n verticalPosition: \"top\", \r\n horizontalPosition: \"center\", \r\n panelClass: [color]\r\n });\r\n}\r\nopenActivityDataMapping(data : any){\r\n \r\n const dialogRef = this.dialog.open(ActivityDataMappComponent,{\r\n height: '600px',\r\n width: '1200px',\r\n data: {\r\n businessUnit: this.selectedData.value,\r\n activityIDs : data.id,\r\n businessName:this.selectedData.text,\r\n activityName:data.text,\r\n }, \r\n });\r\n dialogRef.afterClosed().subscribe({\r\n next: (val) => {\r\n this.activitymasterSer.getActivityHistoryTempTRNCount().subscribe((data:any)=>{\r\n if(data >0){\r\n this.showHistory= true;\r\n }\r\n });\r\n }\r\n })\r\n}\r\n\r\nopenActivityDataMappingAll(data : any){\r\n \r\n const dialogRef = this.dialog.open(ActivityDataMappingComponent,{\r\n height: '600px',\r\n width: '1200px',\r\n data: {\r\n businessUnit: this.selectedData.value,\r\n activityIDs : data.id,\r\n businessName:this.selectedData.text,\r\n activityName:data.text,\r\n }, \r\n });\r\n dialogRef.afterClosed().subscribe({\r\n next: (val) => {\r\n this.activitymasterSer.getActivityHistoryTempTRNCount().subscribe((data:any)=>{\r\n if(data >0){\r\n this.showHistory= true;\r\n }\r\n });\r\n }\r\n })\r\n}\r\ncreateHistoryClick(){\r\n this.historyServ.currentActivitySaveToHistoryTemp(this.formInstance.value.businessControl.toString(), Number(sessionStorage.getItem('userId')) ).subscribe((data1: any)=>{\r\n console.log(data1);\r\n this.snackBarLoader(\"History Created Successfully with History Code: \"+data1[0].historyCode,'Done','1000', 'red-snackbar')\r\n this.editDisable=false;\r\n this.showHistory=false;\r\n });\r\n}\r\n}\r\n\r\n\r\n\r\n","
\r\n \r\n \r\n\r\n
\r\n
\r\n \r\n

\r\n Mapping Activity Details

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

addCreate activity

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

Publish

\r\n \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 Entity \r\n \r\n {{entity.name}}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Select Business Area\r\n \r\n {{business.name}}\r\n \r\n \r\n \r\n\r\n \r\n
\r\n
\r\n get_app \r\n
\r\n
\r\n\r\n\r\n \r\n\r\n\r\n\r\n
\r\n\r\n\r\n
\r\n
\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 Activity to map with Buisness Area

\r\n
\r\n \r\n
\r\n
\r\n \r\n Search activity!\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
  • \r\n \r\n \r\n {{node.text}} \r\n
  • \r\n
    \r\n \r\n \r\n
  • \r\n
    \r\n \r\n {{node.text}}\r\n
    \r\n
      \r\n \r\n
    \r\n
  • \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n

    \r\n Activities mapped with Business Area: {{selectedData.text}}\r\n \r\n

    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n Search activity!\r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{node.text}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n {{node.text}} \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Note:

    A red node indicates that the node has been mapped to a business area but has not yet been assigned data. Sub-activity nodes will not be available on search screen until data is allocated to all parent nodes.\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    BgColor {{element.bgColor}} FontColor {{element.fontColor}} FontWeight {{element.fontWeight}} Id {{element.activityId}} Source of Activity {{element.sourceOfActivity}} CAT/ BAT Reference {{element.catBatReference}} CP Reference MI Reference BR Reference Tool/System/Portal {{element.tool}} Applicable to business {{element.applicableToBusiness}} Activity {{element.activity}} Responsible Accountable Consult Inform Remark Activity forming part of LAT? {{element.activityFormingPartOfLat}} BusinessArea {{element.businessArea}} BusinessAreaCode {{element.businessAreaCode}}
    No data matching the filter
    \r\n
    \r\n
    \r\n\r\n
    ","import { Component, Inject, OnInit, Pipe, PipeTransform, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, FormGroupDirective, NgForm, ValidatorFn, Validators } from '@angular/forms';\r\nimport { ErrorStateMatcher } from '@angular/material/core';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MasterService } from 'src/app/Services/master.service';\r\n\r\n\r\nexport interface BusinessAreaMaster{\r\n id: number;\r\n code : string;\r\n name : string;\r\n description : string;\r\n entityName : string;\r\n entityId : number;\r\n status : boolean;\r\n isActive : boolean;\r\n createdBy : number; \r\n createdDate : Date;\r\n updatedBy : number; \r\n updatedDate : Date;\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'app-business-area',\r\n templateUrl: './business-area.component.html',\r\n styleUrls: ['./business-area.component.scss']\r\n})\r\nexport class BusinessAreaComponent implements OnInit {\r\n\r\n isIdVisible: boolean = false;\r\n entitylst : any[] = [];\r\n dataSource : any;\r\n show: boolean = true;\r\n displayedColumns: string[] = ['code','name','description','entityName','status','action'];\r\n \r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n constructor(private snackBar: MatSnackBar,public dialog: MatDialog, private entityServ : MasterService) { }\r\n \r\n ngOnInit(): void {\r\n this.getBuisnessAreaMaster();\r\n }\r\n openDialogBox(){\r\n this.isIdVisible = false;\r\n const dialogRef = this.dialog.open(AddBusinessAreaDialog,{\r\n \r\n });\r\n dialogRef.afterClosed().subscribe({\r\n next: (val) => {\r\n if(val){\r\n this.getBuisnessAreaMaster();\r\n }\r\n }\r\n })\r\n }\r\n snackBarLoader(content, action, duration, color){\r\n this.snackBar.open(content, action, {\r\n duration: 2000,\r\n verticalPosition: \"top\", \r\n horizontalPosition: \"center\", \r\n panelClass: [color]\r\n });\r\n }\r\n \r\n getBuisnessAreaMaster(){\r\n this.entityServ.getBusinessAreaMaster().subscribe((data:any)=>{\r\n this.dataSource= new MatTableDataSource(data);\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n });\r\n }\r\n\r\n loadResourceToEdit(data : any){\r\n this.isIdVisible = true;\r\n const dialogRef = this.dialog.open(AddBusinessAreaDialog,{\r\n data,\r\n }) \r\n dialogRef.afterClosed().subscribe({\r\n next: (val) => {\r\n if(val){\r\n this.getBuisnessAreaMaster();\r\n }\r\n }\r\n })\r\n }\r\n\r\n delete(data: any) { \r\n if (confirm(\"Are you sure you want to delete this\")) { \r\n this.entityServ.deleteBusinessAreaMaster(data).subscribe(() => { \r\n this.snackBarLoader('Deleted Successfully','Done','1000', 'red-snackbar')\r\n this.getBuisnessAreaMaster();\r\n }); \r\n } \r\n } \r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n\r\n if (this.dataSource.paginator) {\r\n this.dataSource.paginator.firstPage();\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n@Component ({\r\n selector: 'app-dialog-entity',\r\n templateUrl: './addBusinessAreaDialog.html',\r\n styleUrls: ['./business-area.component.scss']\r\n})\r\n\r\n export class AddBusinessAreaDialog implements OnInit {\r\n formInstance: FormGroup;\r\n isIdVisible :boolean =false;\r\n ischecked :boolean =true;\r\n createdByUserId : number;\r\n isCodeDisabled :boolean =false;\r\n createdBy : number;\r\n createdDate : Date;\r\n entitylst : any[] = [];\r\n businessAreaModel: BusinessAreaMaster= {} as BusinessAreaMaster;\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,public dialogRef: MatDialogRef,\r\n private snackBar: MatSnackBar,private _formBuilder: FormBuilder, private entityServ : MasterService) \r\n {\r\n if(this.data !=null && this.data !=undefined)\r\n this.isCodeDisabled = true;\r\n this.formInstance = _formBuilder.group({\r\n // \"id\":0,\r\n \"name\": ['', [Validators.required, this.noSpecialCharacters()]], \r\n \"code\": [{value:'', disabled : this.isCodeDisabled}, Validators.required], \r\n \"description\": [''],\r\n \"status\": true,\r\n \"entityControl\":['', Validators.required],\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.businessAreaModel.status = true;\r\n if(this.data !=null && this.data !=undefined)\r\n {\r\n this.isCodeDisabled = true;\r\n this.businessAreaModel.id = this.data.id;\r\n this.businessAreaModel.name = this.data.name;\r\n this.businessAreaModel.code = this.data.code;\r\n this.businessAreaModel.description = this.data.description;\r\n this.businessAreaModel.status = this.data.status;\r\n this.businessAreaModel.entityId = this.data.entityId;\r\n this.createdBy = this.data.createdBy;\r\n this.createdDate = this.data.createdDate;\r\n this.isIdVisible = true\r\n }\r\n var emailId = sessionStorage.getItem('LoginEmail');\r\n this.getUserId(emailId);\r\n this.getEntityMaster();\r\n }\r\n\r\n closepopup(){\r\n if(confirm(\"Are you sure to close this\")) {\r\n this.dialogRef.close();\r\n }\r\n }\r\n\r\n save(){\r\n if (this.formInstance.invalid) {\r\n return;\r\n }\r\n \r\n this.businessAreaModel.createdBy = this.createdByUserId;\r\n this.entityServ.saveBusinessAreaMasterData(this.businessAreaModel).subscribe({\r\n next: (val :any) => {\r\n this.snackBarLoader('Submitted Successfully','Done','1000', 'red-snackbar')\r\n this.resetForm();\r\n this.dialogRef.close(true);\r\n },\r\n error: (err: any) =>{\r\n this.snackBarLoader(err.error,'Done','1000', 'red-snackbar')\r\n this.resetForm();\r\n }\r\n })\r\n }\r\n \r\n\r\n update(){\r\n if (this.formInstance.invalid) {\r\n return;\r\n }\r\n this.businessAreaModel.updatedBy = this.createdByUserId;\r\n this.businessAreaModel.createdBy = this.createdBy;\r\n this.businessAreaModel.createdDate = this.createdDate;\r\n this.businessAreaModel.isActive = true;\r\n this.entityServ.saveBusinessAreaMasterData(this.businessAreaModel).subscribe({\r\n next: (val :any) => {\r\n this.snackBarLoader('Updated Successfully','Done','1000', 'red-snackbar')\r\n this.resetForm();\r\n this.dialogRef.close(true);\r\n // this.getBusinessLineType();\r\n },\r\n error: (err: any) =>{\r\n this.snackBarLoader(err.error,'Done','1000', 'red-snackbar')\r\n this.resetForm();\r\n }\r\n })\r\n }\r\n \r\n noSpecialCharacters(): ValidatorFn {\r\n return (control: FormControl): { [key: string]: any } | null => {\r\n const specialCharacters = /[!@#$%^&*(),.?\":{}|<>]/;\r\n if (specialCharacters.test(control.value)) {\r\n return { 'specialCharacters': true };\r\n }\r\n return null;\r\n };\r\n }\r\n snackBarLoader(content, action, duration, color){\r\n this.snackBar.open(content, action, {\r\n duration: 2000,\r\n verticalPosition: \"top\", \r\n horizontalPosition: \"center\", \r\n panelClass: [color]\r\n });\r\n }\r\n \r\n resetForm() { \r\n this.formInstance.reset(); \r\n this.businessAreaModel.id = 0;\r\n Object.keys(this.formInstance.controls).forEach(key => {\r\n this.formInstance.get(key).setErrors(null) ;\r\n });\r\n this.isIdVisible = false;\r\n this.dialogRef.close(true);\r\n }\r\n \r\n getUserId(emailId : string){\r\n this.entityServ.getUserId(emailId).subscribe((data:any)=>{\r\n this.createdByUserId = data[0].id;\r\n });\r\n }\r\n\r\n getEntityMaster(){\r\n this.entityServ.getEntityMaster().subscribe((data:any)=>{\r\n this.entitylst = data,\r\n error => console.log(error), \r\n () => console.log('Get all complete'); \r\n });\r\n }\r\n \r\n customErrorStateMatcher: ErrorStateMatcher = {\r\n isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {\r\n const isSubmitted = form && form.submitted;\r\n return !!(control && control.invalid && (control.dirty || control.touched || isSubmitted));\r\n }\r\n }\r\n}","\r\n\r\n
    \r\n

    Business Area Master

    \r\n \r\n
    \r\n
    \r\n\r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n Search\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    Id{{ element.id }}Business Area Code{{ element.code }}Business Area Name{{ element.name }}Description{{ element.description }}Status{{ element.status ? 'Active' : 'InActive' }}Entity Name{{ element.entityName }}Action\r\n \r\n \r\n
    No data matching the filter
    \r\n \r\n
    \r\n
    \r\n
    ","\r\n

    Business Area Master

    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n Business Area Name\r\n \r\n Name should not contain special characters\r\n Name is required\r\n \r\n

    \r\n
    \r\n \r\n Business Area Code \r\n \r\n Code is required\r\n \r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n Entity \r\n \r\n --\r\n \r\n {{entity.entityName}}\r\n \r\n \r\n Please choose Entity Name\r\n \r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n Description \r\n \r\n \r\n
    \r\n
    \r\n \r\n Active \r\n \r\n
    \r\n

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

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

    dashboard works!

    \r\n","import { Component, Inject, OnInit, Pipe, PipeTransform, ViewChild, ElementRef } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, FormGroupDirective, NgForm, ValidatorFn, Validators } from '@angular/forms';\r\nimport { ErrorStateMatcher, MatOption } from '@angular/material/core';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MasterService } from 'src/app/Services/master.service';\r\nimport { MatSelect } from '@angular/material/select';\r\nimport { tr } from 'date-fns/locale';\r\nimport { Observable, of } from \"rxjs\";\r\nimport { map, startWith } from \"rxjs/operators\";\r\n\r\nexport interface DesignationMapping{\r\n id: number;\r\n designationId : number;\r\n designationName : string;\r\n designationIds : string;\r\n entityId : number,\r\n entityName : string;\r\n divisionId : number;\r\n divisionName : string;\r\n businessAreaId : number,\r\n businessAreaName : string,\r\n status : boolean;\r\n isActive : boolean;\r\n createdBy : number; \r\n createdDate : Date;\r\n updatedBy : number; \r\n updatedDate : Date;\r\n isDelete:boolean;\r\n}\r\n\r\nexport interface BusinessAreaMST{\r\n id:number;\r\n name: string;\r\n}\r\nexport class Entity{\r\n id:number;\r\n code:string;\r\n name: string;\r\n status: boolean;\r\n}\r\n@Component({\r\n selector: 'app-designation-mapping',\r\n templateUrl: './designation-mapping.component.html',\r\n styleUrls: ['./designation-mapping.component.scss']\r\n})\r\nexport class DesignationMappingComponent implements OnInit {\r\n searchValueText: string = '';\r\n entityList: Entity[]=[];\r\n businessList: BusinessAreaMST[];\r\n selectEntityFormControl = new FormControl();\r\n businessFormControl = new FormControl();\r\n \r\n formInstance: any;\r\n selectedEntityValue = [];\r\n\r\n isIdVisible: boolean = false;\r\n dataSource : any;\r\n show: boolean = true;\r\n displayedColumns: string[] = ['entityName','divisionName','businessAreaName','designationName','status','action'];\r\n showAdd: boolean=false;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n\r\n selectedBusinessAreaValue: string;\r\n selectedBusinessAreaValues = [];\r\n disableBusinessArea:boolean=false;\r\n showTrigger: boolean=false;\r\n constructor(private snackBar: MatSnackBar,public dialog: MatDialog, \r\n private DesignationServ : MasterService,private _formBuilder: FormBuilder,\r\n private activitymasterSer: MasterService) { \r\n\r\n\r\n this.formInstance = _formBuilder.group({\r\n \"businessControl\":['', Validators.required]//,\r\n \r\n /* searchString_new: new FormControl(''),\r\n searchString: new FormControl('') */\r\n });\r\n }\r\n \r\n ngOnInit(): void {\r\n this.getEntity();\r\n //this.getDesignationMapping();\r\n }\r\n\r\n getEntity(){\r\n \r\n this.activitymasterSer.getEntityList().subscribe((data:any)=>{\r\n this.entityList= data;\r\n let entityID: number;\r\n if (this.entityList && this.entityList.length > 0) {\r\n this.entityList.forEach((e) => {\r\n if(e.code == 'IN01'){\r\n entityID= e.id;\r\n if (this.selectedEntityValue.indexOf(e) == -1) {\r\n this.selectedEntityValue.push(e);\r\n }\r\n } \r\n });\r\n }\r\n this.selectEntityFormControl.patchValue(this.selectedEntityValue[0]);\r\n this.activitymasterSer.getBuisnessAreaList(entityID).subscribe((data:any)=>{\r\n this.businessList = data, () => console.log('Get all complete'); \r\n if(this.businessList.length ==0){\r\n this.disableBusinessArea=true;\r\n }\r\n else{\r\n this.disableBusinessArea=false;\r\n }\r\n });\r\n });\r\n }\r\n entitySelection(entityID:number){\r\n \r\n this.businessList=[];\r\n this.businessFormControl.reset();\r\n //this.dataSource.data=[];\r\n this.dataSource=null;\r\n this.showTrigger=false;\r\n this.showAdd=false;\r\n this.activitymasterSer.getBuisnessAreaList(entityID).subscribe((data:any)=>{\r\n this.businessList = data, () => console.log('Get all complete'); \r\n \r\n if(this.businessList.length ==0){\r\n this.disableBusinessArea=true;\r\n }else{\r\n this.disableBusinessArea=false;\r\n }\r\n });\r\n }\r\n\r\n\r\n businessAreaSelection(id,name) {\r\n if(this.dataSource!=null){\r\n this.dataSource.data=[];\r\n }\r\n //this.formInstance.value.businessControl = this.businessFormControl.value;\r\n if(id >0 ){\r\n this.showAdd=true;\r\n this.showTrigger=true;\r\n }\r\n this.businessFormControl.patchValue(id);\r\n this.selectedBusinessAreaValue= name;\r\n //this.getDesignationMapping(this.selectEntityFormControl.value.id,this.businessFormControl.value)\r\n this.searchValueText = '';\r\n\r\n }\r\n businessAreaAllSelection(){\r\n if(this.dataSource!=null){\r\n this.dataSource.data=[];\r\n }\r\n this.searchValueText = '';\r\n this.businessFormControl=new FormControl();\r\n this.selectedBusinessAreaValues=[];\r\n if (this.businessList && this.businessList.length > 0) {\r\n this.businessList.forEach((e) => {\r\n \r\n this.selectedBusinessAreaValues.push(e.id);\r\n \r\n });\r\n }\r\n this.businessFormControl.patchValue(this.selectedBusinessAreaValues);\r\n\r\n if(this.businessFormControl.value != null ){\r\n this.showAdd=true;\r\n this.showTrigger=true;\r\n }\r\n \r\n this.selectedBusinessAreaValue= this.businessList.map(item=>item.name).join(', ');\r\n }\r\n\r\n openDialogBox(){\r\n this.isIdVisible = false;\r\n \r\n const dialogRef = this.dialog.open(AddDesignationMappingDialog,{\r\n data: {\r\n action:\"Add\",\r\n businessAreaId: this.businessFormControl.value,\r\n entityId : this.selectEntityFormControl.value.id\r\n }, \r\n });\r\n dialogRef.afterClosed().subscribe({\r\n next: (val) => {\r\n if(val){\r\n this.getDesignationMapping(this.selectEntityFormControl.value.id,this.businessFormControl.value);\r\n }\r\n }\r\n })\r\n }\r\n\r\n snackBarLoader(content, action, duration, color){\r\n this.snackBar.open(content, action, {\r\n duration: 2000,\r\n verticalPosition: \"top\", \r\n horizontalPosition: \"center\", \r\n panelClass: [color]\r\n });\r\n }\r\n \r\n getDesignationMapping( entityId, buid){\r\n this.DesignationServ.getDesignationMapping(entityId, buid).subscribe((data:any)=>{\r\n this.dataSource= new MatTableDataSource(data);\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n });\r\n }\r\n retrieve(){\r\n \r\n if(this.businessFormControl.value ==null ){\r\n this.activitymasterSer.ShowSnackBar(\"Please Choose Business Area\",'rd-snackbar');\r\n return;\r\n }\r\n if(this.selectEntityFormControl.value ==null ){\r\n this.activitymasterSer.ShowSnackBar(\"Please Choose Category\",'rd-snackbar');\r\n return;\r\n }\r\n else{\r\n this.getDesignationMapping(this.selectEntityFormControl.value.id,this.businessFormControl.value);\r\n }\r\n \r\n }\r\n loadResourceToEdit(data : any){\r\n this.isIdVisible = true;\r\n const dialogRef = this.dialog.open(AddDesignationMappingDialog,{\r\n data,\r\n }) \r\n dialogRef.afterClosed().subscribe({\r\n next: (val) => {\r\n if(val){\r\n this.getDesignationMapping(this.selectEntityFormControl.value.id,this.businessFormControl.value);\r\n }\r\n }\r\n })\r\n }\r\n \r\n delete(id: any) { \r\n \r\n console.log('dataaa',id)\r\n if (confirm(\"Are you sure you want to delete this\")) { \r\n this.DesignationServ.deleteDesignationMapping(id).subscribe(() => { \r\n this.snackBarLoader('Deleted Successfully','Done','1000', 'red-snackbar')\r\n this.getDesignationMapping(this.selectEntityFormControl.value.id,this.businessFormControl.value);\r\n }); \r\n } \r\n } \r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n\r\n if (this.dataSource.paginator) {\r\n this.dataSource.paginator.firstPage();\r\n }\r\n }\r\n}\r\nexport interface DesignationMST{\r\n designationId:number;\r\n designationName: string;\r\n isActive:boolean;\r\n}\r\n\r\n@Component ({\r\n selector: 'app-dialog-Designation- Mapping',\r\n templateUrl: './addDesignationMappingDialog.html',\r\n styleUrls: ['./designation-mapping.component.scss']\r\n})\r\n\r\n export class AddDesignationMappingDialog implements OnInit {\r\n \r\n formInstance: FormGroup;\r\n isIdVisible :boolean =false;\r\n isEditMode :boolean =false;\r\n ischecked :boolean =true;\r\n isShowDesignationDropdown:boolean=true;\r\n createdByUserId : number;\r\n action:string;\r\n createdBy : number;\r\n createdDate : Date;\r\n designationMappingModel: DesignationMapping= {} as DesignationMapping;\r\n entitylst : any[] =[];\r\n businesslst: any[] =[];\r\n designationlst: DesignationMST[]=[];\r\n divisionlst: any[] =[];\r\n filterValue_Designation = ''; \r\n businessAreaFilteredOptions= this.businesslst.slice();\r\n designationName:string;\r\n \r\n isMultipleSelected: boolean = false;\r\n isSave:boolean;\r\n @ViewChild('select') select: MatSelect;\r\n divisionDisable: boolean;\r\n designationDisable: boolean;\r\n\r\n selectedDivisionId= new FormControl([]);\r\n selectedDivisionValue: string;\r\n allSelectedDesignation: boolean;\r\n @ViewChild('selectDesignation') selectDesignation: MatSelect;\r\n isMultipleSelectedDesignation: boolean = false;\r\n \r\n @ViewChild('searchDesignation') searchDesignationTextBox: ElementRef;\r\n selectedDesignationId= new FormControl([]);\r\n selectedDesignationValue= new FormControl([]);\r\n selectDesignationFormControl = new FormControl([]);\r\n searchDesignationTextboxControl = new FormControl();\r\n selectedDesignationValues = [];\r\n designationFilteredOptions : Observable= of(this.designationlst);\r\n \r\n \r\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,public dialogRef: MatDialogRef,\r\n private snackBar: MatSnackBar,private _formBuilder: FormBuilder, private designationServ : MasterService) \r\n {\r\n this.formInstance = _formBuilder.group({\r\n \"designationControl\": ['', [Validators.required]], \r\n /* \"entityControl\":['', Validators.required],\r\n \"businessControl\":['', Validators.required], */\r\n \"divisionControl\":['', Validators.required],\r\n \"status\": true,\r\n });\r\n }\r\n ngOnInit(): void {\r\n this.designationMappingModel.status = true;\r\n this.getEntityData();\r\n this.isSave=true;\r\n if(this.data !=null && this.data !=undefined)\r\n {\r\n if(this.data.action==\"Add\")\r\n {\r\n this.designationMappingModel.entityId = this.data.entityId;\r\n this.changeBusinessArea(this.data.businessAreaId);\r\n this.designationMappingModel.businessAreaId = this.data.businessAreaId;\r\n }\r\n else{\r\n \r\n this.isSave= false;\r\n if(this.data.divisionId == 0){\r\n this.divisionDisable= false;\r\n }else{\r\n this.divisionDisable= true;\r\n }\r\n \r\n if(this.data.designationId == 0){\r\n this.designationDisable=false;\r\n }else{\r\n this.designationDisable=true;\r\n }\r\n this.designationMappingModel.entityId = this.data.entityId;\r\n /* this.changeEntity(this.data.entityId); */\r\n this.changeBusinessArea(this.data.businessAreaId);\r\n \r\n this.designationMappingModel.id = this.data.designationId;\r\n this.designationMappingModel.businessAreaId = this.data.businessAreaId;\r\n this.designationMappingModel.designationId = this.data.designationId;\r\n this.filterValue_Designation = this.data.designationId;\r\n this.designationMappingModel.divisionId = this.data.divisionId;\r\n this.designationMappingModel.status = this.data.status;\r\n /* this.createdBy = this.data.createdBy;\r\n this.createdDate = this.data.createdDate; */\r\n this.isIdVisible = true\r\n this.isShowDesignationDropdown=false;\r\n this.designationName=this.data.designationName;\r\n }\r\n \r\n \r\n }\r\n var emailId = sessionStorage.getItem('LoginEmail');\r\n this.getUserId(emailId);\r\n \r\n }\r\n designationSelectionUpdate(desID: number, desName: string){\r\n \r\n this.selectedDesignationId.value.push(desID);\r\n this.selectedDesignationValue.value.push(desName);\r\n this.formInstance.value.designationControl = this.selectedDesignationId.value;\r\n }\r\n getEntityData(){\r\n this.designationServ.getEntityMaster().subscribe((data:any)=>{\r\n this.entitylst = data, \r\n error => console.log(error), \r\n () => console.log('Get all complete'); \r\n });\r\n }\r\n\r\n changeEntity(entityId : number){\r\n this.designationServ.getBusinessAreaEntityMapping(entityId).subscribe((data:any)=>{\r\n this.businesslst = data,\r\n error => console.log(error), \r\n () => console.log('Get all complete'); \r\n });\r\n }\r\n addItem(designationId:number, designationName: string,isActive:boolean){\r\n const newItem: DesignationMST={designationId,designationName,isActive};\r\n this.designationlst.push(newItem);\r\n }\r\n changeBusinessArea (businessAreaId : number){\r\n \r\n this.designationServ.getDesignationBusinessMapping(businessAreaId.toString()).subscribe((data:any)=>{\r\n this.designationlst = data\r\n\r\n if(this.data.action!=\"Add\"){\r\n this.addItem(this.data.designationId, this.data.designationName,true);\r\n }\r\n \r\n this.designationFilteredOptions = this.searchDesignationTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(designationName => this.applyfilter_designation(designationName))\r\n ),\r\n error => console.log(error), \r\n () => console.log('Get all complete'); \r\n });\r\n console.log(this.designationFilteredOptions);\r\n this.designationServ.getDivisionDetailsFromBusinessAreaId(businessAreaId.toString()).subscribe((data:any)=>{\r\n this.divisionlst = data\r\n if(this.divisionlst.length ==0){\r\n this.divisionDisable= true;\r\n }\r\n });\r\n }\r\n\r\n applyfilter_designation(designationName: string){\r\n const filterValue = designationName.toLowerCase();\r\n // Set selected values to retain the selected checkbox state \r\n this.setDesignationSelectedValues();\r\n this.selectedDesignationId= new FormControl([]);\r\n this.selectedDesignationValue= new FormControl([]);\r\n this.selectDesignationFormControl.patchValue(this.selectedDesignationValues);\r\n this.selectDesignationFormControl.value.forEach(item=> {\r\n this.selectedDesignationId.value.push(item.designationId);\r\n this.selectedDesignationValue.value.push(item.designationName);\r\n });\r\n let filteredList = this.designationlst.filter(option => option.designationName.toLowerCase().includes(filterValue.toLowerCase()));\r\n return filteredList;\r\n }\r\n openedDesignationChange(e) {\r\n // Set search textbox value as empty while opening selectbox \r\n this.searchDesignationTextboxControl.patchValue('');\r\n \r\n }\r\n \r\n clearDesignationSearch(event) {\r\n event.stopPropagation();\r\n this.searchDesignationTextboxControl.patchValue('');\r\n }\r\n designationSelectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedDesignationValues.indexOf(event.source.value);\r\n this.selectedDesignationValues.splice(index, 1)\r\n }\r\n }\r\n setDesignationSelectedValues() {\r\n console.log('selectDesignationFormControl', this.selectDesignationFormControl.value);\r\n if (this.selectDesignationFormControl.value && this.selectDesignationFormControl.value.length > 0) {\r\n this.selectDesignationFormControl.value.forEach((e) => {\r\n if (this.selectedDesignationValues.indexOf(e) == -1) {\r\n this.selectedDesignationValues.push(e);\r\n }\r\n });\r\n }\r\n }\r\n selectedDesignationIdExists(id: number):boolean{\r\n return this.selectedDesignationId.value.some(item=>item === id);\r\n }\r\n selectedDesignationValueExists(value: string):boolean{\r\n return this.selectedDesignationValue.value.some(item=>item === value);\r\n }\r\n divisionSelection(divisionId, divisionName){\r\n this.selectedDivisionId= new FormControl([]);\r\n this.designationMappingModel.divisionId= divisionId;\r\n this.formInstance.value.divisionControl= divisionId;\r\n this.selectedDivisionValue= divisionName;\r\n this.selectedDivisionId.value.push(divisionId);\r\n }\r\n divisionAllSelection(){\r\n this.selectedDivisionId= new FormControl([]);\r\n this.selectedDivisionValue= this.divisionlst.map(item=>item.divisionName).join(', ');\r\n this.formInstance.value.divisionControl= this.divisionlst.map(item=>item.divisionId);\r\n this.formInstance.value.divisionControl.forEach(item=> {\r\n this.selectedDivisionId.value.push(item);\r\n });\r\n }\r\n designationSelection() {\r\n \r\n this.selectedDesignationId= new FormControl([]);\r\n this.selectedDesignationValue= new FormControl([]);\r\n if(this.selectedDesignationValues.length !=0){\r\n this.selectedDesignationValues.forEach(item=> {\r\n this.selectedDesignationId.value.push(item.designationId);\r\n this.selectedDesignationValue.value.push(item.designationName);\r\n });\r\n }\r\n this.selectDesignationFormControl.value.forEach(item=> {\r\n if(!this.selectedDesignationIdExists(item.designationId)){\r\n this.selectedDesignationId.value.push(item.designationId);\r\n }\r\n if(!this.selectedDesignationValueExists(item.designationName)){\r\n this.selectedDesignationValue.value.push(item.designationName);\r\n }\r\n });\r\n this.formInstance.value.designationControl = this.selectedDesignationId.value;\r\n \r\n console.log(this.businessAreaFilteredOptions);\r\n }\r\n toggleAllSelectionDesignation(){\r\n if (this.allSelectedDesignation) {\r\n this.selectDesignation.options.forEach((item: MatOption) => item.select());\r\n this.isMultipleSelectedDesignation = true;\r\n this.selectedDesignationValue= new FormControl([]);\r\n this.selectedDesignationValue= new FormControl([]);\r\n \r\n this.selectDesignationFormControl.value.forEach(item=> {\r\n this.selectedDesignationId.value.push(item.designationId);\r\n this.selectedDesignationValue.value.push(item.designationName);\r\n });\r\n \r\n this.formInstance.value.designationControl= this.selectedDesignationId.value;\r\n } else {\r\n this.selectDesignation.options.forEach((item: MatOption) => item.deselect()); \r\n this.isMultipleSelectedDesignation = false;\r\n this.selectedDesignationId= new FormControl([]);\r\n this.selectedDesignationValue= new FormControl([]);\r\n }\r\n }\r\n closepopup(){\r\n if(confirm(\"Are you sure to close this\")) {\r\n this.dialogRef.close();\r\n }\r\n }\r\n\r\n save(){\r\n \r\n if(this.formInstance.value.divisionControl==\"\" && this.divisionlst.length >0){\r\n this.snackBarLoader('Please Select Division','Done','1000', 'red-snackbar')\r\n return\r\n }\r\n if(this.formInstance.value.divisionControl==undefined && this.divisionlst.length >0){\r\n this.snackBarLoader('Please Select Division','Done','1000', 'red-snackbar')\r\n return\r\n }\r\n if(this.selectedDesignationId.value.length==0){\r\n this.snackBarLoader('Please Select Designation','Done','1000', 'red-snackbar')\r\n return\r\n }\r\n if(this.selectedDivisionId.value.length==0 && this.divisionlst.length >0){\r\n this.snackBarLoader('Please Select Division','Done','1000', 'red-snackbar')\r\n return\r\n }\r\n var designationId=\"0\"\r\n var businessAreaId=\"0\"\r\n var divisionId=\"0\"\r\n var entityId=0\r\n this.formInstance.value.designationControl = this.selectedDesignationId.value;\r\n this.formInstance.value.divisionControl = this.selectedDivisionId.value;\r\n if(this.formInstance.value.designationControl.length>1){\r\n designationId=this.formInstance.value.designationControl.join(\",\");\r\n }\r\n else{\r\n designationId=this.formInstance.value.designationControl.toString();\r\n }\r\n if(this.divisionlst.length >0){\r\n if(this.formInstance.value.divisionControl.length>1 ){\r\n divisionId=this.formInstance.value.divisionControl.join(\",\");\r\n }else{\r\n divisionId=this.formInstance.value.divisionControl.toString();\r\n }\r\n }\r\n \r\n \r\n businessAreaId=this.designationMappingModel.businessAreaId.toString();\r\n \r\n entityId=this.designationMappingModel.entityId;\r\n //createdBy = this.createdByUserId;\r\n const myData = { designationId: designationId, \r\n businessAreaId: businessAreaId, \r\n divisionId: divisionId, \r\n entityId: entityId,\r\n emailId : sessionStorage.getItem('LoginEmail'),\r\n status: this.designationMappingModel.status,\r\n isActive : true\r\n };\r\n console.log(myData);\r\n this.designationServ.saveDesignationMappingData(myData).subscribe({\r\n next: (val :any) => {\r\n this.snackBarLoader('Submitted Successfully','Done','1000', 'red-snackbar')\r\n this.resetForm();\r\n this.dialogRef.close(true);\r\n },\r\n error: (err: any) =>{\r\n this.snackBarLoader(err.error,'Done','1000', 'red-snackbar')\r\n this.resetForm();\r\n }\r\n }) \r\n }\r\n \r\n update(){\r\n \r\n if(this.designationMappingModel.divisionId==undefined && this.divisionlst.length >0){\r\n this.snackBarLoader('Please Select Division.','Done','1000', 'red-snackbar')\r\n return\r\n }\r\n\r\n if(this.formInstance.value.divisionControl==0 && this.divisionlst.length >0 || this.designationMappingModel.divisionId==0 && this.divisionlst.length >0)\r\n {\r\n this.snackBarLoader('Please Select Division.','Done','1000', 'red-snackbar')\r\n return\r\n }\r\n\r\n if(this.formInstance.value.designationControl==\"\"){\r\n this.snackBarLoader('Please Select Designation','Done','1000', 'red-snackbar')\r\n return\r\n }\r\n this.designationMappingModel.updatedBy = this.createdByUserId;\r\n this.designationMappingModel.createdBy = this.createdBy;\r\n this.designationMappingModel.createdDate = this.createdDate;\r\n var designationId=\"0\"\r\n var businessAreaId=\"0\"\r\n var divisionId=\"0\"\r\n var entityId=0\r\n \r\n if(this.formInstance.value.businessControl!=\"\"){\r\n\r\n //createdBy = this.createdByUserId;\r\n const myData = { designationId: this.designationMappingModel.id.toString(), \r\n businessAreaId: this.data.businessAreaId.toString(), \r\n divisionId: this.designationMappingModel.divisionId.toString(), \r\n entityId: this.data.entityId,\r\n emailId : sessionStorage.getItem('LoginEmail').toString(),\r\n status: this.designationMappingModel.status,\r\n isActive : true\r\n };\r\n console.log(myData);\r\n this.designationServ.saveDesignationMappingData(myData).subscribe({\r\n next: (val :any) => {\r\n this.snackBarLoader('Updated Successfully','Done','1000', 'red-snackbar')\r\n this.resetForm();\r\n this.dialogRef.close(true);\r\n },\r\n error: (err: any) =>{\r\n this.snackBarLoader(err.error,'Done','1000', 'red-snackbar')\r\n this.resetForm();\r\n }\r\n }) \r\n }\r\n }\r\n \r\n\r\n snackBarLoader(content, action, duration, color){\r\n this.snackBar.open(content, action, {\r\n duration: 2000,\r\n verticalPosition: \"top\", \r\n horizontalPosition: \"center\", \r\n panelClass: [color]\r\n });\r\n }\r\n \r\n resetForm() { \r\n this.formInstance.reset(); \r\n this.designationMappingModel.id = 0;\r\n Object.keys(this.formInstance.controls).forEach(key => {\r\n this.formInstance.get(key).setErrors(null) ;\r\n });\r\n this.isIdVisible = false;\r\n this.dialogRef.close(true);\r\n }\r\n \r\n getUserId(emailId : string){\r\n this.designationServ.getUserId(emailId).subscribe((data:any)=>{\r\n this.createdByUserId = data[0].id;\r\n });\r\n }\r\n}","\r\n
    \r\n

    Designation Mapping

    \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 Entity \r\n \r\n {{entity.name}}\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n Select Business Area\r\n \r\n \r\n {{selectedBusinessAreaValue}} \r\n \r\n Select Business Area\r\n \r\n
    \r\n \r\n Select All\r\n {{business.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 Search\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    Id{{ element.id }}Designation Name{{ element.designationName }}Entity Name{{ element.entityName }}Business Area Name{{ element.businessAreaName }}Division Name {{ element.divisionName }}Status{{ element.status ? 'Active' : 'InActive' }}Action\r\n \r\n \r\n
    No data matching the filter
    \r\n \r\n
    \r\n
    \r\n
    ","\r\n

    Designation Mapping

    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n Select Division Master \r\n \r\n {{selectedDivisionValue}} \r\n --\r\n Select All\r\n \r\n {{division.divisionName}}\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n Select Division Master \r\n \r\n --\r\n \r\n {{division.divisionName}}\r\n \r\n \r\n \r\n \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n Select Designation\r\n \r\n \r\n {{selectedDesignationValue.value? selectedDesignationValue.value.join(', '): ''}}\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    No results found!
    \r\n
    \r\n\r\n Select All\r\n \r\n {{designation.designationName}}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Select Designation\r\n \r\n \r\n {{designation.designationName}}\r\n \r\n \r\n \r\n \r\n
    \r\n \r\n

    \r\n
    \r\n \r\n Active \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n\r\n\r\n","import { Component, Inject, OnInit, Pipe, PipeTransform, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, FormGroupDirective, NgForm, ValidatorFn, Validators } from '@angular/forms';\r\nimport { ErrorStateMatcher } from '@angular/material/core';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MasterService } from 'src/app/Services/master.service';\r\nimport * as XLSX from 'xlsx-js-style';\r\n\r\n\r\nexport interface DesignationMaster{\r\n id: number;\r\n code : string;\r\n name : string;\r\n description : string;\r\n designationName : string;\r\n designationId : number;\r\n status : boolean;\r\n isActive : boolean;\r\n isMapped : boolean;\r\n createdBy : number; \r\n createdDate : Date;\r\n updatedBy : number; \r\n updatedDate : Date;\r\n}\r\ndeclare interface BulkDesignationMaster{\r\n code : string;\r\n name : string;\r\n description : string;\r\n status : boolean;\r\n isActive : boolean;\r\n createdBy : number; \r\n createdDate : Date;\r\n updatedBy : number; \r\n updatedDate : Date;\r\n}\r\n@Component({\r\n selector: 'app-designation',\r\n templateUrl: './designation.component.html',\r\n styleUrls: ['./designation.component.scss']\r\n})\r\nexport class DesignationComponent implements OnInit {\r\n\r\n isIdVisible: boolean = false;\r\n dataSource : any;\r\n show: boolean = true;\r\n displayedColumns: string[] = ['code','name','description','status','action'];\r\n \r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n constructor(private snackBar: MatSnackBar,public dialog: MatDialog, private DesignationServ : MasterService) { }\r\n \r\n ngOnInit(): void {\r\n this.getDesignationMaster();\r\n }\r\n openDialogBox(){\r\n this.isIdVisible = false;\r\n const dialogRef = this.dialog.open(AddDesignationDialog,{\r\n height: '500px',\r\n width: '600px'\r\n });\r\n dialogRef.afterClosed().subscribe({\r\n next: (val) => {\r\n if(val){\r\n this.getDesignationMaster();\r\n }\r\n }\r\n })\r\n }\r\n snackBarLoader(content, action, duration, color){\r\n this.snackBar.open(content, action, {\r\n duration: 2000,\r\n verticalPosition: \"top\", \r\n horizontalPosition: \"center\", \r\n panelClass: [color]\r\n });\r\n }\r\n \r\n getDesignationMaster(){\r\n this.DesignationServ.getDesignationMaster().subscribe((data:any)=>{\r\n this.dataSource= new MatTableDataSource(data);\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n });\r\n }\r\n \r\n loadResourceToEdit(data : any){\r\n this.isIdVisible = true;\r\n const dialogRef = this.dialog.open(AddDesignationDialog,{\r\n data,\r\n }) \r\n dialogRef.afterClosed().subscribe({\r\n next: (val) => {\r\n if(val){\r\n this.getDesignationMaster();\r\n }\r\n }\r\n })\r\n }\r\n \r\n delete(id: any) { \r\n console.log('dataaa',id)\r\n if (confirm(\"Are you sure you want to delete this\")) { \r\n this.DesignationServ.deleteDesignationMaster(id).subscribe(() => { \r\n this.snackBarLoader('Deleted Successfully','Done','1000', 'red-snackbar')\r\n this.getDesignationMaster();\r\n }); \r\n } \r\n } \r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n\r\n if (this.dataSource.paginator) {\r\n this.dataSource.paginator.firstPage();\r\n }\r\n }\r\n \r\n exportExcel(){\r\n const header_Style= {\r\n font:{\r\n bold: true,\r\n color:{rgb:\"FFFFFF\"},\r\n name: 'ABBvoice',\r\n },\r\n alignment: {\r\n vertical: 'center',\r\n horizontal: 'center',\r\n wrapText: '1', // any truthy value here\r\n },\r\n fill:{\r\n fgColor:{rgb:\"ff000f\"}\r\n }\r\n }\r\n const transformed_tabledata= this.dataSource.filteredData.map(row=>{\r\n return {\r\n DesignationCode: row.code,\r\n DesignationName: row.designationName,\r\n Description: row.description,\r\n Status: row.status=== true? 'Active' : 'InActive'\r\n };\r\n });\r\n const workSheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(transformed_tabledata);\r\n var range = XLSX.utils.decode_range(workSheet['!ref']);\r\n for (var C = range.s.r; C <= range.e.c; ++C) {\r\n var address = XLSX.utils.encode_col(C) + '1'; // <-- first row, column number C\r\n if (!workSheet[address]) continue;\r\n //workSheet[address].v = workSheet[address].v.toUpperCase();\r\n }\r\n const workbook: XLSX.WorkBook= XLSX.utils.book_new();\r\n workSheet['!cols']=[{width:30},{width:30},{width:30},{width:15}];\r\n \r\n for (var i in workSheet) {\r\n workSheet['A1'].s=header_Style;\r\n workSheet['B1'].s=header_Style;\r\n workSheet['C1'].s=header_Style;\r\n workSheet['D1'].s=header_Style;\r\n if (typeof workSheet[i] != 'object') continue;\r\n \r\n let cell = XLSX.utils.decode_cell(i);\r\n workSheet[i].s = {\r\n wch: 50,\r\n // styling for all cells\r\n font: {\r\n name: 'ABBvoice',\r\n },\r\n alignment: {\r\n vertical: 'center',\r\n horizontal: 'center',\r\n wrapText: '1', // any truthy value here\r\n }\r\n }\r\n }\r\n \r\n XLSX.utils.book_append_sheet(workbook, workSheet, 'DesignationMST');\r\n XLSX.writeFile(workbook, 'DesignationMaster.xlsx');\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n@Component ({\r\n selector: 'app-dialog-Designation',\r\n templateUrl: './addDesignationDialog.html',\r\n styleUrls: ['./designation.component.scss']\r\n})\r\n\r\n export class AddDesignationDialog implements OnInit {\r\n formInstance: FormGroup;\r\n isIdVisible :boolean =false;\r\n ischecked :boolean =true;\r\n createdByUserId : number;\r\n createdBy : number;\r\n createdDate : Date;\r\n isCodeDisabled :boolean =false;\r\n designationModel: DesignationMaster= {} as DesignationMaster;\r\n excelDesignationMasterData: any[]=[];\r\n bulkUpload:boolean=false;\r\n bulkDesignationMasterValuesToSend: DesignationMaster[] = [];\r\n designationModelBulkUpload: DesignationMaster= {} as DesignationMaster;\r\n isMapped: boolean=false;\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,public dialogRef: MatDialogRef,\r\n private snackBar: MatSnackBar,private _formBuilder: FormBuilder, private designationServ : MasterService) \r\n {\r\n if(this.data !=null && this.data !=undefined)\r\n this.isCodeDisabled = true;\r\n this.formInstance = _formBuilder.group({\r\n // \"id\":0,\r\n \"name\": ['', Validators.required], \r\n // \"code\":['', Validators.required],\r\n \"code\": [{value:'', disabled : this.isCodeDisabled}, Validators.required],\r\n \"description\": [''],\r\n \"status\": true\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.designationModel.status = true;\r\n if(this.data !=null && this.data !=undefined)\r\n {\r\n this.isCodeDisabled = true;\r\n this.designationModel.id = this.data.designationId;\r\n this.designationModel.name = this.data.designationName;\r\n this.designationModel.code = this.data.code;\r\n this.designationModel.description = this.data.description;\r\n this.designationModel.status = this.data.status;\r\n this.createdBy = this.data.createdBy;\r\n this.createdDate = this.data.createdDate;\r\n this.isIdVisible = true;\r\n this.isMapped= this.data.isMapped;\r\n }\r\n var emailId = sessionStorage.getItem('LoginEmail');\r\n this.getUserId(emailId);\r\n }\r\n \r\n noSpecialCharacters(): ValidatorFn {\r\n return (control: FormControl): { [key: string]: any } | null => {\r\n const specialCharacters = /[!@#$%^&*(),.?\":{}|<>]/;\r\n if (specialCharacters.test(control.value)) {\r\n return { 'specialCharacters': true };\r\n }\r\n return null;\r\n };\r\n }\r\n closepopup(){\r\n if(confirm(\"Are you sure to close this\")) {\r\n this.dialogRef.close();\r\n }\r\n }\r\n save(){\r\n if (this.formInstance.invalid) {\r\n return;\r\n }\r\n this.designationModel.createdBy = this.createdByUserId;\r\n this.designationServ.saveDesignationData(this.designationModel).subscribe({\r\n next: (val :any) => {\r\n this.snackBarLoader('Submitted Successfully','Done','1000', 'red-snackbar')\r\n this.resetForm();\r\n this.dialogRef.close(true);\r\n // this.getBusinessLineType();\r\n },\r\n error: (err: any) =>{\r\n this.snackBarLoader(err.error,'Done','1000', 'red-snackbar')\r\n this.resetForm();\r\n }\r\n })\r\n }\r\n \r\n\r\n update(){\r\n if (this.formInstance.invalid) {\r\n return;\r\n }\r\n this.designationModel.updatedBy = this.createdByUserId;\r\n this.designationModel.createdBy = this.createdBy;\r\n this.designationModel.createdDate = this.createdDate;\r\n this.designationModel.isActive = true;\r\n console.log('the',this.designationModel)\r\n this.designationServ.saveDesignationData(this.designationModel).subscribe({\r\n next: (val :any) => {\r\n this.snackBarLoader('Updated Successfully','Done','1000', 'red-snackbar')\r\n this.resetForm();\r\n this.dialogRef.close(true);\r\n // this.getBusinessLineType();\r\n },\r\n error: (err: any) =>{\r\n this.snackBarLoader(err.error,'Done','1000', 'red-snackbar')\r\n this.resetForm();\r\n }\r\n })\r\n }\r\n snackBarLoader(content, action, duration, color){\r\n this.snackBar.open(content, action, {\r\n duration: 2000,\r\n verticalPosition: \"top\", \r\n horizontalPosition: \"center\", \r\n panelClass: [color]\r\n });\r\n }\r\n \r\n resetForm() { \r\n this.formInstance.reset(); \r\n this.designationModel.id = 0;\r\n Object.keys(this.formInstance.controls).forEach(key => {\r\n this.formInstance.get(key).setErrors(null) ;\r\n });\r\n this.isIdVisible = false;\r\n this.dialogRef.close(true);\r\n }\r\n \r\n getUserId(emailId : string){\r\n this.designationServ.getUserId(emailId).subscribe((data:any)=>{\r\n this.createdByUserId = data[0].id;\r\n });\r\n }\r\n\r\n customErrorStateMatcher: ErrorStateMatcher = {\r\n isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {\r\n const isSubmitted = form && form.submitted;\r\n return !!(control && control.invalid && (control.dirty || control.touched || isSubmitted));\r\n }\r\n }\r\n onCheckboxChange(event)\r\n {\r\n if(event.checked==true){\r\n this.bulkUpload=true;\r\n }\r\n else{\r\n this.bulkUpload=false;\r\n }\r\n }\r\n exportExcel(){\r\n this.designationServ.downloadExcel().subscribe(blob => {\r\n const url = window.URL.createObjectURL(blob);\r\n const a = document.createElement('a');\r\n a.href = url;\r\n a.download = 'DesignationMasterSample.xlsx';\r\n document.body.appendChild(a);\r\n a.click();\r\n window.URL.revokeObjectURL(url);\r\n a.remove();\r\n }, error => {\r\n console.error('Download error:', error);\r\n });\r\n }\r\n onFileChange(event: any) {\r\n this.excelDesignationMasterData=[];\r\n const target: DataTransfer = (event.target);\r\n const file: File= event.target.files[0];\r\n \r\n if(file){\r\n const fileSizeInBytes= file.size;\r\n const fileSizeInKB= fileSizeInBytes/1024;\r\n const fileSizeInMB= fileSizeInKB/1024;\r\n console.log(fileSizeInMB);\r\n if(fileSizeInMB > 1){\r\n this.snackBarLoader(\"Uploaded file size exceeded\",'Done','1000', 'red-snackbar');\r\n const inputElements= document.querySelectorAll('input[type=\"file\"]');\r\n inputElements.forEach((element:any)=>{\r\n element.value='';\r\n })\r\n }\r\n }\r\n \r\n if (target.files.length !== 1) throw new Error('Cannot use multiple files');\r\n \r\n const reader: FileReader = new FileReader();\r\n \r\n reader.onload = (e: any) => {\r\n const binaryStr: string = e.target.result;\r\n const workbook: XLSX.WorkBook = XLSX.read(binaryStr, { type: 'binary' });\r\n \r\n const firstSheetName: string = workbook.SheetNames[0];\r\n const worksheet: XLSX.WorkSheet = workbook.Sheets[firstSheetName];\r\n this.excelDesignationMasterData = XLSX.utils.sheet_to_json(worksheet, { header: 1 }); \r\n };\r\n \r\n reader.readAsBinaryString(target.files[0]);\r\n }\r\n cancelForm(){\r\n const inputElements= document.querySelectorAll('input[type=\"file\"]');\r\n inputElements.forEach((element:any)=>{\r\n element.value='';\r\n });\r\n this.dialogRef.close(true);\r\n }\r\n uploadDesignationMaster(){\r\n this.bulkDesignationMasterValuesToSend = [];\r\n if(this.excelDesignationMasterData.length ==0){\r\n this.snackBarLoader(\"Please Choose file\",'Done','1000', 'red-snackbar');\r\n }\r\n else if(this.excelDesignationMasterData[0][0] !='DesignationCode' && this.excelDesignationMasterData[0][1]!='DesignationName' && this.excelDesignationMasterData[0][2]!='Description'){\r\n this.snackBarLoader(\"Please Upload Correct format. Refer sample by clicking the download icon\",'Done','1000', 'red-snackbar')\r\n }\r\n else if(this.excelDesignationMasterData.length ==1){\r\n this.snackBarLoader(\"Please Upload Valid file with Data\",'Done','1000', 'red-snackbar');\r\n }\r\n else{\r\n this.excelDesignationMasterData.shift();\r\n console.log(this.excelDesignationMasterData);\r\n for(let b=0;b< this.excelDesignationMasterData.length; b++){\r\n this.designationModelBulkUpload.code= this.excelDesignationMasterData[b][0];\r\n this.designationModelBulkUpload.name= this.excelDesignationMasterData[b][1];\r\n this.designationModelBulkUpload.description=this.excelDesignationMasterData[b][2];\r\n this.designationModelBulkUpload.status=true;\r\n this.designationModelBulkUpload.createdBy = this.createdByUserId;\r\n this.designationModel.createdDate = this.createdDate;\r\n this.designationModelBulkUpload.updatedBy = null;\r\n this.designationModelBulkUpload.updatedDate =null;\r\n this.designationModelBulkUpload.isActive = true;\r\n this.bulkDesignationMasterValuesToSend.push({\r\n id:0,\r\n code: this.designationModelBulkUpload.code,\r\n name: this.designationModelBulkUpload.name,\r\n description: this.designationModelBulkUpload.description,\r\n designationName:'',\r\n designationId:0,\r\n status: this.designationModelBulkUpload.status,\r\n createdBy: this.designationModelBulkUpload.createdBy,\r\n createdDate: new Date(),\r\n updatedBy: this.designationModelBulkUpload.updatedBy,\r\n updatedDate: this.designationModelBulkUpload.updatedDate,\r\n isActive: this.designationModelBulkUpload.isActive,\r\n isMapped : false\r\n });\r\n }\r\n this.designationServ.SaveDesignationMasterBulkData(this.bulkDesignationMasterValuesToSend).subscribe({\r\n next: (val :any) => {\r\n this.snackBarLoader('Submitted Successfully','Done','1000', 'red-snackbar')\r\n this.resetForm();\r\n this.dialogRef.close(true);\r\n },\r\n error: (err: any) =>{\r\n this.snackBarLoader(err.error,'Done','1000', 'red-snackbar')\r\n this.resetForm();\r\n }\r\n }) \r\n }\r\n }\r\n }","\r\n\r\n
    \r\n

    Designation Master

    \r\n \r\n \r\n
    \r\n
    \r\n\r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n Search\r\n \r\n \r\n
    \r\n
    \r\n get_app\r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    Id{{ element.designationId }}Designation Code{{ element.code }}Designation Name{{ element.designationName }}Description{{ element.description }}Status{{ element.status ? 'Active' : 'InActive' }}Action\r\n \r\n \r\n
    No data matching the filter
    \r\n \r\n
    \r\n
    \r\n\r\n \r\n
    ","\r\n

    Designation Master

    \r\n\r\n Is BulkUpload \r\n \r\n

    \r\n
    \r\n \r\n \r\n get_app\r\n
    \r\n (.xlsx,.xls)\r\n

    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n Designation Name \r\n \r\n Name should not contain special characters\r\n Name is required\r\n \r\n

    \r\n
    \r\n \r\n Designation Code \r\n \r\n Code is required\r\n \r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n Description \r\n \r\n \r\n
    \r\n
    \r\n \r\n Active \r\n \r\n
    \r\n

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

    \r\n
    \r\n
    \r\n\r\n\r\n","import { Component, Inject, OnInit, Pipe, PipeTransform, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, FormGroupDirective, NgForm, ValidatorFn, Validators } from '@angular/forms';\r\nimport { ErrorStateMatcher } from '@angular/material/core';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MasterService } from 'src/app/Services/master.service';\r\n\r\n\r\nexport interface DivisonMaster{\r\n id: number;\r\n code : string;\r\n name : string;\r\n description : string;\r\n businessAreaName : string;\r\n businessAreaId : number;\r\n status : boolean;\r\n isActive : boolean;\r\n createdBy : number; \r\n createdDate : Date;\r\n updatedBy : number; \r\n updatedDate : Date;\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'app-division',\r\n templateUrl: './division.component.html',\r\n styleUrls: ['./division.component.scss']\r\n})\r\nexport class DivisionComponent implements OnInit {\r\n\r\n \r\n isIdVisible: boolean = false;\r\n dataSource : any;\r\n show: boolean = true;\r\n displayedColumns: string[] = ['code','name','description','businessAreaName','status','action'];\r\n \r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n constructor(private snackBar: MatSnackBar,public dialog: MatDialog, private divisionServ : MasterService) { }\r\n \r\n ngOnInit(): void {\r\n this.getDivisonMaster();\r\n }\r\n\r\n openDialogBox(){\r\n this.isIdVisible = false;\r\n const dialogRef = this.dialog.open(AddDivisionDialog,{\r\n });\r\n dialogRef.afterClosed().subscribe({\r\n next: (val) => {\r\n if(val){\r\n this.getDivisonMaster();\r\n }\r\n }\r\n })\r\n }\r\n\r\n snackBarLoader(content, action, duration, color){\r\n this.snackBar.open(content, action, {\r\n duration: 2000,\r\n verticalPosition: \"top\", \r\n horizontalPosition: \"center\", \r\n panelClass: [color]\r\n });\r\n }\r\n \r\n getDivisonMaster(){\r\n this.divisionServ.getDivisionMaster().subscribe((data:any)=>{\r\n this.dataSource= new MatTableDataSource(data);\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n });\r\n }\r\n\r\n loadResourceToEdit(data : any){\r\n this.isIdVisible = true;\r\n const dialogRef = this.dialog.open(AddDivisionDialog,{\r\n data,\r\n }) \r\n dialogRef.afterClosed().subscribe({\r\n next: (val) => {\r\n if(val){\r\n this.getDivisonMaster();\r\n }\r\n }\r\n })\r\n }\r\n\r\n delete(data: any) { \r\n if (confirm(\"Are you sure you want to delete this\")) { \r\n this.divisionServ.deleteDivisonMaster(data).subscribe(() => { \r\n this.snackBarLoader('Deleted Successfully','Done','1000', 'red-snackbar')\r\n this.getDivisonMaster();\r\n }); \r\n } \r\n } \r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n\r\n if (this.dataSource.paginator) {\r\n this.dataSource.paginator.firstPage();\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n@Component ({\r\n selector: 'app-dialog-entity',\r\n templateUrl: './addDivisionDialog.html',\r\n styleUrls: ['./division.component.scss']\r\n})\r\n\r\n export class AddDivisionDialog implements OnInit {\r\n formInstance: FormGroup;\r\n isIdVisible :boolean =false;\r\n ischecked :boolean =true;\r\n createdByUserId : number;\r\n createdBy : number;\r\n createdDate : Date;\r\n businesslst : any[] = [];\r\n divisionModel: DivisonMaster= {} as DivisonMaster;\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,public dialogRef: MatDialogRef,\r\n private snackBar: MatSnackBar,private _formBuilder: FormBuilder, private divisionServ : MasterService) \r\n {\r\n this.formInstance = _formBuilder.group({\r\n \"name\": ['', [Validators.required, this.noSpecialCharacters()]], \r\n \"code\":['', Validators.required],\r\n \"description\": [''],\r\n \"status\": true,\r\n \"divisionControl\":['', Validators.required],\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.divisionModel.status = true;\r\n if(this.data !=null && this.data !=undefined)\r\n {\r\n this.divisionModel.id = this.data.id;\r\n this.divisionModel.name = this.data.name;\r\n this.divisionModel.code = this.data.code;\r\n this.divisionModel.description = this.data.description;\r\n this.divisionModel.status = this.data.status;\r\n this.divisionModel.businessAreaId = this.data.businessAreaId;\r\n this.divisionModel.businessAreaName = this.data.businessAreaName;\r\n this.createdBy = this.data.createdBy;\r\n this.createdDate = this.data.createdDate;\r\n this.isIdVisible = true\r\n }\r\n \r\n console.log('add',this.divisionModel)\r\n console.log('add data',this.data)\r\n var emailId = sessionStorage.getItem('LoginEmail');\r\n this.getUserId(emailId);\r\n this.getBusinessName();\r\n }\r\n\r\n \r\n noSpecialCharacters(): ValidatorFn {\r\n return (control: FormControl): { [key: string]: any } | null => {\r\n const specialCharacters = /[!@#$%^&*(),.?\":{}|<>]/;\r\n if (specialCharacters.test(control.value)) {\r\n return { 'specialCharacters': true };\r\n }\r\n return null;\r\n };\r\n }\r\n \r\n closepopup(){\r\n if(confirm(\"Are you sure to close this\")) {\r\n this.dialogRef.close();\r\n }\r\n }\r\n\r\n save(){\r\n if (this.formInstance.invalid) {\r\n return;\r\n }\r\n console.log('add',this.divisionModel)\r\n this.divisionModel.createdBy = this.createdByUserId;\r\n this.divisionServ.saveDivisonData(this.divisionModel).subscribe({\r\n next: (val :any) => {\r\n this.snackBarLoader('Submitted Successfully','Done','1000', 'red-snackbar')\r\n this.resetForm();\r\n this.dialogRef.close(true);\r\n },\r\n error: (err: any) =>{\r\n this.snackBarLoader(err.error,'Done','1000', 'red-snackbar')\r\n this.resetForm();\r\n }\r\n })\r\n }\r\n \r\n\r\n update(){\r\n if (this.formInstance.invalid) {\r\n return;\r\n }\r\n this.divisionModel.updatedBy = this.createdByUserId;\r\n this.divisionModel.createdBy = this.createdBy;\r\n this.divisionModel.createdDate = this.createdDate;\r\n this.divisionServ.saveDivisonData(this.divisionModel).subscribe({\r\n next: (val :any) => {\r\n this.snackBarLoader('Updated Successfully','Done','1000', 'red-snackbar')\r\n this.resetForm();\r\n this.dialogRef.close(true);\r\n // this.getBusinessLineType();\r\n },\r\n error: (err: any) =>{\r\n this.snackBarLoader(err.error,'Done','1000', 'red-snackbar')\r\n this.resetForm();\r\n }\r\n })\r\n }\r\n snackBarLoader(content, action, duration, color){\r\n this.snackBar.open(content, action, {\r\n duration: 2000,\r\n verticalPosition: \"top\", \r\n horizontalPosition: \"center\", \r\n panelClass: [color]\r\n });\r\n }\r\n \r\n resetForm() { \r\n this.formInstance.reset(); \r\n this.divisionModel.id = 0;\r\n Object.keys(this.formInstance.controls).forEach(key => {\r\n this.formInstance.get(key).setErrors(null) ;\r\n });\r\n this.isIdVisible = false;\r\n this.dialogRef.close(true);\r\n }\r\n \r\n getUserId(emailId : string){\r\n this.divisionServ.getUserId(emailId).subscribe((data:any)=>{\r\n this.createdByUserId = data[0].id;\r\n });\r\n }\r\n\r\n getBusinessName(){\r\n this.divisionServ.getBusinessName().subscribe((data:any)=>{\r\n this.businesslst = data,\r\n error => console.log(error), \r\n () => console.log('Get all complete'); \r\n });\r\n }\r\n \r\n customErrorStateMatcher: ErrorStateMatcher = {\r\n isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {\r\n const isSubmitted = form && form.submitted;\r\n return !!(control && control.invalid && (control.dirty || control.touched || isSubmitted));\r\n }\r\n }\r\n}","\r\n\r\n
    \r\n

    Division Master

    \r\n \r\n
    \r\n
    \r\n\r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n Search\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    Id{{ element.id }}Division Code{{ element.code }}Division Name{{ element.name }}Description{{ element.description }}Status{{ element.status ? 'Active' : 'InActive' }}Business Area Name{{ element.businessAreaName }}Action\r\n \r\n \r\n
    No data matching the filter
    \r\n \r\n
    \r\n
    \r\n
    ","\r\n

    Division Master

    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n Division Name \r\n \r\n Name should not contain special characters\r\n Name is required\r\n \r\n

    \r\n
    \r\n \r\n Division Code \r\n \r\n Code is required\r\n \r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n Business Master \r\n \r\n --\r\n \r\n {{business.businessAreaName}}\r\n \r\n \r\n Please choose Business Master\r\n \r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n Description \r\n \r\n \r\n
    \r\n
    \r\n \r\n Active \r\n \r\n
    \r\n

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

    \r\n
    \r\n
    \r\n\r\n\r\n\r\n","import { Component, Inject, OnInit, Pipe, PipeTransform, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, FormGroupDirective, NgForm, ValidatorFn, Validators } from '@angular/forms';\r\nimport { ErrorStateMatcher } from '@angular/material/core';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MasterService } from 'src/app/Services/master.service';\r\n\r\n\r\nexport interface EntityMaster{\r\n id: number;\r\n code : string;\r\n name : string;\r\n description : string;\r\n entityName : string;\r\n entityId : number;\r\n status : boolean;\r\n isActive : boolean;\r\n createdBy : number; \r\n createdDate : Date;\r\n updatedBy : number; \r\n updatedDate : Date;\r\n}\r\n\r\n@Component({\r\n selector: 'app-entity',\r\n templateUrl: './entity.component.html',\r\n styleUrls: ['./entity.component.scss']\r\n})\r\n\r\nexport class EntityComponent implements OnInit {\r\n\r\n isIdVisible: boolean = false;\r\n entitylst : any[] = [];\r\n dataSource : any;\r\n show: boolean = true;\r\n displayedColumns: string[] = ['code','name','description','status','action'];\r\n isCodeDisabled: boolean = false;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n constructor(private snackBar: MatSnackBar,public dialog: MatDialog, private entityServ : MasterService) { }\r\n \r\n ngOnInit(): void {\r\n this.getEntityMaster();\r\n }\r\n openDialogBox(){\r\n this.isIdVisible = false;\r\n const dialogRef = this.dialog.open(AddEntityDialog,{\r\n height: '500px',\r\n width: '600px'\r\n });\r\n dialogRef.afterClosed().subscribe({\r\n next: (val) => {\r\n if(val){\r\n this.getEntityMaster();\r\n }\r\n }\r\n })\r\n }\r\n snackBarLoader(content, action, duration, color){\r\n this.snackBar.open(content, action, {\r\n duration: 2000,\r\n verticalPosition: \"top\", \r\n horizontalPosition: \"center\", \r\n panelClass: [color]\r\n });\r\n }\r\n \r\n getEntityMaster(){\r\n this.entityServ.getEntityMaster().subscribe((data:any)=>{\r\n console.log('dataaa',data)\r\n this.dataSource= new MatTableDataSource(data);\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n });\r\n }\r\n\r\n loadResourceToEdit(data : any){\r\n this.isIdVisible = true;\r\n const dialogRef = this.dialog.open(AddEntityDialog,{\r\n data,\r\n }) \r\n dialogRef.afterClosed().subscribe({\r\n next: (val) => {\r\n if(val){\r\n this.getEntityMaster();\r\n }\r\n }\r\n })\r\n }\r\n\r\n delete(id: any) { \r\n if (confirm(\"Are you sure you want to delete this\")) { \r\n this.entityServ.deleteEntityMaster(id).subscribe(() => { \r\n this.snackBarLoader('Deleted Successfully','Done','1000', 'red-snackbar')\r\n this.getEntityMaster();\r\n }); \r\n } \r\n } \r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n\r\n if (this.dataSource.paginator) {\r\n this.dataSource.paginator.firstPage();\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n@Component ({\r\n selector: 'app-dialog-entity',\r\n templateUrl: './addEntityDialog.html',\r\n styleUrls: ['./entity.component.scss']\r\n})\r\n\r\n export class AddEntityDialog implements OnInit {\r\n formInstance: FormGroup;\r\n isIdVisible :boolean =false;\r\n ischecked :boolean =true;\r\n createdByUserId : number;\r\n createdBy : number;\r\n createdDate : Date;\r\n isCodeDisabled :boolean =false;\r\n entityModel: EntityMaster= {} as EntityMaster;\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,public dialogRef: MatDialogRef,\r\n private snackBar: MatSnackBar,private _formBuilder: FormBuilder, private entityServ : MasterService) \r\n {\r\n if(this.data !=null && this.data !=undefined)\r\n this.isCodeDisabled = true;\r\n this.formInstance = _formBuilder.group({\r\n // \"id\":0,\r\n \r\n \"name\": ['', [Validators.required, this.noSpecialCharacters()]], \r\n \"code\":[{value:'', disabled : this.isCodeDisabled}, Validators.required],\r\n \"description\": [''],\r\n \"status\": true\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.entityModel.status = true;\r\n if(this.data !=null && this.data !=undefined)\r\n {\r\n this.isCodeDisabled = true;\r\n this.entityModel.id = this.data.entityId;\r\n this.entityModel.name = this.data.entityName;\r\n this.entityModel.code = this.data.code;\r\n this.entityModel.description = this.data.description;\r\n this.entityModel.status = this.data.status;\r\n this.createdBy = this.data.createdBy;\r\n this.createdDate = this.data.createdDate;\r\n this.isIdVisible = true\r\n }\r\n var emailId = sessionStorage.getItem('LoginEmail');\r\n this.getUserId(emailId);\r\n }\r\n\r\n closepopup(){\r\n if(confirm(\"Are you sure to close this\")) {\r\n this.dialogRef.close();\r\n }\r\n }\r\n save(){\r\n if (this.formInstance.invalid) {\r\n return;\r\n }\r\n this.entityModel.createdBy = this.createdByUserId;\r\n this.entityServ.saveEntityData(this.entityModel).subscribe({\r\n next: (val :any) => {\r\n this.snackBarLoader('Submitted Successfully','Done','1000', 'red-snackbar')\r\n this.resetForm();\r\n this.dialogRef.close(true);\r\n // this.getBusinessLineType();\r\n },\r\n error: (err: any) =>{\r\n this.snackBarLoader(err.error,'Done','1000', 'red-snackbar')\r\n this.resetForm();\r\n }\r\n })\r\n }\r\n \r\n\r\n update(){\r\n if (this.formInstance.invalid) {\r\n return;\r\n }\r\n this.entityModel.updatedBy = this.createdByUserId;\r\n this.entityModel.createdBy = this.createdBy;\r\n this.entityModel.createdDate = this.createdDate;\r\n console.log('the',this.entityModel)\r\n this.entityServ.saveEntityData(this.entityModel).subscribe({\r\n next: (val :any) => {\r\n this.snackBarLoader('Updated Successfully','Done','1000', 'red-snackbar')\r\n this.resetForm();\r\n this.dialogRef.close(true);\r\n // this.getBusinessLineType();\r\n },\r\n error: (err: any) =>{\r\n this.snackBarLoader(err.error,'Done','1000', 'red-snackbar')\r\n this.resetForm();\r\n }\r\n })\r\n }\r\n snackBarLoader(content, action, duration, color){\r\n this.snackBar.open(content, action, {\r\n duration: 2000,\r\n verticalPosition: \"top\", \r\n horizontalPosition: \"center\", \r\n panelClass: [color]\r\n });\r\n }\r\n \r\n resetForm() { \r\n this.formInstance.reset(); \r\n this.entityModel.id = 0;\r\n Object.keys(this.formInstance.controls).forEach(key => {\r\n this.formInstance.get(key).setErrors(null) ;\r\n });\r\n this.isIdVisible = false;\r\n this.dialogRef.close(true);\r\n }\r\n \r\n getUserId(emailId : string){\r\n this.entityServ.getUserId(emailId).subscribe((data:any)=>{\r\n this.createdByUserId = data[0].id;\r\n });\r\n }\r\n \r\n noSpecialCharacters(): ValidatorFn {\r\n return (control: FormControl): { [key: string]: any } | null => {\r\n const specialCharacters = /[!@#$%^&*(),.?\":{}|<>]/;\r\n if (specialCharacters.test(control.value)) {\r\n return { 'specialCharacters': true };\r\n }\r\n return null;\r\n };\r\n }\r\n \r\n customErrorStateMatcher: ErrorStateMatcher = {\r\n isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {\r\n const isSubmitted = form && form.submitted;\r\n return !!(control && control.invalid && (control.dirty || control.touched || isSubmitted));\r\n }\r\n }\r\n \r\n }","\r\n\r\n
    \r\n

    Entity Master

    \r\n \r\n
    \r\n
    \r\n\r\n\r\n \r\n\r\n
    \r\n
    \r\n \r\n Search\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    Id{{ element.entityId }}Entity Code{{ element.code }}Entity Name{{ element.entityName }}Description{{ element.description }}Status{{ element.status ? 'Active' : 'InActive' }}Action\r\n \r\n \r\n
    No data matching the filter
    \r\n \r\n
    \r\n
    \r\n
    ","\r\n

    Entity Master

    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n Entity Name \r\n \r\n Name should not contain special characters\r\n Name is required\r\n \r\n

    \r\n
    \r\n \r\n Entity Code \r\n \r\n Code is required\r\n \r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n Description \r\n \r\n \r\n
    \r\n
    \r\n \r\n Active \r\n \r\n
    \r\n

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

    \r\n
    \r\n
    \r\n \r\n ","\t\t \r\nimport { SelectionModel } from \"@angular/cdk/collections\";\r\nimport { FlatTreeControl } from \"@angular/cdk/tree\";\r\nimport { NestedTreeControl } from \"@angular/cdk/tree\";\r\nimport { Component, Injectable, OnInit, ViewChild,ElementRef, HostListener } from \"@angular/core\";\r\nimport {MatTreeFlatDataSource,MatTreeFlattener, MatTreeNestedDataSource} from \"@angular/material/tree\";\r\nimport { BehaviorSubject } from \"rxjs\";\r\nimport { MatTable, MatTableDataSource } from '@angular/material/table';\r\nimport { Observable, of } from \"rxjs\";\r\nimport { map, startWith } from \"rxjs/operators\";\r\nimport { MatPaginator } from \"@angular/material/paginator\";\r\nimport { MatSort } from \"@angular/material/sort\";\r\nimport { MatSelect } from \"@angular/material/select\";\r\nimport { MatOption } from \"@angular/material/core\";\r\nimport { SearchService } from \"src/app/Services/search.service\";\r\nimport * as XLSX from 'xlsx-js-style';\r\nimport { DomSanitizer, SafeHtml } from \"@angular/platform-browser\";\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { AbstractControl, FormArray, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { now } from \"moment\";\r\nimport { MatInput } from \"@angular/material/input\";\r\nimport { ht, tr } from \"date-fns/locale\";\r\nimport { style } from \"@angular/animations\";\r\nimport { saveAs } from 'file-saver';\r\nimport { MatSelectFilterModule } from 'mat-select-filter';\r\nimport { MatOptionSelectionChange} from '@angular/material/core';\r\nimport { HistoryService } from 'src/app/Services/history.service';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\nexport class HistoryDetails {\r\n Id:number;\r\n HistoryId:number;\r\n HistoryCode:string;\r\n ActivityDtlId:number;\r\n ActivityId : number;\r\n SourceOfActivity: string;\r\n CatBatReference: number;\r\n CPReference: JSON;\r\n MIReference: JSON;\r\n BRReference: JSON;\r\n Tool: string;\r\n ApplicableToBusiness: string;\r\n Activity: string;\r\n Responsible: JSON;\r\n accountable: JSON; \r\n Consult: JSON;\r\n Inform: JSON;\r\n Remark: JSON;\r\n ActivityFormingPartOfLat: string;\r\n BusinessArea: string;\r\n businessAreaCode: string;\r\n BgColor:string;\r\n FontColor:string;\r\n FontWeight:string;\r\n}\r\n\r\nexport class Preamble{\r\n id:number;\r\n topic:string;\r\n remarks: string;\r\n}\r\n\r\nexport class ReadingThisDocument{\r\n id:number;\r\n column:string;\r\n description: string;\r\n}\r\nexport class NoteList{\r\n id:number;\r\n businessUnitId:number;\r\n businessUnitCode:string;\r\n note: string;\r\n}\r\nexport class Entity{\r\n id:number;\r\n code:string;\r\n name: string;\r\n status: boolean;\r\n}\r\n/**\r\n * Node for to-do item\r\n */\r\nexport class TodoItemNode {\r\n children: TodoItemNode[];\r\n id:number;\r\n parentId: string;\r\n text: string;\r\n level: number;\r\n expandable: boolean;\r\n selected?: boolean;\r\n}\r\n\r\n/** Flat to-do item node with expandable and level information */\r\nexport class TodoItemFlatNode {\r\n id:number;\r\n text: string;\r\n parentId: string;\r\n level: number;\r\n expandable: boolean;\r\n selected?: boolean;\r\n children: TodoItemFlatNode[];\r\n}\r\n\r\nexport interface BusinessAreaMST{\r\n id:number;\r\n name: string;\r\n code:string;\r\n}\r\nexport interface DivisionMST{\r\n id:number;\r\n name: string;\r\n}\r\nexport interface DesignationMST{\r\n id:number;\r\n name: string;\r\n}\r\nexport interface HistoryMST{\r\n id:number;\r\n code: string;\r\n}\r\nexport interface WorkSheetTableConfig{\r\n displayedColumns: string[];\r\n dataSource: MatTableDataSource;\r\n tableId: string;\r\n}\r\n@Injectable()\r\nexport class ChecklistDatabase {\r\n dataChange = new BehaviorSubject([]);\r\n\r\n get data(): TodoItemNode[] { return this.dataChange.value; }\r\n\r\n constructor(private snackBar: MatSnackBar, private searchser: SearchService,private historyServ: HistoryService) {\r\n this.initialize();\r\n }\r\n\r\n\r\n\r\n\r\n initialize() {\r\n \r\n this.searchser.getSearchActivityList(1).subscribe((data1: any[])=>{\r\n console.log(data1);\r\n const data = this.treeConstruct(data1);\r\n this.dataChange.next(data);\r\n }) \r\n }\r\n\r\n\r\n\r\n\r\n \r\n treeConstruct(treeData) {\r\n let constructedTree = [];\r\n for (let i of treeData) {\r\n let treeObj = i;\r\n let assigned = false;\r\n this.constructTree(constructedTree, treeObj, assigned)\r\n }\r\n return constructedTree;\r\n }\r\nconstructTree(constructedTree, treeObj, assigned) {\r\nif (treeObj.parentId == null) {\r\n treeObj.children = [];\r\n constructedTree.push(treeObj);\r\n return true;\r\n } else if (treeObj.parentId == constructedTree.id) {\r\n treeObj.children = [];\r\n constructedTree.children.push(treeObj);\r\n return true;\r\n }\r\n else {\r\n if (constructedTree.children != undefined) {\r\n for (let index = 0; index < constructedTree.children.length; index++) {\r\n let constructedObj = constructedTree.children[index];\r\n if (assigned == false) {\r\n assigned = this.constructTree(constructedObj, treeObj, assigned);\r\n }\r\n }\r\n } else {\r\n for (let index = 0; index < constructedTree.length; index++) {\r\n let constructedObj = constructedTree[index];\r\n if (assigned == false) {\r\n assigned = this.constructTree(constructedObj, treeObj, assigned);\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n }\r\n\r\n\r\n \r\n /** Add an item to to-do list */\r\n insertItem(parent: TodoItemNode, name: string) {\r\n if (parent.children) {\r\n parent.children.push({text: name} as TodoItemNode);\r\n this.dataChange.next(this.data);\r\n }\r\n }\r\n \r\n updateItem(node: TodoItemNode, name: string) {\r\n node.text = name;\r\n this.dataChange.next(this.data);\r\n }\r\n\r\n\r\n\r\n}\r\n\r\n@Component({\r\n selector: 'app-history',\r\n templateUrl: './history.component.html',\r\n styleUrls: ['./history.component.css'] ,\r\n providers: [ChecklistDatabase]\r\n})\r\nexport class HistoryComponent implements OnInit {\r\n searchValueText: string='';\r\n fromDate: Date | null = null;\r\n toDate: Date | null = null;\r\n divisionList: DivisionMST[]=[];\r\n businessList: BusinessAreaMST[]=[];\r\n designationList: DesignationMST[]=[];\r\n entityList: Entity[]=[];\r\n historyList: HistoryMST[]=[];\r\n selectEntityFormControl = new FormControl();\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort,{static:true}) sort: MatSort;\r\n @ViewChild('select') select: MatSelect;\r\n @ViewChild('selectDivision') selectDivision: MatSelect;\r\n @ViewChild('selectDesignation') selectDesignation: MatSelect;\r\n @ViewChild('txtTreeViewSelected') txtTreeViewSelected: ElementRef; \r\n \r\n @ViewChild('actualDataToDownload') actualDataToDownload :ElementRef;\r\n excelData_Preamble: any[];\r\n excelData_Reading: any[];\r\n workbook_Preamble: XLSX.WorkBook;\r\n workbook_Reading: XLSX.WorkBook;\r\n combined_workbook: XLSX.WorkBook;\r\n \r\n divisions= new FormControl('');\r\n designations = new FormControl('');\r\n allSelected=false;\r\n allSelectedDivision=false;\r\n allSelectedDesignation=false;\r\n allSelectedHistory=false;\r\n isMultipleSelected: boolean = false;\r\n isMultipleSelectedDivision: boolean = false;\r\n isMultipleSelectedDesignation: boolean = false;\r\n isMultipleSelectedHistory: boolean = false;\r\n formEntity: FormGroup;\r\n displayedColumns_Dummy: string[] = ['BgColor','FontColor','FontWeight','BusinessArea','HistoryId','SourceOfActivity','CatBatReference','CPReference','MIReference','BRReference','Tool','ApplicableToBusiness','Activity','Responsible', 'Accountable' , 'Consult', 'Inform','Remark','ActivityFormingPartOfLat'];\r\n displayedColumns: string[] = ['BusinessArea','HistoryId','SourceOfActivity','CatBatReference','CPReference','MIReference','BRReference','Tool','ApplicableToBusiness','Activity','Responsible', 'Accountable' , 'Consult', 'Inform','Remark','ActivityFormingPartOfLat'];\r\n displayedColumns_Preamble: string[] = ['id','topic','remarks'];\r\n displayedColumns_Reading: string[] = ['id','column','description'];\r\n selectedEntityValue = [];\r\n dataSource1 : MatTableDataSource;\r\n dataSource_Preamble : MatTableDataSource;\r\n dataSource_Reading : MatTableDataSource;\r\n dataSource_Note : MatTableDataSource;\r\n dummyDataSource: MatTableDataSource;\r\n Common_DataSource: any;\r\n rows=[];\r\n searchValue : string = ''; \r\n getSelectedItemsList : string = \"Select Activity!\";\r\n formInstance: any;\r\n jsonData_Preamble:any[];\r\n @ViewChild('TABLE', { static: false }) TABLE: ElementRef;\r\n @ViewChild('tree') tree;\r\n selectedControl= new FormControl(); searchString = ''\r\n dataChange = new BehaviorSubject([]);\r\n\r\n get data(): TodoItemNode[] { return this.dataChange.value; }\r\n\r\n @ViewChild('searchBusinessArea') searchBusinessAreaTextBox: ElementRef;\r\n selectBusinessAreaFormControl = new FormControl([]);\r\n searchBusinessAreaTextboxControl = new FormControl();\r\n selectedBusinessAreaValues = [];\r\n businessAreaFilteredOptions: Observable= of(this.businessList);\r\n selectedBusinessAreaId= new FormControl([]);\r\n selectedBusinessAreaValue= new FormControl([]);\r\n\r\n \r\n @ViewChild('searchDivision') searchDivisionTextBox: ElementRef;\r\n selectedDivisionId= new FormControl([]);\r\n selectedDivisionValue= new FormControl([]);\r\n selectDivisionFormControl = new FormControl([]);\r\n searchDivisionTextboxControl = new FormControl();\r\n selectedDivisionValues = [];\r\n divisionFilteredOptions: Observable= of(this.divisionList);\r\n\r\n @ViewChild('searchDesignation') searchDesignationTextBox: ElementRef;\r\n selectedDesignationId= new FormControl([]);\r\n selectedDesignationValue= new FormControl([]);\r\n selectDesignationFormControl = new FormControl([]);\r\n searchDesignationTextboxControl = new FormControl();\r\n selectedDesignationValues = [];\r\n designationFilteredOptions: Observable= of(this.designationList);\r\n\r\n @ViewChild('searchHistory') searchHistoryTextBox: ElementRef;\r\n selectedHistoryId= new FormControl([]);\r\n selectedHistoryValue= new FormControl([]);\r\n selectHistoryFormControl = new FormControl([]);\r\n searchHistoryTextboxControl = new FormControl();\r\n selectedHistoryValues = [];\r\n historyFilteredOptions: Observable= of(this.historyList);\r\n\r\n fromDateControl= new FormControl();\r\n toDateControl= new FormControl();\r\n\r\n workSheetTables: WorkSheetTableConfig[]=[];\r\n\r\n ngOnInit(): void {\r\n \r\n this.getEntity();\r\n this.onload(); \r\n }\r\n onload(){\r\n this.searchServ.getPreambleList().subscribe(preambleData=>{\r\n this.dataSource_Preamble= new MatTableDataSource(preambleData);\r\n this.searchServ.getReadingThisDocumentList().subscribe(readingData=>{\r\n this.dataSource_Reading= new MatTableDataSource(readingData);\r\n console.log(this.dataSource_Reading.filteredData);\r\n this.searchServ.getNoteList().subscribe(note=>{\r\n this.dataSource_Note= new MatTableDataSource(note);\r\n console.log(this.dataSource_Note.filteredData);\r\n });\r\n });\r\n });\r\n \r\n\r\n }\r\n \r\n getEntity(){\r\n this.searchServ.getEntityList().subscribe((data:any)=>{\r\n this.entityList= data;\r\n let entityID: number;\r\n if (this.entityList && this.entityList.length > 0) {\r\n this.entityList.forEach((e) => {\r\n if(e.code == 'IN01'){\r\n entityID= e.id;\r\n if (this.selectedEntityValue.indexOf(e) == -1) {\r\n this.selectedEntityValue.push(e);\r\n }\r\n } \r\n });\r\n }\r\n this.selectEntityFormControl.patchValue(this.selectedEntityValue[0]);\r\n this.searchServ.getBuisnessAreaList(entityID).subscribe((data:any)=>{\r\n this.businessList = data,\r\n \r\n this.businessAreaFilteredOptions = this.searchBusinessAreaTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.businessAreaFilter(name))\r\n );\r\n () => console.log('Get all complete'); \r\n });\r\n });\r\n }\r\n entityselection(entityID: number){\r\n this.reset();\r\n\r\n this.searchServ.getBuisnessAreaList(entityID).subscribe((data:any)=>{\r\n this.businessList = data,\r\n \r\n this.businessAreaFilteredOptions = this.searchBusinessAreaTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.businessAreaFilter(name))\r\n );\r\n () => console.log('Get all complete'); \r\n });\r\n }\r\n \r\n private businessAreaFilter(name: string) {\r\n const filterValue = name.toLowerCase();\r\n // Set selected values to retain the selected checkbox state \r\n this.setBusinessAreaSelectedValues();\r\n this.selectedBusinessAreaId= new FormControl([]);\r\n this.selectedBusinessAreaValue= new FormControl([]);\r\n this.selectBusinessAreaFormControl.patchValue(this.selectedBusinessAreaValues);\r\n this.selectBusinessAreaFormControl.value.forEach(item=> {\r\n this.selectedBusinessAreaId.value.push(item.id);\r\n this.selectedBusinessAreaValue.value.push(item.name);\r\n });\r\n let filteredList = this.businessList.filter(option => option.name.toLowerCase().includes(filterValue.toLowerCase()));\r\n return filteredList;\r\n }\r\n\r\n businessAreaSelectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedBusinessAreaValues.indexOf(event.source.value);\r\n this.selectedBusinessAreaValues.splice(index, 1)\r\n }\r\n }\r\n openedBusinessAreaChange(e) {\r\n // Set search textbox value as empty while opening selectbox \r\n this.searchBusinessAreaTextboxControl.patchValue('');\r\n // Focus to search textbox while clicking on selectbox\r\n if (e == true) {\r\n this.searchBusinessAreaTextBox.nativeElement.focus();\r\n }\r\n }\r\n\r\n clearBusinessAreaSearch(event) {\r\n event.stopPropagation();\r\n this.searchBusinessAreaTextboxControl.patchValue('');\r\n }\r\n\r\n setBusinessAreaSelectedValues() {\r\n console.log('selectBusinessAreaFormControl', this.selectBusinessAreaFormControl.value);\r\n if (this.selectBusinessAreaFormControl.value && this.selectBusinessAreaFormControl.value.length > 0) {\r\n this.selectBusinessAreaFormControl.value.forEach((e) => {\r\n if (this.selectedBusinessAreaValues.indexOf(e) == -1) {\r\n this.selectedBusinessAreaValues.push(e);\r\n }\r\n });\r\n }\r\n }\r\n businessAreaSelection() {\r\n \r\n this.allSelected=false;\r\n this.divisionList=[];\r\n this.designationList=[];\r\n this.dataSource1 = new MatTableDataSource([]);\r\n // this.divisionFilteredOptions=[];\r\n // this.designationFilteredOptions=[];\r\n this.selectedDivisionId= new FormControl([]);\r\n this.selectedDivisionValue= new FormControl([]);\r\n \r\n this.selectedDesignationId= new FormControl([]);\r\n this.selectedDesignationValue= new FormControl([]);\r\n\r\n this.selectedBusinessAreaId= new FormControl([]);\r\n this.selectedBusinessAreaValue= new FormControl([]);\r\n this.getSelectedItemsList = \"Select Activity!\";\r\n this.checklistSelection.clear();\r\n if(this.selectedBusinessAreaValues.length !=0){\r\n this.selectedBusinessAreaValues.forEach(item=> {\r\n this.selectedBusinessAreaId.value.push(item.id);\r\n this.selectedBusinessAreaValue.value.push(item.name);\r\n });\r\n }\r\n this.selectBusinessAreaFormControl.value.forEach(item=> {\r\n if(!this.selectedBusinessAreaIdExists(item.id)){\r\n this.selectedBusinessAreaId.value.push(item.id);\r\n }\r\n if(!this.selectedBusinessAreaValueExists(item.name)){\r\n this.selectedBusinessAreaValue.value.push(item.name);\r\n }\r\n });\r\n this.formInstance.value.businessControl = this.selectedBusinessAreaId.value;\r\n console.log(this.formInstance.value.businessControl);\r\n let newStatus = true;\r\n if(this.formInstance.value.businessControl.length > 1){\r\n console.log('len',this.formInstance.value.businessControl.length);\r\n this.isMultipleSelected = true;\r\n } \r\n else{\r\n this.isMultipleSelected = false;\r\n } \r\n this.select.options.forEach((item: MatOption) => {\r\n if (!item.selected) {\r\n newStatus = false;\r\n \r\n }\r\n if(this.formInstance.value.businessControl.length == this.businessList.length){\r\n this.allSelected = true;\r\n }else{\r\n this.allSelected = false;\r\n }\r\n });\r\n this.historyServ.getHistoryList(this.formInstance.value.businessControl).subscribe(data=>{\r\n this.historyList=data\r\n this.historyFilteredOptions = this.searchHistoryTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.HistoryFilter(name))\r\n );\r\n () => console.log('Get all complete'); \r\n });\r\n this.searchServ.getSearchActivityList(this.formInstance.value.businessControl.join(\",\")).subscribe((data1: any[])=>{\r\n console.log(data1);\r\n const data = this.treeConstruct(data1);\r\n\r\n this.dataSource_Tree.data = data;\r\n this.treeControl.dataNodes = data;\r\n Object.keys(this.dataSource_Tree.data).forEach(x => {\r\n this.setParent(this.dataSource_Tree.data[x], null);\r\n });\r\n\r\n this.dataChange.next(data);\r\n }); \r\n this.searchServ.getDivisionListFromBusinessAreaID(this.formInstance.value.businessControl.join(\",\")).subscribe((data)=>{\r\n console.log(data);\r\n this.divisionList= data,\r\n this.divisionFilteredOptions = this.searchDivisionTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.divisionFilter(name))\r\n );\r\n () => console.log('Get all complete'); \r\n });\r\n \r\n this.searchServ.getDesignationListFromBusinessAreaIDandDivisionID(this.formInstance.value.businessControl,this.formInstance.value.divisionControl).subscribe((data)=>{\r\n console.log(data);\r\n this.designationList= data,\r\n this.designationFilteredOptions = this.searchDesignationTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.designationFilter(name))\r\n );\r\n () => console.log('Get all complete'); \r\n });\r\n\r\n this.allSelected = newStatus;\r\n // this.allSelectedDivision= newStatusDivision;\r\n // this.allSelectedDesignation = newStatusDesignation;\r\n }\r\n \r\n selectedBusinessAreaIdExists(id: number):boolean{\r\n return this.selectedBusinessAreaId.value.some(item=>item === id);\r\n }\r\n selectedBusinessAreaValueExists(value: string):boolean{\r\n return this.selectedBusinessAreaValue.value.some(item=>item === value);\r\n }\r\n toggleAllSelection() {\r\n this.divisionList=[];\r\n this.designationList=[];\r\n //this.divisionFilteredOptions=[];\r\n //this.designationFilteredOptions=[];\r\n\r\n this.selectedBusinessAreaId= new FormControl([]);\r\n this.selectedBusinessAreaValue= new FormControl([]);\r\n\r\n this.getSelectedItemsList = \"Select Activity!\";\r\n this.checklistSelection.clear();\r\n\r\n if (this.allSelected) {\r\n this.select.options.forEach((item: MatOption) => item.select());\r\n this.isMultipleSelected = true;\r\n this.selectedBusinessAreaId= new FormControl([]);\r\n this.selectedBusinessAreaValue= new FormControl([]);\r\n\r\n this.selectBusinessAreaFormControl.value.forEach(item=> {\r\n this.selectedBusinessAreaId.value.push(item.id);\r\n this.selectedBusinessAreaValue.value.push(item.name);\r\n });\r\n this.formInstance.value.businessControl = this.selectedBusinessAreaId.value;\r\n console.log(this.formInstance.value.businessControl);\r\n this.historyServ.getHistoryList(this.formInstance.value.businessControl).subscribe(data=>{\r\n this.historyList=data\r\n this.historyFilteredOptions = this.searchHistoryTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.HistoryFilter(name))\r\n );\r\n () => console.log('Get all complete'); \r\n });\r\n this.searchServ.getSearchActivityList(this.formInstance.value.businessControl.join(\",\")).subscribe((data1: any[])=>{\r\n console.log(data1);\r\n const data = this.treeConstruct(data1);\r\n\r\n this.dataSource_Tree.data = data;\r\n this.treeControl.dataNodes = data;\r\n Object.keys(this.dataSource_Tree.data).forEach(x => {\r\n this.setParent(this.dataSource_Tree.data[x], null);\r\n });\r\n\r\n this.dataChange.next(data);\r\n }); \r\n\r\n\r\n this.searchServ.getDivisionListFromBusinessAreaID(this.formInstance.value.businessControl.join(\",\")).subscribe((data)=>{\r\n console.log(data);\r\n this.formInstance.controls.divisionControl.enable() ;\r\n this.divisionList= data,\r\n this.divisionFilteredOptions = this.searchDivisionTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.divisionFilter(name))\r\n ); \r\n () => console.log('Get all complete'); \r\n });\r\n \r\n this.searchServ.getDesignationListFromBusinessAreaIDandDivisionID(this.formInstance.value.businessControl,this.formInstance.value.divisionControl).subscribe((data)=>{\r\n console.log(data);\r\n this.formInstance.controls.designationControl.enable() ;\r\n this.designationList= data,\r\n this.designationFilteredOptions = this.searchDesignationTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.designationFilter(name))\r\n ); \r\n () => console.log('Get all complete'); \r\n });\r\n \r\n } else {\r\n this.select.options.forEach((item: MatOption) => item.deselect()); \r\n this.isMultipleSelected = false;\r\n \r\n this.selectedBusinessAreaId= new FormControl([]);\r\n this.selectedBusinessAreaValue= new FormControl([]);\r\n this.selectBusinessAreaFormControl = new FormControl([]);\r\n\r\n }\r\n\r\n \r\n }\r\n private divisionFilter(name: string) {\r\n const filterValue = name.toLowerCase();\r\n // Set selected values to retain the selected checkbox state \r\n this.setDivisionSelectedValues();\r\n this.selectedDivisionId= new FormControl([]);\r\n this.selectedDivisionValue= new FormControl([]);\r\n this.selectDivisionFormControl.patchValue(this.selectedDivisionValues);\r\n this.selectDivisionFormControl.value.forEach(item=> {\r\n this.selectedDivisionId.value.push(item.id);\r\n this.selectedDivisionValue.value.push(item.name);\r\n });\r\n let filteredList = this.divisionList.filter(option => option.name.toLowerCase().includes(filterValue.toLowerCase()));\r\n return filteredList;\r\n }\r\n\r\n divisionSelectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedDivisionValues.indexOf(event.source.value);\r\n this.selectedDivisionValues.splice(index, 1)\r\n }\r\n }\r\n openedDivisionChange(e) {\r\n // Set search textbox value as empty while opening selectbox \r\n this.searchDivisionTextboxControl.patchValue('');\r\n // Focus to search textbox while clicking on selectbox\r\n if (e == true) {\r\n this.searchDivisionTextBox.nativeElement.focus();\r\n }\r\n }\r\n\r\n clearDivisionSearch(event) {\r\n event.stopPropagation();\r\n this.searchDivisionTextboxControl.patchValue('');\r\n }\r\n\r\n setDivisionSelectedValues() {\r\n console.log('selectDivisionFormControl', this.selectDivisionFormControl.value);\r\n if (this.selectDivisionFormControl.value && this.selectDivisionFormControl.value.length > 0) {\r\n this.selectDivisionFormControl.value.forEach((e) => {\r\n if (this.selectedDivisionValues.indexOf(e) == -1) {\r\n this.selectedDivisionValues.push(e);\r\n }\r\n });\r\n }\r\n }\r\n selectedDivisionIdExists(id: number):boolean{\r\n return this.selectedDivisionId.value.some(item=>item === id);\r\n }\r\n selectedDivisionValueExists(value: string):boolean{\r\n return this.selectedDivisionValue.value.some(item=>item === value);\r\n }\r\n divisionSelection(){\r\n this.selectedDivisionId= new FormControl([]);\r\n this.selectedDivisionValue= new FormControl([]);\r\n if(this.selectedDivisionValues.length !=0){\r\n this.selectedDivisionValues.forEach(item=> {\r\n this.selectedDivisionId.value.push(item.id);\r\n this.selectedDivisionValue.value.push(item.name);\r\n });\r\n }\r\n this.selectDivisionFormControl.value.forEach(item=> {\r\n if(!this.selectedDivisionIdExists(item.id)){\r\n this.selectedDivisionId.value.push(item.id);\r\n }\r\n if(!this.selectedDivisionValueExists(item.name)){\r\n this.selectedDivisionValue.value.push(item.name);\r\n }\r\n });\r\n \r\n this.formInstance.value.divisionControl= this.selectedDivisionId.value;\r\n console.log(this.formInstance.value.businessControl);\r\n \r\n let newStatus = true;\r\n if(this.formInstance.value.divisionControl.length > 1){\r\n console.log('len',this.formInstance.value.divisionControl.length);\r\n this.isMultipleSelected = true;\r\n } \r\n else{\r\n this.isMultipleSelected = false;\r\n } \r\n this.select.options.forEach((item: MatOption) => {\r\n if (!item.selected) {\r\n newStatus = false;\r\n \r\n }\r\n if(this.formInstance.value.divisionControl.length == this.divisionList.length){\r\n this.allSelectedDivision = true;\r\n }else{\r\n this.allSelectedDivision = false;\r\n }\r\n });\r\n console.log(this.formInstance.value.businessControl);\r\n console.log(this.formInstance.value.divisionControl);\r\n/* this.searchServ.getDesignationListFromBusinessAreaIDandDivisionID(this.formInstance.value.businessControl,this.formInstance.value.divisionControl).subscribe((data)=>{\r\n console.log(data);\r\n this.designationList= data,\r\n error => console.log(error), \r\n () => console.log('Get all complete'); \r\n }); */\r\n //this.allSelected = newStatus;\r\n // this.allSelectedDivision= newStatus;\r\n }\r\n toggleAllSelectionDivision() {\r\n if (this.allSelectedDivision) {\r\n this.selectDivision.options.forEach((item: MatOption) => item.select());\r\n this.isMultipleSelectedDivision = true;\r\n this.selectedDivisionId= new FormControl([]);\r\n this.selectedDivisionValue= new FormControl([]);\r\n this.selectDivisionFormControl.value.forEach(item=> {\r\n this.selectedDivisionId.value.push(item.id);\r\n this.selectedDivisionValue.value.push(item.name);\r\n });\r\n \r\n this.formInstance.value.divisionControl= this.selectedDivisionId.value;\r\n } else {\r\n this.selectDivision.options.forEach((item: MatOption) => item.deselect()); \r\n this.isMultipleSelectedDivision = false;\r\n this.selectedDivisionId= new FormControl([]);\r\n this.selectedDivisionValue= new FormControl([]);\r\n this.selectDivisionFormControl = new FormControl([]);\r\n }\r\n }\r\n selectionDivisionChange(event, divisionName:string){\r\n if(event.source.selected == false){\r\n const deselectedValue= event.source.value;\r\n const currentId= this.selectedDivisionId.value;\r\n const filteredId= currentId.filter(item=>item !== deselectedValue);\r\n this.selectedDivisionId.setValue(filteredId);\r\n\r\n const currentValues= this.selectedDivisionValue.value;\r\n const filteredValues= currentValues.filter(item=>item !== divisionName);\r\n this.selectedDivisionValue.setValue(filteredValues);\r\n }\r\n }\r\n \r\n private designationFilter(name: string) {\r\n const filterValue = name.toLowerCase();\r\n // Set selected values to retain the selected checkbox state \r\n this.setDesignationSelectedValues();\r\n this.selectedDesignationId= new FormControl([]);\r\n this.selectedDesignationValue= new FormControl([]);\r\n this.selectDesignationFormControl.patchValue(this.selectedDesignationValues);\r\n this.selectDesignationFormControl.value.forEach(item=> {\r\n this.selectedDesignationId.value.push(item.id);\r\n this.selectedDesignationValue.value.push(item.name);\r\n });\r\n let filteredList = this.designationList.filter(option => option.name.toLowerCase().includes(filterValue.toLowerCase()));\r\n return filteredList;\r\n }\r\n\r\n designationSelectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedDesignationValues.indexOf(event.source.value);\r\n this.selectedDesignationValues.splice(index, 1)\r\n }\r\n }\r\n openedDesignationChange(e) {\r\n // Set search textbox value as empty while opening selectbox \r\n this.searchDesignationTextboxControl.patchValue('');\r\n // Focus to search textbox while clicking on selectbox\r\n if (e == true) {\r\n this.searchDivisionTextBox.nativeElement.focus();\r\n }\r\n }\r\n\r\n clearDesignationSearch(event) {\r\n event.stopPropagation();\r\n this.searchDesignationTextboxControl.patchValue('');\r\n }\r\n\r\n setDesignationSelectedValues() {\r\n console.log('selectDesignationFormControl', this.selectDesignationFormControl.value);\r\n if (this.selectDesignationFormControl.value && this.selectDesignationFormControl.value.length > 0) {\r\n this.selectDesignationFormControl.value.forEach((e) => {\r\n if (this.selectedDesignationValues.indexOf(e) == -1) {\r\n this.selectedDesignationValues.push(e);\r\n }\r\n });\r\n }\r\n }\r\n\r\n selectedDesignationIdExists(id: number):boolean{\r\n return this.selectedDesignationId.value.some(item=>item === id);\r\n }\r\n selectedDesignationValueExists(value: string):boolean{\r\n return this.selectedDesignationValue.value.some(item=>item === value);\r\n }\r\n toggleAllSelectionDesignation() {\r\n if (this.allSelectedDesignation) {\r\n this.selectDesignation.options.forEach((item: MatOption) => item.select());\r\n this.isMultipleSelectedDesignation = true;\r\n this.selectedDesignationValue= new FormControl([]);\r\n this.selectedDesignationValue= new FormControl([]);\r\n \r\n this.selectDesignationFormControl.value.forEach(item=> {\r\n this.selectedDesignationId.value.push(item.id);\r\n this.selectedDesignationValue.value.push(item.name);\r\n });\r\n \r\n this.formInstance.value.selectedControl= this.selectedDesignationId.value;\r\n } else {\r\n this.selectDesignation.options.forEach((item: MatOption) => item.deselect()); \r\n this.isMultipleSelectedDesignation = false;\r\n this.selectedDesignationId= new FormControl([]);\r\n this.selectedDesignationValue= new FormControl([]);\r\n }\r\n }\r\n designationSelection(){\r\n this.selectedDesignationId= new FormControl([]);\r\n this.selectedDesignationValue= new FormControl([]);\r\n if(this.selectedDesignationValues.length !=0){\r\n this.selectedDesignationValues.forEach(item=> {\r\n this.selectedDesignationId.value.push(item.id);\r\n this.selectedDesignationValue.value.push(item.name);\r\n });\r\n }\r\n this.selectDesignationFormControl.value.forEach(item=> {\r\n if(!this.selectedDesignationIdExists(item.id)){\r\n this.selectedDesignationId.value.push(item.id);\r\n }\r\n if(!this.selectedDesignationValueExists(item.name)){\r\n this.selectedDesignationValue.value.push(item.name);\r\n }\r\n \r\n });\r\n\r\n this.formInstance.value.selectedControl= this.selectedDesignationId.value;\r\n if(this.formInstance.value.selectedControl.length == this.designationList.length){\r\n this.allSelectedDesignation = true;\r\n }else{\r\n this.allSelectedDesignation = false;\r\n }\r\n }\r\n\r\n/********************************* Treeview methods Start********************************* **/\r\n\r\n treeConstruct(treeData) {\r\n let constructedTree = [];\r\n for (let i of treeData) {\r\n let treeObj = i;\r\n let assigned = false;\r\n this.constructTree(constructedTree, treeObj, assigned)\r\n }\r\n return constructedTree;\r\n }\r\nconstructTree(constructedTree, treeObj, assigned) {\r\nif (treeObj.parentId == null) {\r\n treeObj.children = [];\r\n constructedTree.push(treeObj);\r\n return true;\r\n } else if (treeObj.parentId == constructedTree.id) {\r\n treeObj.children = [];\r\n constructedTree.children.push(treeObj);\r\n return true;\r\n }\r\n else {\r\n if (constructedTree.children != undefined) {\r\n for (let index = 0; index < constructedTree.children.length; index++) {\r\n let constructedObj = constructedTree.children[index];\r\n if (assigned == false) {\r\n assigned = this.constructTree(constructedObj, treeObj, assigned);\r\n }\r\n }\r\n } else {\r\n for (let index = 0; index < constructedTree.length; index++) {\r\n let constructedObj = constructedTree[index];\r\n if (assigned == false) {\r\n assigned = this.constructTree(constructedObj, treeObj, assigned);\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n }\r\n\r\n\r\n nestedNodeMap = new Map(); \r\n treeControl: NestedTreeControl; \r\n dataSource_Tree: MatTreeNestedDataSource; \r\n checklistSelection = new SelectionModel(true /* multiple */);\r\n\r\n constructor(private sanitizer : DomSanitizer,private _database: ChecklistDatabase,private _formBuilder: FormBuilder,private searchServ: SearchService,\r\n private historyServ: HistoryService,private snackBar: MatSnackBar\r\n ) {\r\n \r\n this.treeControl = new NestedTreeControl(node => node.children);\r\n this.dataSource_Tree = new MatTreeNestedDataSource();\r\n\r\n this.formInstance = _formBuilder.group({\r\n \"businessControl\":['', Validators.required],\r\n \"divisionControl\":[''],\r\n \"designationControl\":[''], \r\n \"historyControl\":['']\r\n\r\n });\r\n\r\n\r\n /* _database.dataChange.subscribe(data => {\r\n this.dataSource_Tree.data = data;\r\n\r\n Object.keys(this.dataSource_Tree.data).forEach(x => {\r\n this.setParent(this.dataSource_Tree.data[x], null);\r\n });\r\n }); */\r\n }\r\n\r\n getLevel = (node: TodoItemFlatNode) => node.level;\r\n isExpandable = (node: TodoItemFlatNode) => node.expandable;\r\n getChildren = (node: TodoItemNode): TodoItemNode[] => node.children;\r\n hasNoContent = (_: number, _nodeData: TodoItemFlatNode) => _nodeData.text === '';\r\n hasChild = (_: number, node: TodoItemNode) => !!node.children && node.children.length > 0;\r\n /**\r\n * Transformer to convert nested node to flat node. Record the nodes in maps for later use.\r\n */\r\n\r\n \r\nsetParent(data, parent) {\r\n data.parent = parent;\r\n if (data.children) {\r\n data.children.forEach(x => {\r\n this.setParent(x, data);\r\n });\r\n }\r\n}\r\n\r\n checkAllParents(node) {\r\n if (node.parent) {\r\n const descendants = this.treeControl.getDescendants(node.parent);\r\n node.parent.selected = descendants.every(child => child.selected);\r\n node.parent.indeterminate = descendants.some(child => child.selected);\r\n this.checkAllParents(node.parent);\r\n }\r\n }\r\n\r\n/* descendantsAllSelected(node: TodoItemFlatNode): boolean {\r\n const descendants = this.treeControl.getDescendants(node);\r\n \r\n \r\n return descendants.every(child => this.checklistSelection.isSelected(child));\r\n\r\n } */\r\n\r\n descendantsAllSelected(node: TodoItemFlatNode): boolean {\r\n const descendants = this.treeControl.getDescendants(node);\r\n let allselected = descendants.every(child => this.checklistSelection.isSelected(child));\r\n if (allselected)\r\n this.checklistSelection.select(node);\r\n else\r\n this.checklistSelection.deselect(node);\r\n return allselected;\r\n }\r\n\r\n\r\n /** Whether part of the descendants are selected */\r\n descendantsPartiallySelected(node: TodoItemFlatNode): boolean {\r\n const descendants = this.treeControl.getDescendants(node);\r\n const result = descendants.some(child => this.checklistSelection.isSelected(child));\r\n return result && !this.descendantsAllSelected(node);\r\n }\r\n\r\n\r\n\r\n \r\n\r\n\r\n\r\n todoItemSelectionToggle(checked, node) {\r\n \r\n this.checklistSelection.toggle(node);\r\n const descendants = this.treeControl.getDescendants(node);\r\n this.checklistSelection.isSelected(node)\r\n ? this.checklistSelection.select(node)\r\n : this.checklistSelection.deselect(node);\r\n\r\n // Force update for the parent\r\n descendants.forEach(child => this.checklistSelection.isSelected(node));\r\n this.checkAllParents(node);\r\n \r\n\r\n node.selected = checked;\r\n if (node.children) {\r\n node.children.forEach(x => {\r\n this.todoItemSelectionToggle(checked, x);\r\n \r\n });\r\n }\r\n this.checkAllParents(node);\r\n\r\n\r\n \r\n\r\n \r\n\r\n\r\n /* console.log(result);\r\n\r\n if (!this.checklistSelection.selected.length) \r\n this.getSelectedItemsList = \"Select Activity!\";\r\n else\r\n this.getSelectedItemsList = result.join(','); */ \r\n \r\n if (!this.checklistSelection.selected.length)\r\n this.getSelectedItemsList = \"Select Activity\";\r\n else\r\n { \r\n this.getSelectedItemsList = this.checklistSelection.selected.map(s => s.text).join(\",\");\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n filterLeafNode(node: TodoItemFlatNode): boolean {\r\n if (!this.searchString) {\r\n return false\r\n }\r\n return node.text.toLowerCase()\r\n .indexOf(this.searchString?.toLowerCase()) === -1\r\n \r\n }\r\n\r\n\r\n// filter recursively on a text string using property object value\r\nfilterRecursive(filterText: string, array: any[], property: string) {\r\n let filteredData;\r\n\r\n //make a copy of the data so we don't mutate the original\r\n function copy(o: any) {\r\n return Object.assign({}, o);\r\n }\r\n\r\n // has string\r\n if (filterText) {\r\n // need the string to match the property value\r\n filterText = filterText.toLowerCase();\r\n // copy obj so we don't mutate it and filter\r\n filteredData = array.map(copy).filter(function x(y) {\r\n if (y[property].toLowerCase().includes(filterText)) {\r\n return true;\r\n }\r\n // if children match\r\n if (y.children) {\r\n return (y.children = y.children.map(copy).filter(x)).length;\r\n }\r\n });\r\n // no string, return whole array\r\n } else {\r\n filteredData = array;\r\n }\r\n\r\n return filteredData;\r\n}\r\n\r\n // pass mat input string to recursive function and return data\r\n filterTree(filterText: string) {\r\n // use filter input text, return filtered TREE_DATA, use the 'name' object value\r\n this.dataSource_Tree.data = this.filterRecursive(filterText, this.data, 'text');\r\n this.treeControl.dataNodes = this.data;\r\n }\r\n\r\n // filter string from mat input filter\r\n applyFilterForTree(event: Event) {\r\n const filterText = (event.target as HTMLInputElement).value;\r\n this.filterTree(filterText);\r\n // show / hide based on state of filter string\r\n if (filterText) {\r\n this.tree.treeControl.collapseAll();\r\n } else {\r\n \r\n this.tree.treeControl.expandAll();\r\n }\r\n }\r\n\r\n/********************************* Treeview methods End ********************************* **/\r\n\r\n \r\n createWorksheetWithColumnColors(data:any[][]){\r\n const worksheet: XLSX.WorkSheet= XLSX.utils.aoa_to_sheet(data);\r\n const range= XLSX.utils.decode_range(worksheet['!ref']);\r\n for (let rowIndex= range.s.r; rowIndex <= range.e.r;rowIndex++){\r\n const cellAddress= XLSX.utils.encode_cell({r:rowIndex,c: 15});\r\n worksheet[cellAddress].s={fill:{bgColor: {rgb: rowIndex[15] }}};\r\n }\r\n }\r\n generatePDF(){\r\n const currentDateTime= new Date();\r\n const dateString= currentDateTime.toISOString().replace(/[:.]/g,'-');\r\n const dataToSend=this.dataSource1.filteredData;\r\n console.log(dataToSend);\r\n this.historyServ.generatePdf(dataToSend, this.businessList.map(item=>item.id).join(\",\"), this.formInstance.value.businessControl.join(\",\")).subscribe(response=>{\r\n const file= new Blob([response],{type:'application/pdf'});\r\n const url= window.URL.createObjectURL(response);\r\n const link= document.createElement('a');\r\n link.href=url;\r\n link.download= `${this.selectedHistoryValue.value}.pdf`;\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n\r\n });\r\n }\r\n\r\n convertToPlainText(html:string): SafeHtml{\r\n return this.sanitizer.bypassSecurityTrustHtml(html);\r\n }\r\n \r\n generateExcel(){\r\n const currentDateTime= new Date();\r\n const dateString= currentDateTime.toISOString().replace(/[:.]/g,'-');\r\n const tabledata_Preamble= this.dataSource_Preamble.filteredData.map(row=>[row.id, row.topic,row.remarks]);\r\n const dataPreamble=[\r\n [\"\",\"\",\"Generated on:\"+dateString],\r\n [\"Preamble - an introduction to the contents, structure and flow of the TOA\"],\r\n [\"\",\"\",\"\"],\r\n [\"ID\",\"Column\",\"Description\"],\r\n ...tabledata_Preamble\r\n ];\r\n const workSheet_Preamble: XLSX.WorkSheet = XLSX.utils.aoa_to_sheet(dataPreamble);\r\n const header_Style= {\r\n font:{\r\n bold: true,\r\n color:{rgb:\"FFFFFF\"},\r\n name: 'ABBvoice',\r\n },\r\n alignment: {\r\n vertical: 'center',\r\n horizontal: 'center',\r\n wrapText: '1', // any truthy value here\r\n },\r\n fill:{\r\n fgColor:{rgb:\"ff000f\"}\r\n },\r\n border: {\r\n right: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n bottom: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n top: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n left: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n },\r\n }\r\n const header_Style_Divisions= {\r\n font:{\r\n bold: true,\r\n color:{rgb:\"FFFFFF\"},\r\n name: 'ABBvoice',\r\n },\r\n alignment: {\r\n vertical: 'center',\r\n horizontal: 'center',\r\n wrapText: '1', // any truthy value here\r\n },\r\n fill:{\r\n fgColor:{rgb:\"ff000f\"}\r\n },\r\n border: {\r\n right: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n bottom: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n top: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n left: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n },\r\n }\r\n workSheet_Preamble['!cols']=[{width:10},{width:30},{width:120}];\r\n workSheet_Preamble['!rows']=[{hpx:15},{hpx:30},{hpx:30}];\r\n \r\n for (var i in workSheet_Preamble) {\r\n workSheet_Preamble['C1'].s={\r\n border:{},\r\n font:{\r\n bold: true,\r\n color:{rgb:\"000000\"},\r\n name: 'ABBvoice',\r\n },\r\n alignment: {\r\n vertical: 'right',\r\n horizontal: 'right',\r\n wrapText: '1', // any truthy value here\r\n },\r\n },\r\n workSheet_Preamble['A2'].s={\r\n border:{},\r\n font:{\r\n bold: true,\r\n color:{rgb:\"000000\"},\r\n name: 'ABBvoice',\r\n underline:true\r\n },\r\n },\r\n workSheet_Preamble['A1'].s={\r\n border:{}\r\n },\r\n workSheet_Preamble['B1'].s={\r\n border:{}\r\n },\r\n workSheet_Preamble['A3'].s={\r\n border:{}\r\n },\r\n workSheet_Preamble['B3'].s={\r\n border:{}\r\n },\r\n workSheet_Preamble['C3'].s={\r\n border:{}\r\n },\r\n workSheet_Preamble['A4'].s=header_Style;\r\n workSheet_Preamble['B4'].s=header_Style;\r\n workSheet_Preamble['C4'].s=header_Style;\r\n if (typeof workSheet_Preamble[i] != 'object') continue;\r\n let cell = XLSX.utils.decode_cell(i);\r\n workSheet_Preamble[i].s = {\r\n wch: 50,\r\n // styling for all cells\r\n font: {\r\n name: 'ABBvoice',\r\n },\r\n alignment: {\r\n vertical: 'center',\r\n horizontal: 'center',\r\n wrapText: '1', // any truthy value here\r\n },\r\n border: {\r\n right: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n bottom: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n top: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n left: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n },\r\n };\r\n\r\n if (cell.c == 6) {\r\n // first column\r\n workSheet_Preamble[i].s.numFmt = 'DD-MM-YYYY'; // for dates\r\n workSheet_Preamble[i].z = 'DD-MM-YYYY';\r\n } else {\r\n workSheet_Preamble[i].s.numFmt = '00'; // other numbers\r\n }\r\n\r\n if (cell.r == 0) {\r\n // first row\r\n workSheet_Preamble[i].s.border.bottom = {\r\n // bottom border\r\n style: 'thin',\r\n color: '000000',\r\n };\r\n }\r\n }\r\n\r\n const combined_wb: XLSX.WorkBook= XLSX.utils.book_new();\r\n XLSX.utils.book_append_sheet(combined_wb, workSheet_Preamble, 'Preamble');\r\n\r\n\r\n const tabledata_Reading= this.dataSource_Reading.filteredData.map(row=>[row.id, row.column,row.description]);\r\n console.log(tabledata_Reading);\r\n const dataReading=[\r\n [\"Reading this document\"],\r\n [\"Listed below is the description of the column headers in the TOA sheet. It guides the users to interpret the columns and how the information therein is populated.\"],\r\n [\"\",\"\",\"\"],\r\n [\"ID\",\"Column\",\"Description\"],\r\n ...tabledata_Reading\r\n ];\r\n const workSheet_Reading: XLSX.WorkSheet = XLSX.utils.aoa_to_sheet(dataReading);\r\n workSheet_Reading['!cols']=[{width:10},{width:30},{width:120}];\r\n workSheet_Reading['!rows']=[{hpx:15},{hpx:30},{hpx:30}];\r\n \r\n for (var i in workSheet_Reading) {\r\n workSheet_Reading['A1'].s={\r\n border:{},\r\n font:{\r\n bold: true,\r\n color:{rgb:\"000000\"},\r\n name: 'ABBvoice',\r\n underline:true\r\n },\r\n },\r\n workSheet_Reading['A2'].s={\r\n border:{},\r\n font:{\r\n bold: true,\r\n color:{rgb:\"000000\"},\r\n name: 'ABBvoice',\r\n underline:true\r\n },\r\n },\r\n workSheet_Reading['A3'].s={\r\n border:{}\r\n },\r\n workSheet_Reading['B3'].s={\r\n border:{}\r\n },\r\n workSheet_Reading['C3'].s={\r\n border:{}\r\n },\r\n workSheet_Reading['A4'].s=header_Style;\r\n workSheet_Reading['B4'].s=header_Style;\r\n workSheet_Reading['C4'].s=header_Style;\r\n if (typeof workSheet_Reading[i] != 'object') continue;\r\n let cell = XLSX.utils.decode_cell(i);\r\n workSheet_Reading[i].s = {\r\n wch: 50,\r\n // styling for all cells\r\n font: {\r\n name: 'ABBvoice',\r\n },\r\n alignment: {\r\n vertical: 'center',\r\n horizontal: 'center',\r\n wrapText: '1', // any truthy value here\r\n },\r\n border: {\r\n right: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n bottom: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n top: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n left: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n },\r\n };\r\n\r\n if (cell.c == 6) {\r\n // first column\r\n workSheet_Reading[i].s.numFmt = 'DD-MM-YYYY'; // for dates\r\n workSheet_Reading[i].z = 'DD-MM-YYYY';\r\n } else {\r\n workSheet_Reading[i].s.numFmt = '00'; // other numbers\r\n }\r\n\r\n if (cell.r == 0) {\r\n // first row\r\n workSheet_Reading[i].s.border.bottom = {\r\n // bottom border\r\n style: 'thin',\r\n color: '000000',\r\n };\r\n }\r\n }\r\n XLSX.utils.book_append_sheet(combined_wb, workSheet_Reading, 'Reading this document');\r\n for(let w = 0; w < this.workSheetTables.length; w++) \r\n {\r\n \r\n const table = document.getElementById(this.workSheetTables[w].tableId);\r\n const workSheet_CommonData: XLSX.WorkSheet= XLSX.utils.table_to_sheet(table);\r\n workSheet_CommonData['!cols']=[{width:30},{width:40},{width:40},{width:40},{width:40},{width:40},{width:60},{width:40},{width:40},{width:40},{width:40},{width:60},{width:40},{width:40},{width:40},{width:40}];\r\n workSheet_CommonData['!rows']=[{hpx:15},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30}];\r\n \r\n // Get the rows and cells from the HTML table\r\n const rows = table.querySelectorAll('tr');\r\n rows.forEach((row, rowIndex) => {\r\n const cells = row.querySelectorAll('td, th');\r\n cells.forEach((cell, colIndex) => {\r\n const cellAddress = XLSX.utils.encode_cell({ r: rowIndex, c: colIndex });\r\n // Assign cell value from HTML table\r\n const cellValue = cell.textContent?.trim() || '';\r\n \r\n // Update the worksheet cell\r\n\r\n if(workSheet_CommonData[cellAddress].l == undefined){\r\n workSheet_CommonData[cellAddress] = {\r\n v: cellValue,\r\n t: 's', // Set cell type to string\r\n s: { numFmt: '@' } // Ensure cell is treated as text in Excel\r\n };\r\n }\r\n else{\r\n workSheet_CommonData[cellAddress] = {\r\n v: cellValue,\r\n t: 's', // Set cell type to string\r\n s: { numFmt: '@' } ,// Ensure cell is treated as text in Excel\r\n l: workSheet_CommonData[cellAddress].l\r\n };\r\n }\r\n });\r\n }); \r\n for (var i in workSheet_CommonData) {\r\n\r\n workSheet_CommonData['A1'].s= header_Style_Divisions;\r\n workSheet_CommonData['B1'].s= header_Style_Divisions\r\n workSheet_CommonData['C1'].s=header_Style_Divisions;\r\n workSheet_CommonData['D1'].s=header_Style_Divisions\r\n workSheet_CommonData['E1'].s=header_Style_Divisions\r\n workSheet_CommonData['F1'].s=header_Style_Divisions\r\n workSheet_CommonData['G1'].s=header_Style_Divisions\r\n workSheet_CommonData['H1'].s=header_Style_Divisions\r\n workSheet_CommonData['I1'].s=header_Style_Divisions\r\n workSheet_CommonData['J1'].s=header_Style_Divisions\r\n workSheet_CommonData['K1'].s=header_Style_Divisions\r\n workSheet_CommonData['L1'].s=header_Style_Divisions\r\n workSheet_CommonData['M1'].s=header_Style_Divisions\r\n workSheet_CommonData['N1'].s=header_Style_Divisions\r\n workSheet_CommonData['O1'].s=header_Style_Divisions\r\n workSheet_CommonData['P1'].s=header_Style_Divisions\r\n\r\n if (typeof workSheet_CommonData[i] != 'object') continue;\r\n \r\n let cell = XLSX.utils.decode_cell(i);\r\n workSheet_CommonData[i].s = {\r\n wch: 50,\r\n // styling for all cells\r\n font: {\r\n name: 'ABBvoice',\r\n },\r\n alignment: {\r\n vertical: 'center',\r\n horizontal: 'center',\r\n wrapText: '1', // any truthy value here\r\n },\r\n border: {\r\n right: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n bottom: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n top: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n left: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n },\r\n };\r\n \r\n if (cell.c == 6) {\r\n // first column\r\n workSheet_CommonData[i].s.numFmt = 'DD-MM-YYYY'; // for dates\r\n workSheet_CommonData[i].z = 'DD-MM-YYYY';\r\n } else {\r\n workSheet_CommonData[i].s.numFmt = '00'; // other numbers\r\n }\r\n\r\n if (cell.r == 0) {\r\n // first row\r\n workSheet_CommonData[i].s.border.bottom = {\r\n // bottom border\r\n style: 'thin',\r\n color: '000000',\r\n };\r\n }\r\n }\r\n \r\n this.applyBgColorFontColorFontweightForColumns(workSheet_CommonData, this.workSheetTables[w].dataSource.data);\r\n\r\n workSheet_CommonData['M1'].s=header_Style_Divisions;\r\n workSheet_CommonData['N1'].s=header_Style_Divisions;\r\n workSheet_CommonData['O1'].s=header_Style_Divisions;\r\n workSheet_CommonData['P1'].s=header_Style_Divisions\r\n if(this.workSheetTables[w].dataSource.data.length == 0){\r\n XLSX.utils.sheet_add_aoa(workSheet_CommonData,[['No records found']], {origin : 'A2'});\r\n workSheet_CommonData['A2'].s= {\r\n font:{\r\n bold: true,\r\n color:{rgb:\"000000\"},\r\n name: 'ABBvoice',\r\n },\r\n alignment: {\r\n vertical: 'center',\r\n horizontal: 'center',\r\n wrapText: '1', // any truthy value here\r\n },\r\n }\r\n }\r\n var buinessNotes= this.dataSource_Note.filteredData.find(row=>row.businessUnitCode===this.workSheetTables[w].tableId);\r\n let appendNodes='';\r\n if(buinessNotes!=undefined){\r\n appendNodes=buinessNotes.note;\r\n }\r\n const range= XLSX.utils.decode_range(workSheet_CommonData['!ref']!);\r\n const rowCount= range.e.r-range.s.r+1;\r\n const setNote=rowCount+1;\r\n XLSX.utils.sheet_add_aoa(workSheet_CommonData,[[appendNodes]], {origin : setNote});\r\n const cellAddrss= XLSX.utils.encode_cell({r:setNote,c:0})\r\n workSheet_CommonData[cellAddrss].s= {\r\n font:{\r\n bold: true,\r\n color:{rgb:\"000000\"},\r\n name: 'ABBvoice',\r\n },\r\n \r\n }\r\n XLSX.utils.book_append_sheet(combined_wb, workSheet_CommonData, this.workSheetTables[w].tableId);\r\n }\r\n\r\n \r\n XLSX.writeFile(combined_wb, `${this.selectedHistoryValue.value}.xlsx`);\r\n \r\n }\r\n \r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource1.filter = filterValue.trim().toLowerCase();\r\n this.dummyDataSource.filter = filterValue.trim().toLowerCase();\r\n \r\n this.workSheetTables=[];\r\n for(let i = 0; i < this.businessList.length; i++)\r\n {\r\n if(this.formInstance.value.businessControl.includes(this.businessList[i].id)){\r\n this.workSheetTables.push({\r\n displayedColumns: ['BgColor','FontColor','FontWeight','HistoryId','SourceOfActivity','CatBatReference','CPReference','MIReference','BRReference','Tool','ApplicableToBusiness','Activity','Responsible', 'Accountable' , 'Consult', 'Inform','Remark','ActivityFormingPartOfLat','BusinessArea'],\r\n dataSource: new MatTableDataSource(this.dataSource1.filteredData.filter(row=>row.businessAreaCode===this.businessList[i].code)),\r\n tableId: this.businessList[i].code\r\n });\r\n }\r\n }\r\n \r\n console.log(this.workSheetTables);\r\n if (this.dataSource1.paginator) {\r\n this.dataSource1.paginator.firstPage();\r\n }\r\n\r\n }\r\n snackBarLoader(content, action, duration, color){\r\n this.snackBar.open(content, action, {\r\n duration: 2000,\r\n verticalPosition: \"top\", \r\n horizontalPosition: \"center\", \r\n panelClass: [color]\r\n });\r\n }\r\n Search(){\r\n \r\n console.log('val ',this.formInstance.value)\r\n if(this.formInstance.value.businessControl.length>1){\r\n this.isMultipleSelected = false;\r\n console.log('true')\r\n }\r\n if(!this.allSelected){\r\n if(this.formInstance.value.businessControl.length==0){\r\n this.snackBarLoader('Please select BusinessArea','Done','1000', 'red-snackbar')\r\n return;\r\n }\r\n }\r\n \r\n if(this.formInstance.value.historyControl==0){\r\n this.snackBarLoader('Please select History','Done','1000', 'red-snackbar')\r\n return;\r\n }\r\n\r\n let result = [];\r\n this.dataSource_Tree.data.forEach(node => {\r\n result = result.concat(\r\n this.treeControl\r\n .getDescendants(node)\r\n .filter(x => x.selected && x.id)\r\n .map(x => x.id)\r\n );\r\n }); \r\n console.log(result);\r\n this.formInstance.value.businessControl= this.selectedBusinessAreaId.value;\r\n \r\n var busIDs=\"0\"\r\n var hisIDs=\"0\"\r\n \r\n var activityIDs=\"0\"\r\n \r\n if(this.formInstance.value.businessControl!=\"\")\r\n busIDs=this.formInstance.value.businessControl.join(\",\")\r\n if(this.formInstance.value.historyControl!=\"\")\r\n hisIDs=this.formInstance.value.historyControl.join(\",\")\r\n if(this.checklistSelection.selected.map(s => s.id).join(\",\") !=\"\")\r\n activityIDs=this.checklistSelection.selected.map(s => s.id).join(\",\") \r\n\r\n const myData = { busIDs: busIDs,\r\n hisIDs: hisIDs,\r\n activityIDs: activityIDs,\r\n };\r\n this.historyServ.getSearchHistoryDetails(myData).subscribe((data1: any[])=>{\r\n \r\n this.dataSource1= new MatTableDataSource(data1);\r\n this.dummyDataSource= new MatTableDataSource(data1);\r\n console.log(data1);\r\n this.workSheetTables=[];\r\n for(let i = 0; i < this.businessList.length; i++)\r\n {\r\n if(this.formInstance.value.businessControl.includes(this.businessList[i].id)){\r\n this.workSheetTables.push({\r\n displayedColumns: ['BgColor','FontColor','FontWeight','HistoryId','SourceOfActivity','CatBatReference','CPReference','MIReference','BRReference','Tool','ApplicableToBusiness','Activity','Responsible', 'Accountable' , 'Consult', 'Inform','Remark','ActivityFormingPartOfLat','BusinessArea'],\r\n dataSource: new MatTableDataSource(data1.filter(row=>row.businessAreaCode===this.businessList[i].code)),\r\n tableId: this.businessList[i].code\r\n });\r\n }\r\n }\r\n\r\n console.log(this.workSheetTables);\r\n this.dataSource1.paginator = this.paginator;\r\n this.dataSource1.sort = this.sort;\r\n \r\n }) \r\n }\r\n \r\n\r\n ClearSelection()\r\n {\r\n this.searchValue = '';\r\n /* this.txtTreeViewSelected.nativeElement.value='' ; */\r\n this.getSelectedItemsList = \"Select Activity!\";\r\n this.checklistSelection.clear();\r\n this.searchServ.getSearchActivityList(this.formInstance.value.businessControl.join(\",\")).subscribe((data1: any[])=>{\r\n console.log(data1);\r\n const data = this.treeConstruct(data1);\r\n\r\n this.dataSource_Tree.data = data;\r\n this.treeControl.dataNodes = data;\r\n Object.keys(this.dataSource_Tree.data).forEach(x => {\r\n this.setParent(this.dataSource_Tree.data[x], null);\r\n });\r\n\r\n this.dataChange.next(data);\r\n }); \r\n }\r\n\r\n\r\n getSelectedItems(): string {\r\n \r\n if (!this.checklistSelection.selected.length) return \"Select Activity\";\r\n {\r\n \r\n return this.checklistSelection.selected.map(s => s.text).join(\",\");\r\n \r\n }\r\n \r\n }\r\n\r\n /* filterChanged(filterText: string) {\r\n \r\n console.log(\"filterChanged\", filterText);\r\n // ChecklistDatabase.filter method which actually filters the tree and gives back a tree structure\r\n this._database.filter(filterText);\r\n if (filterText) {\r\n this.treeControl.expandAll();\r\n } else {\r\n this.treeControl.collapseAll();\r\n }\r\n } */\r\n\r\n\r\n \r\n\r\n addHyperlink(Data: string) {\r\n \r\n const jsonObject = JSON.parse(Data);\r\n var retValText = \"\"; \r\n \r\n var retVal = \"\";\r\n for(var key in jsonObject) { \r\n retValText=jsonObject[key].Text.replace('; ', ';
    '); \r\n \r\n }\r\n \r\n return retValText;\r\n }\r\n \r\n applyBgColorFontColorFontweightForColumns(worksheet: XLSX.WorkSheet, data: any[]):void{\r\n\r\n if(data.length >0){\r\n// Assuming your data starts at row 2 because row 1 is headers\r\nconst range: XLSX.Range = XLSX.utils.decode_range(worksheet['!ref']);\r\nfor (let rowNum = range.s.r + 1; rowNum <= range.e.r; rowNum++) {\r\n const cellRef_bgColor = XLSX.utils.encode_cell({ r: rowNum, c: 0 });\r\n const cellRef_fontColor = XLSX.utils.encode_cell({ r: rowNum, c: 1 });\r\n const cellRef_bold = XLSX.utils.encode_cell({ r: rowNum, c: 2 });\r\n \r\n const colorCell: XLSX.CellObject = worksheet[cellRef_bgColor];\r\n const cell_fontColor : XLSX.CellObject = worksheet[cellRef_fontColor];\r\n const cell_bold : XLSX.CellObject = worksheet[cellRef_bold];\r\n let fontWeight: boolean;\r\n if(cell_bold != undefined){\r\n if(cell_bold.v.toString().toLowerCase() === 'bold'){\r\n fontWeight= true\r\n }else{\r\n fontWeight=false\r\n }\r\n }\r\n \r\n \r\n if (colorCell) {\r\n let color = colorCell.v; // Get the value\r\n if(color== 'White'){\r\n color='#FFFFFF';\r\n }\r\n color= color.toString().substring(1);\r\n // Apply the color to each cell in the row\r\n for (let colNum = range.s.c; colNum <= range.e.c; colNum++) {\r\n const cellAddress = XLSX.utils.encode_cell({ r: rowNum, c: colNum });\r\n \r\n if (!worksheet[cellAddress]) worksheet[cellAddress] = {};\r\n worksheet[cellAddress].s = {\r\n fill:{\r\n fgColor:{rgb:color}\r\n },\r\n font:{\r\n bold: fontWeight,\r\n color:{rgb:\"000000\"},\r\n name: 'ABBvoice',\r\n },\r\n alignment: {\r\n vertical: colNum ==12 ? 'left' :'center',\r\n horizontal: colNum ==12 ? 'left' :'center',\r\n wrapText: '1', // any truthy value here\r\n },\r\n border: {\r\n right: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n bottom: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n top: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n left: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n },\r\n };\r\n if(worksheet[cellAddress].l != undefined){\r\n worksheet[cellAddress].s = {\r\n fill:{\r\n fgColor:{rgb:color}\r\n },\r\n font:{\r\n bold: fontWeight,\r\n color:{rgb:\"0000FF\"},\r\n name: 'ABBvoice',\r\n underline:true\r\n },\r\n alignment: {\r\n vertical: 'center',\r\n horizontal: 'center',\r\n wrapText: '1', // any truthy value here\r\n },\r\n border: {\r\n right: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n bottom: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n top: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n left: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n },\r\n }\r\n }\r\n }\r\n }\r\n}\r\n }\r\nlet dataLength : number;\r\nif(data.length==0){ \r\n dataLength = 3;\r\n}else{\r\n dataLength = data.length;\r\n}\r\nfor(let i = 0; i < dataLength; i++) {\r\nfor(let j = 0; j < 3; j++) {\r\ndelete worksheet[XLSX.utils.encode_cell({r: i,c: j })]; } }\r\n\r\nfor (let i = 0; i < dataLength + 1; i++) {\r\n const cellD = XLSX.utils.encode_cell({ r: i, c: 3 }); // Cell in column D\r\n const cellA = XLSX.utils.encode_cell({ r: i, c: 0 }); // Corresponding cell in column A\r\n worksheet[cellA] = worksheet[cellD]; // Move data\r\n delete worksheet[cellD]; // Delete original data in column D\r\n \r\n const cellE = XLSX.utils.encode_cell({ r: i, c: 4 }); // Cell in column D\r\n const cellB = XLSX.utils.encode_cell({ r: i, c: 1 }); // Corresponding cell in column A\r\n worksheet[cellB] = worksheet[cellE]; // Move data\r\n delete worksheet[cellE]; // Delete original data in column D\r\n \r\n const cellF = XLSX.utils.encode_cell({ r: i, c: 5 }); // Cell in column D\r\n const cellC = XLSX.utils.encode_cell({ r: i, c: 2 }); // Corresponding cell in column A\r\n worksheet[cellC] = worksheet[cellF]; // Move data\r\n delete worksheet[cellF]; // Delete original data in column D\r\n \r\n const cellG = XLSX.utils.encode_cell({ r: i, c: 6 }); // Cell in column D\r\n const cell_D = XLSX.utils.encode_cell({ r: i, c: 3 }); // Corresponding cell in column A\r\n worksheet[cell_D] = worksheet[cellG]; // Move data\r\n delete worksheet[cellG]; // Delete original data in column D\r\n\r\n const cellH = XLSX.utils.encode_cell({ r: i, c: 7 }); // Cell in column D\r\n const cell_E = XLSX.utils.encode_cell({ r: i, c: 4 }); // Corresponding cell in column A\r\n worksheet[cell_E] = worksheet[cellH]; // Move data\r\n delete worksheet[cellH]; // Delete original data in column D\r\n\r\n const cellI = XLSX.utils.encode_cell({ r: i, c: 8 }); // Cell in column D\r\n const cell_F = XLSX.utils.encode_cell({ r: i, c: 5 }); // Corresponding cell in column A\r\n worksheet[cell_F] = worksheet[cellI]; // Move data\r\n delete worksheet[cellI]; // Delete original data in column D\r\n\r\n const cellJ = XLSX.utils.encode_cell({ r: i, c: 9 }); // Cell in column D\r\n const cell_G = XLSX.utils.encode_cell({ r: i, c: 6 }); // Corresponding cell in column A\r\n worksheet[cell_G] = worksheet[cellJ]; // Move data\r\n delete worksheet[cellJ]; // Delete original data in column D\r\n\r\n const cellK = XLSX.utils.encode_cell({ r: i, c: 10 }); // Cell in column D\r\n const cell_H = XLSX.utils.encode_cell({ r: i, c: 7 }); // Corresponding cell in column A\r\n worksheet[cell_H] = worksheet[cellK]; // Move data\r\n delete worksheet[cellK]; // Delete original data in column D\r\n\r\n const cellL = XLSX.utils.encode_cell({ r: i, c: 11 }); // Cell in column D\r\n const cell_I = XLSX.utils.encode_cell({ r: i, c: 8 }); // Corresponding cell in column A\r\n worksheet[cell_I] = worksheet[cellL]; // Move data\r\n delete worksheet[cellL]; // Delete original data in column D\r\n\r\n const cellM = XLSX.utils.encode_cell({ r: i, c: 12 }); // Cell in column D\r\n const cell_J = XLSX.utils.encode_cell({ r: i, c: 9 }); // Corresponding cell in column A\r\n worksheet[cell_J] = worksheet[cellM]; // Move data\r\n delete worksheet[cellM]; // Delete original data in column D\r\n\r\n const cellN = XLSX.utils.encode_cell({ r: i, c: 13 }); // Cell in column D\r\n const cell_K = XLSX.utils.encode_cell({ r: i, c: 10 }); // Corresponding cell in column A\r\n worksheet[cell_K] = worksheet[cellN]; // Move data\r\n delete worksheet[cellN]; // Delete original data in column D\r\n\r\n const cellO = XLSX.utils.encode_cell({ r: i, c: 14 }); // Cell in column D\r\n const cell_L = XLSX.utils.encode_cell({ r: i, c: 11 }); // Corresponding cell in column A\r\n worksheet[cell_L] = worksheet[cellO]; // Move data\r\n delete worksheet[cellO]; // Delete original data in column D\r\n\r\n const cellP = XLSX.utils.encode_cell({ r: i, c: 15 }); // Cell in column D\r\n const cell_M = XLSX.utils.encode_cell({ r: i, c: 12 }); // Corresponding cell in column A\r\n worksheet[cell_M] = worksheet[cellP]; // Move data\r\n delete worksheet[cellP]; // Delete original data in column D\r\n\r\n const cellQ = XLSX.utils.encode_cell({ r: i, c: 16 }); // Cell in column D\r\n const cell_N = XLSX.utils.encode_cell({ r: i, c: 13 }); // Corresponding cell in column A\r\n worksheet[cell_N] = worksheet[cellQ]; // Move data\r\n delete worksheet[cellQ]; // Delete original data in column D\r\n\r\n const cellR = XLSX.utils.encode_cell({ r: i, c: 17 }); // Cell in column D\r\n const cell_O = XLSX.utils.encode_cell({ r: i, c: 14 }); // Corresponding cell in column A\r\n worksheet[cell_O] = worksheet[cellR]; // Move data\r\n delete worksheet[cellR]; // Delete original data in column D\r\n\r\n const cellS = XLSX.utils.encode_cell({ r: i, c: 18 }); // Cell in column D\r\n const cell_P = XLSX.utils.encode_cell({ r: i, c: 15 }); // Corresponding cell in column A\r\n worksheet[cell_P] = worksheet[cellS]; // Move data\r\n delete worksheet[cellS]; // Delete original data in column D\r\n\r\n \r\n \r\n }\r\n \r\n }\r\n reset(){\r\n this.selectedBusinessAreaId.reset();\r\n this.selectBusinessAreaFormControl.reset();\r\n this.selectDivisionFormControl.reset();\r\n this.selectDesignationFormControl.reset();\r\n this.checklistSelection.clear();\r\n this.getSelectedItemsList =\"Select Activity\";\r\n this.searchValue = '';\r\n this.historyList=[];\r\n this.searchValueText = '';\r\n this.historyFilteredOptions=of(this.historyList);\r\n this.selectHistoryFormControl.reset();\r\n this.allSelected=false\r\n this.allSelectedDivision=false;\r\n this.allSelectedDesignation=false;\r\n this.divisionList=[];\r\n this.designationList=[];\r\n this.divisionFilteredOptions= of(this.divisionList);\r\n this.designationFilteredOptions= of(this.designationList);\r\n this.dataSource_Tree.data=[];\r\n this.dataSource1 = new MatTableDataSource([]);\r\n this.formInstance.value.businessControl=[]\r\n for(let w = 0; w < this.workSheetTables.length; w++) \r\n {\r\n this.workSheetTables[w].dataSource= new MatTableDataSource([]);\r\n }\r\n this.workSheetTables=[];\r\n } \r\n \r\n private HistoryFilter(name: string) {\r\n const filterValue = name.toLowerCase();\r\n // Set selected values to retain the selected checkbox state \r\n this.setHistorySelectedValues();\r\n this.selectedHistoryId= new FormControl([]);\r\n this.selectedHistoryValue= new FormControl([]);\r\n this.selectHistoryFormControl.patchValue(this.selectedHistoryValues);\r\n this.selectHistoryFormControl.value.forEach(item=> {\r\n this.selectedHistoryId.value.push(item.id);\r\n this.selectedHistoryValue.value.push(item.name);\r\n });\r\n let filteredList = this.historyList.filter(option => option.code.toLowerCase().includes(filterValue.toLowerCase()));\r\n return filteredList;\r\n }\r\n \r\n HistorySelectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedHistoryValues.indexOf(event.source.value);\r\n this.selectedHistoryValues.splice(index, 1)\r\n }\r\n }\r\n openedHistoryChange(e) {\r\n // Set search textbox value as empty while opening selectbox \r\n this.searchHistoryTextboxControl.patchValue('');\r\n // Focus to search textbox while clicking on selectbox\r\n if (e == true) {\r\n this.searchHistoryTextBox.nativeElement.focus();\r\n }\r\n }\r\n \r\n clearHistorySearch(event) {\r\n event.stopPropagation();\r\n this.searchHistoryTextboxControl.patchValue('');\r\n }\r\n \r\n setHistorySelectedValues() {\r\n console.log('selecthistoryFormControl', this.selectHistoryFormControl.value);\r\n if (this.selectHistoryFormControl.value && this.selectHistoryFormControl.value.length > 0) {\r\n this.selectHistoryFormControl.value.forEach((e) => {\r\n if (this.selectedHistoryValues.indexOf(e) == -1) {\r\n this.selectedHistoryValues.push(e);\r\n }\r\n });\r\n }\r\n }\r\n \r\n HistorySelection(){\r\n this.selectedHistoryId= new FormControl([]);\r\n this.selectedHistoryValue= new FormControl([]);\r\n this.getSelectedItemsList = \"Select Activity!\";\r\n this.checklistSelection.clear();\r\n if(this.selectedHistoryValues.length !=0){\r\n this.selectedHistoryValues.forEach(item=> {\r\n this.selectedHistoryId.value.push(item.id);\r\n this.selectedHistoryValue.value.push(item.code);\r\n });\r\n }\r\n debugger;\r\n this.selectedHistoryId.value.push(this.selectHistoryFormControl.value.id);\r\n this.selectedHistoryValue.value.push(this.selectHistoryFormControl.value.code);\r\n\r\n/* this.selectHistoryFormControl.value.forEach(item=> {\r\n if(!this.selectedHistoryIdExists(item.id)){\r\n this.selectedHistoryId.value.push(item.id);\r\n }\r\n if(!this.selectedHistoryValueExists(item.code)){\r\n this.selectedHistoryValue.value.push(item.code);\r\n }\r\n }); */\r\n this.formInstance.value.historyControl = this.selectedHistoryId.value;\r\n console.log(this.formInstance.value.historyControl);\r\n }\r\n selectedHistoryIdExists(id: number):boolean{\r\n return this.selectedHistoryId.value.some(item=>item === id);\r\n }\r\n selectedHistoryValueExists(value: string):boolean{\r\n return this.selectedHistoryValue.value.some(item=>item === value);\r\n }\r\n\r\n}"," \r\n
    \r\n

    \r\n History Details

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n Select Entity \r\n \r\n {{entity.name}}\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n Select Business Area\r\n \r\n \r\n {{selectedBusinessAreaValue.value? selectedBusinessAreaValue.value.join(', '): ''}}\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    No results found!
    \r\n
    \r\n Select All\r\n \r\n {{business.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 Select History\r\n \r\n \r\n {{selectedHistoryValue.value}}\r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    No results found!
    \r\n
    \r\n \r\n {{history.code}}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n Please select an item from below\r\n \r\n \r\n \r\n
  • \r\n \r\n \r\n {{node.text}} \r\n
  • \r\n
    \r\n \r\n \r\n
  • \r\n
    \r\n \r\n {{node.text}}\r\n
    \r\n
      \r\n \r\n
    \r\n
  • \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n Search\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
    Id {{element.activityId}} History ID {{element.historyCode}} Source of Activity {{element.sourceOfActivity}} CAT/ BAT Reference {{element.catBatReference}} CP Reference MI Reference BR Reference Tool/System/Portal {{element.tool}} Applicable to business {{element.applicableToBusiness}} Activity {{element.activity}} Responsible Accountable Consult Inform Remark Activity forming part of LAT? {{element.activityFormingPartOfLat}} BusinessArea {{element.businessArea}}
    No data matching the Search
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    BgColor {{element.bgColor}} FontColor {{element.fontColor}} FontWeight {{element.fontWeight}} Id {{element.activityId}} History ID {{element.historyCode}} Source of Activity {{element.sourceOfActivity}} CAT/ BAT Reference {{element.catBatReference}} CP Reference MI Reference BR Reference Tool/System/Portal {{element.tool}} Applicable to business {{element.applicableToBusiness}} Activity {{element.activity}} Responsible Accountable Consult Inform Remark Activity forming part of LAT? {{element.activityFormingPartOfLat}} BusinessArea {{element.businessArea}} BusinessAreaCode {{element.businessAreaCode}}
    No data matching the filter
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n","/* import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-popup',\r\n templateUrl: './popup.component.html',\r\n styleUrls: ['./popup.component.scss']\r\n})\r\nexport class PopupComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n */\r\n\r\n\r\nimport { FormControl } from \"@angular/forms\";\r\nimport { Component, Inject } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-popup',\r\n templateUrl: './popup.component.html',\r\n styleUrls: ['./popup.component.scss']\r\n})\r\nexport class PopupComponent {\r\n constructor(public dialogRef: MatDialogRef,@Inject(MAT_DIALOG_DATA) public data: any ) \r\n {\r\n \r\n }\r\n\r\n closePopup(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n SourceActivity = new FormControl('');\r\n SourceActivityList: string[] = ['CAT + BAT'\r\n , 'Country specific', 'CAT + Country specific'];\r\n\r\n\r\n cpReference = new FormControl('');\r\n cpReferenceList: string[] = ['CAT + BAT'\r\n , 'Country specific', 'CAT + Country specific'];\r\n \r\n\r\n\r\n miReference = new FormControl('');\r\n miReferenceList: string[] = ['CAT + BAT'\r\n , 'Country specific', 'CAT + Country specific'];\r\n \r\n\r\n brReference = new FormControl('');\r\n brReferenceList: string[] = ['CAT + BAT'\r\n , 'Country specific', 'CAT + Country specific'];\r\n\r\n \r\n\r\n division = new FormControl('');\r\n divisionList: string[] = ['MOSE', 'MOIM', 'MOTR', 'MOSD', 'MOLM'];\r\n\r\n\r\n designations = new FormControl('');\r\n designationsList: string[] = ['Local SCM Manager', 'Central Supply Chain Manager', 'Local Division Controller', 'Local Division Manager', 'Local Division Sales Manager'];\r\n\r\n \r\n}","

    popup works!

    \r\n

    Edit Node

    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    ","import { Component, Inject, OnInit, Pipe, PipeTransform, ViewChild } from '@angular/core';\r\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidatorFn, Validators } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MasterService } from 'src/app/Services/master.service';\r\n\r\nimport { Editor, Toolbar, toDoc } from 'ngx-editor';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\n\r\nexport interface PreambleMaster{\r\n iD: number;\r\n topic : string;\r\n remarks : string;\r\n status : boolean;\r\n isActive: boolean;\r\n category : string;\r\n createdBy : number; \r\n createdDate : Date;\r\n modifiedBy : number; \r\n modifiedDate : Date;\r\n}\r\n\r\n@Component({\r\n selector: 'app-preamble',\r\n templateUrl: './preamble.component.html',\r\n styleUrls: ['./preamble.component.scss']\r\n})\r\nexport class PreambleComponent implements OnInit {\r\n\r\n \r\n isIdVisible: boolean = false;\r\n dataSource : any;\r\n show: boolean = true;\r\n displayedColumns: string[] = ['topic','remarks','status','action'];\r\n safeHtmlContent: SafeHtml;\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n constructor(private snackBar: MatSnackBar,public dialog: MatDialog, \r\n private entityServ : MasterService, private sanitizer: DomSanitizer) { }\r\n\r\n ngOnInit(): void {\r\n this.dataSource = new MatTableDataSource(); \r\n this.getPreambleData();\r\n }\r\n openDialogBox(){\r\n this.isIdVisible = false;\r\n const dialogRef = this.dialog.open(AddPreambleDialog,{\r\n height: '600px',\r\n width: '550px',\r\n \r\n });\r\n dialogRef.afterClosed().subscribe({\r\n next: (val) => {\r\n if(val){\r\n this.getPreambleData();\r\n }\r\n }\r\n })\r\n }\r\n snackBarLoader(content, action, duration, color){\r\n this.snackBar.open(content, action, {\r\n duration: 2000,\r\n verticalPosition: \"top\", \r\n horizontalPosition: \"center\", \r\n panelClass: [color]\r\n });\r\n }\r\n\r\n getPreambleData(){\r\n this.entityServ.getPreambleData().subscribe((data:any)=>{\r\n this.safeHtmlContent = this.sanitizer.bypassSecurityTrustHtml(data);\r\n this.dataSource= new MatTableDataSource(data);\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n });\r\n }\r\n \r\n loadResourceToEdit(data : any){\r\n this.isIdVisible = true;\r\n const dialogRef = this.dialog.open(AddPreambleDialog,{\r\n data,\r\n height: '600px',\r\n width: '550px',\r\n }) \r\n dialogRef.afterClosed().subscribe({\r\n next: (val) => {\r\n if(val){\r\n this.getPreambleData();\r\n }\r\n }\r\n })\r\n }\r\n\r\n delete(id: any) { \r\n if (confirm(\"Are you sure you want to delete this\")) { \r\n this.entityServ.deletePreambleMaster(id).subscribe(() => { \r\n this.snackBarLoader('Deleted Successfully','Done','1000', 'red-snackbar')\r\n this.getPreambleData();\r\n }); \r\n } \r\n } \r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n\r\n if (this.dataSource.paginator) {\r\n this.dataSource.paginator.firstPage();\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n@Component ({\r\n selector: 'app-dialog-entity',\r\n templateUrl: './addPreambleDialog.html',\r\n styleUrls: ['./preamble.component.scss']\r\n})\r\n\r\n export class AddPreambleDialog implements OnInit {\r\n formInstance: FormGroup;\r\n isIdVisible :boolean =false;\r\n ischecked :boolean =true;\r\n createdByUserId : number;\r\n createdBy : number;\r\n createdDate : Date;\r\n preambleModel: PreambleMaster = {} as PreambleMaster;\r\n isSubmitted: boolean = false; \r\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,public dialogRef: MatDialogRef,\r\n private snackBar: MatSnackBar,private _formBuilder: FormBuilder, private entityServ : MasterService) \r\n {\r\n this.formInstance = _formBuilder.group({\r\n \"remarks\":['', Validators.required],\r\n \"topic\": ['', Validators.required],\r\n \"status\": true\r\n }); \r\n }\r\n toolbar: Toolbar = [\r\n ['bold', 'italic'],\r\n ['underline'],\r\n ['ordered_list', 'bullet_list']\r\n ];\r\n topicEditor: Editor;\r\n remarksEditor: Editor;\r\n \r\n ngOnInit(): void {\r\n this.topicEditor = new Editor();\r\n this.remarksEditor = new Editor();\r\n\r\n this.preambleModel.status = true;\r\n if(this.data !=null && this.data !=undefined)\r\n {\r\n this.preambleModel.iD = this.data.preambleId;\r\n this.preambleModel.remarks = this.data.remarks;\r\n this.preambleModel.topic = this.data.topic;\r\n this.preambleModel.category = this.data.category;\r\n this.preambleModel.status = this.data.status;\r\n this.createdBy = this.data.createdBy;\r\n this.createdDate = this.data.createdDate;\r\n this.isIdVisible = true\r\n }\r\n var emailId = sessionStorage.getItem('LoginEmail');\r\n this.getUserId(emailId);\r\n }\r\n\r\n closepopup(){\r\n if(confirm(\"Are you sure to close this\")) {\r\n this.dialogRef.close();\r\n }\r\n }\r\n save(){\r\n this.isSubmitted = true;\r\n if (this.formInstance.invalid) {\r\n return;\r\n }\r\n if(this.preambleModel.topic==\"

    \"){\r\n return ;\r\n }\r\n if(this.preambleModel.remarks==\"

    \"){\r\n return ;\r\n }\r\n this.preambleModel.createdBy = this.createdByUserId;\r\n this.entityServ.SavePreambleData(this.preambleModel).subscribe({\r\n next: (val :any) => {\r\n this.snackBarLoader('Submitted Successfully','Done','1000', 'red-snackbar')\r\n this.resetForm();\r\n this.dialogRef.close(true);\r\n // this.getBusinessLineType();\r\n },\r\n error: (err: any) =>{\r\n this.snackBarLoader(err.error,'Done','1000', 'red-snackbar')\r\n this.resetForm();\r\n }\r\n })\r\n }\r\n \r\n\r\n update(){\r\n this.isSubmitted = true;\r\n if (this.formInstance.invalid) {\r\n return;\r\n }\r\n if(this.preambleModel.topic==\"

    \"){\r\n return ;\r\n }\r\n if(this.preambleModel.remarks==\"

    \"){\r\n return ;\r\n }\r\n this.preambleModel.modifiedBy = this.createdByUserId;\r\n this.preambleModel.createdBy = this.createdBy;\r\n this.preambleModel.createdDate = this.createdDate;\r\n this.preambleModel.isActive = true;\r\n this.entityServ.SavePreambleData(this.preambleModel).subscribe({\r\n next: (val :any) => {\r\n this.snackBarLoader('Updated Successfully','Done','1000', 'red-snackbar')\r\n this.resetForm();\r\n this.dialogRef.close(true);\r\n // this.getBusinessLineType();\r\n },\r\n error: (err: any) =>{\r\n this.snackBarLoader(err.error,'Done','1000', 'red-snackbar')\r\n this.resetForm();\r\n }\r\n })\r\n }\r\n snackBarLoader(content, action, duration, color){\r\n this.snackBar.open(content, action, {\r\n duration: 2000,\r\n verticalPosition: \"top\", \r\n horizontalPosition: \"center\", \r\n panelClass: [color]\r\n });\r\n }\r\n \r\n resetForm() { \r\n this.formInstance.reset(); \r\n this.preambleModel.iD = 0;\r\n Object.keys(this.formInstance.controls).forEach(key => {\r\n this.formInstance.get(key).setErrors(null) ;\r\n });\r\n this.isIdVisible = false;\r\n this.dialogRef.close(true);\r\n }\r\n \r\n getUserId(emailId : string){\r\n this.entityServ.getUserId(emailId).subscribe((data:any)=>{\r\n this.createdByUserId = data[0].id;\r\n });\r\n }\r\n}","\r\n\r\n
    \r\n

    Preamble

    \r\n \r\n
    \r\n
    \r\n\r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n Search\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    Id{{ element.preambleId }}Topic\r\n
    Remarks\r\n
    Status{{ element.status ? 'Active' : 'InActive' }}Action\r\n \r\n \r\n
    No data matching the filter
    \r\n \r\n
    \r\n
    \r\n
    ","\r\n

    Preamble

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

    ')) && \r\n (formInstance.get('topic').dirty && formInstance.get('topic').touched || isSubmitted)\"\r\n class=\"text-danger\">\r\n Topic is required.\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n

    ')) && \r\n (formInstance.get('remarks').dirty && formInstance.get('remarks').touched || isSubmitted)\"\r\n class=\"text-danger\">\r\n Remarks is required.\r\n
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n Active \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n\r\n\r\n","import { Component, Inject, OnInit, Pipe, PipeTransform, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\nimport { Editor, Toolbar } from 'ngx-editor';\r\nimport { MasterService } from 'src/app/Services/master.service';\r\n\r\n\r\nexport interface ReadingDocumentMaster{\r\n iD: number;\r\n column : string;\r\n description : string;\r\n status : boolean;\r\n isActive : boolean;\r\n createdBy : number; \r\n createdDate : Date;\r\n modifiedBy : number; \r\n modifiedDate : Date;\r\n}\r\n\r\n@Component({\r\n selector: 'app-reading-this-document',\r\n templateUrl: './reading-this-document.component.html',\r\n styleUrls: ['./reading-this-document.component.scss']\r\n})\r\nexport class ReadingThisDocumentComponent implements OnInit {\r\n\r\n isIdVisible: boolean = false;\r\n dataSource : any;\r\n show: boolean = true;\r\n safeHtmlContent: SafeHtml;\r\n displayedColumns: string[] = ['column','description','status','action'];\r\n \r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n constructor(private snackBar: MatSnackBar,public dialog: MatDialog, \r\n private docServ : MasterService, private sanitizer: DomSanitizer) { }\r\n \r\n ngOnInit(): void {\r\n this.dataSource = new MatTableDataSource(); \r\n this.getReadingDocumentData();\r\n }\r\n openDialogBox(){\r\n this.isIdVisible = false;\r\n const dialogRef = this.dialog.open(AddReadingDocumentDialog,{\r\n height: '600px',\r\n width: '550px',\r\n });\r\n dialogRef.afterClosed().subscribe({\r\n next: (val) => {\r\n if(val){\r\n this.getReadingDocumentData();\r\n }\r\n }\r\n })\r\n }\r\n snackBarLoader(content, action, duration, color){\r\n this.snackBar.open(content, action, {\r\n duration: 2000,\r\n verticalPosition: \"top\", \r\n horizontalPosition: \"center\", \r\n panelClass: [color]\r\n });\r\n }\r\n \r\n getReadingDocumentData(){\r\n this.docServ.getReadingData().subscribe((data:any)=>{\r\n this.safeHtmlContent = this.sanitizer.bypassSecurityTrustHtml(data);\r\n this.dataSource= new MatTableDataSource(data);\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n });\r\n }\r\n\r\n loadResourceToEdit(data : any){\r\n this.isIdVisible = true;\r\n const dialogRef = this.dialog.open(AddReadingDocumentDialog,{\r\n data,\r\n height: '600px',\r\n width: '550px',\r\n }) \r\n dialogRef.afterClosed().subscribe({\r\n next: (val) => {\r\n if(val){\r\n this.getReadingDocumentData();\r\n }\r\n }\r\n })\r\n }\r\n\r\n delete(id: any) { \r\n if (confirm(\"Are you sure you want to delete this\")) { \r\n this.docServ.deleteReadingDocumentMaster(id).subscribe(() => { \r\n this.snackBarLoader('Deleted Successfully','Done','1000', 'red-snackbar')\r\n this.getReadingDocumentData();\r\n }); \r\n } \r\n } \r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n\r\n if (this.dataSource.paginator) {\r\n this.dataSource.paginator.firstPage();\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n@Component ({\r\n selector: 'app-dialog-entity',\r\n templateUrl: './addReadingDocumentDialog.html',\r\n styleUrls: ['./reading-this-document.component.scss']\r\n})\r\n\r\n export class AddReadingDocumentDialog implements OnInit {\r\n formInstance: FormGroup;\r\n isIdVisible :boolean =false;\r\n ischecked :boolean =true;\r\n createdByUserId : number;\r\n createdBy : number;\r\n createdDate : Date;\r\n readingDocumentModel: ReadingDocumentMaster = {} as ReadingDocumentMaster;\r\n isSubmitted: boolean = false; \r\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,public dialogRef: MatDialogRef,\r\n private snackBar: MatSnackBar,private _formBuilder: FormBuilder, \r\n private entityServ : MasterService) \r\n {\r\n this.formInstance = _formBuilder.group({\r\n \"column\":['', Validators.required],\r\n \"description\":['', Validators.required],\r\n \"status\": true\r\n });\r\n }\r\n toolbar: Toolbar = [\r\n ['bold', 'italic'],\r\n ['underline'],\r\n ['ordered_list', 'bullet_list']\r\n ];\r\n columnEditor: Editor;\r\n descriptionEditor: Editor;\r\n \r\n ngOnInit(): void {\r\n this.columnEditor = new Editor();\r\n this.descriptionEditor = new Editor();\r\n\r\n this.readingDocumentModel.status = true;\r\n if(this.data !=null && this.data !=undefined)\r\n {\r\n this.readingDocumentModel.iD = this.data.documentId;\r\n this.readingDocumentModel.column = this.data.column;\r\n this.readingDocumentModel.description = this.data.description;\r\n this.readingDocumentModel.status = this.data.status;\r\n this.createdBy = this.data.createdBy;\r\n this.createdDate = this.data.createdDate;\r\n this.isIdVisible = true\r\n }\r\n var emailId = sessionStorage.getItem('LoginEmail');\r\n this.getUserId(emailId);\r\n }\r\n\r\n closepopup(){\r\n if(confirm(\"Are you sure to close this\")) {\r\n this.dialogRef.close();\r\n }\r\n }\r\n save(){\r\n this.isSubmitted = true;\r\n if (this.formInstance.invalid) {\r\n return;\r\n }\r\n\r\n if(this.readingDocumentModel.column==\"

    \"){\r\n return ;\r\n }\r\n if(this.readingDocumentModel.description==\"

    \"){\r\n return ;\r\n }\r\n\r\n this.readingDocumentModel.createdBy = this.createdByUserId;\r\n this.entityServ.saveReadingDocumentData(this.readingDocumentModel).subscribe({\r\n next: (val :any) => {\r\n this.snackBarLoader('Submitted Successfully','Done','1000', 'red-snackbar')\r\n this.resetForm();\r\n this.dialogRef.close(true);\r\n // this.getBusinessLineType();\r\n },\r\n error: (err: any) =>{\r\n this.snackBarLoader(err.error,'Done','1000', 'red-snackbar')\r\n this.resetForm();\r\n }\r\n })\r\n }\r\n \r\n\r\n update(){\r\n this.isSubmitted = true;\r\n if (this.formInstance.invalid) {\r\n return;\r\n }\r\n\r\n if(this.readingDocumentModel.column==\"

    \"){\r\n return ;\r\n }\r\n if(this.readingDocumentModel.description==\"

    \"){\r\n return ;\r\n }\r\n\r\n this.readingDocumentModel.modifiedBy = this.createdByUserId;\r\n this.readingDocumentModel.createdBy = this.createdBy;\r\n this.readingDocumentModel.createdDate = this.createdDate;\r\n this.readingDocumentModel.isActive = true;\r\n this.entityServ.saveReadingDocumentData(this.readingDocumentModel).subscribe({\r\n next: (val :any) => {\r\n this.snackBarLoader('Updated Successfully','Done','1000', 'red-snackbar')\r\n this.resetForm();\r\n this.dialogRef.close(true);\r\n },\r\n error: (err: any) =>{\r\n this.snackBarLoader(err.error,'Done','1000', 'red-snackbar')\r\n this.resetForm();\r\n }\r\n })\r\n }\r\n snackBarLoader(content, action, duration, color){\r\n this.snackBar.open(content, action, {\r\n duration: 2000,\r\n verticalPosition: \"top\", \r\n horizontalPosition: \"center\", \r\n panelClass: [color]\r\n });\r\n }\r\n \r\n resetForm() { \r\n this.formInstance.reset(); \r\n this.readingDocumentModel.iD = 0;\r\n Object.keys(this.formInstance.controls).forEach(key => {\r\n this.formInstance.get(key).setErrors(null) ;\r\n });\r\n this.isIdVisible = false;\r\n this.dialogRef.close(true);\r\n }\r\n \r\n getUserId(emailId : string){\r\n this.entityServ.getUserId(emailId).subscribe((data:any)=>{\r\n this.createdByUserId = data[0].id;\r\n });\r\n }\r\n\r\n \r\n }","\r\n\r\n
    \r\n

    Reading This Document

    \r\n \r\n
    \r\n
    \r\n\r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n Search\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    Id{{ element.documentId }}Column\r\n
    Description \r\n
    Status{{ element.status ? 'Active' : 'InActive' }}Action\r\n \r\n \r\n
    No data matching the filter
    \r\n \r\n
    \r\n
    \r\n
    ","\r\n

    Reading This Document

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

    ')) && \r\n (formInstance.get('column').dirty || formInstance.get('column').touched || isSubmitted)\"\r\n class=\"text-danger\">\r\n Column is required.\r\n
    \r\n
    \r\n

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

    ')) && \r\n (formInstance.get('description').dirty || formInstance.get('description').touched || isSubmitted)\"\r\n class=\"text-danger\">\r\n Description is required.\r\n
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n Active \r\n \r\n
    \r\n
    \r\n
    \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 { MatTable, MatTableDataSource } from '@angular/material/table';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Component, OnInit, Inject, ViewChild, AfterViewInit, ChangeDetectorRef } from '@angular/core';\r\n/* import { MatSnackBar, MatSnackBarHorizontalPosition, MatSnackBarVerticalPosition } from '@angular/material/snack-bar';\r\nimport { FormGroup, FormBuilder, Validators, FormControl, FormGroupDirective, NgForm} from '@angular/forms';\r\nimport {MatInputModule} from '@angular/material/input';\r\nimport {MatSelectModule} from '@angular/material/select';\r\nimport {MatFormFieldModule} from '@angular/material/form-field';\r\nimport {MatCheckboxModule} from '@angular/material/checkbox'; */\r\n\r\nexport interface EmployeeDetails {\r\n Id : number;\r\n EmployeeCode: string;\r\n EmployeeName: string; \r\n Status: string;\r\n SubmittedDate: Date;\r\n}\r\n\r\n@Component({\r\n selector: 'app-report',\r\n templateUrl: './report.component.html',\r\n styleUrls: ['./report.component.scss'],\r\n})\r\nexport class ReportComponent implements OnInit {\r\n\r\n constructor(public dialog: MatDialog) { }\r\n\r\n displayedColumns: string[] = ['EmployeeCode', 'EmployeeName' , 'Status', 'SubmittedDate'];\r\n dataSource!: MatTableDataSource;\r\n rows=[];\r\n\r\n ngOnInit(): void {\r\n this.onload();\r\n }\r\n\r\n onload(){\r\n this.dataSource= new MatTableDataSource(this.rows);\r\n }\r\n\r\n\r\n}\r\n","\r\n \r\n
    \r\n

    Employee Nomination Details

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n FromDate\r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ToDate\r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n EmployeeCode\r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Business area\r\n \r\n \r\n select Business area\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Type Of Form\r\n \r\n \r\n \r\n select Type Of 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
    Id {{element.Id}} Employee Code {{element.EmployeeCode}} Employee Name {{element.EmployeeName}} Status {{element.Status}} Submitted Date {{element.SubmittedDate}}
    No data matching the filter \"\"
    \r\n

    \r\n\r\n\r\n
    ","\t\t \r\nimport { SelectionModel } from \"@angular/cdk/collections\";\r\nimport { FlatTreeControl } from \"@angular/cdk/tree\";\r\nimport { NestedTreeControl } from \"@angular/cdk/tree\";\r\nimport { Component, Injectable, OnInit, ViewChild,ElementRef, HostListener } from \"@angular/core\";\r\nimport {MatTreeFlatDataSource,MatTreeFlattener, MatTreeNestedDataSource} from \"@angular/material/tree\";\r\nimport { BehaviorSubject } from \"rxjs\";\r\nimport { MatTable, MatTableDataSource } from '@angular/material/table';\r\nimport { Observable, of } from \"rxjs\";\r\nimport { map, startWith } from \"rxjs/operators\";\r\nimport { MatPaginator } from \"@angular/material/paginator\";\r\nimport { MatSort } from \"@angular/material/sort\";\r\nimport { MatSelect } from \"@angular/material/select\";\r\nimport { MatOption } from \"@angular/material/core\";\r\nimport { SearchService } from \"src/app/Services/search.service\";\r\nimport * as XLSX from 'xlsx-js-style';\r\nimport { DomSanitizer, SafeHtml } from \"@angular/platform-browser\";\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { AbstractControl, FormArray, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { now } from \"moment\";\r\nimport { MatInput } from \"@angular/material/input\";\r\nimport { ht, tr } from \"date-fns/locale\";\r\nimport { style } from \"@angular/animations\";\r\nimport { saveAs } from 'file-saver';\r\nimport { MatSelectFilterModule } from 'mat-select-filter';\r\nimport { MatOptionSelectionChange} from '@angular/material/core';\r\n\r\n\r\nexport class EmployeeDetails {\r\n ActivityId : number;\r\n SourceOfActivity: string;\r\n CatBatReference: number;\r\n CPReference: JSON;\r\n MIReference: JSON;\r\n BRReference: JSON;\r\n Tool: string;\r\n ApplicableToBusiness: string;\r\n Activity: string;\r\n Responsible: JSON;\r\n accountable: JSON; \r\n Consult: JSON;\r\n Inform: JSON;\r\n Remark: JSON;\r\n ActivityFormingPartOfLat: string;\r\n BusinessAreaID: number;\r\n BusinessArea: string;\r\n businessAreaCode: string;\r\n BgColor:string;\r\n FontColor:string;\r\n FontWeight:string;\r\n}\r\n\r\n\r\nexport class Preamble{\r\n id:number;\r\n topic:string;\r\n remarks: string;\r\n}\r\n\r\nexport class ReadingThisDocument{\r\n id:number;\r\n column:string;\r\n description: string;\r\n}\r\nexport class NoteList{\r\n id:number;\r\n businessUnitId:number;\r\n businessUnitCode:string;\r\n note: string;\r\n}\r\nexport class Entity{\r\n id:number;\r\n code:string;\r\n name: string;\r\n status: boolean;\r\n}\r\n/**\r\n * Node for to-do item\r\n */\r\nexport class TodoItemNode {\r\n children: TodoItemNode[];\r\n id:number;\r\n parentId: string;\r\n text: string;\r\n level: number;\r\n expandable: boolean;\r\n selected?: boolean;\r\n}\r\n\r\n/** Flat to-do item node with expandable and level information */\r\nexport class TodoItemFlatNode {\r\n id:number;\r\n text: string;\r\n parentId: string;\r\n level: number;\r\n expandable: boolean;\r\n selected?: boolean;\r\n children: TodoItemFlatNode[];\r\n}\r\n\r\nexport interface BusinessAreaMST{\r\n id:number;\r\n name: string;\r\n code:string;\r\n}\r\nexport interface DivisionMST{\r\n id:number;\r\n name: string;\r\n}\r\nexport interface DesignationMST{\r\n id:number;\r\n name: string;\r\n}\r\n\r\nexport interface WorkSheetTableConfig{\r\n displayedColumns: string[];\r\n dataSource: MatTableDataSource;\r\n tableId: string;\r\n}\r\n@Injectable()\r\nexport class ChecklistDatabase {\r\n dataChange = new BehaviorSubject([]);\r\n\r\n get data(): TodoItemNode[] { return this.dataChange.value; }\r\n\r\n constructor( private searchser: SearchService) {\r\n this.initialize();\r\n }\r\n\r\n\r\n\r\n\r\n initialize() {\r\n \r\n this.searchser.getSearchActivityList(1).subscribe((data1: any[])=>{\r\n console.log(data1);\r\n const data = this.treeConstruct(data1);\r\n this.dataChange.next(data);\r\n }) \r\n }\r\n\r\n\r\n\r\n\r\n \r\n treeConstruct(treeData) {\r\n let constructedTree = [];\r\n for (let i of treeData) {\r\n let treeObj = i;\r\n let assigned = false;\r\n this.constructTree(constructedTree, treeObj, assigned)\r\n }\r\n return constructedTree;\r\n }\r\nconstructTree(constructedTree, treeObj, assigned) {\r\nif (treeObj.parentId == null) {\r\n treeObj.children = [];\r\n constructedTree.push(treeObj);\r\n return true;\r\n } else if (treeObj.parentId == constructedTree.id) {\r\n treeObj.children = [];\r\n constructedTree.children.push(treeObj);\r\n return true;\r\n }\r\n else {\r\n if (constructedTree.children != undefined) {\r\n for (let index = 0; index < constructedTree.children.length; index++) {\r\n let constructedObj = constructedTree.children[index];\r\n if (assigned == false) {\r\n assigned = this.constructTree(constructedObj, treeObj, assigned);\r\n }\r\n }\r\n } else {\r\n for (let index = 0; index < constructedTree.length; index++) {\r\n let constructedObj = constructedTree[index];\r\n if (assigned == false) {\r\n assigned = this.constructTree(constructedObj, treeObj, assigned);\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n }\r\n\r\n\r\n \r\n /** Add an item to to-do list */\r\n insertItem(parent: TodoItemNode, name: string) {\r\n if (parent.children) {\r\n parent.children.push({text: name} as TodoItemNode);\r\n this.dataChange.next(this.data);\r\n }\r\n }\r\n \r\n updateItem(node: TodoItemNode, name: string) {\r\n node.text = name;\r\n this.dataChange.next(this.data);\r\n }\r\n\r\n\r\n\r\n}\r\n\r\n@Component({\r\n selector: 'app-search',\r\n templateUrl: './search.component.html',\r\n styleUrls: ['./search.component.css'] ,\r\n providers: [ChecklistDatabase]\r\n})\r\nexport class SearchComponent implements OnInit {\r\n\r\n divisionList: DivisionMST[]=[];\r\n businessList: BusinessAreaMST[]=[];\r\n designationList: DesignationMST[]=[];\r\n entityList: Entity[]=[];\r\n selectEntityFormControl = new FormControl();\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort,{static:true}) sort: MatSort;\r\n @ViewChild('select') select: MatSelect;\r\n @ViewChild('selectDivision') selectDivision: MatSelect;\r\n @ViewChild('selectDesignation') selectDesignation: MatSelect;\r\n @ViewChild('txtTreeViewSelected') txtTreeViewSelected: ElementRef; \r\n \r\n @ViewChild('actualDataToDownload') actualDataToDownload :ElementRef;\r\n searchValueFormControl = new FormControl();\r\n excelData_Preamble: any[];\r\n excelData_Reading: any[];\r\n workbook_Preamble: XLSX.WorkBook;\r\n workbook_Reading: XLSX.WorkBook;\r\n combined_workbook: XLSX.WorkBook;\r\n \r\n divisions= new FormControl('');\r\n designations = new FormControl('');\r\n allSelected=false;\r\n allSelectedDivision=false;\r\n allSelectedDesignation=false;\r\n isMultipleSelected: boolean = false;\r\n isMultipleSelectedDivision: boolean = false;\r\n isMultipleSelectedDesignation: boolean = false;\r\n formEntity: FormGroup;\r\n displayedColumns_Dummy: string[] = ['BgColor','FontColor','FontWeight','BusinessArea','SourceOfActivity','CatBatReference','CPReference','MIReference','BRReference','Tool','ApplicableToBusiness','Activity','Responsible', 'Accountable' , 'Consult', 'Inform','Remark','ActivityFormingPartOfLat'];\r\n displayedColumns: string[] = ['BusinessArea','CatBatReference','CPReference','MIReference','Tool','ApplicableToBusiness','Activity','Responsible', 'Accountable' , 'Consult', 'Inform','Remark','ActivityFormingPartOfLat'];\r\n displayedColumns_Preamble: string[] = ['id','topic','remarks'];\r\n displayedColumns_Reading: string[] = ['id','column','description'];\r\n selectedEntityValue = [];\r\n dataSource1 : MatTableDataSource;\r\n dataSource_Preamble : MatTableDataSource;\r\n dataSource_Reading : MatTableDataSource;\r\n dataSource_Note : MatTableDataSource;\r\n dummyDataSource: MatTableDataSource;\r\n latestVersion: string;\r\n rows=[];\r\n searchValue : string = ''; \r\n getSelectedItemsList : string = \"Select Activity!\";\r\n formInstance: any;\r\n jsonData_Preamble:any[];\r\n @ViewChild('TABLE', { static: false }) TABLE: ElementRef;\r\n @ViewChild('tree') tree;\r\n selectedControl= new FormControl(); searchString = ''\r\n dataChange = new BehaviorSubject([]);\r\n\r\n get data(): TodoItemNode[] { return this.dataChange.value; }\r\n searchValueText: string = '';\r\n @ViewChild('searchBusinessArea') searchBusinessAreaTextBox: ElementRef;\r\n selectBusinessAreaFormControl = new FormControl([]);\r\n searchBusinessAreaTextboxControl = new FormControl();\r\n selectedBusinessAreaValues = [];\r\n businessAreaFilteredOptions: Observable= of(this.businessList);\r\n selectedBusinessAreaId= new FormControl([]);\r\n selectedBusinessAreaValue= new FormControl([]);\r\n\r\n \r\n @ViewChild('searchDivision') searchDivisionTextBox: ElementRef;\r\n selectedDivisionId= new FormControl([]);\r\n selectedDivisionValue= new FormControl([]);\r\n selectDivisionFormControl = new FormControl([]);\r\n searchDivisionTextboxControl = new FormControl();\r\n selectedDivisionValues = [];\r\n divisionFilteredOptions: Observable= of(this.divisionList);\r\n\r\n @ViewChild('searchDesignation') searchDesignationTextBox: ElementRef;\r\n selectedDesignationId= new FormControl([]);\r\n selectedDesignationValue= new FormControl([]);\r\n selectDesignationFormControl = new FormControl([]);\r\n searchDesignationTextboxControl = new FormControl();\r\n selectedDesignationValues = [];\r\n designationFilteredOptions: Observable= of(this.designationList);\r\n\r\n workSheetTables: WorkSheetTableConfig[]=[];\r\n showCloseIcon: boolean=false;\r\n ngOnInit(): void {\r\n \r\n this.getEntity();\r\n this.onload(); \r\n this.getLatestVersion();\r\n }\r\n onload(){\r\n this.searchServ.getPreambleList().subscribe(preambleData=>{\r\n this.dataSource_Preamble= new MatTableDataSource(preambleData);\r\n this.searchServ.getReadingThisDocumentList().subscribe(readingData=>{\r\n this.dataSource_Reading= new MatTableDataSource(readingData);\r\n console.log(this.dataSource_Reading.filteredData);\r\n this.searchServ.getNoteList().subscribe(note=>{\r\n this.dataSource_Note= new MatTableDataSource(note);\r\n console.log(this.dataSource_Note.filteredData);\r\n \r\n });\r\n });\r\n });\r\n }\r\n getLatestVersion(){\r\n this.searchServ.getCurrentVersion().subscribe((data:any)=>{\r\n this.latestVersion=data.historyCode;\r\n });\r\n }\r\n getEntity(){\r\n this.searchServ.getEntityList().subscribe((data:any)=>{\r\n this.entityList= data;\r\n let entityID: number;\r\n if (this.entityList && this.entityList.length > 0) {\r\n this.entityList.forEach((e) => {\r\n \r\n if(e.code == 'IN01'){\r\n entityID= e.id;\r\n if (this.selectedEntityValue.indexOf(e) == -1) {\r\n this.selectedEntityValue.push(e);\r\n }\r\n } \r\n });\r\n }\r\n this.selectEntityFormControl.patchValue(this.selectedEntityValue[0]);\r\n this.searchServ.getBuisnessAreaList(entityID).subscribe((data:any)=>{\r\n this.businessList = data,\r\n \r\n this.businessAreaFilteredOptions = this.searchBusinessAreaTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.businessAreaFilter(name))\r\n );\r\n () => console.log('Get all complete'); \r\n });\r\n });\r\n }\r\n entityselection(entityID: number){\r\n this.reset();\r\n\r\n this.searchServ.getBuisnessAreaList(entityID).subscribe((data:any)=>{\r\n this.businessList = data,\r\n \r\n this.businessAreaFilteredOptions = this.searchBusinessAreaTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.businessAreaFilter(name))\r\n );\r\n () => console.log('Get all complete'); \r\n });\r\n }\r\n \r\n private businessAreaFilter(name: string) {\r\n const filterValue = name.toLowerCase();\r\n // Set selected values to retain the selected checkbox state \r\n this.setBusinessAreaSelectedValues();\r\n this.selectedBusinessAreaId= new FormControl([]);\r\n this.selectedBusinessAreaValue= new FormControl([]);\r\n this.selectBusinessAreaFormControl.patchValue(this.selectedBusinessAreaValues);\r\n this.selectBusinessAreaFormControl.value.forEach(item=> {\r\n this.selectedBusinessAreaId.value.push(item.id);\r\n this.selectedBusinessAreaValue.value.push(item.name);\r\n });\r\n let filteredList = this.businessList.filter(option => option.name.toLowerCase().includes(filterValue.toLowerCase()));\r\n return filteredList;\r\n }\r\n\r\n businessAreaSelectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedBusinessAreaValues.indexOf(event.source.value);\r\n this.selectedBusinessAreaValues.splice(index, 1)\r\n }\r\n }\r\n openedBusinessAreaChange(e) {\r\n // Set search textbox value as empty while opening selectbox \r\n this.searchBusinessAreaTextboxControl.patchValue('');\r\n // Focus to search textbox while clicking on selectbox\r\n if (e == true) {\r\n this.searchBusinessAreaTextBox.nativeElement.focus();\r\n }\r\n }\r\n\r\n clearBusinessAreaSearch(event) {\r\n event.stopPropagation();\r\n this.searchBusinessAreaTextboxControl.patchValue('');\r\n }\r\n\r\n setBusinessAreaSelectedValues() {\r\n console.log('selectBusinessAreaFormControl', this.selectBusinessAreaFormControl.value);\r\n if (this.selectBusinessAreaFormControl.value && this.selectBusinessAreaFormControl.value.length > 0) {\r\n this.selectBusinessAreaFormControl.value.forEach((e) => {\r\n if (this.selectedBusinessAreaValues.indexOf(e) == -1) {\r\n this.selectedBusinessAreaValues.push(e);\r\n }\r\n });\r\n }\r\n }\r\n businessAreaSelection() {\r\n \r\n this.allSelected=false;\r\n this.divisionList=[];\r\n this.designationList=[];\r\n this.dataSource1 = new MatTableDataSource([]);\r\n \r\n this.selectedDivisionId= new FormControl([]);\r\n this.selectedDivisionValue= new FormControl([]);\r\n \r\n this.selectedDesignationId= new FormControl([]);\r\n this.selectedDesignationValue= new FormControl([]);\r\n\r\n this.selectedBusinessAreaId= new FormControl([]);\r\n this.selectedBusinessAreaValue= new FormControl([]);\r\n\r\n this.selectDivision.options.forEach((data: MatOption) => data.deselect());\r\n this.selectDesignation.options.forEach((data: MatOption) => data.deselect());\r\n this.allSelectedDivision= false;\r\n this.allSelectedDesignation = false;\r\n this.getSelectedItemsList = \"Select Activity!\";\r\n this.checklistSelection.clear();\r\n if(this.selectedBusinessAreaValues.length !=0){\r\n this.selectedBusinessAreaValues.forEach(item=> {\r\n this.selectedBusinessAreaId.value.push(item.id);\r\n this.selectedBusinessAreaValue.value.push(item.name);\r\n });\r\n }\r\n this.selectBusinessAreaFormControl.value.forEach(item=> {\r\n if(!this.selectedBusinessAreaIdExists(item.id)){\r\n this.selectedBusinessAreaId.value.push(item.id);\r\n }\r\n if(!this.selectedBusinessAreaValueExists(item.name)){\r\n this.selectedBusinessAreaValue.value.push(item.name);\r\n }\r\n });\r\n this.formInstance.value.businessControl = this.selectedBusinessAreaId.value;\r\n console.log(this.formInstance.value.businessControl);\r\n let newStatus = true;\r\n if(this.formInstance.value.businessControl.length > 1){\r\n console.log('len',this.formInstance.value.businessControl.length);\r\n this.isMultipleSelected = true;\r\n } \r\n else{\r\n this.isMultipleSelected = false;\r\n } \r\n this.select.options.forEach((item: MatOption) => {\r\n if (!item.selected) {\r\n newStatus = false;\r\n \r\n }\r\n if(this.formInstance.value.businessControl.length == this.businessList.length){\r\n this.allSelected = true;\r\n }else{\r\n this.allSelected = false;\r\n }\r\n });\r\n \r\n this.searchServ.getSearchActivityList(this.formInstance.value.businessControl.join(\",\")).subscribe((data1: any[])=>{\r\n console.log(data1);\r\n const data = this.treeConstruct(data1);\r\n\r\n this.dataSource_Tree.data = data;\r\n this.treeControl.dataNodes = data;\r\n Object.keys(this.dataSource_Tree.data).forEach(x => {\r\n this.setParent(this.dataSource_Tree.data[x], null);\r\n });\r\n\r\n this.dataChange.next(data);\r\n }); \r\n this.searchServ.getDivisionListFromBusinessAreaID(this.formInstance.value.businessControl.join(\",\")).subscribe((data)=>{\r\n console.log(data);\r\n this.divisionList= data,\r\n this.divisionFilteredOptions = this.searchDivisionTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.divisionFilter(name))\r\n );\r\n () => console.log('Get all complete'); \r\n });\r\n \r\n this.searchServ.getDesignationListFromBusinessAreaIDandDivisionID(this.formInstance.value.businessControl,this.formInstance.value.divisionControl).subscribe((data)=>{\r\n console.log(data);\r\n this.designationList= data,\r\n this.designationFilteredOptions = this.searchDesignationTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.designationFilter(name))\r\n );\r\n () => console.log('Get all complete'); \r\n });\r\n\r\n // this.allSelected = newStatus;\r\n // this.allSelectedDivision= newStatusDivision;\r\n // this.allSelectedDesignation = newStatusDesignation;\r\n }\r\n \r\n selectedBusinessAreaIdExists(id: number):boolean{\r\n return this.selectedBusinessAreaId.value.some(item=>item === id);\r\n }\r\n selectedBusinessAreaValueExists(value: string):boolean{\r\n return this.selectedBusinessAreaValue.value.some(item=>item === value);\r\n }\r\n toggleAllSelection() {\r\n this.divisionList=[];\r\n this.designationList=[];\r\n //this.divisionFilteredOptions=[];\r\n //this.designationFilteredOptions=[];\r\n\r\n this.selectedBusinessAreaId= new FormControl([]);\r\n this.selectedBusinessAreaValue= new FormControl([]);\r\n\r\n this.selectDivision.options.forEach((data: MatOption) => data.deselect());\r\n this.selectDesignation.options.forEach((data: MatOption) => data.deselect());\r\n this.allSelectedDivision= false;\r\n this.allSelectedDesignation = false;\r\n this.getSelectedItemsList = \"Select Activity!\";\r\n this.checklistSelection.clear();\r\n\r\n if (this.allSelected) {\r\n this.select.options.forEach((item: MatOption) => item.select());\r\n this.isMultipleSelected = true;\r\n this.selectedBusinessAreaId= new FormControl([]);\r\n this.selectedBusinessAreaValue= new FormControl([]);\r\n\r\n this.selectBusinessAreaFormControl.value.forEach(item=> {\r\n this.selectedBusinessAreaId.value.push(item.id);\r\n this.selectedBusinessAreaValue.value.push(item.name);\r\n });\r\n this.formInstance.value.businessControl = this.selectedBusinessAreaId.value;\r\n console.log(this.formInstance.value.businessControl);\r\n\r\n this.searchServ.getSearchActivityList(this.formInstance.value.businessControl.join(\",\")).subscribe((data1: any[])=>{\r\n console.log(data1);\r\n const data = this.treeConstruct(data1);\r\n\r\n this.dataSource_Tree.data = data;\r\n this.treeControl.dataNodes = data;\r\n Object.keys(this.dataSource_Tree.data).forEach(x => {\r\n this.setParent(this.dataSource_Tree.data[x], null);\r\n });\r\n\r\n this.dataChange.next(data);\r\n }); \r\n\r\n\r\n this.searchServ.getDivisionListFromBusinessAreaID(this.formInstance.value.businessControl.join(\",\")).subscribe((data)=>{\r\n console.log(data);\r\n this.formInstance.controls.divisionControl.enable() ;\r\n this.divisionList= data,\r\n this.divisionFilteredOptions = this.searchDivisionTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.divisionFilter(name))\r\n ); \r\n () => console.log('Get all complete'); \r\n });\r\n \r\n this.searchServ.getDesignationListFromBusinessAreaIDandDivisionID(this.formInstance.value.businessControl,this.formInstance.value.divisionControl).subscribe((data)=>{\r\n console.log(data);\r\n this.formInstance.controls.designationControl.enable() ;\r\n this.designationList= data,\r\n this.designationFilteredOptions = this.searchDesignationTextboxControl.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(name => this.designationFilter(name))\r\n ); \r\n () => console.log('Get all complete'); \r\n });\r\n \r\n } else {\r\n this.select.options.forEach((item: MatOption) => item.deselect()); \r\n this.isMultipleSelected = false;\r\n \r\n this.selectedBusinessAreaId= new FormControl([]);\r\n this.selectedBusinessAreaValue= new FormControl([]);\r\n this.selectBusinessAreaFormControl = new FormControl([]);\r\n\r\n }\r\n\r\n \r\n }\r\n\r\n private divisionFilter(name: string) {\r\n const filterValue = name.toLowerCase();\r\n // Set selected values to retain the selected checkbox state \r\n this.setDivisionSelectedValues();\r\n this.selectedDivisionId= new FormControl([]);\r\n this.selectedDivisionValue= new FormControl([]);\r\n this.selectDivisionFormControl.patchValue(this.selectedDivisionValues);\r\n this.selectDivisionFormControl.value.forEach(item=> {\r\n this.selectedDivisionId.value.push(item.id);\r\n this.selectedDivisionValue.value.push(item.name);\r\n });\r\n let filteredList = this.divisionList.filter(option => option.name.toLowerCase().includes(filterValue.toLowerCase()));\r\n return filteredList;\r\n }\r\n\r\n divisionSelectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedDivisionValues.indexOf(event.source.value);\r\n this.selectedDivisionValues.splice(index, 1)\r\n }\r\n }\r\n openedDivisionChange(e) {\r\n // Set search textbox value as empty while opening selectbox \r\n this.searchDivisionTextboxControl.patchValue('');\r\n // Focus to search textbox while clicking on selectbox\r\n if (e == true) {\r\n this.searchDivisionTextBox.nativeElement.focus();\r\n }\r\n }\r\n\r\n clearDivisionSearch(event) {\r\n event.stopPropagation();\r\n this.searchDivisionTextboxControl.patchValue('');\r\n }\r\n\r\n setDivisionSelectedValues() {\r\n console.log('selectDivisionFormControl', this.selectDivisionFormControl.value);\r\n if (this.selectDivisionFormControl.value && this.selectDivisionFormControl.value.length > 0) {\r\n this.selectDivisionFormControl.value.forEach((e) => {\r\n if (this.selectedDivisionValues.indexOf(e) == -1) {\r\n this.selectedDivisionValues.push(e);\r\n }\r\n });\r\n }\r\n }\r\n selectedDivisionIdExists(id: number):boolean{\r\n return this.selectedDivisionId.value.some(item=>item === id);\r\n }\r\n selectedDivisionValueExists(value: string):boolean{\r\n return this.selectedDivisionValue.value.some(item=>item === value);\r\n }\r\n divisionSelection(){\r\n this.selectedDivisionId= new FormControl([]);\r\n this.selectedDivisionValue= new FormControl([]);\r\n if(this.selectedDivisionValues.length !=0){\r\n this.selectedDivisionValues.forEach(item=> {\r\n this.selectedDivisionId.value.push(item.id);\r\n this.selectedDivisionValue.value.push(item.name);\r\n });\r\n }\r\n this.selectDivisionFormControl.value.forEach(item=> {\r\n if(!this.selectedDivisionIdExists(item.id)){\r\n this.selectedDivisionId.value.push(item.id);\r\n }\r\n if(!this.selectedDivisionValueExists(item.name)){\r\n this.selectedDivisionValue.value.push(item.name);\r\n }\r\n });\r\n \r\n this.formInstance.value.divisionControl= this.selectedDivisionId.value;\r\n console.log(this.formInstance.value.businessControl);\r\n \r\n let newStatus = true;\r\n if(this.formInstance.value.divisionControl.length > 1){\r\n console.log('len',this.formInstance.value.divisionControl.length);\r\n this.isMultipleSelected = true;\r\n } \r\n else{\r\n this.isMultipleSelected = false;\r\n } \r\n this.select.options.forEach((item: MatOption) => {\r\n if (!item.selected) {\r\n newStatus = false;\r\n \r\n }\r\n if(this.formInstance.value.divisionControl.length == this.divisionList.length){\r\n this.allSelectedDivision = true;\r\n }else{\r\n this.allSelectedDivision = false;\r\n }\r\n });\r\n console.log(this.formInstance.value.businessControl);\r\n console.log(this.formInstance.value.divisionControl);\r\n/* this.searchServ.getDesignationListFromBusinessAreaIDandDivisionID(this.formInstance.value.businessControl,this.formInstance.value.divisionControl).subscribe((data)=>{\r\n console.log(data);\r\n this.designationList= data,\r\n error => console.log(error), \r\n () => console.log('Get all complete'); \r\n }); */\r\n //this.allSelected = newStatus;\r\n // this.allSelectedDivision= newStatus;\r\n }\r\n toggleAllSelectionDivision() {\r\n if (this.allSelectedDivision) {\r\n this.selectDivision.options.forEach((item: MatOption) => item.select());\r\n this.isMultipleSelectedDivision = true;\r\n this.selectedDivisionId= new FormControl([]);\r\n this.selectedDivisionValue= new FormControl([]);\r\n this.selectDivisionFormControl.value.forEach(item=> {\r\n this.selectedDivisionId.value.push(item.id);\r\n this.selectedDivisionValue.value.push(item.name);\r\n });\r\n \r\n this.formInstance.value.divisionControl= this.selectedDivisionId.value;\r\n } else {\r\n this.selectDivision.options.forEach((item: MatOption) => item.deselect()); \r\n this.isMultipleSelectedDivision = false;\r\n this.selectedDivisionId= new FormControl([]);\r\n this.selectedDivisionValue= new FormControl([]);\r\n this.selectDivisionFormControl = new FormControl([]);\r\n }\r\n }\r\n selectionDivisionChange(event, divisionName:string){\r\n if(event.source.selected == false){\r\n const deselectedValue= event.source.value;\r\n const currentId= this.selectedDivisionId.value;\r\n const filteredId= currentId.filter(item=>item !== deselectedValue);\r\n this.selectedDivisionId.setValue(filteredId);\r\n\r\n const currentValues= this.selectedDivisionValue.value;\r\n const filteredValues= currentValues.filter(item=>item !== divisionName);\r\n this.selectedDivisionValue.setValue(filteredValues);\r\n }\r\n }\r\n \r\n private designationFilter(name: string) {\r\n const filterValue = name.toLowerCase();\r\n // Set selected values to retain the selected checkbox state \r\n this.setDesignationSelectedValues();\r\n this.selectedDesignationId= new FormControl([]);\r\n this.selectedDesignationValue= new FormControl([]);\r\n this.selectDesignationFormControl.patchValue(this.selectedDesignationValues);\r\n this.selectDesignationFormControl.value.forEach(item=> {\r\n this.selectedDesignationId.value.push(item.id);\r\n this.selectedDesignationValue.value.push(item.name);\r\n });\r\n let filteredList = this.designationList.filter(option => option.name.toLowerCase().includes(filterValue.toLowerCase()));\r\n return filteredList;\r\n }\r\n\r\n designationSelectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedDesignationValues.indexOf(event.source.value);\r\n this.selectedDesignationValues.splice(index, 1)\r\n }\r\n }\r\n openedDesignationChange(e) {\r\n // Set search textbox value as empty while opening selectbox \r\n this.searchDesignationTextboxControl.patchValue('');\r\n // Focus to search textbox while clicking on selectbox\r\n if (e == true) {\r\n this.searchDivisionTextBox.nativeElement.focus();\r\n }\r\n }\r\n\r\n clearDesignationSearch(event) {\r\n event.stopPropagation();\r\n this.searchDesignationTextboxControl.patchValue('');\r\n }\r\n\r\n setDesignationSelectedValues() {\r\n console.log('selectDesignationFormControl', this.selectDesignationFormControl.value);\r\n if (this.selectDesignationFormControl.value && this.selectDesignationFormControl.value.length > 0) {\r\n this.selectDesignationFormControl.value.forEach((e) => {\r\n if (this.selectedDesignationValues.indexOf(e) == -1) {\r\n this.selectedDesignationValues.push(e);\r\n }\r\n });\r\n }\r\n }\r\n\r\n selectedDesignationIdExists(id: number):boolean{\r\n return this.selectedDesignationId.value.some(item=>item === id);\r\n }\r\n selectedDesignationValueExists(value: string):boolean{\r\n return this.selectedDesignationValue.value.some(item=>item === value);\r\n }\r\n toggleAllSelectionDesignation() {\r\n if (this.allSelectedDesignation) {\r\n this.selectDesignation.options.forEach((item: MatOption) => item.select());\r\n this.isMultipleSelectedDesignation = true;\r\n this.selectedDesignationValue= new FormControl([]);\r\n this.selectedDesignationValue= new FormControl([]);\r\n \r\n this.selectDesignationFormControl.value.forEach(item=> {\r\n this.selectedDesignationId.value.push(item.id);\r\n this.selectedDesignationValue.value.push(item.name);\r\n });\r\n \r\n this.formInstance.value.selectedControl= this.selectedDesignationId.value;\r\n } else {\r\n this.selectDesignation.options.forEach((item: MatOption) => item.deselect()); \r\n this.isMultipleSelectedDesignation = false;\r\n this.selectedDesignationId= new FormControl([]);\r\n this.selectedDesignationValue= new FormControl([]);\r\n }\r\n }\r\n designationSelection(){\r\n this.selectedDesignationId= new FormControl([]);\r\n this.selectedDesignationValue= new FormControl([]);\r\n if(this.selectedDesignationValues.length !=0){\r\n this.selectedDesignationValues.forEach(item=> {\r\n this.selectedDesignationId.value.push(item.id);\r\n this.selectedDesignationValue.value.push(item.name);\r\n });\r\n }\r\n this.selectDesignationFormControl.value.forEach(item=> {\r\n if(!this.selectedDesignationIdExists(item.id)){\r\n this.selectedDesignationId.value.push(item.id);\r\n }\r\n if(!this.selectedDesignationValueExists(item.name)){\r\n this.selectedDesignationValue.value.push(item.name);\r\n }\r\n \r\n });\r\n\r\n this.formInstance.value.selectedControl= this.selectedDesignationId.value;\r\n if(this.formInstance.value.selectedControl.length == this.designationList.length){\r\n this.allSelectedDesignation = true;\r\n }else{\r\n this.allSelectedDesignation = false;\r\n }\r\n }\r\nhandleInput(event: KeyboardEvent): void{\r\n event.stopPropagation();\r\n} \r\n/********************************* Treeview methods Start********************************* **/\r\n\r\n treeConstruct(treeData) {\r\n let constructedTree = [];\r\n for (let i of treeData) {\r\n let treeObj = i;\r\n let assigned = false;\r\n this.constructTree(constructedTree, treeObj, assigned)\r\n }\r\n return constructedTree;\r\n }\r\nconstructTree(constructedTree, treeObj, assigned) {\r\nif (treeObj.parentId == null) {\r\n treeObj.children = [];\r\n constructedTree.push(treeObj);\r\n return true;\r\n } else if (treeObj.parentId == constructedTree.id) {\r\n treeObj.children = [];\r\n constructedTree.children.push(treeObj);\r\n return true;\r\n }\r\n else {\r\n if (constructedTree.children != undefined) {\r\n for (let index = 0; index < constructedTree.children.length; index++) {\r\n let constructedObj = constructedTree.children[index];\r\n if (assigned == false) {\r\n assigned = this.constructTree(constructedObj, treeObj, assigned);\r\n }\r\n }\r\n } else {\r\n for (let index = 0; index < constructedTree.length; index++) {\r\n let constructedObj = constructedTree[index];\r\n if (assigned == false) {\r\n assigned = this.constructTree(constructedObj, treeObj, assigned);\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n }\r\n\r\n\r\n nestedNodeMap = new Map(); \r\n treeControl: NestedTreeControl; \r\n dataSource_Tree: MatTreeNestedDataSource; \r\n checklistSelection = new SelectionModel(true /* multiple */);\r\n\r\n constructor(private sanitizer : DomSanitizer,private _database: ChecklistDatabase,private _formBuilder: FormBuilder,private searchServ: SearchService) {\r\n \r\n this.treeControl = new NestedTreeControl(node => node.children);\r\n this.dataSource_Tree = new MatTreeNestedDataSource();\r\n\r\n this.formInstance = _formBuilder.group({\r\n \"businessControl\":['', Validators.required],\r\n \"divisionControl\":[''],\r\n \"designationControl\":[''], \r\n\r\n });\r\n\r\n\r\n /* _database.dataChange.subscribe(data => {\r\n this.dataSource_Tree.data = data;\r\n\r\n Object.keys(this.dataSource_Tree.data).forEach(x => {\r\n this.setParent(this.dataSource_Tree.data[x], null);\r\n });\r\n }); */\r\n }\r\n\r\n getLevel = (node: TodoItemFlatNode) => node.level;\r\n isExpandable = (node: TodoItemFlatNode) => node.expandable;\r\n getChildren = (node: TodoItemNode): TodoItemNode[] => node.children;\r\n hasNoContent = (_: number, _nodeData: TodoItemFlatNode) => _nodeData.text === '';\r\n hasChild = (_: number, node: TodoItemNode) => !!node.children && node.children.length > 0;\r\n /**\r\n * Transformer to convert nested node to flat node. Record the nodes in maps for later use.\r\n */\r\n\r\n \r\nsetParent(data, parent) {\r\n data.parent = parent;\r\n if (data.children) {\r\n data.children.forEach(x => {\r\n this.setParent(x, data);\r\n });\r\n }\r\n}\r\n\r\n checkAllParents(node) {\r\n if (node.parent) {\r\n const descendants = this.treeControl.getDescendants(node.parent);\r\n node.parent.selected = descendants.every(child => child.selected);\r\n node.parent.indeterminate = descendants.some(child => child.selected);\r\n this.checkAllParents(node.parent);\r\n }\r\n }\r\n\r\n/* descendantsAllSelected(node: TodoItemFlatNode): boolean {\r\n const descendants = this.treeControl.getDescendants(node);\r\n \r\n \r\n return descendants.every(child => this.checklistSelection.isSelected(child));\r\n\r\n } */\r\n\r\n descendantsAllSelected(node: TodoItemFlatNode): boolean {\r\n const descendants = this.treeControl.getDescendants(node);\r\n let allselected = descendants.every(child => this.checklistSelection.isSelected(child));\r\n if (allselected)\r\n this.checklistSelection.select(node);\r\n else\r\n this.checklistSelection.deselect(node);\r\n return allselected;\r\n }\r\n\r\n\r\n /** Whether part of the descendants are selected */\r\n descendantsPartiallySelected(node: TodoItemFlatNode): boolean {\r\n const descendants = this.treeControl.getDescendants(node);\r\n const result = descendants.some(child => this.checklistSelection.isSelected(child));\r\n return result && !this.descendantsAllSelected(node);\r\n }\r\n\r\n\r\n\r\n \r\n\r\n\r\n\r\n todoItemSelectionToggle(checked, node) {\r\n \r\n this.checklistSelection.toggle(node);\r\n const descendants = this.treeControl.getDescendants(node);\r\n this.checklistSelection.isSelected(node)\r\n ? this.checklistSelection.select(node)\r\n : this.checklistSelection.deselect(node);\r\n\r\n // Force update for the parent\r\n descendants.forEach(child => this.checklistSelection.isSelected(node));\r\n this.checkAllParents(node);\r\n \r\n\r\n node.selected = checked;\r\n if (node.children) {\r\n node.children.forEach(x => {\r\n this.todoItemSelectionToggle(checked, x);\r\n \r\n });\r\n }\r\n this.checkAllParents(node);\r\n\r\n\r\n \r\n\r\n \r\n\r\n\r\n /* console.log(result);\r\n\r\n if (!this.checklistSelection.selected.length) \r\n this.getSelectedItemsList = \"Select Activity!\";\r\n else\r\n this.getSelectedItemsList = result.join(','); */ \r\n \r\n if (!this.checklistSelection.selected.length)\r\n {\r\n this.getSelectedItemsList = \"Select Activity\";\r\n this.showCloseIcon=false;\r\n }\r\n \r\n else\r\n { \r\n this.getSelectedItemsList = this.checklistSelection.selected.map(s => s.text).join(\",\");\r\n this.showCloseIcon= true;\r\n this.searchValueFormControl.setValue('');\r\n }\r\n\r\n\r\n }\r\n\r\n filterLeafNode(node: TodoItemFlatNode): boolean {\r\n if (!this.searchString) {\r\n return false\r\n }\r\n return node.text.toLowerCase()\r\n .indexOf(this.searchString?.toLowerCase()) === -1\r\n \r\n }\r\n\r\n\r\n// filter recursively on a text string using property object value\r\nfilterRecursive(filterText: string, array: any[], property: string) {\r\n let filteredData;\r\n\r\n //make a copy of the data so we don't mutate the original\r\n function copy(o: any) {\r\n return Object.assign({}, o);\r\n }\r\n\r\n // has string\r\n if (filterText) {\r\n // need the string to match the property value\r\n filterText = filterText.toLowerCase();\r\n // copy obj so we don't mutate it and filter\r\n filteredData = array.map(copy).filter(function x(y) {\r\n if (y[property].toLowerCase().includes(filterText)) {\r\n return true;\r\n }\r\n // if children match\r\n if (y.children) {\r\n return (y.children = y.children.map(copy).filter(x)).length;\r\n }\r\n });\r\n // no string, return whole array\r\n } else {\r\n filteredData = array;\r\n }\r\n\r\n return filteredData;\r\n}\r\n\r\n // pass mat input string to recursive function and return data\r\n filterTree(filterText: string) {\r\n // use filter input text, return filtered TREE_DATA, use the 'name' object value\r\n this.dataSource_Tree.data = this.filterRecursive(filterText, this.data, 'text');\r\n this.treeControl.dataNodes = this.data;\r\n }\r\n\r\n // filter string from mat input filter\r\n applyFilterForTree(event: Event) {\r\n const filterText = (event.target as HTMLInputElement).value;\r\n this.filterTree(filterText);\r\n // show / hide based on state of filter string\r\n if (filterText) {\r\n this.tree.treeControl.collapseAll();\r\n } else {\r\n \r\n this.tree.treeControl.expandAll();\r\n }\r\n }\r\n\r\n/********************************* Treeview methods End ********************************* **/\r\n\r\n \r\n createWorksheetWithColumnColors(data:any[][]){\r\n const worksheet: XLSX.WorkSheet= XLSX.utils.aoa_to_sheet(data);\r\n const range= XLSX.utils.decode_range(worksheet['!ref']);\r\n for (let rowIndex= range.s.r; rowIndex <= range.e.r;rowIndex++){\r\n const cellAddress= XLSX.utils.encode_cell({r:rowIndex,c: 15});\r\n worksheet[cellAddress].s={fill:{bgColor: {rgb: rowIndex[15] }}};\r\n }\r\n }\r\n generatePDF(){\r\n const currentDateTime= new Date();\r\n const dateString= currentDateTime.toISOString().replace(/[:.]/g,'-');\r\n const dataToSend=this.dataSource1.filteredData;\r\n this.searchServ.generatePdf(dataToSend, this.businessList.map(item=>item.id).join(\",\"), this.formInstance.value.businessControl.join(\",\")).subscribe(response=>{\r\n const file= new Blob([response],{type:'application/pdf'});\r\n const url= window.URL.createObjectURL(response);\r\n const link= document.createElement('a');\r\n link.href=url;\r\n link.download= `${this.latestVersion}.pdf`;\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n\r\n });\r\n }\r\n\r\n convertToPlainText(html:string): SafeHtml{\r\n return this.sanitizer.bypassSecurityTrustHtml(html);\r\n }\r\n \r\n generateExcel(){\r\n const currentDateTime= new Date();\r\n const dateString= currentDateTime.toISOString().replace(/[:.]/g,'-');\r\n const tabledata_Preamble= this.dataSource_Preamble.filteredData.map(row=>[row.id, row.topic,row.remarks]);\r\n const dataPreamble=[\r\n [\"\",\"\",\"Generated on:\"+dateString],\r\n [\"Preamble - an introduction to the contents, structure and flow of the TOA\"],\r\n [\"\",\"\",\"\"],\r\n [\"ID\",\"Column\",\"Description\"],\r\n ...tabledata_Preamble\r\n ];\r\n const workSheet_Preamble: XLSX.WorkSheet = XLSX.utils.aoa_to_sheet(dataPreamble);\r\n const header_Style= {\r\n font:{\r\n bold: true,\r\n color:{rgb:\"FFFFFF\"},\r\n name: 'ABBvoice',\r\n },\r\n alignment: {\r\n vertical: 'center',\r\n horizontal: 'center',\r\n wrapText: '1', // any truthy value here\r\n },\r\n fill:{\r\n fgColor:{rgb:\"ff000f\"}\r\n },\r\n border: {\r\n right: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n bottom: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n top: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n left: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n },\r\n }\r\n const header_Style_Divisions= {\r\n font:{\r\n bold: true,\r\n color:{rgb:\"FFFFFF\"},\r\n name: 'ABBvoice',\r\n },\r\n alignment: {\r\n vertical: 'center',\r\n horizontal: 'center',\r\n wrapText: '1', // any truthy value here\r\n },\r\n fill:{\r\n fgColor:{rgb:\"ff000f\"}\r\n },\r\n border: {\r\n right: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n bottom: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n top: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n left: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n },\r\n }\r\n workSheet_Preamble['!cols']=[{width:10},{width:30},{width:120}];\r\n workSheet_Preamble['!rows']=[{hpx:15},{hpx:30},{hpx:30}];\r\n \r\n for (var i in workSheet_Preamble) {\r\n workSheet_Preamble['C1'].s={\r\n border:{},\r\n font:{\r\n bold: true,\r\n color:{rgb:\"000000\"},\r\n name: 'ABBvoice',\r\n },\r\n alignment: {\r\n vertical: 'right',\r\n horizontal: 'right',\r\n wrapText: '1', // any truthy value here\r\n },\r\n },\r\n workSheet_Preamble['A2'].s={\r\n border:{},\r\n font:{\r\n bold: true,\r\n color:{rgb:\"000000\"},\r\n name: 'ABBvoice',\r\n underline:true\r\n },\r\n },\r\n workSheet_Preamble['A1'].s={\r\n border:{}\r\n },\r\n workSheet_Preamble['B1'].s={\r\n border:{}\r\n },\r\n workSheet_Preamble['A3'].s={\r\n border:{}\r\n },\r\n workSheet_Preamble['B3'].s={\r\n border:{}\r\n },\r\n workSheet_Preamble['C3'].s={\r\n border:{}\r\n },\r\n workSheet_Preamble['A4'].s=header_Style;\r\n workSheet_Preamble['B4'].s=header_Style;\r\n workSheet_Preamble['C4'].s=header_Style;\r\n if (typeof workSheet_Preamble[i] != 'object') continue;\r\n let cell = XLSX.utils.decode_cell(i);\r\n workSheet_Preamble[i].s = {\r\n wch: 50,\r\n // styling for all cells\r\n font: {\r\n name: 'ABBvoice',\r\n },\r\n alignment: {\r\n vertical: 'center',\r\n horizontal: 'center',\r\n wrapText: '1', // any truthy value here\r\n },\r\n border: {\r\n right: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n bottom: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n top: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n left: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n },\r\n };\r\n\r\n if (cell.c == 6) {\r\n // first column\r\n workSheet_Preamble[i].s.numFmt = 'DD-MM-YYYY'; // for dates\r\n workSheet_Preamble[i].z = 'DD-MM-YYYY';\r\n } else {\r\n workSheet_Preamble[i].s.numFmt = '00'; // other numbers\r\n }\r\n\r\n if (cell.r == 0) {\r\n // first row\r\n workSheet_Preamble[i].s.border.bottom = {\r\n // bottom border\r\n style: 'thin',\r\n color: '000000',\r\n };\r\n }\r\n }\r\n\r\n const combined_wb: XLSX.WorkBook= XLSX.utils.book_new();\r\n XLSX.utils.book_append_sheet(combined_wb, workSheet_Preamble, 'Preamble');\r\n\r\n\r\n const tabledata_Reading= this.dataSource_Reading.filteredData.map(row=>[row.id, row.column,row.description]);\r\n console.log(tabledata_Reading);\r\n const dataReading=[\r\n [\"Reading this document\"],\r\n [\"Listed below is the description of the column headers in the TOA sheet. It guides the users to interpret the columns and how the information therein is populated.\"],\r\n [\"\",\"\",\"\"],\r\n [\"ID\",\"Column\",\"Description\"],\r\n ...tabledata_Reading\r\n ];\r\n const workSheet_Reading: XLSX.WorkSheet = XLSX.utils.aoa_to_sheet(dataReading);\r\n workSheet_Reading['!cols']=[{width:10},{width:30},{width:120}];\r\n workSheet_Reading['!rows']=[{hpx:15},{hpx:30},{hpx:30}];\r\n \r\n for (var i in workSheet_Reading) {\r\n workSheet_Reading['A1'].s={\r\n border:{},\r\n font:{\r\n bold: true,\r\n color:{rgb:\"000000\"},\r\n name: 'ABBvoice',\r\n underline:true\r\n },\r\n },\r\n workSheet_Reading['A2'].s={\r\n border:{},\r\n font:{\r\n bold: true,\r\n color:{rgb:\"000000\"},\r\n name: 'ABBvoice',\r\n underline:true\r\n },\r\n },\r\n workSheet_Reading['A3'].s={\r\n border:{}\r\n },\r\n workSheet_Reading['B3'].s={\r\n border:{}\r\n },\r\n workSheet_Reading['C3'].s={\r\n border:{}\r\n },\r\n workSheet_Reading['A4'].s=header_Style;\r\n workSheet_Reading['B4'].s=header_Style;\r\n workSheet_Reading['C4'].s=header_Style;\r\n if (typeof workSheet_Reading[i] != 'object') continue;\r\n let cell = XLSX.utils.decode_cell(i);\r\n workSheet_Reading[i].s = {\r\n wch: 50,\r\n // styling for all cells\r\n font: {\r\n name: 'ABBvoice',\r\n },\r\n alignment: {\r\n vertical: 'center',\r\n horizontal: 'center',\r\n wrapText: '1', // any truthy value here\r\n },\r\n border: {\r\n right: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n bottom: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n top: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n left: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n },\r\n };\r\n\r\n if (cell.c == 6) {\r\n // first column\r\n workSheet_Reading[i].s.numFmt = 'DD-MM-YYYY'; // for dates\r\n workSheet_Reading[i].z = 'DD-MM-YYYY';\r\n } else {\r\n workSheet_Reading[i].s.numFmt = '00'; // other numbers\r\n }\r\n\r\n if (cell.r == 0) {\r\n // first row\r\n workSheet_Reading[i].s.border.bottom = {\r\n // bottom border\r\n style: 'thin',\r\n color: '000000',\r\n };\r\n }\r\n }\r\n\r\n XLSX.utils.book_append_sheet(combined_wb, workSheet_Reading, 'Reading this document');\r\n for(let w = 0; w < this.workSheetTables.length; w++) \r\n {\r\n const table = document.getElementById(this.workSheetTables[w].tableId);\r\n const workSheet_CommonData: XLSX.WorkSheet= XLSX.utils.table_to_sheet(table);\r\n workSheet_CommonData['!cols']=[{width:30},{width:40},{width:40},{width:40},{width:40},{width:40},{width:60},{width:40},{width:40},{width:40},{width:40},{width:60},{width:40},{width:40},{width:40},{width:40}];\r\n workSheet_CommonData['!rows']=[{hpx:15},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30},{hpx:30}];\r\n \r\n // Get the rows and cells from the HTML table\r\n const rows = table.querySelectorAll('tr');\r\n rows.forEach((row, rowIndex) => {\r\n const cells = row.querySelectorAll('td, th');\r\n cells.forEach((cell, colIndex) => {\r\n const cellAddress = XLSX.utils.encode_cell({ r: rowIndex, c: colIndex });\r\n // Assign cell value from HTML table\r\n const cellValue = cell.textContent?.trim() || '';\r\n \r\n // Update the worksheet cell\r\n\r\n if(workSheet_CommonData[cellAddress].l == undefined){\r\n workSheet_CommonData[cellAddress] = {\r\n v: cellValue,\r\n t: 's', // Set cell type to string\r\n s: { numFmt: '@' } // Ensure cell is treated as text in Excel\r\n };\r\n }\r\n else{\r\n workSheet_CommonData[cellAddress] = {\r\n v: cellValue,\r\n t: 's', // Set cell type to string\r\n s: { numFmt: '@' } ,// Ensure cell is treated as text in Excel\r\n l: workSheet_CommonData[cellAddress].l\r\n };\r\n }\r\n });\r\n });\r\n for (var i in workSheet_CommonData) {\r\n\r\n workSheet_CommonData['A1'].s= header_Style_Divisions;\r\n workSheet_CommonData['B1'].s= header_Style_Divisions\r\n workSheet_CommonData['C1'].s=header_Style_Divisions;\r\n workSheet_CommonData['D1'].s=header_Style_Divisions\r\n workSheet_CommonData['E1'].s=header_Style_Divisions\r\n workSheet_CommonData['F1'].s=header_Style_Divisions\r\n workSheet_CommonData['G1'].s=header_Style_Divisions\r\n workSheet_CommonData['H1'].s=header_Style_Divisions\r\n workSheet_CommonData['I1'].s=header_Style_Divisions\r\n workSheet_CommonData['J1'].s=header_Style_Divisions\r\n workSheet_CommonData['K1'].s=header_Style_Divisions\r\n workSheet_CommonData['L1'].s=header_Style_Divisions\r\n workSheet_CommonData['M1'].s=header_Style_Divisions\r\n workSheet_CommonData['N1'].s=header_Style_Divisions\r\n workSheet_CommonData['O1'].s=header_Style_Divisions\r\n \r\n\r\n if (typeof workSheet_CommonData[i] != 'object') continue;\r\n \r\n let cell = XLSX.utils.decode_cell(i);\r\n workSheet_CommonData[i].s = {\r\n wch: 50,\r\n // styling for all cells\r\n font: {\r\n name: 'ABBvoice',\r\n },\r\n alignment: {\r\n vertical: 'center',\r\n horizontal: 'center',\r\n wrapText: '1', // any truthy value here\r\n },\r\n border: {\r\n right: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n bottom: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n top: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n left: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n },\r\n };\r\n \r\n if (cell.c == 6) {\r\n // first column\r\n workSheet_CommonData[i].s.numFmt = 'DD-MM-YYYY'; // for dates\r\n workSheet_CommonData[i].z = 'DD-MM-YYYY';\r\n } else {\r\n workSheet_CommonData[i].s.numFmt = '00'; // other numbers\r\n }\r\n\r\n if (cell.r == 0) {\r\n // first row\r\n workSheet_CommonData[i].s.border.bottom = {\r\n // bottom border\r\n style: 'thin',\r\n color: '000000',\r\n };\r\n }\r\n }\r\n this.applyBgColorFontColorFontweightForColumns(workSheet_CommonData, this.workSheetTables[w].dataSource.data);\r\n workSheet_CommonData['M1'].s=header_Style_Divisions;\r\n workSheet_CommonData['N1'].s=header_Style_Divisions;\r\n workSheet_CommonData['O1'].s=header_Style_Divisions;\r\n \r\n if(this.workSheetTables[w].dataSource.data.length == 0){\r\n XLSX.utils.sheet_add_aoa(workSheet_CommonData,[['No records found']], {origin : 'A2'});\r\n workSheet_CommonData['A2'].s= {\r\n font:{\r\n bold: true,\r\n color:{rgb:\"000000\"},\r\n name: 'ABBvoice',\r\n },\r\n alignment: {\r\n vertical: 'center',\r\n horizontal: 'center',\r\n wrapText: '1', // any truthy value here\r\n },\r\n }\r\n }\r\n var buinessNotes= this.dataSource_Note.filteredData.find(row=>row.businessUnitCode===this.workSheetTables[w].tableId);\r\n let appendNodes='';\r\n if(buinessNotes!=undefined){\r\n appendNodes=buinessNotes.note;\r\n }\r\n const range= XLSX.utils.decode_range(workSheet_CommonData['!ref']!);\r\n const rowCount= range.e.r-range.s.r+1;\r\n const setNote=rowCount+1;\r\n XLSX.utils.sheet_add_aoa(workSheet_CommonData,[[appendNodes]], {origin : setNote});\r\n const cellAddrss= XLSX.utils.encode_cell({r:setNote,c:0})\r\n workSheet_CommonData[cellAddrss].s= {\r\n font:{\r\n bold: false,\r\n color:{rgb:\"000000\"},\r\n name: 'ABBvoice',\r\n },\r\n \r\n }\r\n \r\n XLSX.utils.book_append_sheet(combined_wb, workSheet_CommonData, this.workSheetTables[w].tableId);\r\n }\r\n XLSX.writeFile(combined_wb, `${this.latestVersion}.xlsx`);\r\n \r\n }\r\n \r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource1.filter = filterValue.trim().toLowerCase();\r\n this.dummyDataSource.filter = filterValue.trim().toLowerCase();\r\n \r\n this.workSheetTables=[];\r\n for(let i = 0; i < this.businessList.length; i++)\r\n {\r\n if(this.formInstance.value.businessControl.includes(this.businessList[i].id)){\r\n this.workSheetTables.push({\r\n displayedColumns: ['BgColor','FontColor','FontWeight','SourceOfActivity','CatBatReference','CPReference','MIReference','BRReference','Tool','ApplicableToBusiness','Activity','Responsible', 'Accountable' , 'Consult', 'Inform','Remark','ActivityFormingPartOfLat','BuisnessArea','BusinessAreaCode'],\r\n dataSource: new MatTableDataSource(this.dataSource1.filteredData.filter(row=>row.businessAreaCode===this.businessList[i].code)),\r\n tableId: this.businessList[i].code\r\n });\r\n }\r\n }\r\n \r\n console.log(this.workSheetTables);\r\n if (this.dataSource1.paginator) {\r\n this.dataSource1.paginator.firstPage();\r\n }\r\n\r\n }\r\n\r\n \r\n Search(){\r\n console.log('val ',this.formInstance.value)\r\n if(this.formInstance.value.businessControl.length>1){\r\n this.isMultipleSelected = false;\r\n console.log('true')\r\n }\r\n\r\n\r\n let result = [];\r\n this.dataSource_Tree.data.forEach(node => {\r\n result = result.concat(\r\n this.treeControl\r\n .getDescendants(node)\r\n .filter(x => x.selected && x.id)\r\n .map(x => x.id)\r\n );\r\n }); \r\n if(this.selectedBusinessAreaId.value==null)\r\n return;\r\n \r\n this.formInstance.value.businessControl= this.selectedBusinessAreaId.value;\r\n this.formInstance.value.divisionControl= this.selectedDivisionId.value;\r\n this.formInstance.value.designationControl= this.selectedDesignationId.value; var busIDs=\"0\"\r\n var divIDs=\"0\"\r\n var designationIDs=\"0\"\r\n var activityIDs=\"0\"\r\n if(this.formInstance.value.businessControl!=\"\")\r\n busIDs=this.formInstance.value.businessControl.join(\",\")\r\n if(this.formInstance.value.divisionControl!=\"\")\r\n divIDs=this.formInstance.value.divisionControl.join(\",\")\r\n if(this.formInstance.value.designationControl!=\"\")\r\n designationIDs=this.formInstance.value.designationControl.join(\",\")\r\n if(this.checklistSelection.selected.map(s => s.id).join(\",\") !=\"\")\r\n activityIDs=this.checklistSelection.selected.map(s => s.id).join(\",\") \r\n\r\n const myData = { busIDs: busIDs, \r\n divIDs: divIDs, \r\n designationIDs: designationIDs, \r\n activityIDs: activityIDs };\r\n this.searchServ.getSearchActivityDetails(myData).subscribe((data1: any[])=>{\r\n \r\n this.dataSource1= new MatTableDataSource(data1);\r\n this.dummyDataSource= new MatTableDataSource(data1);\r\n console.log(data1);\r\n \r\n this.workSheetTables=[];\r\n for(let i = 0; i < this.businessList.length; i++)\r\n {\r\n if(this.formInstance.value.businessControl.includes(this.businessList[i].id)){\r\n this.workSheetTables.push({\r\n displayedColumns: ['BgColor','FontColor','FontWeight','SourceOfActivity','CatBatReference','CPReference','MIReference','BRReference','Tool','ApplicableToBusiness','Activity','Responsible', 'Accountable' , 'Consult', 'Inform','Remark','ActivityFormingPartOfLat','BuisnessArea','BusinessAreaCode'],\r\n dataSource: new MatTableDataSource(data1.filter(row=>row.businessAreaCode===this.businessList[i].code)),\r\n tableId: this.businessList[i].code\r\n });\r\n }\r\n }\r\n\r\n console.log(this.workSheetTables);\r\n this.dataSource1.paginator = this.paginator;\r\n this.dataSource1.sort = this.sort;\r\n \r\n }) \r\n }\r\n \r\n\r\n ClearSelection()\r\n {\r\n this.searchValue = '';\r\n this.searchValueFormControl.setValue('');\r\n /* this.txtTreeViewSelected.nativeElement.value='' ; */\r\n this.getSelectedItemsList = \"Select Activity!\";\r\n this.checklistSelection.clear();\r\n this.searchServ.getSearchActivityList(this.formInstance.value.businessControl.join(\",\")).subscribe((data1: any[])=>{\r\n console.log(data1);\r\n const data = this.treeConstruct(data1);\r\n\r\n this.dataSource_Tree.data = data;\r\n this.treeControl.dataNodes = data;\r\n Object.keys(this.dataSource_Tree.data).forEach(x => {\r\n this.setParent(this.dataSource_Tree.data[x], null);\r\n });\r\n\r\n this.dataChange.next(data);\r\n }); \r\n this.showCloseIcon= false;\r\n }\r\n\r\n\r\n getSelectedItems(): string {\r\n \r\n if (!this.checklistSelection.selected.length) return \"Select Activity\";\r\n {\r\n \r\n return this.checklistSelection.selected.map(s => s.text).join(\",\");\r\n \r\n }\r\n \r\n }\r\n\r\n /* filterChanged(filterText: string) {\r\n \r\n console.log(\"filterChanged\", filterText);\r\n // ChecklistDatabase.filter method which actually filters the tree and gives back a tree structure\r\n this._database.filter(filterText);\r\n if (filterText) {\r\n this.treeControl.expandAll();\r\n } else {\r\n this.treeControl.collapseAll();\r\n }\r\n } */\r\n\r\n\r\n \r\n\r\n addHyperlink(Data: string) {\r\n \r\n const jsonObject = JSON.parse(Data);\r\n var retValText = \"\"; \r\n \r\n var retVal = \"\";\r\n for(var key in jsonObject) { \r\n retValText=jsonObject[key].Text.replace('; ', ';
    '); \r\n \r\n }\r\n \r\n return retValText;\r\n }\r\n \r\n applyBgColorFontColorFontweightForColumns(worksheet: XLSX.WorkSheet, data: any[]):void{\r\n\r\n if(data.length >0){\r\n// Assuming your data starts at row 2 because row 1 is headers\r\n const range: XLSX.Range = XLSX.utils.decode_range(worksheet['!ref']);\r\n for (let rowNum = range.s.r + 1; rowNum <= range.e.r; rowNum++) {\r\n const cellRef_bgColor = XLSX.utils.encode_cell({ r: rowNum, c: 0 });\r\n const cellRef_fontColor = XLSX.utils.encode_cell({ r: rowNum, c: 1 });\r\n const cellRef_bold = XLSX.utils.encode_cell({ r: rowNum, c: 2 });\r\n \r\n const colorCell: XLSX.CellObject = worksheet[cellRef_bgColor];\r\n const cell_fontColor : XLSX.CellObject = worksheet[cellRef_fontColor];\r\n const cell_bold : XLSX.CellObject = worksheet[cellRef_bold];\r\n let fontWeight: boolean;\r\n if(cell_bold != undefined){\r\n if(cell_bold.v.toString().toLowerCase() === 'bold'){\r\n fontWeight= true\r\n }else{\r\n fontWeight=false\r\n }\r\n }\r\n \r\n \r\n if (colorCell) {\r\n let color = colorCell.v; // Get the value\r\n if(color== 'White'){\r\n color='#FFFFFF';\r\n }\r\n color= color.toString().substring(1);\r\n // Apply the color to each cell in the row\r\n for (let colNum = range.s.c; colNum <= range.e.c; colNum++) {\r\n const cellAddress = XLSX.utils.encode_cell({ r: rowNum, c: colNum });\r\n \r\n if (!worksheet[cellAddress]) worksheet[cellAddress] = {};\r\n worksheet[cellAddress].s = {\r\n fill:{\r\n fgColor:{rgb:color}\r\n },\r\n font:{\r\n bold: fontWeight,\r\n color:{rgb:\"000000\"},\r\n name: 'ABBvoice',\r\n },\r\n alignment: {\r\n vertical: colNum ==11 ? 'left' :'center',\r\n horizontal: colNum ==11 ? 'left' :'center',\r\n wrapText: '1', // any truthy value here\r\n },\r\n border: {\r\n right: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n bottom: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n top: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n left: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n },\r\n };\r\n if(worksheet[cellAddress].l != undefined){\r\n worksheet[cellAddress].s = {\r\n fill:{\r\n fgColor:{rgb:color}\r\n },\r\n font:{\r\n bold: fontWeight,\r\n color:{rgb:\"0000FF\"},\r\n name: 'ABBvoice',\r\n underline:true\r\n },\r\n alignment: {\r\n vertical: 'center',\r\n horizontal: 'center',\r\n wrapText: '1', // any truthy value here\r\n },\r\n border: {\r\n right: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n bottom: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n top: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n left: {\r\n style: 'thin',\r\n color: '000000',\r\n },\r\n },\r\n }\r\n }\r\n }\r\n }\r\n}\r\n }\r\nlet dataLength : number;\r\nif(data.length==0){ \r\n dataLength = 3;\r\n}else{\r\n dataLength = data.length;\r\n}\r\n\r\nfor(let i = 0; i < dataLength; i++) {\r\nfor(let j = 0; j < 3; j++) {\r\ndelete worksheet[XLSX.utils.encode_cell({r: i,c: j })]; } }\r\n\r\nfor (let i = 0; i < dataLength + 1; i++) {\r\n const cellD = XLSX.utils.encode_cell({ r: i, c: 3 }); // Cell in column D\r\n const cellA = XLSX.utils.encode_cell({ r: i, c: 0 }); // Corresponding cell in column A\r\n worksheet[cellA] = worksheet[cellD]; // Move data\r\n delete worksheet[cellD]; // Delete original data in column D\r\n \r\n const cellE = XLSX.utils.encode_cell({ r: i, c: 4 }); // Cell in column D\r\n const cellB = XLSX.utils.encode_cell({ r: i, c: 1 }); // Corresponding cell in column A\r\n worksheet[cellB] = worksheet[cellE]; // Move data\r\n delete worksheet[cellE]; // Delete original data in column D\r\n \r\n const cellF = XLSX.utils.encode_cell({ r: i, c: 5 }); // Cell in column D\r\n const cellC = XLSX.utils.encode_cell({ r: i, c: 2 }); // Corresponding cell in column A\r\n worksheet[cellC] = worksheet[cellF]; // Move data\r\n delete worksheet[cellF]; // Delete original data in column D\r\n \r\n const cellG = XLSX.utils.encode_cell({ r: i, c: 6 }); // Cell in column D\r\n const cell_D = XLSX.utils.encode_cell({ r: i, c: 3 }); // Corresponding cell in column A\r\n worksheet[cell_D] = worksheet[cellG]; // Move data\r\n delete worksheet[cellG]; // Delete original data in column D\r\n\r\n const cellH = XLSX.utils.encode_cell({ r: i, c: 7 }); // Cell in column D\r\n const cell_E = XLSX.utils.encode_cell({ r: i, c: 4 }); // Corresponding cell in column A\r\n worksheet[cell_E] = worksheet[cellH]; // Move data\r\n delete worksheet[cellH]; // Delete original data in column D\r\n\r\n const cellI = XLSX.utils.encode_cell({ r: i, c: 8 }); // Cell in column D\r\n const cell_F = XLSX.utils.encode_cell({ r: i, c: 5 }); // Corresponding cell in column A\r\n worksheet[cell_F] = worksheet[cellI]; // Move data\r\n delete worksheet[cellI]; // Delete original data in column D\r\n\r\n const cellJ = XLSX.utils.encode_cell({ r: i, c: 9 }); // Cell in column D\r\n const cell_G = XLSX.utils.encode_cell({ r: i, c: 6 }); // Corresponding cell in column A\r\n worksheet[cell_G] = worksheet[cellJ]; // Move data\r\n delete worksheet[cellJ]; // Delete original data in column D\r\n\r\n const cellK = XLSX.utils.encode_cell({ r: i, c: 10 }); // Cell in column D\r\n const cell_H = XLSX.utils.encode_cell({ r: i, c: 7 }); // Corresponding cell in column A\r\n worksheet[cell_H] = worksheet[cellK]; // Move data\r\n delete worksheet[cellK]; // Delete original data in column D\r\n\r\n const cellL = XLSX.utils.encode_cell({ r: i, c: 11 }); // Cell in column D\r\n const cell_I = XLSX.utils.encode_cell({ r: i, c: 8 }); // Corresponding cell in column A\r\n worksheet[cell_I] = worksheet[cellL]; // Move data\r\n delete worksheet[cellL]; // Delete original data in column D\r\n\r\n const cellM = XLSX.utils.encode_cell({ r: i, c: 12 }); // Cell in column D\r\n const cell_J = XLSX.utils.encode_cell({ r: i, c: 9 }); // Corresponding cell in column A\r\n worksheet[cell_J] = worksheet[cellM]; // Move data\r\n delete worksheet[cellM]; // Delete original data in column D\r\n\r\n const cellN = XLSX.utils.encode_cell({ r: i, c: 13 }); // Cell in column D\r\n const cell_K = XLSX.utils.encode_cell({ r: i, c: 10 }); // Corresponding cell in column A\r\n worksheet[cell_K] = worksheet[cellN]; // Move data\r\n delete worksheet[cellN]; // Delete original data in column D\r\n\r\n const cellO = XLSX.utils.encode_cell({ r: i, c: 14 }); // Cell in column D\r\n const cell_L = XLSX.utils.encode_cell({ r: i, c: 11 }); // Corresponding cell in column A\r\n worksheet[cell_L] = worksheet[cellO]; // Move data\r\n delete worksheet[cellO]; // Delete original data in column D\r\n\r\n const cellP = XLSX.utils.encode_cell({ r: i, c: 15 }); // Cell in column D\r\n const cell_M = XLSX.utils.encode_cell({ r: i, c: 12 }); // Corresponding cell in column A\r\n worksheet[cell_M] = worksheet[cellP]; // Move data\r\n delete worksheet[cellP]; // Delete original data in column D\r\n\r\n const cellQ = XLSX.utils.encode_cell({ r: i, c: 16 }); // Cell in column D\r\n const cell_N = XLSX.utils.encode_cell({ r: i, c: 13 }); // Corresponding cell in column A\r\n worksheet[cell_N] = worksheet[cellQ]; // Move data\r\n delete worksheet[cellQ]; // Delete original data in column D\r\n\r\n const cellR = XLSX.utils.encode_cell({ r: i, c: 17 }); // Cell in column D\r\n const cell_O = XLSX.utils.encode_cell({ r: i, c: 14 }); // Corresponding cell in column A\r\n worksheet[cell_O] = worksheet[cellR]; // Move data\r\n delete worksheet[cellR]; // Delete original data in column D\r\n\r\n const cellS = XLSX.utils.encode_cell({ r: i, c: 18 });\r\n const cell_P = XLSX.utils.encode_cell({ r: i, c: 15 }); // Corresponding cell in column A\r\n worksheet[cell_P] = worksheet[cellS]; // Move data\r\n delete worksheet[cellS];\r\n }\r\n }\r\n reset(){\r\n \r\n this.selectedDivisionValues = [];\r\n this.selectedDesignationValues=[];\r\n this.selectedDivisionId.reset();\r\n this.selectedDesignationId.reset();\r\n this.searchDesignationTextboxControl.reset();\r\n this.searchDivisionTextboxControl.reset();\r\n this.searchBusinessAreaTextboxControl.reset();\r\n this.selectBusinessAreaFormControl.reset();\r\n this.selectDivisionFormControl.reset();\r\n this.selectDesignationFormControl.reset();\r\n this.checklistSelection.clear();\r\n this.getSelectedItemsList =\"Select Activity\";\r\n this.searchValue = '';\r\n this.searchValueFormControl.setValue('');\r\n this.searchValueText='';\r\n this.allSelected=false\r\n this.allSelectedDivision=false;\r\n this.allSelectedDesignation=false;\r\n this.divisionList=[];\r\n this.designationList=[];\r\n this.divisionFilteredOptions= of(this.divisionList);\r\n this.designationFilteredOptions= of(this.designationList);\r\n this.dataSource_Tree.data=[];\r\n this.dataSource1 = new MatTableDataSource([]);\r\n this.formInstance.value.businessControl=[]\r\n for(let w = 0; w < this.workSheetTables.length; w++) \r\n {\r\n this.workSheetTables[w].dataSource= new MatTableDataSource([]);\r\n }\r\n this.workSheetTables=[];\r\n } \r\n \r\n \r\n\r\n\r\n\r\n}"," \r\n
    \r\n
    \r\n

    \r\n Search Activity Details \r\n

    \r\n
    \r\n
    \r\n
    \r\n Version: {{latestVersion}}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n Select Entity \r\n \r\n {{entity.name}}\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n Select Business Area\r\n \r\n \r\n {{selectedBusinessAreaValue.value? selectedBusinessAreaValue.value.join(', '): ''}}\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    No results found!
    \r\n
    \r\n Select All\r\n \r\n {{business.name}}\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n Select Division\r\n \r\n \r\n {{selectedDivisionValue.value? selectedDivisionValue.value.join(', '): ''}}\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    No results found!
    \r\n
    \r\n Select All\r\n \r\n {{division.name}}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n Select Designation\r\n \r\n \r\n {{selectedDesignationValue.value? selectedDesignationValue.value.join(', '): ''}}\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    No results found!
    \r\n
    \r\n Select All\r\n \r\n {{designation.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 Please select an item from below\r\n \r\n \r\n \r\n
  • \r\n \r\n \r\n {{node.text}} \r\n
  • \r\n
    \r\n \r\n \r\n
  • \r\n
    \r\n \r\n {{node.text}}\r\n
    \r\n
      \r\n \r\n
    \r\n
  • \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n Search\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
    Id {{element.activityId}} CAT/ BAT Reference {{element.catBatReference}} CP Reference MI Reference Tool/System/Portal {{element.tool}} Applicable to business {{element.applicableToBusiness}} Activity {{element.activity}} Responsible Accountable Consult Inform Remark Activity forming part of LAT? {{element.activityFormingPartOfLat}} BusinessArea {{element.businessArea}}
    No data matching the Search
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    BgColor {{element.bgColor}} FontColor {{element.fontColor}} FontWeight {{element.fontWeight}} Id {{element.activityId}} Source of Activity {{element.sourceOfActivity}} CAT/ BAT Reference {{element.catBatReference}} CP Reference MI Reference BR Reference Tool/System/Portal {{element.tool}} Applicable to business {{element.applicableToBusiness}} Activity {{element.activity}} Responsible Accountable Consult Inform Remark Activity forming part of LAT? {{element.activityFormingPartOfLat}} BusinessArea {{element.businessArea}} BusinessAreaCode {{element.businessAreaCode}}
    No data matching the filter
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n","\r\nimport {CollectionViewer, SelectionChange, DataSource} from '@angular/cdk/collections';\r\nimport {FlatTreeControl} from '@angular/cdk/tree';\r\nimport {Component, Injectable, OnInit } from '@angular/core';\r\nimport {BehaviorSubject, merge, Observable} from 'rxjs';\r\nimport {map} from 'rxjs/operators';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { PopupComponent } from '../popup/popup.component';\r\nimport {MatTreeFlatDataSource, MatTreeFlattener} from '@angular/material/tree';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { DataService } from '../../Services/data.service';\r\n//import { SearchService } from \"src/app/Services/activity-master.service\";\r\nimport { ActivityMasterService } from \"src/app/Services/activity-master.service\";\r\ninterface FoodNodeFlat {\r\n text: string;\r\n id: Number;\r\n parentId: Number;\r\n children?: FoodNodeFlat[];\r\n }\r\n /* const TREE_DATA: FoodNodeFlat[] = [\r\n { name: 'Fruit', Id: 1, parentId:null },\r\n { name: 'Apple', Id: 2, parentId: 1 },\r\n { name: 'Banana', Id: 3, parentId: 1 },\r\n { name: 'Fruit loops', Id: 4, parentId: 1 }, \r\n { name: 'Vegetables', Id: 5, parentId:null },\r\n { name: 'Green', Id: 6, parentId: 5 },\r\n { name: 'Broccoli', Id: 7, parentId: 6 },\r\n { name: 'Brussels sprouts', Id: 8, parentId: 6 }, \r\n { name: 'Orange', Id: 9, parentId: 5 },\r\n { name: 'Pumpkins', Id: 10, parentId: 9 },\r\n { name: 'Carrots', Id: 11, parentId: 9 },\r\n { name: 'India', Id: 12, parentId: null },\r\n { name: 'Maharashtra', Id: 13, parentId: 12 },\r\n { name: 'Mumbai', Id: 14, parentId: 13 },\r\n { name: 'Karnataka', Id: 15, parentId: 12 },\r\n { name: 'Bangalore', Id: 16, parentId: 15 },\r\n { name: 'Satara', Id: 17, parentId: 14 },\r\n { name: 'Karad', Id: 18, parentId: 17 },] */\r\n \r\n interface ExampleFlatNode {\r\n expandable: boolean;\r\n name: string;\r\n level: number;\r\n }\r\n @Component({\r\n selector: 'app-treeview',\r\n templateUrl: './treeview.component.html',\r\n styleUrls: ['./treeview.component.scss']\r\n})\r\n export class TreeviewComponent implements OnInit {\r\n\r\n \r\n\r\n \r\n\r\n\r\n private _transformer = (node: FoodNodeFlat , level: number) => {\r\n return {\r\n expandable: !!node.children && node.children.length > 0,\r\n name: node.text,\r\n id:node.id,\r\n level: level,\r\n };\r\n }\r\n treeControl = new FlatTreeControl(\r\n node => node.level, node => node.expandable);\r\n treeFlattener = new MatTreeFlattener(\r\n this._transformer, node => node.level, node => node.expandable, node => node.children);\r\n dataSource = new MatTreeFlatDataSource(this.treeControl, this.treeFlattener);\r\n\r\n \r\n\r\n constructor( public dialog: MatDialog,private dataService: DataService, private searchserv: ActivityMasterService) {\r\n //this.dataSource.data = TREE_DATA;\r\n }\r\n\r\n\r\n\r\n hasChild = (_: number, node: ExampleFlatNode) => node.expandable;\r\n ngOnInit() {\r\n //this.dataSource.data =this.treeConstruct(TREE_DATA);\r\n this.searchserv.getActivityList(1).subscribe((data: any[])=>{\r\n console.log(data);\r\n this.dataSource.data = this.treeConstruct(data);\r\n \r\n }) \r\n\r\n\r\n\r\n }\r\n\r\n\r\n//constructTree recursively iterates through the tree to create nested tree structure.\r\n //We only need Id and parentId Columns in the flat data to construct this tree properly.\r\n treeConstruct(treeData) {\r\n let constructedTree = [];\r\n for (let i of treeData) {\r\n let treeObj = i;\r\n let assigned = false;\r\n this.constructTree(constructedTree, treeObj, assigned)\r\n }\r\n return constructedTree;\r\n }\r\nconstructTree(constructedTree, treeObj, assigned) {\r\nif (treeObj.parentId == null) {\r\n treeObj.children = [];\r\n constructedTree.push(treeObj);\r\n return true;\r\n } else if (treeObj.parentId == constructedTree.id) {\r\n treeObj.children = [];\r\n constructedTree.children.push(treeObj);\r\n return true;\r\n }\r\n else {\r\n if (constructedTree.children != undefined) {\r\n for (let index = 0; index < constructedTree.children.length; index++) {\r\n let constructedObj = constructedTree.children[index];\r\n if (assigned == false) {\r\n assigned = this.constructTree(constructedObj, treeObj, assigned);\r\n }\r\n }\r\n } else {\r\n for (let index = 0; index < constructedTree.length; index++) {\r\n let constructedObj = constructedTree[index];\r\n if (assigned == false) {\r\n assigned = this.constructTree(constructedObj, treeObj, assigned);\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n }\r\n\r\n openPopupDialog(node: any): void {\r\n const dialogRef = this.dialog.open(PopupComponent, {\r\n width: '1000px',\r\n data: node.id \r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n node.id = result;\r\n }\r\n });\r\n }\r\n\r\n\r\n } \r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n \r\n \r\n {{node.name}}\r\n \r\n \r\n \r\n \r\n \r\n {{node.name}}\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n","import { Component, Inject, OnInit, Pipe, PipeTransform, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, FormGroupDirective, NgForm, ValidatorFn, Validators } from '@angular/forms';\r\nimport { ErrorStateMatcher } from '@angular/material/core';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MsalService } from '@azure/msal-angular';\r\nimport { UserRoleMapService } from 'src/app/Services/user-role-map.service';\r\n\r\nexport interface UserRoleMappingModel{\r\n userId: number;\r\n firstName: string;\r\n lastName: string;\r\n email : string;\r\n mobile : string;\r\n isActive : boolean;\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'app-user-role-mapping',\r\n templateUrl: './user-role-mapping.component.html',\r\n styleUrls: ['./user-role-mapping.component.scss']\r\n})\r\n\r\nexport class UserRoleMappingComponent implements OnInit {\r\n \r\n isIdVisible: boolean = false;\r\n dataSource : any;\r\n show: boolean = true;\r\n displayedColumns: string[] = ['firstName','lastName','email','isActive','action'];\r\n \r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n\r\n constructor(private snackBar: MatSnackBar,public dialog: MatDialog,\r\n public userRoleServ: UserRoleMapService) {}\r\n\r\n ngOnInit(): void {\r\n this.getAllUserDetails();\r\n }\r\n\r\n // retrieve(){\r\n // let data=this.authService.instance.getAllAccounts();\r\n // console.log('da',data);\r\n // console.log('this.formInstance.value.email',this.formInstance.value.email)\r\n // this.userRoleServ.getUserDetails(this.formInstance.value.email).subscribe((data:any)=>{\r\n // this.userRoleMappingModel = data[0];\r\n // console.log('this.userRoleMappingModel',this.userRoleMappingModel)\r\n // });\r\n // }\r\n\r\n openDialogBox(){\r\n this.isIdVisible = false;\r\n const dialogRef = this.dialog.open(AddUserRoleMappingDialogComponent,{\r\n height: '500px',\r\n width: '550px'\r\n });\r\n dialogRef.afterClosed().subscribe({\r\n next: (val) => {\r\n if(val){\r\n this.getAllUserDetails();\r\n }\r\n }\r\n })\r\n}\r\n\r\nsnackBarLoader(content, action, duration, color){\r\n this.snackBar.open(content, action, {\r\n duration: 2000,\r\n verticalPosition: \"top\", \r\n horizontalPosition: \"center\", \r\n panelClass: [color]\r\n });\r\n}\r\n\r\n loadResourceToEdit(data : any){\r\n this.isIdVisible = true;\r\n const dialogRef = this.dialog.open(AddUserRoleMappingDialogComponent,{\r\n data,\r\n }) \r\n dialogRef.afterClosed().subscribe({\r\n next: (val) => {\r\n if(val){\r\n this.getAllUserDetails();\r\n }\r\n }\r\n })\r\n }\r\n\r\n getAllUserDetails(){\r\n this.userRoleServ.getAllUserDetails().subscribe((data:any)=>{\r\n console.log('dataaa',data)\r\n this.dataSource= new MatTableDataSource(data);\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n });\r\n }\r\n \r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n\r\n if (this.dataSource.paginator) {\r\n this.dataSource.paginator.firstPage();\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\n@Component ({\r\n selector: 'app-dialog-userRole',\r\n templateUrl: './add-user-role-mapping-dialog.html',\r\n styleUrls: ['./user-role-mapping.component.scss']\r\n})\r\n\r\n export class AddUserRoleMappingDialogComponent implements OnInit {\r\n formInstance: FormGroup;\r\n isIdVisible :boolean =false;\r\n ischecked :boolean =true;\r\n isEditable: boolean = false;\r\n isDisabled: boolean = true;\r\n isEmailDisabled: boolean = false;\r\n userRoleMappingModel: UserRoleMappingModel= {} as UserRoleMappingModel;\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,public dialogRef: MatDialogRef,\r\n private snackBar: MatSnackBar,private _formBuilder: FormBuilder, private userRoleServ: UserRoleMapService,\r\n private authService: MsalService) \r\n {\r\n if(this.data !=null && this.data !=undefined)\r\n this.isEmailDisabled = true;\r\n this.formInstance = _formBuilder.group({\r\n \"userId\": 0,\r\n \"email\": [{value: '', disabled: this.isEmailDisabled}, Validators.required], \r\n \"firstName\": [{value: '', disabled: true}],\r\n \"lastName\": [{value: '', disabled: true}],\r\n \"isActive\": true,\r\n \"mobile\": '', \r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n console.log('this.data',this.data)\r\n if(this.data !=null && this.data !=undefined)\r\n {\r\n console.log('this.data',this.data)\r\n this.isDisabled = false;\r\n this.isEditable = true;\r\n this.userRoleMappingModel.userId = this.data.userId;\r\n this.userRoleMappingModel.firstName = this.data.firstName;\r\n this.userRoleMappingModel.lastName = this.data.lastName;\r\n this.userRoleMappingModel.email = this.data.email;\r\n this.userRoleMappingModel.mobile = this.data.mobile;\r\n this.userRoleMappingModel.isActive = this.data.isActive;\r\n this.isIdVisible = true\r\n }\r\n var emailId = sessionStorage.getItem('LoginEmail');\r\n }\r\n\r\n retrieve() {\r\n if(this.formInstance.value.email==undefined){\r\n this.snackBarLoader('Please enter user email', 'Error', 3000, 'red-snackbar');\r\n return\r\n }\r\n if(this.formInstance.value.email.trim()==''){\r\n this.snackBarLoader('Please enter user email', 'Error', 3000, 'red-snackbar');\r\n return\r\n }\r\n this.isEditable = true;\r\n this.userRoleServ.getUserDetailsByEmail(this.formInstance.value.email).subscribe({\r\n next: (data: any) => {\r\n\r\n console.log(data);\r\n\r\n if (data) {\r\n\r\n this.userRoleMappingModel = data;\r\n\r\n } else {\r\n\r\n this.snackBarLoader('Data not found', 'Error', 3000, 'red-snackbar');\r\n\r\n }\r\n\r\n },\r\n\r\n error: (err: any) => {\r\n\r\n console.log(err);\r\n \r\n this.snackBarLoader(err.error.text, 'Error', 3000, 'red-snackbar');\r\n\r\n this.isEditable = false;\r\n\r\n }\r\n });\r\n }\r\n\r\n \r\n snackBarLoader(content, action, duration, color){\r\n this.snackBar.open(content, action, {\r\n duration: 2000,\r\n verticalPosition: \"top\", \r\n horizontalPosition: \"center\", \r\n panelClass: [color]\r\n });\r\n }\r\n \r\n closepopup(){\r\n this.dialogRef.close();\r\n }\r\n\r\n save(){\r\n if (this.formInstance.invalid) {\r\n return;\r\n }\r\n //this.divisionModel.createdBy = this.createdByUserId;\r\n this.userRoleServ.save(this.userRoleMappingModel).subscribe({\r\n next: (val :any) => {\r\n this.snackBarLoader('Submitted Successfully','Done','1000', 'red-snackbar')\r\n //this.resetForm();\r\n this.dialogRef.close(true);\r\n },\r\n error: (err: any) =>{\r\n this.snackBarLoader(err.error,'Done','1000', 'red-snackbar')\r\n this.resetForm();\r\n }\r\n })\r\n }\r\n \r\n update(){\r\n console.log('this.userRoleMappingModel',this.userRoleMappingModel)\r\n console.log('this.formInstance.invalid',this.formInstance.value)\r\n // if (this.formInstance.value.firstName == '' &&this.formInstance.value.lastName == '' &&\r\n // this.formInstance.value.mobile == '' && this.formInstance.value.userId == '' ) {\r\n // return;\r\n // }\r\n console.log('this.userRoleMappingModel',this.userRoleMappingModel)\r\n this.userRoleServ.save(this.userRoleMappingModel).subscribe({\r\n next: (val :any) => {\r\n this.snackBarLoader('Updated Successfully','Done','1000', 'red-snackbar')\r\n this.resetForm();\r\n this.dialogRef.close(true);\r\n },\r\n error: (err: any) =>{\r\n this.snackBarLoader(err.error,'Done','1000', 'red-snackbar')\r\n this.resetForm();\r\n }\r\n }) \r\n \r\n }\r\n\r\n \r\n resetForm() { \r\n this.isEditable = false;\r\n this.formInstance.reset(); \r\n this.userRoleMappingModel.userId = 0;\r\n Object.keys(this.formInstance.controls).forEach(key => {\r\n this.formInstance.get(key).setErrors(null) ;\r\n });\r\n this.isIdVisible = false;\r\n this.dialogRef.close(true);\r\n }\r\n}","\r\n
    \r\n

    Admin Role Mapping

    \r\n \r\n
    \r\n
    \r\n\r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n Search\r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    Id{{ element.userId }}First Name{{ element.firstName }}Last Name{{ element.lastName }}Email{{ element.email }}IsAdmin{{ element.isActive ? 'Yes' : 'No' }}Action\r\n \r\n
    No data matching the filter
    \r\n \r\n
    \r\n
    \r\n
    ","
    \r\n
    \r\n

    User Role Map\r\n close\r\n

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Id \r\n \r\n \r\n
    \r\n
    \r\n \r\n Email Id\r\n \r\n Please enter email\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n First Name \r\n \r\n \r\n
    \r\n
    \r\n \r\n Last Name \r\n \r\n \r\n
    \r\n
    \r\n \r\n Mobile Number\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Admin \r\n \r\n
    \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 { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { MsalGuard } from '@azure/msal-angular';\r\nimport { SideNavComponent } from './sidenav/side-nav.component';\r\nimport { DashboardComponent } from './admin/dashboard/dashboard.component';\r\nimport { ReportComponent } from './admin/report/report.component';\r\nimport { TreeviewComponent } from './admin/treeview/treeview.component';\r\nimport { SearchComponent } from './admin/search/search.component';\r\nimport { BusinessAreaComponent } from './admin/business-area/business-area.component';\r\nimport { DivisionComponent } from './admin/division/division.component';\r\nimport { DesignationComponent } from './admin/designation/designation.component';\r\nimport { ActivityMasterComponent } from './admin/activity-master/activity-master.component';\r\nimport { ActivityMappingComponent } from './admin/activitymapping/activitymapping.component';\r\nimport { EntityComponent } from './admin/entity/entity.component';\r\nimport { ActivityDataComponent } from './admin/activity-data/activity-data.component';\r\nimport { ActivityDataMappComponent } from './admin/activity-data-mapp/activity-data-mapp.component';\r\nimport { PreambleComponent } from './admin/preamble/preamble.component';\r\nimport { ReadingThisDocumentComponent } from './admin/reading-this-document/reading-this-document.component';\r\nimport { HistoryComponent } from './admin/history/history.component';\r\nimport { DesignationMappingComponent } from './admin/designation-mapping/designation-mapping.component';\r\nimport { UserRoleMappingComponent } from './admin/user-role-mapping/user-role-mapping.component';\r\nimport { ActivityDataMappingComponent } from './admin/activity-data-mapping/activity-data-mapping.component';\r\n\r\nconst routes: Routes = [\r\n \r\n {\r\n path: 'SideNav',\r\n component: SideNavComponent,\r\n },\r\n {\r\n path: 'Dashboard',\r\n component: DashboardComponent,\r\n },\r\n \r\n {\r\n path: 'Treeview',\r\n component: TreeviewComponent,\r\n },\r\n\r\n {\r\n path: 'Report',\r\n component: ReportComponent,\r\n },\r\n {\r\n path: 'Search',\r\n component: SearchComponent,\r\n },\r\n {\r\n path: 'Designation',\r\n component: DesignationComponent,\r\n },\r\n {\r\n path: 'Division',\r\n component: DivisionComponent,\r\n },\r\n {\r\n path: 'Entity',\r\n component: EntityComponent,\r\n },\r\n {\r\n path: 'BusinessArea',\r\n component: BusinessAreaComponent,\r\n },\r\n {\r\n path: 'ActivityData',\r\n component: ActivityDataComponent,\r\n },\r\n {\r\n path: 'ActivityMaster',\r\n component: ActivityMasterComponent,\r\n },\r\n {\r\n path: 'ActivityMapping',\r\n component: ActivityMappingComponent,\r\n },\r\n {\r\n path: 'Preamble',\r\n component: PreambleComponent,\r\n },\r\n {\r\n path: 'ReadingDocument',\r\n component: ReadingThisDocumentComponent,\r\n },\r\n {\r\n path: 'ActivityDataMapping',\r\n component: ActivityDataMappComponent,\r\n },\r\n {\r\n path: 'History',\r\n component: HistoryComponent,\r\n },\r\n {\r\n path: 'DesignationMapping',\r\n component: DesignationMappingComponent,\r\n },\r\n {\r\n path: 'UserRoleMapping',\r\n component: UserRoleMappingComponent,\r\n },\r\n {\r\n path: 'ActivityDataMappingNew',\r\n component: ActivityDataMappingComponent,\r\n },\r\n\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes,{ useHash: true })],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","import { Component, OnInit, Inject, OnDestroy } from '@angular/core';\r\nimport { BnNgIdleService } from 'bn-ng-idle'; \r\nimport { MatSnackBar, MatSnackBarHorizontalPosition, MatSnackBarVerticalPosition } from '@angular/material/snack-bar';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss']\r\n})\r\nexport class AppComponent {\r\n title = 'AVM';\r\n \r\n // enableProdMode();\r\n\r\n horizontalPosition: MatSnackBarHorizontalPosition = 'center';\r\n verticalPosition: MatSnackBarVerticalPosition = 'top';\r\n\r\n // constructor(private bnIdle: BnNgIdleService,private _snackBar: MatSnackBar) { // initiate it in your component constructor\r\n // this.bnIdle.startWatching(60).subscribe((res) => {\r\n // if(res) {\r\n // console.log(\"session expired\");\r\n\r\n // sessionStorage.removeItem(\"userToken\");\r\n // this._snackBar.open(\"Session Timeout, Please login once again\",'Close', {\r\n // horizontalPosition: this.horizontalPosition,\r\n // verticalPosition: this.verticalPosition,\r\n // duration: 2 * 1000,\r\n // panelClass: ['red-snackbar']\r\n // });\r\n // setTimeout(() => {\r\n // window.location.reload(); \r\n // }, 500);\r\n // }\r\n // })\r\n // }\r\n}\r\n","\r\n","import { NgModule } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { FormsModule ,ReactiveFormsModule} from \"@angular/forms\";\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\n/* import {CdkTreeModule} from '@angular/cdk/tree'; */\r\n/* import { MatTreeNestedDataSource } from \"@angular/material/tree/data-source/nested-data-source\"; */\r\nimport {MatTreeModule} from '@angular/material/tree';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { AppMaterialModule } from './shared/app-material.module';\r\nimport { FlexLayoutModule } from \"@angular/flex-layout\";\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport {MatDialog} from '@angular/material/dialog';\r\nimport { LoadingComponentComponent } from './loading/loading-component/loading-component.component';\r\nimport { LoadingInterceptor} from './Services/loading.interceptor';\r\nimport { LoadingService} from './Services/loading.service';\r\nimport { from } from 'rxjs';\r\nimport { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';\r\nimport { SideNavComponent, ReportIssueDialog, ProcessFlowDialog } from './sidenav/side-nav.component';\r\nimport { AvatarModule } from 'ngx-avatar';\r\nimport { FlatpickrModule } from 'angularx-flatpickr';\r\n\r\nimport { NgbModalModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { MAT_DIALOG_DEFAULT_OPTIONS } from '@angular/material/dialog';\r\n\r\nimport { ApiservicesService } from './Services/apiservices.service';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\n /* import { TreeviewModule } from 'ngx-treeview'; */\r\n\r\n import { HttpClient } from '@angular/common/http';\r\n\r\n\r\n\r\nimport { CalendarModule, DateAdapter } from 'angular-calendar';\r\nimport { adapterFactory } from 'angular-calendar/date-adapters/date-fns'; \r\nimport * as moment from 'moment';\r\n// import { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MAT_DATE_LOCALE, MatNativeDateModule } from '@angular/material/core';\r\n// import { MatFileUploadModule } from 'angular-material-fileupload';\r\n\r\nimport { NgxIntlTelInputModule } from 'ngx-intl-tel-input';\r\nimport {MatSelectModule} from '@angular/material/select';\r\nimport {MatInputModule} from '@angular/material/input'; \r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\n\r\n// import {MatDatetimepickerModule} from '@mat-datetimepicker/core';\r\n\r\nimport {NgxMaterialTimepickerModule} from 'ngx-material-timepicker';\r\n\r\nimport {MatBadgeModule} from '@angular/material/badge';\r\nimport { IPublicClientApplication, PublicClientApplication, InteractionType, BrowserCacheLocation, LogLevel } from '@azure/msal-browser';\r\nimport { MsalGuard, MsalInterceptor, MsalBroadcastService, MsalInterceptorConfiguration, MsalModule, MsalService, MSAL_GUARD_CONFIG, MSAL_INSTANCE, MSAL_INTERCEPTOR_CONFIG, MsalGuardConfiguration, MsalRedirectComponent } from '@azure/msal-angular';\r\n\r\nimport { BnNgIdleService } from 'bn-ng-idle';\r\nimport { DashboardComponent } from './admin/dashboard/dashboard.component';\r\n\r\nimport { ReportComponent } from './admin/report/report.component';\r\n\r\nimport { TreeviewComponent } from './admin/treeview/treeview.component';\r\n import { PopupComponent } from './admin/popup/popup.component';\r\nimport { SearchComponent } from './admin/search/search.component'; \r\n\r\nimport {cloneDeep} from 'lodash/cloneDeep';\r\n\r\nimport { AddEntityDialog, EntityComponent } from './admin/entity/entity.component';\r\nimport { AddBusinessAreaDialog, BusinessAreaComponent } from './admin/business-area/business-area.component';\r\nimport { AddDivisionDialog, DivisionComponent } from './admin/division/division.component';\r\nimport { AddDesignationDialog, DesignationComponent } from './admin/designation/designation.component';\r\nimport { AddPreambleDialog, PreambleComponent } from './admin/preamble/preamble.component';\r\nimport { AddReadingDocumentDialog, ReadingThisDocumentComponent } from './admin/reading-this-document/reading-this-document.component';\r\n\r\nimport { MatSelectFilterModule } from 'mat-select-filter';\r\nimport { ActivityMasterComponent,AddActivityDialog } from './admin/activity-master/activity-master.component';\r\nimport { ActivityMappingComponent } from './admin/activitymapping/activitymapping.component';\r\nimport { ActivityDataComponent, CPMIBRReference } from './admin/activity-data/activity-data.component';\r\nimport { ActivityDataMappComponent } from './admin/activity-data-mapp/activity-data-mapp.component';\r\nimport { NgxEditorModule } from 'ngx-editor';\r\nimport { HistoryComponent } from './admin/history/history.component'; \r\nimport { AddDesignationMappingDialog, DesignationMappingComponent } from './admin/designation-mapping/designation-mapping.component';\r\nimport { environment } from '../environments/environment';\r\nimport { AddUserRoleMappingDialogComponent, UserRoleMappingComponent } from './admin/user-role-mapping/user-role-mapping.component';\r\nimport { ActivityDataMappingComponent } from './admin/activity-data-mapping/activity-data-mapping.component';\r\n\r\nconst isIE = window.navigator.userAgent.indexOf(\"MSIE \") > -1 || window.navigator.userAgent.indexOf(\"Trident/\") > -1;\r\n\r\nexport function loggerCallback(logLevel: LogLevel, message: string) {\r\n \r\n console.log(message);\r\n\r\n}\r\n\r\nconst avatarColors = [\"#e7cb25\", \"#95a5a6\", \"#f39c12\", \"#ffd100\", \"#5bbb4c\",\"#a9a9a9\", \"#262626\"];\r\n \r\nexport function MSALInterceptorConfigFactory(): MsalInterceptorConfiguration {\r\n const protectedResourceMap = new Map>();\r\n protectedResourceMap.set('https://graph.microsoft.com/v1.0/me', ['user.read']);\r\n\r\n return {\r\n interactionType: InteractionType.Redirect,\r\n protectedResourceMap\r\n };\r\n}\r\n\r\nexport function MSALGuardConfigFactory(): MsalGuardConfiguration {\r\n return { \r\n interactionType: InteractionType.Redirect,\r\n authRequest: {\r\n scopes: ['user.read']\r\n }\r\n };\r\n}\r\n\r\nexport function MSALInstanceFactory(): IPublicClientApplication {\r\n\r\n return new PublicClientApplication({\r\n\r\n auth: {\r\n //Local and Dev ClientId\r\n //clientId: '94929b7a-6c22-46d7-97e7-8d616d5185e6',\r\n\r\n //QA and UAT ClientId\r\n // clientId: '1c26ffc4-7bc8-4b38-a669-4129bab6543f', \r\n\r\n //authority: 'https://login.microsoftonline.com/372ee9e0-9ce0-4033-a64a-c07073a91ecd',\r\n \r\n /* redirectUri: 'http://localhost:4200/', */ \r\n \r\n //redirectUri : 'https://dev.table-of-authority.in.abb.com/', \r\n // redirectUri : 'https://qa.table-of-authority.in.abb.com/', \r\n // redirectUri : 'https://stage.table-of-authority.in.abb.com/', \r\n redirectUri: environment.redirectUri ,\r\n clientId: environment.clientId,\r\n authority: environment.authority,\r\n },\r\n \r\n\r\n cache: {\r\n cacheLocation: BrowserCacheLocation.SessionStorage,\r\n storeAuthStateInCookie: isIE, // set to true for IE 11\r\n },\r\n\r\n system: {\r\n loggerOptions: {\r\n loggerCallback,\r\n logLevel: LogLevel.Info,\r\n piiLoggingEnabled: false\r\n }\r\n }\r\n });\r\n}\r\n\r\n\r\n \r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n SideNavComponent,\r\n LoadingComponentComponent,\r\n DashboardComponent,\r\n ReportComponent,\r\n TreeviewComponent ,\r\n PopupComponent,\r\n SearchComponent ,\r\n ReportIssueDialog,\r\n ProcessFlowDialog,\r\n EntityComponent,\r\n AddEntityDialog,\r\n AddBusinessAreaDialog,\r\n AddDesignationDialog,\r\n AddDivisionDialog,\r\n BusinessAreaComponent,\r\n DivisionComponent,\r\n DesignationComponent,\r\n ActivityMasterComponent,\r\n AddActivityDialog,\r\n ActivityMappingComponent,\r\n PreambleComponent,\r\n AddPreambleDialog, \r\n ReadingThisDocumentComponent,\r\n AddReadingDocumentDialog,\r\n ActivityDataComponent,CPMIBRReference, ActivityDataMappComponent,\r\n HistoryComponent,\r\n DesignationMappingComponent,\r\n AddDesignationMappingDialog,\r\n UserRoleMappingComponent,\r\n AddUserRoleMappingDialogComponent,\r\n ActivityDataMappingComponent\r\n ],\r\n imports: [\r\n BrowserModule, MatNativeDateModule,\r\n AppRoutingModule,\r\n NgxEditorModule,\r\n BrowserAnimationsModule,NgbModalModule,FlatpickrModule.forRoot(),\r\n AppMaterialModule,FlexLayoutModule, MatDialogModule, FormsModule, MatFormFieldModule,\r\n NgxIntlTelInputModule,NgxMaterialTimepickerModule,MatSelectModule, MatInputModule,\r\n MatTreeModule,MatIconModule,MatCheckboxModule,MatSelectFilterModule,\r\n HttpClientModule,ReactiveFormsModule, NgbModule, MatBadgeModule, AvatarModule.forRoot({\r\n colors: avatarColors\r\n }), CalendarModule.forRoot({ provide: DateAdapter, useFactory: adapterFactory }),\r\n \r\n ], \r\n providers: [\r\n ApiservicesService, {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: LoadingInterceptor,\r\n multi: true},\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: MsalInterceptor,\r\n multi: true\r\n },\r\n {\r\n\r\n provide: MSAL_INSTANCE,\r\n \r\n useFactory: MSALInstanceFactory\r\n \r\n },\r\n \r\n {\r\n \r\n provide: MSAL_GUARD_CONFIG,\r\n \r\n useFactory: MSALGuardConfigFactory\r\n \r\n },\r\n \r\n {\r\n \r\n provide: MSAL_INTERCEPTOR_CONFIG,\r\n \r\n useFactory: MSALInterceptorConfigFactory\r\n \r\n },\r\n { provide: MAT_DATE_LOCALE, useValue: 'en-GB' },\r\n \r\n MsalService,\r\n \r\n MsalGuard,\r\n \r\n MsalBroadcastService,\r\n LoadingService,\r\n {provide: MAT_DIALOG_DEFAULT_OPTIONS, useValue: {hasBackdrop: true}}\r\n \r\n \r\n \r\n ],\r\n\r\n \r\n entryComponents: [ \r\n // AddDataDialogue,\r\n // AddAssetDetailsDialogue, \r\n // AssignAssetDialog, \r\n // AddSupplierDialog,\r\n // AssignBreakFixDialog,\r\n ],\r\n bootstrap: [AppComponent,MsalRedirectComponent]\r\n})\r\nexport class AppModule { }\r\n ","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-loading-component',\r\n templateUrl: './loading-component.component.html',\r\n styleUrls: ['./loading-component.component.scss']\r\n})\r\nexport class LoadingComponentComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n//Angular Material Components\r\nimport {BrowserAnimationsModule} from '@angular/platform-browser/animations';\r\nimport {CdkTableModule} from '@angular/cdk/table';\r\nimport {MatDividerModule} from '@angular/material/divider';\r\nimport {MatCheckboxModule} from '@angular/material/checkbox';\r\nimport {MatButtonModule} from '@angular/material/button';\r\nimport {MatInputModule} from '@angular/material/input';\r\nimport {MatAutocompleteModule} from '@angular/material/autocomplete';\r\nimport {MatDatepickerModule} from '@angular/material/datepicker';\r\nimport {MatFormFieldModule} from '@angular/material/form-field';\r\nimport {MatRadioModule} from '@angular/material/radio';\r\nimport {MatSelectModule} from '@angular/material/select';\r\nimport {MatSliderModule} from '@angular/material/slider';\r\nimport {MatSlideToggleModule} from '@angular/material/slide-toggle';\r\nimport {MatMenuModule} from '@angular/material/menu';\r\nimport {MatSidenavModule} from '@angular/material/sidenav';\r\nimport {MatToolbarModule} from '@angular/material/toolbar';\r\nimport {MatListModule} from '@angular/material/list';\r\nimport {MatGridListModule} from '@angular/material/grid-list';\r\nimport {MatCardModule} from '@angular/material/card';\r\nimport {MatStepperModule} from '@angular/material/stepper';\r\nimport {MatTabsModule} from '@angular/material/tabs';\r\nimport {MatExpansionModule} from '@angular/material/expansion';\r\nimport {MatButtonToggleModule} from '@angular/material/button-toggle';\r\nimport {MatChipsModule} from '@angular/material/chips';\r\nimport {MatIconModule} from '@angular/material/icon';\r\nimport {MatProgressSpinnerModule} from '@angular/material/progress-spinner';\r\nimport {MatProgressBarModule} from '@angular/material/progress-bar';\r\nimport {MatDialogModule} from '@angular/material/dialog';\r\nimport {MatTooltipModule} from '@angular/material/tooltip';\r\nimport {MatSnackBarModule} from '@angular/material/snack-bar';\r\nimport {MatTableModule} from '@angular/material/table';\r\nimport {MatSortModule} from '@angular/material/sort';\r\nimport {MatPaginatorModule} from '@angular/material/paginator';\r\nimport {MatRippleModule} from '@angular/material/core';\r\nimport {MatMomentDateModule} from '@angular/material-moment-adapter';\r\n//import { NgChartsModule } from 'ng2-charts';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n // NgChartsModule,\r\n CdkTableModule,\r\n MatCheckboxModule,\r\n MatCheckboxModule,\r\n MatButtonModule,\r\n MatInputModule,\r\n MatAutocompleteModule,\r\n MatDatepickerModule,\r\n MatFormFieldModule,\r\n MatRadioModule,\r\n MatSelectModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatMenuModule,\r\n MatSidenavModule,\r\n MatToolbarModule,\r\n MatListModule,\r\n MatGridListModule,\r\n MatCardModule,\r\n MatStepperModule,\r\n MatTabsModule,\r\n MatExpansionModule,\r\n MatButtonToggleModule,\r\n MatChipsModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule,\r\n MatProgressBarModule,\r\n MatDialogModule,\r\n MatTooltipModule,\r\n MatSnackBarModule,\r\n MatTableModule,\r\n MatSortModule,\r\n MatPaginatorModule,\r\n MatRippleModule,\r\n MatMomentDateModule\r\n ],\r\n exports: [\r\n BrowserAnimationsModule,\r\n CdkTableModule,\r\n MatCheckboxModule,\r\n MatCheckboxModule,\r\n MatButtonModule,\r\n MatInputModule,\r\n MatAutocompleteModule,\r\n MatDatepickerModule,\r\n MatFormFieldModule,\r\n MatRadioModule,\r\n MatSelectModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatMenuModule,\r\n MatSidenavModule,\r\n MatToolbarModule,\r\n MatListModule,\r\n MatGridListModule,\r\n MatCardModule,\r\n MatStepperModule,\r\n MatTabsModule,\r\n MatExpansionModule,\r\n MatButtonToggleModule,\r\n MatChipsModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule,\r\n MatProgressBarModule,\r\n MatDialogModule,\r\n MatTooltipModule,\r\n MatSnackBarModule,\r\n MatTableModule,\r\n MatSortModule,\r\n MatPaginatorModule,\r\n MatRippleModule,\r\n MatMomentDateModule\r\n ]\r\n})\r\nexport class AppMaterialModule { }","import { Component, OnInit, Inject, OnDestroy, Injectable } from '@angular/core';\r\n\r\nimport { MsalService, MsalBroadcastService, MSAL_GUARD_CONFIG, MsalGuardConfiguration } from '@azure/msal-angular';\r\nimport { AuthenticationResult, InteractionStatus, InteractionType, PopupRequest, RedirectRequest } from '@azure/msal-browser';\r\nimport { Subject } from 'rxjs';\r\nimport { filter, takeUntil } from 'rxjs/operators';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { CanDeactivate,ActivatedRouteSnapshot, Router, RouterStateSnapshot, NavigationEnd } from '@angular/router';\r\nimport { ApiservicesService } from 'src/app/Services/apiservices.service';\r\nimport { CanActivate } from '@angular/router/router';\r\nimport { Observable } from 'rxjs';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport {FormBuilder, FormControl, FormGroup, Validators} from '@angular/forms';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\n\r\n// declare interface menu {\r\n// menuLink?:string;\r\n// menuTitle: string;\r\n// menuIcon:string;\r\n// children?:menu[];\r\n// }\r\n// export const menu: menu[] = [];\r\n\r\n\r\n\r\n\r\nconst GRAPH_ENDPOINT = 'https://graph.microsoft.com/v1.0/me/photo/$value';\r\n@Component({\r\n selector: 'app-side-nav',\r\n templateUrl: './side-nav.component.html',\r\n styleUrls: ['./side-nav.component.scss']\r\n})\r\nexport class SideNavComponent implements OnInit,OnDestroy {\r\n menuItems! :any[];\r\n isIframe = false;\r\n loginDisplay = false;\r\n private readonly _destroying$ = new Subject();\r\n loginame!: string;\r\n Email: any;\r\n status=false;\r\n reportIssue: boolean = true;\r\ncurrentYear: number=new Date().getFullYear();\r\n constructor(\r\n @Inject(MSAL_GUARD_CONFIG) private msalGuardConfig: MsalGuardConfiguration,\r\n private authService: MsalService,\r\n private msalBroadcastService: MsalBroadcastService,public dialog: MatDialog,private http: HttpClient, private domSanitizer: DomSanitizer,private router:Router,\r\n public apisrv:ApiservicesService\r\n ) { }\r\n ngOnInit(): void {\r\n \r\n console.log(\"start\");\r\n sessionStorage.setItem('countMatched',\"true\");\r\n this.msalBroadcastService.inProgress$\r\n .pipe(\r\n filter((status: InteractionStatus) => status === InteractionStatus.None),\r\n takeUntil(this._destroying$)\r\n )\r\n .subscribe(() => {\r\n this.setLoginDisplay();\r\n \r\n this.apisrv.GetABBLogin(window.btoa(this.Email)).subscribe((data:any)=>{\r\n console.log(data);\r\n if(data.length > 0)\r\n {\r\n sessionStorage.setItem('menuTitle',data[0].menuTitle);\r\n sessionStorage.setItem('menuIcon',data[0].menuIcon);\r\n sessionStorage.setItem('menuLink',data[0].menuLink);\r\n sessionStorage.setItem('roleId',data[0].roleIdRef);\r\n sessionStorage.setItem('role',data[0].role);\r\n sessionStorage.setItem('LoginEmail',this.Email);\r\n sessionStorage.setItem('userId',data[0].userID);\r\n sessionStorage.setItem('userToken',data[0].userToken);\r\n sessionStorage.setItem('tokenExpiration',data[0].tokenExpiration);\r\n \r\n\r\n if(data.length >1)\r\n {\r\n sessionStorage.setItem('menuTitle2',data[1].menuTitle);\r\n sessionStorage.setItem('menuIcon2', data[1].menuIcon);\r\n sessionStorage.setItem('menuLink2',data[0].menuLink);\r\n }\r\n else\r\n {\r\n sessionStorage.setItem('menuTitle2',\"\");\r\n sessionStorage.setItem('menuIcon2', \"\");\r\n sessionStorage.setItem('menuLink2',\"\");\r\n\r\n }\r\n this.menuItems = data;\r\n this.router.navigateByUrl(\"\\Search\");\r\n this.reportIssue = true;\r\n }\r\n else{\r\n this.apisrv.ShowSnackBar(\"User not authorized, Please contact administrator\",'red-snackbar'); \r\n this.loginDisplay = false;\r\n }\r\n });\r\n \r\n \r\n \r\n });\r\n }\r\n\r\n \r\n setLoginDisplay() {\r\n \r\n this.loginDisplay = this.authService.instance.getAllAccounts().length > 0;\r\n let data=this.authService.instance.getAllAccounts();\r\n console.log(data);\r\n this.loginame=data[0].name== null ? \"\" :data[0].name;\r\n this.Email=data[0].username== null ? \"\" :data[0].username;\r\n }\r\n\r\n MenuToggele() {\r\n this.status = !this.status;\r\n}\r\nUserManual(){\r\nthis.openFile(\"TOA-UserManual.pdf\"); \r\n}\r\nopenFile(fileName) {\r\nwindow.open(\"assets/documents/\" + fileName);\r\n}\r\nViewProcessFlowDialog() {\r\nconst dialogRef = this.dialog.open(ProcessFlowDialog,{\r\n height: '680px',\r\n width: '1000px',data:{}\r\n\r\n});\r\n\r\ndialogRef.afterClosed().subscribe(result => {\r\n console.log(`Dialog result: ${result}`);\r\n});\r\n\r\n}\r\nViewReportIssueDailogue() {\r\n (window as any).open(\"https://abb.service-now.com/myservices?id=myis\", \"_blank\");\r\n}\r\n login() {\r\n if (this.msalGuardConfig.authRequest) {\r\n this.authService.loginRedirect({ ...this.msalGuardConfig.authRequest } as RedirectRequest);\r\n }\r\n }\r\n\r\n logout() {\r\n\r\n sessionStorage.removeItem('menuTitle');\r\n sessionStorage.removeItem('menuIcon');\r\n sessionStorage.removeItem('menuLink');\r\n sessionStorage.removeItem('roleId');\r\n sessionStorage.removeItem('role');\r\n sessionStorage.removeItem('LoginEmail');\r\n sessionStorage.removeItem('userId');\r\n sessionStorage.removeItem('userToken');\r\n sessionStorage.removeItem('tokenExpiration');\r\n sessionStorage.removeItem('menuTitle2');\r\n sessionStorage.removeItem('menuIcon2');\r\n sessionStorage.removeItem('menuLink2');\r\n if (this.msalGuardConfig.interactionType === InteractionType.Popup) {\r\n this.authService.logoutPopup({\r\n postLogoutRedirectUri: \"/\",\r\n mainWindowRedirectUri: \"/\"\r\n });\r\n } else {\r\n this.authService.logoutRedirect({\r\n postLogoutRedirectUri: \"/\",\r\n });\r\n }\r\n }\r\n getProfile() {\r\n this.http.get(GRAPH_ENDPOINT,{responseType: \"blob\"})\r\n .subscribe((blob) => {\r\n \r\n \r\n \r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._destroying$.next(undefined);\r\n this._destroying$.complete();\r\n }\r\n}\r\n\r\n@Component ({\r\n selector: 'app-dialog',\r\n templateUrl: './reportIssueDialog.html',\r\n styleUrls: ['./side-nav.component.scss']})\r\n\r\n export class ReportIssueDialog {\r\n feedback: string;\r\n \r\n \r\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,public apisrv:ApiservicesService,private formBuilder: FormBuilder, public dialogRef: MatDialogRef) {}; /*public apisrv:ApiservicesService */\r\n \r\n ngOnInit() {\r\n } \r\n \r\n onsubmit(){\r\n var loginID = sessionStorage.getItem('loginID');\r\n \r\n if(this.feedback == undefined)\r\n {\r\n this.apisrv.ShowSnackBar(\"Feedback is required\",'red-snackbar'); \r\n }\r\n else if(this.feedback.trim() ==\"\")\r\n {\r\n this.apisrv.ShowSnackBar(\"Feedback is required\",'red-snackbar'); \r\n }\r\n \r\n } \r\n\r\n close(){\r\n this.dialogRef.close();\r\n }\r\n \r\n }\r\n\r\n@Component ({\r\n selector: 'app-dialog',\r\n templateUrl: './ProcessFlowDialog.html',\r\n styleUrls: ['./side-nav.component.scss']})\r\n\r\n export class ProcessFlowDialog {\r\n\r\n feedback: string;\r\n \r\n \r\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,public apisrv:ApiservicesService,private formBuilder: FormBuilder, public dialogRef: MatDialogRef) {}; /*public apisrv:ApiservicesService */\r\n \r\n ngOnInit() {\r\n } \r\n \r\n \r\n\r\n\r\n close(){\r\n this.dialogRef.close();\r\n }\r\n \r\n }\r\n","
    \r\n\t\r\n\t \r\n\t\r\n \r\n\t \r\n \r\n\t\r\n \r\n\t \r\n \r\n\t
    \r\n\r\n\t\t\r\n\t\t
    \r\n\t\t\r\n\t
    \r\n \r\n\t\r\n\r\n\t
    \r\n\t\t\r\n\t\t
    \r\n\t\t\r\n\t\t

    Welcome to ABB Table Of Authority Tool

    \r\n\t
    \r\n\t \r\n \r\n\r\n
    \r\n\r\n\r\n
    \r\n\t\r\n\t \r\n\t \r\n \r\n\t \r\n \r\n\t
    \r\n\t\t\r\n\t\t\r\n\t\r\n\t
    \r\n \r\n\t \r\n \r\n\t
    \r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t
    \t
    \t\r\n\t\t\t
    \r\n\t\t\t\t

    {{loginame}}

    \r\n\t\t\t\t
    {{Email}}
    \r\n\t\t\t
    \r\n\r\n\r\n\t\r\n\t\t\t
    \t\r\n\r\n\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t
    \r\n\t\t\r\n\t\t\r\n\t
    \r\n\t \r\n\t
    \r\n\r\n\t\r\n\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t 0\">\r\n\t\t\t\t\t \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t{{item.menuIcon}}\r\n\t\t\t\t\t\t\t\t

    {{item.menuTitle}}

    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t{{child.menuIcon}}\r\n\t\t\t\t\t\t\t\t

    {{child.menuTitle}}

    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t
    \t\t\t\t\r\n\t\t\t\t \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t{{item.menuIcon}}\r\n\t\t\t\t\t\t\t\t

    {{item.menuTitle}}

    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t
    \r\n\t\t
    \r\n\t\r\n\t\r\n\t\t
    \r\n\t\t\t\r\n\t\t\t© Copyright {{currentYear}} ABB INDIA LTD V1.0\r\n\t\t
    \r\n\t
    \r\n\r\n\t\r\n \r\n\r\n
    ","\r\n\r\n
    \r\n
    \r\n

    Report Issue

    \r\n
    \r\n
    \r\n close\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Feedback\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n","
    \r\n
    \r\n

    Process Flow

    \r\n
    \r\n
    \r\n close\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n","export const environment = {\r\n production: false,\r\n redirectUri: 'https://qa.table-of-authority.in.abb.com/',\r\n rooturl : 'https://qa.table-of-authority.in.abb.com/api/',\r\n clientId: '1c26ffc4-7bc8-4b38-a669-4129bab6543f', \r\n authority: 'https://login.microsoftonline.com/372ee9e0-9ce0-4033-a64a-c07073a91ecd',\r\n};\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n","var map = {\n\t\"./af\": 62275,\n\t\"./af.js\": 62275,\n\t\"./ar\": 90857,\n\t\"./ar-dz\": 11218,\n\t\"./ar-dz.js\": 11218,\n\t\"./ar-kw\": 14754,\n\t\"./ar-kw.js\": 14754,\n\t\"./ar-ly\": 66680,\n\t\"./ar-ly.js\": 66680,\n\t\"./ar-ma\": 92178,\n\t\"./ar-ma.js\": 92178,\n\t\"./ar-sa\": 56522,\n\t\"./ar-sa.js\": 56522,\n\t\"./ar-tn\": 95682,\n\t\"./ar-tn.js\": 95682,\n\t\"./ar.js\": 90857,\n\t\"./az\": 70164,\n\t\"./az.js\": 70164,\n\t\"./be\": 79774,\n\t\"./be.js\": 79774,\n\t\"./bg\": 60947,\n\t\"./bg.js\": 60947,\n\t\"./bm\": 21832,\n\t\"./bm.js\": 21832,\n\t\"./bn\": 89650,\n\t\"./bn-bd\": 74477,\n\t\"./bn-bd.js\": 74477,\n\t\"./bn.js\": 89650,\n\t\"./bo\": 66005,\n\t\"./bo.js\": 66005,\n\t\"./br\": 98492,\n\t\"./br.js\": 98492,\n\t\"./bs\": 70534,\n\t\"./bs.js\": 70534,\n\t\"./ca\": 52061,\n\t\"./ca.js\": 52061,\n\t\"./cs\": 84737,\n\t\"./cs.js\": 84737,\n\t\"./cv\": 61167,\n\t\"./cv.js\": 61167,\n\t\"./cy\": 77996,\n\t\"./cy.js\": 77996,\n\t\"./da\": 9528,\n\t\"./da.js\": 9528,\n\t\"./de\": 14540,\n\t\"./de-at\": 49430,\n\t\"./de-at.js\": 49430,\n\t\"./de-ch\": 67978,\n\t\"./de-ch.js\": 67978,\n\t\"./de.js\": 14540,\n\t\"./dv\": 83426,\n\t\"./dv.js\": 83426,\n\t\"./el\": 6616,\n\t\"./el.js\": 6616,\n\t\"./en-au\": 63816,\n\t\"./en-au.js\": 63816,\n\t\"./en-ca\": 32162,\n\t\"./en-ca.js\": 32162,\n\t\"./en-gb\": 83305,\n\t\"./en-gb.js\": 83305,\n\t\"./en-ie\": 61954,\n\t\"./en-ie.js\": 61954,\n\t\"./en-il\": 43060,\n\t\"./en-il.js\": 43060,\n\t\"./en-in\": 59923,\n\t\"./en-in.js\": 59923,\n\t\"./en-nz\": 13540,\n\t\"./en-nz.js\": 13540,\n\t\"./en-sg\": 16505,\n\t\"./en-sg.js\": 16505,\n\t\"./eo\": 41907,\n\t\"./eo.js\": 41907,\n\t\"./es\": 86640,\n\t\"./es-do\": 41246,\n\t\"./es-do.js\": 41246,\n\t\"./es-mx\": 56131,\n\t\"./es-mx.js\": 56131,\n\t\"./es-us\": 36430,\n\t\"./es-us.js\": 36430,\n\t\"./es.js\": 86640,\n\t\"./et\": 62551,\n\t\"./et.js\": 62551,\n\t\"./eu\": 32711,\n\t\"./eu.js\": 32711,\n\t\"./fa\": 54572,\n\t\"./fa.js\": 54572,\n\t\"./fi\": 33390,\n\t\"./fi.js\": 33390,\n\t\"./fil\": 87860,\n\t\"./fil.js\": 87860,\n\t\"./fo\": 48216,\n\t\"./fo.js\": 48216,\n\t\"./fr\": 99291,\n\t\"./fr-ca\": 98527,\n\t\"./fr-ca.js\": 98527,\n\t\"./fr-ch\": 58407,\n\t\"./fr-ch.js\": 58407,\n\t\"./fr.js\": 99291,\n\t\"./fy\": 47054,\n\t\"./fy.js\": 47054,\n\t\"./ga\": 49540,\n\t\"./ga.js\": 49540,\n\t\"./gd\": 73917,\n\t\"./gd.js\": 73917,\n\t\"./gl\": 51486,\n\t\"./gl.js\": 51486,\n\t\"./gom-deva\": 56245,\n\t\"./gom-deva.js\": 56245,\n\t\"./gom-latn\": 48868,\n\t\"./gom-latn.js\": 48868,\n\t\"./gu\": 59652,\n\t\"./gu.js\": 59652,\n\t\"./he\": 89019,\n\t\"./he.js\": 89019,\n\t\"./hi\": 42040,\n\t\"./hi.js\": 42040,\n\t\"./hr\": 63402,\n\t\"./hr.js\": 63402,\n\t\"./hu\": 79322,\n\t\"./hu.js\": 79322,\n\t\"./hy-am\": 27609,\n\t\"./hy-am.js\": 27609,\n\t\"./id\": 57942,\n\t\"./id.js\": 57942,\n\t\"./is\": 98275,\n\t\"./is.js\": 98275,\n\t\"./it\": 73053,\n\t\"./it-ch\": 4378,\n\t\"./it-ch.js\": 4378,\n\t\"./it.js\": 73053,\n\t\"./ja\": 46176,\n\t\"./ja.js\": 46176,\n\t\"./jv\": 679,\n\t\"./jv.js\": 679,\n\t\"./ka\": 92726,\n\t\"./ka.js\": 92726,\n\t\"./kk\": 72953,\n\t\"./kk.js\": 72953,\n\t\"./km\": 86957,\n\t\"./km.js\": 86957,\n\t\"./kn\": 59181,\n\t\"./kn.js\": 59181,\n\t\"./ko\": 47148,\n\t\"./ko.js\": 47148,\n\t\"./ku\": 27752,\n\t\"./ku.js\": 27752,\n\t\"./ky\": 65675,\n\t\"./ky.js\": 65675,\n\t\"./lb\": 41263,\n\t\"./lb.js\": 41263,\n\t\"./lo\": 65746,\n\t\"./lo.js\": 65746,\n\t\"./lt\": 11143,\n\t\"./lt.js\": 11143,\n\t\"./lv\": 38753,\n\t\"./lv.js\": 38753,\n\t\"./me\": 44054,\n\t\"./me.js\": 44054,\n\t\"./mi\": 31573,\n\t\"./mi.js\": 31573,\n\t\"./mk\": 30202,\n\t\"./mk.js\": 30202,\n\t\"./ml\": 68523,\n\t\"./ml.js\": 68523,\n\t\"./mn\": 79794,\n\t\"./mn.js\": 79794,\n\t\"./mr\": 56681,\n\t\"./mr.js\": 56681,\n\t\"./ms\": 56975,\n\t\"./ms-my\": 39859,\n\t\"./ms-my.js\": 39859,\n\t\"./ms.js\": 56975,\n\t\"./mt\": 3691,\n\t\"./mt.js\": 3691,\n\t\"./my\": 5152,\n\t\"./my.js\": 5152,\n\t\"./nb\": 7607,\n\t\"./nb.js\": 7607,\n\t\"./ne\": 21526,\n\t\"./ne.js\": 21526,\n\t\"./nl\": 86368,\n\t\"./nl-be\": 40076,\n\t\"./nl-be.js\": 40076,\n\t\"./nl.js\": 86368,\n\t\"./nn\": 68420,\n\t\"./nn.js\": 68420,\n\t\"./oc-lnc\": 51906,\n\t\"./oc-lnc.js\": 51906,\n\t\"./pa-in\": 94504,\n\t\"./pa-in.js\": 94504,\n\t\"./pl\": 54721,\n\t\"./pl.js\": 54721,\n\t\"./pt\": 74645,\n\t\"./pt-br\": 54548,\n\t\"./pt-br.js\": 54548,\n\t\"./pt.js\": 74645,\n\t\"./ro\": 71977,\n\t\"./ro.js\": 71977,\n\t\"./ru\": 26042,\n\t\"./ru.js\": 26042,\n\t\"./sd\": 78849,\n\t\"./sd.js\": 78849,\n\t\"./se\": 27739,\n\t\"./se.js\": 27739,\n\t\"./si\": 50084,\n\t\"./si.js\": 50084,\n\t\"./sk\": 92449,\n\t\"./sk.js\": 92449,\n\t\"./sl\": 23086,\n\t\"./sl.js\": 23086,\n\t\"./sq\": 33139,\n\t\"./sq.js\": 33139,\n\t\"./sr\": 30607,\n\t\"./sr-cyrl\": 30063,\n\t\"./sr-cyrl.js\": 30063,\n\t\"./sr.js\": 30607,\n\t\"./ss\": 40131,\n\t\"./ss.js\": 40131,\n\t\"./sv\": 21665,\n\t\"./sv.js\": 21665,\n\t\"./sw\": 5642,\n\t\"./sw.js\": 5642,\n\t\"./ta\": 33622,\n\t\"./ta.js\": 33622,\n\t\"./te\": 74825,\n\t\"./te.js\": 74825,\n\t\"./tet\": 48336,\n\t\"./tet.js\": 48336,\n\t\"./tg\": 39238,\n\t\"./tg.js\": 39238,\n\t\"./th\": 99463,\n\t\"./th.js\": 99463,\n\t\"./tk\": 39986,\n\t\"./tk.js\": 39986,\n\t\"./tl-ph\": 29672,\n\t\"./tl-ph.js\": 29672,\n\t\"./tlh\": 40043,\n\t\"./tlh.js\": 40043,\n\t\"./tr\": 51212,\n\t\"./tr.js\": 51212,\n\t\"./tzl\": 50110,\n\t\"./tzl.js\": 50110,\n\t\"./tzm\": 80482,\n\t\"./tzm-latn\": 38309,\n\t\"./tzm-latn.js\": 38309,\n\t\"./tzm.js\": 80482,\n\t\"./ug-cn\": 42495,\n\t\"./ug-cn.js\": 42495,\n\t\"./uk\": 54157,\n\t\"./uk.js\": 54157,\n\t\"./ur\": 80984,\n\t\"./ur.js\": 80984,\n\t\"./uz\": 64141,\n\t\"./uz-latn\": 43662,\n\t\"./uz-latn.js\": 43662,\n\t\"./uz.js\": 64141,\n\t\"./vi\": 12607,\n\t\"./vi.js\": 12607,\n\t\"./x-pseudo\": 66460,\n\t\"./x-pseudo.js\": 66460,\n\t\"./yo\": 92948,\n\t\"./yo.js\": 92948,\n\t\"./zh-cn\": 62658,\n\t\"./zh-cn.js\": 62658,\n\t\"./zh-hk\": 39352,\n\t\"./zh-hk.js\": 39352,\n\t\"./zh-mo\": 38274,\n\t\"./zh-mo.js\": 38274,\n\t\"./zh-tw\": 98451,\n\t\"./zh-tw.js\": 98451\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 = 46700;","/* (ignored) */","/* (ignored) */"],"names":["FormControl","MatTableDataSource","MatPaginator","MatSort","MAT_DIALOG_DATA","of","map","startWith","MatAccordion","Editor","i0","ActivityDetails","ActivityDataMappComponent","constructor","activityDataMapping","search","data","dialogRef","historyServ","CPReferenceLst","MIReferenceLst","BRReferenceLst","remarkWithLinksLst","remarkWithPlainTextLst","responsibleWithLinksLst","responsibleWithPlainTextLst","responsibleWithDesignationLst","accountableWithLinksLst","accountableWithPlainTextLst","accountableWithDesignationLst","consultWithLinksLst","consultWithPlainTextLst","consultWithDesignationLst","informWithLinksLst","informWithPlainTextLst","informWithDesignationLst","ngOnInit","topicEditor","remarksEditor","remarkText","setValue","remarkId","console","log","businessUnitId","businessUnit","activityId","activityIDs","businessName","activityName","loadGrid","getSrNumberForActivity","getSourceOfActivity","getcatBatReference","gettool","getapplicableToBusiness","getactivityFormingPartOfLat","getCPReference","getMIReference","getBRReference","getremark","getresponsibleWithLinks","getresponsibleWithPlainText","getresponsibleWithDesignation","getaccountableWithLinks","getaccountableWithPlainText","getaccountableWithDesignation","getconsultWithLinks","getconsultWithPlainText","getconsultWithDesignation","getinformWithLinks","getinformWithPlainText","getinformWithDesignation","MappingValues","busIDs","divIDs","designationIDs","dataList","Remark","value","emailId","sessionStorage","getItem","srNo","selectedSrNumberOfActivityControl","toString","join","myData","remark","email","getActivityDetailsForMapping","subscribe","data1","dataSource1","paginator","sort","ShowSnackBar","applyFilter","event","filterValue","target","filter","trim","toLowerCase","firstPage","addHyperlink","Data","jsonObject","JSON","parse","retValText","retVal","key","Text","replace","getCategoryWithActivityMasterData","SrNumberList","item","refText","length","forEach","e","isChecked","existingSrNumberOfActivity","indexOf","push","id","patchValue","sourceOfActivityLst","existingSourceOfActivity","selectedSourceOfActivityControl","catBatReferenceLst","existingCatBatReference","selectedCatBatReferenceControl","toolLst","existingTool","selectedToolControl","applicableToBusinessLst","existingApplicableToBusiness","selectedApplicableToBusinessControl","activityFormingPartOfLatLst","existingActivityFormingPart","selectedActivityFormingPartControl","setExistingCPReferenceAsSelected","CPReferenceFilteredOptions","searchCPReferenceTextboxControl","valueChanges","pipe","name","CPReferenceFilter","setExistingMIReferenceAsSelected","MIReferenceFilteredOptions","searchMIReferenceTextboxControl","MIReferenceFilter","setExistingBRReferenceAsSelected","BRReferenceFilteredOptions","searchBRReferenceTextboxControl","BRReferenceFilter","debug","setExistingResponsibleWithLinksAsSelected","responsibleWithLinksFilteredOptions","searchresponsibleWithLinksTextboxControl","responsibleWithLinksFilter","setExistingResponsibleWithPlainTextAsSelected","responsibleWithPlainTextFilteredOptions","searchresponsibleWithPlainTextTextboxControl","responsibleWithPlainTextFilter","setExistingResponsibleWithDesignationAsSelected","responsibleWithDesignationFilteredOptions","searchresponsibleWithDesignationTextboxControl","responsibleWithDesignationFilter","setExistingAccountableWithLinksAsSelected","accountableWithLinksFilteredOptions","searchaccountableWithLinksTextboxControl","accountableWithLinksFilter","setExistingAccountableWithPlainTextAsSelected","accountableWithPlainTextFilteredOptions","searchaccountableWithPlainTextTextboxControl","accountableWithPlainTextFilter","setExistingAccountableWithDesignationAsSelected","accountableWithDesignationFilteredOptions","searchaccountableWithDesignationTextboxControl","accountableWithDesignationFilter","setExistingConsultWithLinksAsSelected","consultWithLinksFilteredOptions","searchconsultWithLinksTextboxControl","consultWithLinksFilter","setExistingConsultWithPlainTextAsSelected","consultWithPlainTextFilteredOptions","searchconsultWithPlainTextTextboxControl","consultWithPlainTextFilter","setExistingConsultWithDesignationAsSelected","consultWithDesignationFilteredOptions","searchconsultWithDesignationTextboxControl","consultWithDesignationFilter","setExistingInformWithLinksAsSelected","informWithLinksFilteredOptions","searchinformWithLinksTextboxControl","informWithLinksFilter","setExistingInformWithPlainTextAsSelected","informWithPlainTextFilteredOptions","searchinformWithPlainTextTextboxControl","informWithPlainTextFilter","setExistingInformWithDesignationAsSelected","informWithDesignationFilteredOptions","searchinformWithDesignationTextboxControl","informWithDesignationFilter","setCPReferenceSelectedValues","selectCPReferenceFormControl","selectedCPReferenceValues","filteredList","option","includes","CPReferenceSelectionChange","isUserInput","source","selected","index","splice","openedCPReferenceChange","searchCPReferenceTextBox","nativeElement","focus","clearCPReferenceSearch","stopPropagation","getSelectedCPReference","selectedOptions","setMIReferenceSelectedValues","selectMIReferenceFormControl","selectedMIReferenceValues","MIReferenceSelectionChange","openedMIReferenceChange","searchMIReferenceTextBox","clearMIReferenceSearch","getSelectedMIReference","setBRReferenceSelectedValues","selectBRReferenceFormControl","selectedBRReferenceValues","BRReferenceSelectionChange","openedBRReferenceChange","searchBRReferenceTextBox","clearBRReferenceSearch","getSelectedBRReference","remarkWithLinksFilter","setremarkWithLinksSelectedValues","selectremarkWithLinksFormControl","selectedremarkWithLinksValues","remarkWithLinksSelectionChange","openedremarkWithLinksChange","searchremarkWithLinksTextboxControl","searchremarkWithLinksTextBox","clearremarkWithLinksSearch","setExistingRemarkWithLinksAsSelected","getSelectedremarkWithLinks","remarkWithPlainTextFilter","setremarkWithPlainTextSelectedValues","selectremarkWithPlainTextFormControl","selectedremarkWithPlainTextValues","remarkWithPlainTextSelectionChange","openedremarkWithPlainTextChange","searchremarkWithPlainTextTextboxControl","searchremarkWithPlainTextTextBox","clearremarkWithPlainTextSearch","setExistingRemarkWithPlainTextAsSelected","getSelectedremarkWithPlainText","setresponsibleWithLinksSelectedValues","selectresponsibleWithLinksFormControl","selectedresponsibleWithLinksValues","responsibleWithLinksSelectionChange","openedresponsibleWithLinksChange","searchresponsibleWithLinksTextBox","clearresponsibleWithLinksSearch","getSelectedresponsibleWithLinks","setresponsibleWithPlainTextSelectedValues","selectresponsibleWithPlainTextFormControl","selectedresponsibleWithPlainTextValues","responsibleWithPlainTextSelectionChange","openedresponsibleWithPlainTextChange","searchresponsibleWithPlainTextTextBox","clearresponsibleWithPlainTextSearch","getSelectedresponsibleWithPlainText","setresponsibleWithDesignationSelectedValues","selectresponsibleWithDesignationFormControl","selectedresponsibleWithDesignationValues","responsibleWithDesignationSelectionChange","openedresponsibleWithDesignationChange","searchresponsibleWithDesignationTextBox","clearresponsibleWithDesignationSearch","getSelectedresponsibleWithDesignation","setaccountableWithLinksSelectedValues","selectaccountableWithLinksFormControl","selectedaccountableWithLinksValues","accountableWithLinksSelectionChange","openedaccountableWithLinksChange","searchaccountableWithLinksTextBox","clearaccountableWithLinksSearch","getSelectedaccountableWithLinks","setaccountableWithPlainTextSelectedValues","selectaccountableWithPlainTextFormControl","selectedaccountableWithPlainTextValues","accountableWithPlainTextSelectionChange","openedaccountableWithPlainTextChange","searchaccountableWithPlainTextTextBox","clearaccountableWithPlainTextSearch","getSelectedaccountableWithPlainText","setaccountableWithDesignationSelectedValues","selectaccountableWithDesignationFormControl","selectedaccountableWithDesignationValues","accountableWithDesignationSelectionChange","openedaccountableWithDesignationChange","searchaccountableWithDesignationTextBox","clearaccountableWithDesignationSearch","getSelectedaccountableWithDesignation","setconsultWithLinksSelectedValues","selectconsultWithLinksFormControl","selectedconsultWithLinksValues","consultWithLinksSelectionChange","openedconsultWithLinksChange","searchconsultWithLinksTextBox","clearconsultWithLinksSearch","getSelectedconsultWithLinks","setconsultWithPlainTextSelectedValues","selectconsultWithPlainTextFormControl","selectedconsultWithPlainTextValues","consultWithPlainTextSelectionChange","openedconsultWithPlainTextChange","searchconsultWithPlainTextTextBox","clearconsultWithPlainTextSearch","getSelectedconsultWithPlainText","setconsultWithDesignationSelectedValues","selectconsultWithDesignationFormControl","selectedconsultWithDesignationValues","consultWithDesignationSelectionChange","openedconsultWithDesignationChange","searchconsultWithDesignationTextBox","clearconsultWithDesignationSearch","getSelectedconsultWithDesignation","setinformWithLinksSelectedValues","selectinformWithLinksFormControl","selectedinformWithLinksValues","informWithLinksSelectionChange","openedinformWithLinksChange","searchinformWithLinksTextBox","clearinformWithLinksSearch","getSelectedinformWithLinks","setinformWithPlainTextSelectedValues","selectinformWithPlainTextFormControl","selectedinformWithPlainTextValues","informWithPlainTextSelectionChange","openedinformWithPlainTextChange","searchinformWithPlainTextTextBox","clearinformWithPlainTextSearch","getSelectedinformWithPlainText","setinformWithDesignationSelectedValues","selectinformWithDesignationFormControl","selectedinformWithDesignationValues","informWithDesignationSelectionChange","openedinformWithDesignationChange","searchinformWithDesignationTextBox","clearinformWithDesignationSearch","getSelectedinformWithDesignation","close","resetForm","Submit","undefined","busID","activityID","sourceOfActivityID","CATBATReferenceID","ToolSystemPortalID","applicableToBusinessID","activityFormingPartID","CPReferenceIDs","MIReferenceIDs","BRReferenceIDs","remarksWithLinksIDs","remarksWithPlainTextIDs","responsibleWithLinksIDs","responsibleWithPlainTextIDs","responsibleWithDesignationIDs","accountableWithLinksIDs","accountableWithPlainTextIDs","accountableWithDesignationIDs","consultWithLinksIDs","consultWithPlainTextIDs","consultWithDesignationIDs","informWithLinksIDs","informWithPlainTextIDs","informWithDesignationIDs","selectors","viewQuery","ctx","ActivityDataMappingComponent","getAllData","getCategoryWithActivityMasterDataAll","isLink","isDesignation","ctx_r2","ActivityDataDetails","ActivityDataComponent","activityData","dialog","Id","CategoryId","IsLink","RefText","RefLink","IsDesignation","DesignationMapId","Status","BuisnessUnit","CreatedBy","Number","CreatedDate","Date","UpdatedBy","UpdatedDate","IsDeleted","IsShowDelete","getBuisnessArea","getMasterData","getBuisnessAreaList","businessList","getCategoryList","masterDataList","shift","businessAreaSelection","selectedBusinessAreaControl","selectedCategoryControl","showAddButton","categorySelection","retrieve","getActivityMasterDataListFromBusinessIDandCategoryID","dataSource_ActivityData","openDialogBox_CPMIBRReference","open","CPMIBRReference","height","width","isSave","categoryId","categoryName","afterClosed","next","val","loadResourceToEdit","delete","status","deleteSend","refLink","designationMapId","confirm","deleteActivityData","_formBuilder","designationList","getDesignationList","plainText","radiobutton","enableLink","enablePlainText","enableDesignation","designationName","statusCheck","disableRadioButton","showReset","isCPMIBRReference","isRACI","isRemark","isOther","addItem","newItem","cancel","designationFilteredOptions","searchDesignationTextboxControl","designationFilter","setDesignationSelectedValues","selectedDesignationId","selectedDesignationValue","selectDesignationFormControl","selectedDesignationValues","designationSelectionChange","openedDesignationChange","searchDesignationTextBox","clearDesignationSearch","selectedDesignationIdExists","some","selectedDesignationValueExists","toggleAllSelectionDesignation","allSelectedDesignation","selectDesignation","options","select","isMultipleSelectedDesignation","deselect","designationSelection","onStatusCheckboxChange","isLinkRadioChange_Remarks","isLinkRadioChange_RACI","designationSelectionSave","desID","desName","designationID","isValidUrl","url","URL","save","activityMST_Insert_Update_ValuesToSend","datatoCheck","CheckIfRefTextExists","dataCount","isTextSave","activityMST_Insert_Update","i","ActivityDataSave","Validators","ctx_r0","ctx_r1","ctx_r3","Entity","DesignationMappingComponent","snackBar","DesignationServ","activitymasterSer","formInstance","group","required","getEntity","getEntityList","entityList","entityID","code","selectedEntityValue","selectEntityFormControl","disableBusinessArea","entitySelection","businessFormControl","reset","dataSource","showTrigger","showAdd","selectedBusinessAreaValue","searchValueText","businessAreaAllSelection","selectedBusinessAreaValues","openDialogBox","isIdVisible","AddDesignationMappingDialog","action","businessAreaId","entityId","getDesignationMapping","snackBarLoader","content","duration","color","verticalPosition","horizontalPosition","panelClass","buid","deleteDesignationMapping","designationServ","businesslst","slice","designationlst","designationMappingModel","getEntityData","changeBusinessArea","divisionId","divisionDisable","designationId","designationDisable","filterValue_Designation","isShowDesignationDropdown","getUserId","designationSelectionUpdate","designationControl","getEntityMaster","entitylst","error","changeEntity","getBusinessAreaEntityMapping","isActive","getDesignationBusinessMapping","applyfilter_designation","getDivisionDetailsFromBusinessAreaId","divisionlst","divisionSelection","divisionName","selectedDivisionId","divisionControl","selectedDivisionValue","divisionAllSelection","businessAreaFilteredOptions","closepopup","saveDesignationMappingData","err","update","updatedBy","createdByUserId","createdBy","createdDate","businessControl","Object","keys","controls","get","setErrors","SelectionModel","NestedTreeControl","MatTreeNestedDataSource","BehaviorSubject","XLSX","ctx_r74","ctx_r14","workShetTable_r97","HistoryDetails","Preamble","ReadingThisDocument","NoteList","TodoItemNode","TodoItemFlatNode","ChecklistDatabase","searchser","initialize","dataChange","getSearchActivityList","treeConstruct","treeData","constructedTree","treeObj","assigned","constructTree","parentId","children","constructedObj","insertItem","parent","text","updateItem","node","factory","HistoryComponent","sanitizer","_database","searchServ","divisionList","historyList","Map","level","expandable","_","_nodeData","treeControl","dataSource_Tree","onload","getPreambleList","preambleData","dataSource_Preamble","getReadingThisDocumentList","readingData","dataSource_Reading","filteredData","getNoteList","note","dataSource_Note","searchBusinessAreaTextboxControl","businessAreaFilter","entityselection","setBusinessAreaSelectedValues","selectedBusinessAreaId","selectBusinessAreaFormControl","businessAreaSelectionChange","openedBusinessAreaChange","searchBusinessAreaTextBox","clearBusinessAreaSearch","allSelected","getSelectedItemsList","checklistSelection","clear","selectedBusinessAreaIdExists","selectedBusinessAreaValueExists","newStatus","isMultipleSelected","getHistoryList","historyFilteredOptions","searchHistoryTextboxControl","HistoryFilter","dataNodes","x","setParent","getDivisionListFromBusinessAreaID","divisionFilteredOptions","searchDivisionTextboxControl","divisionFilter","getDesignationListFromBusinessAreaIDandDivisionID","toggleAllSelection","enable","setDivisionSelectedValues","selectDivisionFormControl","selectedDivisionValues","divisionSelectionChange","openedDivisionChange","searchDivisionTextBox","clearDivisionSearch","selectedDivisionIdExists","selectedDivisionValueExists","allSelectedDivision","toggleAllSelectionDivision","selectDivision","isMultipleSelectedDivision","selectionDivisionChange","deselectedValue","currentId","filteredId","currentValues","filteredValues","selectedControl","checkAllParents","descendants","getDescendants","every","child","indeterminate","descendantsAllSelected","allselected","isSelected","descendantsPartiallySelected","result","todoItemSelectionToggle","checked","toggle","s","filterLeafNode","searchString","_a","filterRecursive","filterText","array","property","copy","o","assign","y","filterTree","applyFilterForTree","tree","collapseAll","expandAll","createWorksheetWithColumnColors","worksheet","utils","aoa_to_sheet","range","decode_range","rowIndex","r","cellAddress","encode_cell","c","fill","bgColor","rgb","generatePDF","currentDateTime","dateString","toISOString","dataToSend","generatePdf","response","file","Blob","type","window","createObjectURL","link","document","createElement","href","download","selectedHistoryValue","body","appendChild","click","removeChild","convertToPlainText","html","bypassSecurityTrustHtml","generateExcel","tabledata_Preamble","row","topic","remarks","dataPreamble","workSheet_Preamble","header_Style","font","bold","alignment","vertical","horizontal","wrapText","fgColor","border","right","style","bottom","top","left","header_Style_Divisions","hpx","underline","cell","decode_cell","wch","numFmt","z","combined_wb","book_new","book_append_sheet","tabledata_Reading","column","description","dataReading","workSheet_Reading","w","workSheetTables","table","getElementById","tableId","workSheet_CommonData","table_to_sheet","rows","querySelectorAll","cells","colIndex","cellValue","textContent","l","v","t","applyBgColorFontColorFontweightForColumns","sheet_add_aoa","origin","buinessNotes","find","businessUnitCode","appendNodes","rowCount","setNote","cellAddrss","writeFile","dummyDataSource","displayedColumns","businessAreaCode","Search","historyControl","concat","hisIDs","getSearchHistoryDetails","ClearSelection","searchValue","getSelectedItems","rowNum","cellRef_bgColor","cellRef_fontColor","cellRef_bold","colorCell","cell_fontColor","cell_bold","fontWeight","substring","colNum","dataLength","j","cellD","cellA","cellE","cellB","cellF","cellC","cellG","cell_D","cellH","cell_E","cellI","cell_F","cellJ","cell_G","cellK","cell_H","cellL","cell_I","cellM","cell_J","cellN","cell_K","cellO","cell_L","cellP","cell_M","cellQ","cell_N","cellR","cell_O","cellS","cell_P","selectHistoryFormControl","setHistorySelectedValues","selectedHistoryId","selectedHistoryValues","HistorySelectionChange","openedHistoryChange","searchHistoryTextBox","clearHistorySearch","HistorySelection","selectedHistoryIdExists","selectedHistoryValueExists","decls","vars","consts","template","ctx_r19","workShetTable_r100","EmployeeDetails","SearchComponent","getLatestVersion","getCurrentVersion","latestVersion","historyCode","handleInput","showCloseIcon","searchValueFormControl","getSearchActivityDetails"],"sourceRoot":"webpack:///"}