{"version":3,"sources":["./src/app/shared/rbd-org-chart/rbd-org-chart.component.ts","./src/app/shared/rbd-org-chart/rbd-org-chart.component.html","fs (ignored)","crypto (ignored)","./src/app/login-registration/login-registration.API.ts","stream (ignored)","./src/app/shared/Loading/common-loading.directive.ts","./src/app/login-registration/login-registration.component.ts","./src/app/login-registration/login-registration.component.html","./src/environments/environment.ts","./src/app/reset-password/reset-password.component.ts","./src/app/reset-password/reset-password.component.html","./src/app/home/Services/user.services.ts","./src/app/shared/Loading/common-loading.component.ts","./src/app/shared/Loading/common-loading.component.html","./src/app/shared/BLDL/common.bl.service.ts","./src/app/home/Services/event-emitter.service.ts","./src/app/shared/shared.module.ts","./node_modules/moment/locale sync ^\\.\\/.*$","./src/app/app.component.ts","./src/app/app.component.html","./src/app/forgot-password/forgot-password.component.ts","./src/app/forgot-password/forgot-password.component.html","./src/app/app.module.ts","./src/app/shared/safe.pipe.ts","./src/app/shared/P-Tree/p-tree.ts","./src/app/shared/P-Tree/p-tree.html","./src/app/home/prescriptive/Shared/prescriptive.constant.ts","./src/app/Token.Interceptor.ts","./src/app/auth.guard.ts","./src/app/shared/organization-chart/organization-chart.component.ts","./src/app/shared/organization-chart/organization-chart.component.html","./src/app/app-routing.module.ts","./src/app/home/prescriptive/CBA/RCMFunctionalAnalysis/rcmreport.component.ts","./src/app/home/prescriptive/CBA/RCMFunctionalAnalysis/rcmreport.component.html","./src/app/shared/config.service.ts","./src/app/shared/BLDL/common.dl.service.ts","./src/main.ts","./$_lazy_route_resource lazy namespace object"],"names":[],"mappings":"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b,yGAAuB;oBACvB,uDAAU;oBACV,0DAAW;oBACX,sEAAiB;oBACjB,+DAAc;oBACd,4DAAY;oBACZ,4DAAY;oBACZ,wEAAkB;oBAClB,0DAAU;oBACV,0EAAmB;oBACnB,8DAAa;oBACb,kEAAe;oBACf,kEAAe;oBACf,gEAAc;oBACd,sFAAc;oBACd,gEAAc;iBAAC;gBACnB,OAAO,EAAE,CAAC,4DAAY;oBAClB,yFAAsB;oBACtB,0DAAW;oBACX,0DAAW;oBACX,kEAAmB;oBACnB,0DAAW;oBACX,yDAAW;oBACX,2DAAY;oBACZ,iEAAe;oBACf,gEAAc;oBACd,+DAAc;oBACd,6DAAa;oBACb,yGAAuB;oBACvB,uDAAU;oBACV,0DAAW;oBACX,sEAAiB;oBACjB,+DAAc;oBACd,4DAAY;oBACZ,0DAAU;oBACV,oDAAQ;oBACR,4DAAY;oBACZ,wEAAkB;oBAClB,8DAAa;oBACb,0EAAmB;oBACnB,8DAAa;oBACb,kEAAe;oBACf,kEAAe;oBACf,gEAAc;oBACd,gEAAc;oBACd,sEAAiB;oBACjB,sFAAc;oBACd,sEAAiB,CAAC;aACzB;;;;;;;;;;;;;AChGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,2B;;;;;;;;;;;;ACnSA;AAAA;AAAA;AAAA;AAAA;AAAqD;;;;AAO9C,MAAM,YAAY;IAGvB;QAFA,UAAK,GAAG,KAAK,CAAC;QAGZ,mDAAmD;QACnD,wBAAwB;QACxB,wBAAwB;QACxB,MAAM;IACR,CAAC;IAED,WAAW;QACT,YAAY,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;;wEAZU,YAAY;4FAAZ,YAAY;QCPzB,4EAAiC;QACjC,2EAA+B;;6FDMlB,YAAY;cALxB,uDAAS;eAAC;gBACT,QAAQ,EAAE,UAAU;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","file":"main.js","sourcesContent":["import {\r\n NgModule, Component, ElementRef, Input, Output, AfterContentInit, EventEmitter, TemplateRef,\r\n Inject, forwardRef, ContentChildren, QueryList, ChangeDetectionStrategy, ViewEncapsulation, ChangeDetectorRef, OnDestroy\r\n} from '@angular/core';\r\nimport { trigger, state, style, transition, animate } from '@angular/animations';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MenuItem, MessageService, PrimeNGConfig, SharedModule } from 'primeng/api';\r\nimport { TreeNode } from 'primeng/api';\r\nimport { PrimeTemplate } from 'primeng/api';\r\nimport { Subject, Subscription } from 'rxjs';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { AutoCompleteModule } from 'primeng/autocomplete';\r\nimport { MenuModule } from 'primeng/menu';\r\nimport { CommonBLService } from '../BLDL/common.bl.service';\r\nimport * as XLSX from 'xlsx'\r\nimport { PrescriptiveContantAPI } from 'src/app/home/prescriptive/Shared/prescriptive.constant';\r\n\r\n@Component({\r\n selector: '[pOrganizationChartNode]',\r\n templateUrl: './rbd-org-chart.component.html',\r\n providers: [MessageService],\r\n animations: [\r\n trigger('childState', [\r\n state('in', style({ opacity: 1 })),\r\n transition('void => *', [\r\n style({ opacity: 0 }),\r\n animate(150)\r\n ]),\r\n transition('* => void', [\r\n animate(150, style({ opacity: 0 }))\r\n ])\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n styleUrls: ['./rbd-org-chart.component.css'],\r\n host: {\r\n 'class': 'p-element'\r\n }\r\n})\r\nexport class OrganizationChartNode implements OnDestroy {\r\n\r\n @Input() node: any = [];\r\n\r\n @Input() root: boolean;\r\n\r\n @Input() first: boolean;\r\n\r\n @Input() last: boolean;\r\n\r\n public MainTree: any = [];\r\n\r\n private topid: number = 100;\r\n public chart: OrganizationChart;\r\n\r\n subscription: Subscription;\r\n public TopBottom: MenuItem[];\r\n public TopBottomEnable: boolean = false;\r\n private RBDAssetsList: any = [];\r\n public DistribustionSelected: boolean = false;\r\n public distributionList: any = [\r\n { id: 1, name: 'Exponential' },\r\n { id: 2, name: 'Weibull - 2P' },\r\n { id: 3, name: 'Poisson' }\r\n ]\r\n constructor(@Inject(forwardRef(() => OrganizationChart)) chart,\r\n public cd: ChangeDetectorRef,\r\n private prescriptiveContantAPI: PrescriptiveContantAPI,\r\n private commonBLService: CommonBLService,\r\n private messageService: MessageService,) {\r\n this.chart = chart as OrganizationChart;\r\n this.subscription = this.chart.selectionSource$.subscribe(() => {\r\n this.cd.markForCheck();\r\n });\r\n this.RBDAssetsList = this.chart.RBDAssetsList;\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n public distributionPopupClose() {\r\n this.DistribustionSelected = false;\r\n }\r\n public SelectDistribution(node) {\r\n if (node.distribution !== 0) {\r\n let distributionType = this.distributionList.find(r => r.id == node.distribution);\r\n if (distributionType !== undefined) {\r\n if (distributionType.name === 'Exponential') {\r\n node.reliability = Math.exp(-parseFloat(node.L) / 1000000 * 1).toFixed(4);\r\n }\r\n }\r\n this.DistribustionSelected = true;\r\n }\r\n }\r\n\r\n public async calculateReliability(node) {\r\n if (node.gate == false) {\r\n let distributionType = this.distributionList.find(r => r.id == node.distribution);\r\n if (distributionType !== undefined) {\r\n if (distributionType.name === 'Exponential') {\r\n node.reliability = Math.exp(-parseFloat(node.L) / parseFloat(node.lamdaPerHour) * 1).toFixed(4);\r\n } else if (distributionType.name === 'Weibull - 2P') {\r\n if (node.alpha !== 0 && node.beta !== 0 && node.t !== 0) {\r\n let reliability = await this.getWeibullReliability(parseFloat(node.alpha), parseFloat(node.beta), parseFloat(node.t));\r\n node.reliability = (reliability.reliability).toFixed(4);\r\n }\r\n }\r\n }\r\n } else if (node.gate == true) {\r\n // if gate is true means the RBD node is of type gate\r\n // node is having AND, OR, KN gate selection\r\n if (node.gateType === \"AND\") {\r\n // if gate type is AND the reliabilty of gate node will be Q1 * Q2 where Q1 is the ( 1 - reliability of first child ) and Q2 is the ( 1 - reliability) of second child\r\n // 1-((1-R1)*(1-R2)) formula for calculation\r\n let Q: number = 1;\r\n node.children.forEach(element => {\r\n Q = Q * (1 - parseFloat(element.reliability));\r\n });\r\n node.reliability = (1 - Q).toFixed(4)\r\n } else if (node.gateType === \"OR\") {\r\n // if gate type is OR the reliabilty of gate node will be R1 + R2 where R1 is the reliability\r\n // of first child and R2 is the reliability of second child\r\n let reliability: number = 0;\r\n node.children.forEach(element => {\r\n reliability = reliability + parseFloat(element.reliability);\r\n });\r\n node.reliability = reliability.toFixed(4)\r\n } else if (node.gateType === \"KN\") {\r\n // if gate type is KN means It is parallel means calculation of AND gate \r\n // But calculation of number of child node is equal to number of K in node\r\n // the reliabilty of gate node will be Q1 * Q2 where Q1 is the ( 1 - reliability of first child ) and Q2 is the ( 1 - reliability) of second child\r\n // 1-((1-R1)*(1-R2)) formula for calculation\r\n let Q: number = 1;\r\n for (let index = 0; index < parseInt(node.K); index++) {\r\n Q = Q * (1 - parseFloat(node.children[index].reliability));\r\n }\r\n node.reliability = (1 - Q).toFixed(4)\r\n }\r\n }\r\n return await true;\r\n }\r\n\r\n public RBDAssetValueForHTML(id, type) {\r\n var Data = this.chart.RBDAssetsList.find(r => r.CAId == parseFloat(id));\r\n if (type == 'Location') {\r\n return Data.Location\r\n }\r\n if (type == 'OriginalCriticality') {\r\n return Data.OriginalCriticality\r\n }\r\n if (type == 'AssetCost') {\r\n return Data.AssetCost\r\n }\r\n if (type == 'RepairCost') {\r\n return Data.RepairCost\r\n }\r\n\r\n }\r\n\r\n public AllowNumber(event) {\r\n const pattern = /[0-9.]/;\r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (!pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n public AddTopBottom(node) {\r\n this.TopBottomEnable = true;\r\n }\r\n\r\n public CloseTopBottomNode(node) {\r\n this.TopBottomEnable = false;\r\n node.K = 0;\r\n node.N = 0;\r\n }\r\n\r\n public AddKNLogic(node) {\r\n let data: any = [];\r\n data.node = node;\r\n data.type = \"AddKNLogic\";\r\n this.chart.addNode.emit(data);\r\n this.TopBottomEnable = false;\r\n }\r\n private AddTopNode(node) {\r\n let data: any = [];\r\n data.node = node;\r\n data.type = \"AddTopNode\";\r\n this.chart.addNode.emit(data);\r\n this.cd.detectChanges();\r\n this.TopBottomEnable = false;\r\n }\r\n private AddTopFinalNode(node) {\r\n let data: any = [];\r\n data.node = node;\r\n data.type = \"AddTopFinalNode\";\r\n this.chart.addNode.emit(data);\r\n this.TopBottomEnable = false;\r\n }\r\n private AddBottomNode(node, YN) {\r\n let data: any = [];\r\n data.node = node;\r\n data.YN = YN;\r\n data.type = \"AddBottomNode\";\r\n this.chart.addNode.emit(data);\r\n this.TopBottomEnable = false;\r\n }\r\n\r\n public async calculateLM(node, calWholeTree: boolean) {\r\n let selectedId: number = node.id;\r\n if ((node.K == 0 || node.K == undefined) && (node.N == 0 || node.N == undefined)) {\r\n if (node.children.length > 1) {\r\n if (node.gateType === \"AND\") {\r\n let plusM: number = 0;\r\n let multiplyM: number = 1;\r\n let plusL: number = 0;\r\n let multiplyL: number = 1;\r\n let systemUnavailability: number = 1;\r\n let AssetCost: number = 0;\r\n let RepairCost: number = 0;\r\n node.children.forEach(async (element) => {\r\n multiplyM = multiplyM * parseFloat(element.M);\r\n let A: number = 0;\r\n let R: number = 0;\r\n if (element.gate == true) {\r\n let Data = this.chart.RBDAssetsList.find(r => r.CAId == parseFloat(element.label));\r\n A = element.AssetCost;\r\n AssetCost = AssetCost + A;\r\n R = element.RepairCost;\r\n RepairCost = RepairCost + R;\r\n } else {\r\n let Data = this.chart.RBDAssetsList.find(r => r.CAId == parseFloat(element.label));\r\n A = Data.AssetCost;\r\n AssetCost = AssetCost + A;\r\n R = Data.RepairCost;\r\n RepairCost = RepairCost + R;\r\n }\r\n plusM = plusM + parseFloat(element.M);\r\n multiplyL = multiplyL * parseFloat(element.L);\r\n systemUnavailability = systemUnavailability * parseFloat(element.unAvailabilty);\r\n });\r\n node.AssetCost = AssetCost;\r\n node.RepairCost = RepairCost;\r\n node.M = (multiplyM / plusM).toFixed(3);\r\n node.L = ((multiplyL * plusM) / 1000000).toFixed(3);\r\n node.gateUnAvailability = systemUnavailability.toFixed(5);\r\n let unavalibility = await this.calculateAvailability(node);\r\n node.unAvailabilty = unavalibility.toFixed(5);;\r\n } else if (node.gateType === \"OR\") {\r\n let multiplyLM: number = 0;\r\n let plusLM: number = 0;\r\n let plusL: number = 0;\r\n let systemUnavailability: number = 0;\r\n let AssetCost1: Array = [];\r\n let RepairCost1: Array = [];\r\n node.children.forEach(async (element) => {\r\n multiplyLM = parseFloat(element.L) * parseFloat(element.M);\r\n plusLM = plusLM + multiplyLM;\r\n plusL = plusL + parseFloat(element.L)\r\n systemUnavailability = systemUnavailability + parseFloat(element.unAvailabilty);\r\n let A: number = 0;\r\n let R: number = 0;\r\n if (element.gate == true) {\r\n A = element.AssetCost;\r\n AssetCost1.push(A);\r\n R = element.RepairCost;\r\n RepairCost1.push(R);\r\n } else {\r\n let Data = this.chart.RBDAssetsList.find(r => r.CAId == parseFloat(element.label));\r\n A = Data.AssetCost;\r\n AssetCost1.push(A);\r\n R = Data.RepairCost;\r\n RepairCost1.push(R);\r\n }\r\n });\r\n node.AssetCost = Math.max(...AssetCost1);\r\n node.RepairCost = Math.max(...RepairCost1);\r\n node.M = (plusLM / plusL).toFixed(3);\r\n node.L = (plusL).toFixed(3);\r\n node.gateUnAvailability = systemUnavailability.toFixed(5);\r\n let unAvalibility = await this.calculateAvailability(node);\r\n node.unAvailabilty = unAvalibility.toFixed(5);\r\n }\r\n if (parseFloat(node.mtbf) == 0 || parseFloat(node.availability) > 0) {\r\n node.mtbf = (1000000 / 8760 / parseFloat(node.L)).toFixed(3);\r\n // this.node.availability = (parseFloat(this.node.mtbf)/(parseFloat(this.node.mtbf) + (parseFloat(this.node.M)/8760))).toFixed(3);\r\n node.nonAvailability = (1 - node.availability).toFixed(3);\r\n node.mtbf = `${node.mtbf} Yrs`\r\n node.M = `${node.M} H`\r\n node.availability = 1 - parseFloat(node.unAvailabilty);\r\n }\r\n await this.calculateReliability(node);\r\n }\r\n } else {\r\n //KN Logic\r\n let plusM: number = 0;\r\n let multiplyM: number = 1;\r\n let multiplyL: number = 1;\r\n for (let index = 0; index < parseInt(node.K); index++) {\r\n multiplyM = multiplyM * parseFloat(node.children[index].M);\r\n plusM = plusM + parseFloat(node.children[index].M);\r\n multiplyL = multiplyL * parseFloat(node.children[index].L);\r\n\r\n }\r\n node.M = (multiplyM / plusM).toFixed(3);\r\n node.L = ((multiplyL * plusM) / 1000000).toFixed(3);\r\n if (node.children.length > 1) {\r\n let Data: any = await this.KNEquations(node);\r\n if (Data != false) {\r\n node.unAvailabilty = parseFloat(Data.value).toFixed(5);\r\n node.gateUnAvailability = parseFloat(Data.value).toFixed(5);\r\n\r\n if (Data.type == 1 || Data.type == 3 || Data.type == 6) {\r\n let AssetCost1: Array = [], RepairCost1: Array = [];\r\n node.children.forEach(element => {\r\n let Data = this.chart.RBDAssetsList.find(r => r.CAId == parseFloat(element.label));\r\n let A: number = 0, R: number = 0;\r\n A = parseFloat(Data.AssetCost);\r\n AssetCost1.push(A);\r\n R = parseFloat(Data.RepairCost);\r\n RepairCost1.push(R);\r\n });\r\n node.AssetCost = Math.max(...AssetCost1);\r\n node.RepairCost = Math.max(...RepairCost1);\r\n } else {\r\n let AssetCost: number = 0, RepairCost: number = 0;\r\n for (let index = 0; index < parseInt(node.K); index++) {\r\n let Data = this.chart.RBDAssetsList.find(r => r.CAId == parseFloat(node.children[index].label));\r\n let A: number = 0, R: number = 0;\r\n A = parseFloat(Data.AssetCost);\r\n AssetCost = AssetCost + A;\r\n R = parseFloat(Data.RepairCost);\r\n RepairCost = RepairCost + R;\r\n }\r\n node.AssetCost = AssetCost;\r\n node.RepairCost = RepairCost;\r\n }\r\n }\r\n }\r\n await this.calculateReliability(node);\r\n }\r\n\r\n if (calWholeTree === true) {\r\n for (let index = 0; index < 40; index++) {\r\n var data = await this.TraverseNestedJsonRBDCalculation(this.chart.value);\r\n }\r\n this.calculateLM(this.chart.value[0], false);\r\n }\r\n\r\n return false;\r\n }\r\n\r\n private async TraverseNestedJsonRBDToFindLeaf(tree, id: number) {\r\n for (let index = 0; index < tree.length; index++) {\r\n if (tree[index].id == id) {\r\n return await true;\r\n }\r\n if (tree.length !== 0 && tree[index].children.length > 0) {\r\n let Data: any = tree[index].children;\r\n for (let index1 = 0; index1 < Data.length; index1++) {\r\n if (Data[index1].id == id) {\r\n return await true;\r\n }\r\n if (Data[index1].children.length > 0) {\r\n let Data2 = Data[index1].children\r\n for (let index3 = 0; index3 < Data2.length; index3++) {\r\n var d: any = []\r\n d.push(Data2[index3])\r\n this.TraverseNestedJsonRBDToFindLeaf(d, id)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return await false;\r\n }\r\n\r\n private async TraverseNestedJsonRBDCalculation(tree) {\r\n for (let index = 0; index < tree.length; index++) {\r\n if (tree[index].children.length >= 1) {\r\n var cal1 = await this.calculateLM(tree[index], false);\r\n }\r\n if (tree.length !== 0 && tree[index].children.length > 0) {\r\n let Data: any = tree[index].children;\r\n for (let index1 = 0; index1 < Data.length; index1++) {\r\n if (Data[index1].children.length >= 1) {\r\n var cal2 = await this.calculateLM(Data[index1], false);\r\n }\r\n if (Data[index1].children.length > 0) {\r\n let Data2 = Data[index1].children\r\n for (let index3 = 0; index3 < Data2.length; index3++) {\r\n var d: any = []\r\n d.push(Data2[index3])\r\n this.TraverseNestedJsonRBDCalculation(d)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return await false;\r\n }\r\n\r\n\r\n private async getWeibullReliability(Alpha: number, Beta: number, t: number) {\r\n let CyclesDays = (t * 365);\r\n let PDF = (Beta / Alpha) * Math.pow((CyclesDays / Alpha), (Beta - 1)) * Math.exp(-(Math.pow((CyclesDays / Alpha), Beta)));\r\n let weibull = (1 - (Math.exp(-Math.pow((CyclesDays / Alpha), Beta))));\r\n let Reliability = 1 - weibull;\r\n return await { days: CyclesDays, pdf: PDF, reliability: Reliability, weibull: weibull };\r\n }\r\n\r\n public onDeleteNode(node) {\r\n this.chart.deleteNode.emit(node);\r\n }\r\n\r\n public async calculateAvailability(node) {\r\n if (node.L == '') {\r\n node.L = 0;\r\n } else if (node.M == '') {\r\n node.M = 0;\r\n }\r\n let L: number = parseFloat(node.L);\r\n let M: number = parseFloat(node.M);\r\n let power: number = Math.pow(10, -6);\r\n let unAvailabilty: number = L * power * M; // Formula for unavalibility\r\n node.unAvailabilty = unAvailabilty.toFixed(5);\r\n await this.calculateReliability(node); // if user selects Exponential distribution then L (lamda) value is required for Reliability calculation\r\n return await unAvailabilty;\r\n }\r\n\r\n public Webal(event, node) {\r\n var file = event.target.files[0];\r\n let fileReader = new FileReader();\r\n fileReader.readAsArrayBuffer(file);\r\n fileReader.onload = (e) => {\r\n var arrayBuffer: any = fileReader.result;\r\n var data = new Uint8Array(arrayBuffer);\r\n var arr = new Array();\r\n for (var i = 0; i != data.length; ++i) arr[i] = String.fromCharCode(data[i]);\r\n var bstr = arr.join(\"\");\r\n var workbook = XLSX.read(bstr, { type: \"binary\", cellDates: true });\r\n var first_sheet_name = workbook.SheetNames[0];\r\n var worksheet = workbook.Sheets[first_sheet_name];\r\n console.log(XLSX.utils.sheet_to_json(worksheet, { raw: true }));\r\n var daysList: any = XLSX.utils.sheet_to_json(worksheet, { raw: true });\r\n var Data: any = []\r\n daysList.forEach(element => {\r\n Data.push(element.Days)\r\n });\r\n var url: string = this.prescriptiveContantAPI.FCAWebal\r\n this.commonBLService.postWithHeaders(url, Data)\r\n .subscribe(\r\n (res: any) => {\r\n node.alpha = res.alpha;\r\n node.beta = res.beta;\r\n this.cd.detectChanges();\r\n this.calculateReliability(node);\r\n }, err => { console.log(err.error) }\r\n )\r\n }\r\n }\r\n\r\n private async KNEquations(node) {\r\n //here a = unavailability\r\n let a1: number = 1, a2: number = 1, a3: number = 1, a4: number = 1;\r\n let childCount: number = node.children.length;\r\n if (childCount == 2) {\r\n a1 = parseFloat(node.children[0].unAvailabilty);\r\n a2 = parseFloat(node.children[1].unAvailabilty);\r\n } else if (childCount == 3) {\r\n a1 = parseFloat(node.children[0].unAvailabilty);\r\n a2 = parseFloat(node.children[1].unAvailabilty);\r\n a3 = parseFloat(node.children[2].unAvailabilty);\r\n } else if (childCount == 4) {\r\n a1 = parseFloat(node.children[0].unAvailabilty);\r\n a2 = parseFloat(node.children[1].unAvailabilty);\r\n a3 = parseFloat(node.children[2].unAvailabilty);\r\n a4 = parseFloat(node.children[3].unAvailabilty);\r\n }\r\n // 1. 1 out of 2\t1-(1-R)2\r\n // 2. 2 out of 2\tR2\r\n // 3. 1 out of 3\t1-(1-R)3\r\n // 4. 2 out of 3\tR3 + 3 R2 (1-R)\r\n // 5. 3 out of 3\tR3\r\n // 6. 1 out of 4\t1-(1-R)4\r\n // 7. 2 out of 4\tR4 + 4 R3 (1-R) + 6 R2 (1-R)2\r\n // 8. 3 out of 4\tR4 + 4 R3 (1-R)\r\n // 9. 4 out of 4\tR4\r\n let type: number;\r\n if (parseInt(node.K) == 1 && parseInt(node.N) == 2) {\r\n type = 1;\r\n } else if (parseInt(node.K) == 2 && parseInt(node.N) == 2) {\r\n type = 2;\r\n } else if (parseInt(node.K) == 1 && parseInt(node.N) == 3) {\r\n type = 3;\r\n } else if (parseInt(node.K) == 2 && parseInt(node.N) == 3) {\r\n type = 4;\r\n } else if (parseInt(node.K) == 3 && parseInt(node.N) == 3) {\r\n type = 5;\r\n } else if (parseInt(node.K) == 1 && parseInt(node.N) == 4) {\r\n type = 6;\r\n } else if (parseInt(node.K) == 2 && parseInt(node.N) == 4) {\r\n type = 7;\r\n } else if (parseInt(node.K) == 3 && parseInt(node.N) == 4) {\r\n type = 8;\r\n } else if (parseInt(node.K) == 4 && parseInt(node.N) == 4) {\r\n type = 9;\r\n }\r\n\r\n switch (type) {\r\n case 1:\r\n return await { value: (1 - ((1 - a1) * (1 - a2))), type: type };\r\n case 2:\r\n return await { value: (a1 * a2), type: type };\r\n case 3:\r\n return await { value: (1 - ((1 - a1) * (1 - a2) * (1 - a3))), type: type };\r\n case 4:\r\n return await { value: ((a1 * a2 * a3) + 3 * (a1 * a2) * (1 - a1)), type: type };\r\n case 5:\r\n return await { value: (a1 * a2 * a3), type: type };\r\n case 6:\r\n return await { value: (1 - ((1 - a1) * (1 - a2) * (1 - a3) * (1 - a4))), type: type };\r\n case 7:\r\n return await { value: ((a1 * a2 * a3 * a4) + (4 * (a1 * a2 * a3) * (1 - a1)) + (6 * (a1 * a2) * (1 - a1) * (1 - a2))), type: type };\r\n case 8:\r\n return await { value: ((a1 * a2 * a3 * a4) + (4 * (a1 * a2 * a3) * (1 - a1))), type: type };\r\n case 9:\r\n return await { value: (a1 * a2 * a3 * a4), type: type };\r\n default:\r\n return await false;\r\n }\r\n }\r\n\r\n get leaf(): boolean {\r\n return this.node.leaf == false ? false : !(this.node.children && this.node.children.length);\r\n }\r\n\r\n get colspan() {\r\n return (this.node.children && this.node.children.length) ? this.node.children.length * 2 : null;\r\n }\r\n\r\n onNodeClick(event: Event, node: TreeNode) {\r\n this.chart.onNodeClick(event, node)\r\n }\r\n\r\n toggleNode(event: Event, node: TreeNode) {\r\n node.expanded = !node.expanded;\r\n if (node.expanded)\r\n this.chart.onNodeExpand.emit({ originalEvent: event, node: this.node });\r\n else\r\n this.chart.onNodeCollapse.emit({ originalEvent: event, node: this.node });\r\n\r\n event.preventDefault();\r\n }\r\n\r\n isSelected() {\r\n return this.chart.isSelected(this.node);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'rbd-organizationChart',\r\n template: `\r\n
\r\n
\r\n
\r\n`,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n 'class': 'p-element'\r\n }\r\n})\r\nexport class OrganizationChart implements AfterContentInit {\r\n\r\n @Input() value: any[];\r\n public MainTree: any = [];\r\n\r\n @Input() style: any;\r\n\r\n @Input() styleClass: string;\r\n\r\n @Input() selectionMode: string;\r\n\r\n @Input() preserveSpace: boolean = true;\r\n\r\n @Input() get selection(): any {\r\n return this._selection;\r\n }\r\n\r\n set selection(val: any) {\r\n this._selection = val;\r\n\r\n if (this.initialized)\r\n this.selectionSource.next();\r\n }\r\n\r\n @Output() selectionChange: EventEmitter = new EventEmitter();\r\n\r\n @Output() onNodeSelect: EventEmitter = new EventEmitter();\r\n\r\n @Output() onNodeUnselect: EventEmitter = new EventEmitter();\r\n\r\n @Output() onNodeExpand: EventEmitter = new EventEmitter();\r\n\r\n @Output() onNodeCollapse: EventEmitter = new EventEmitter();\r\n\r\n @Output() public deleteNode = new EventEmitter();\r\n\r\n @Output() public addNode = new EventEmitter();\r\n\r\n @ContentChildren(PrimeTemplate) templates: QueryList;\r\n\r\n public RBDAssetsList: any = [];\r\n public templateMap: any;\r\n\r\n private selectionSource = new Subject();\r\n\r\n _selection: any;\r\n\r\n initialized: boolean;\r\n\r\n selectionSource$ = this.selectionSource.asObservable();\r\n\r\n constructor(public el: ElementRef, public cd: ChangeDetectorRef, private commonBLServie: CommonBLService) {\r\n this.getAssetsListforRBD();\r\n }\r\n\r\n get root(): TreeNode {\r\n return this.value && this.value.length ? this.value[0] : null;\r\n }\r\n\r\n ngAfterContentInit() {\r\n if (this.templates.length) {\r\n this.templateMap = {};\r\n }\r\n\r\n this.templates.forEach((item) => {\r\n this.templateMap[item.getType()] = item.template;\r\n });\r\n\r\n this.initialized = true;\r\n }\r\n\r\n getTemplateForNode(node: TreeNode): TemplateRef {\r\n if (this.templateMap)\r\n return node.type ? this.templateMap[node.type] : this.templateMap['default'];\r\n else\r\n return null;\r\n }\r\n\r\n public getAssetsListforRBD() {\r\n this.RBDAssetsList = [];\r\n this.commonBLServie.getWithoutParameters('/CriticalityAssesmentAPI/GetAllCARecords')\r\n .subscribe(\r\n res => { this.RBDAssetsList = res; }, err => { console.log(err.error) }\r\n )\r\n }\r\n\r\n onNodeClick(event: Event, node: TreeNode) {\r\n let eventTarget = (event.target);\r\n\r\n if (eventTarget.className && (eventTarget.className.indexOf('p-node-toggler') !== -1 || eventTarget.className.indexOf('p-node-toggler-icon') !== -1)) {\r\n return;\r\n }\r\n else if (this.selectionMode) {\r\n if (node.selectable === false) {\r\n return;\r\n }\r\n\r\n let index = this.findIndexInSelection(node);\r\n let selected = (index >= 0);\r\n\r\n if (this.selectionMode === 'single') {\r\n if (selected) {\r\n this.selection = null;\r\n this.onNodeUnselect.emit({ originalEvent: event, node: node });\r\n }\r\n else {\r\n this.selection = node;\r\n this.onNodeSelect.emit({ originalEvent: event, node: node });\r\n }\r\n }\r\n else if (this.selectionMode === 'multiple') {\r\n if (selected) {\r\n this.selection = this.selection.filter((val, i) => i != index);\r\n this.onNodeUnselect.emit({ originalEvent: event, node: node });\r\n }\r\n else {\r\n this.selection = [...this.selection || [], node];\r\n this.onNodeSelect.emit({ originalEvent: event, node: node });\r\n }\r\n }\r\n\r\n this.selectionChange.emit(this.selection);\r\n this.selectionSource.next();\r\n }\r\n }\r\n\r\n findIndexInSelection(node: TreeNode) {\r\n let index: number = -1;\r\n\r\n if (this.selectionMode && this.selection) {\r\n if (this.selectionMode === 'single') {\r\n index = (this.selection == node) ? 0 : - 1;\r\n }\r\n else if (this.selectionMode === 'multiple') {\r\n for (let i = 0; i < this.selection.length; i++) {\r\n if (this.selection[i] == node) {\r\n index = i;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return index;\r\n }\r\n\r\n isSelected(node: TreeNode) {\r\n return this.findIndexInSelection(node) != -1;\r\n }\r\n}\r\n\r\n@NgModule({\r\n imports: [CommonModule, MenuModule, AutoCompleteModule, FormsModule],\r\n exports: [OrganizationChart, SharedModule, MenuModule, AutoCompleteModule, FormsModule],\r\n declarations: [OrganizationChart, OrganizationChartNode]\r\n})\r\nexport class RBDChartModule { }","\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.label != '' ? 'Tag No. :':''}}\r\n  {{node.label != '' ? RBDAssetValueForHTML(node.label, \"Location\") : ''}}\r\n
\r\n
\r\n {{node.label !='' ? 'Criticality :':''}}\r\n  {{node.label != '' ? RBDAssetValueForHTML(node.label, \"OriginalCriticality\") : ''}}\r\n
\r\n
\r\n {{node.label != '' ? 'Asset Cost ($):':''}}\r\n  {{node.label != '' ? RBDAssetValueForHTML(node.label, \"AssetCost\") : ''}}\r\n
\r\n
\r\n {{node.label !='' ? 'Repair Cost ($):':''}}\r\n  {{node.label != '' ? RBDAssetValueForHTML(node.label, \"RepairCost\") : ''}}\r\n
\r\n
\r\n Reliability : \r\n  {{node.reliability}}\r\n
\r\n
\r\n Select Distribution\r\n  \r\n \r\n \r\n \r\n Check\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\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.gateType === 'KN'? node.K+' '+'Out of '+node.N : ''}}\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
    \r\n
  • \r\n \r\n \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n \r\n \r\n
  • \r\n
  • \r\n \r\n \r\n
  • \r\n
  • \r\n \r\n \r\n
  • \r\n
  • \r\n \r\n \r\n
  • \r\n
  • \r\n \r\n \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n Top\r\n Final\r\n Top\r\n \r\n \r\n
\r\n
    \r\n
  • \r\n \r\n \r\n
  • \r\n
  • \r\n \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n 1\">\r\n \r\n  \r\n  \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n","/* (ignored) */","/* (ignored) */","import { Injectable } from \"@angular/core\";\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class LoginRegistrationConstantAPI{\r\n\r\n public RegisterAPI : string = '/RegistrationAPI/Register'\r\n public LoginAPI : string = '/RegistrationAPI/Login'\r\n}","/* (ignored) */","import { Subject, Observable } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn:'root'\r\n})\r\nexport class CommonLoadingDirective {\r\n\r\n public subject = new Subject();\r\n showLoading(loading: boolean, message: string) {\r\n this.subject.next({\r\n loading: loading,\r\n message: message\r\n })\r\n }\r\n\r\n getLoading(): Observable {\r\n return this.subject.asObservable();\r\n }\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { UserService } from '../home/Services/user.services';\r\nimport { Router } from '@angular/router';\r\nimport { FormBuilder, FormGroup, NgForm, Validators } from '@angular/forms';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { MessageService } from 'primeng/api';\r\nimport { EventEmitterService } from '../home/Services/event-emitter.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-login-registration',\r\n templateUrl: './login-registration.component.html',\r\n styleUrls: ['./login-registration.component.css'],\r\n providers: [MessageService],\r\n})\r\nexport class LoginRegistrationComponent {\r\n formModel = {\r\n UserName: '',\r\n Password: ''\r\n }\r\n\r\n public loginForm: FormGroup = null;\r\n public registerForm: FormGroup = null;\r\n\r\n constructor(public service: UserService,\r\n public router: Router,\r\n public messageService: MessageService,\r\n public title: Title,\r\n public formBuilder: FormBuilder,\r\n public eventEmitterService: EventEmitterService) { \r\n this.title.setTitle('Login | Dynamic Prescriptive Maintenence');\r\n }\r\n\r\n ngOnInit() {\r\n this.registerForm = this.formBuilder.group({\r\n UserName: ['', Validators.required],\r\n Email: ['', [Validators.required, Validators.email, Validators.pattern('^[a-z0-9._%+-]+@[a-z0-9.-]+\\\\.[a-z]{2,4}$')]],\r\n PhoneNumber: ['', [Validators.required, Validators.pattern((\"^((\\\\+91-?)|0)?[0-9]{10}$\"))]],\r\n Company: ['', Validators.required],\r\n Firstname: ['', Validators.required],\r\n Lastname: ['', Validators.required],\r\n Password: ['', Validators.required],\r\n ConfirmPassword: [''],\r\n }, { validators: this.checkConfirmPass });\r\n\r\n this.loginForm = this.formBuilder.group({\r\n UserName: ['', Validators.required],\r\n password: ['', Validators.required],\r\n });\r\n }\r\n\r\n checkConfirmPass(group: FormGroup) {\r\n let pass = group.get('Password').value;\r\n let confirmPass = group.get('ConfirmPassword').value;\r\n return pass === confirmPass ? null : { notSame: true };\r\n }\r\n\r\n signUpBtn() {\r\n var container = document.querySelector(\".container\");\r\n container.classList.add(\"sign-up-mode\");\r\n }\r\n signInBtn() {\r\n var container = document.querySelector(\".container\");\r\n container.classList.remove(\"sign-up-mode\");\r\n }\r\n\r\n onSubmit() {\r\n var checkIsValid = true;\r\n if (!this.registerForm.valid) {\r\n for (var b in this.registerForm.controls) {\r\n this.registerForm.controls[b].markAsDirty();\r\n this.registerForm.controls[b].updateValueAndValidity();\r\n checkIsValid = false;\r\n }\r\n }\r\n if (checkIsValid) {\r\n if (this.registerForm.value.Password.length >= 8) {\r\n this.service.register(this.registerForm)\r\n .subscribe((res: any) => {\r\n this.registerForm.reset();\r\n this.messageService.add({ severity: 'success', summary: 'Success', detail: 'New user created! Registration successful' });\r\n this.signInBtn();\r\n this.messageService.add({ severity: 'info', summary: 'info', detail: 'Enter Login Credentials' });\r\n }, err => {\r\n this.messageService.add({ severity: 'warn', summary: 'Warn', detail: err.error });\r\n });\r\n }\r\n else {\r\n this.messageService.add({ severity: 'warn', summary: 'Warn', detail: 'Password must be character atleast' });\r\n }\r\n } else {\r\n this.messageService.add({ severity: 'warn', summary: 'Warn', detail: 'Please fill all mandatory fields' });\r\n }\r\n }\r\n\r\n onLogin() {\r\n var checkIsValid = true;\r\n if (!this.loginForm.valid) {\r\n for (var b in this.loginForm.controls) {\r\n this.loginForm.controls[b].markAsDirty();\r\n this.loginForm.controls[b].updateValueAndValidity();\r\n checkIsValid = false;\r\n }\r\n }\r\n if (checkIsValid) {\r\n this.service.login(this.loginForm.value)\r\n .subscribe(\r\n (res: any) => {\r\n localStorage.setItem('token', res.SecurityToken);\r\n localStorage.setItem('userObject', JSON.stringify(res.user));\r\n var data = JSON.parse(localStorage.getItem('userObject'))\r\n this.eventEmitterService.SendDataToHomeComponent(data);\r\n this.router.navigateByUrl('Home');\r\n },\r\n err => {\r\n if (err.status == 400)\r\n\r\n this.messageService.add({ severity: 'error', summary: 'Error', detail: err.error });\r\n else\r\n console.log(err);\r\n }\r\n );\r\n } else {\r\n this.messageService.add({ severity: 'warn', summary: 'warn', detail: 'Missing User name or password' });\r\n }\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Sign in

\r\n

We make failure visible and prescribe right maintenance right time.

\r\n\r\n
\r\n \r\n \r\n
\r\n \r\n  User name is required.\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n  Password is required.\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n

Sign up

\r\n

We make failure visible and prescribe right maintenance right time.

\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n  Required\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n  Required\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n  Required\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n  Required\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n  Enter Valid Phone Number\r\n \r\n \r\n  Required\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n  Please Enter Valid Email Address\r\n \r\n \r\n  Required\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n \r\n  Required\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n Passwords do not match\r\n \r\n
\r\n
\r\n\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

New here ?

\r\n

\r\n Contact us to get more detail\r\n

\r\n \r\n
\r\n \r\n \"\"\r\n
\r\n
\r\n
\r\n

One of us ?

\r\n

\r\n Then what are you waiting for\r\n

\r\n \r\n
\r\n \r\n \"\"\r\n
\r\n
\r\n
\r\n
","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false,\r\n apiBaseURI :'http://localhost:44331/api'\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\ninterface resetData {\r\n token: any;\r\n email: any;\r\n userId: any;\r\n}\r\n\r\n@Component({\r\n selector: 'app-reset-password',\r\n templateUrl: './reset-password.component.html',\r\n styleUrls: ['./reset-password.component.scss']\r\n})\r\n\r\n\r\nexport class ResetPasswordComponent implements OnInit {\r\n\r\n public token: any;\r\n public email: any;\r\n public userId: any;\r\n\r\n constructor(public activateroute: ActivatedRoute,\r\n public fb: FormBuilder,\r\n public http: HttpClient,\r\n private title:Title) {\r\n this.title.setTitle('Reset Password | Dynamic Prescriptive Maintenence');\r\n this.token = this.activateroute.snapshot.queryParamMap.get('token');\r\n this.email = this.activateroute.snapshot.queryParamMap.get('email');\r\n this.userId = this.activateroute.snapshot.queryParamMap.get('userId');\r\n }\r\n\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n\r\n formModel = this.fb.group({\r\n Passwords: this.fb.group({\r\n Password: ['', [Validators.required, Validators.minLength(8)]],\r\n ConfirmPassword: ['', Validators.required]\r\n }, { validator: this.comparePasswords })\r\n\r\n });\r\n\r\n\r\n comparePasswords(fb: FormGroup) {\r\n let confirmPswrdCtrl = fb.get('ConfirmPassword');\r\n if (confirmPswrdCtrl.errors == null || 'passwordMismatch' in confirmPswrdCtrl.errors) {\r\n if (fb.get('Password').value != confirmPswrdCtrl.value)\r\n confirmPswrdCtrl.setErrors({ passwordMismatch: true });\r\n else\r\n confirmPswrdCtrl.setErrors(null);\r\n }\r\n }\r\n\r\n ResetPassword() {\r\n let data = {\r\n Email: this.email,\r\n Token: this.token,\r\n userId: this.userId,\r\n Password: this.formModel.value.Passwords.Password\r\n }\r\n\r\n this.http.post('api/ForgotPasswordAPI/Reset', data).subscribe(\r\n res => {\r\n console.log(res)\r\n },\r\n err => {\r\n console.log(err)\r\n }\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 your new Password

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

Connect us with social platforms

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

New here ?

\r\n

\r\n Contact us to get more detail\r\n

\r\n\r\n
\r\n \"\"\r\n
\r\n
\r\n
\r\n
","import { Injectable } from '@angular/core';\r\nimport { FormBuilder, Validators, FormGroup } from '@angular/forms';\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { LoginRegistrationConstantAPI } from 'src/app/login-registration/login-registration.API';\r\nimport { CommonBLService } from 'src/app/shared/BLDL/common.bl.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserService {\r\n\r\n constructor(private LoginAPIName : LoginRegistrationConstantAPI, \r\n private LoginMethod : CommonBLService) { }\r\n readonly BaseURI = 'https://localhost:44331/api';\r\n\r\n register(registerForm) {\r\n var body = {\r\n UserName: registerForm.value.UserName,\r\n Email: registerForm.value.Email,\r\n PhoneNumber: registerForm.value.PhoneNumber,\r\n Firstname: registerForm.value.Firstname,\r\n Lastname: registerForm.value.Lastname,\r\n Company: registerForm.value.Company,\r\n Password: registerForm.value.Password,\r\n UserType:0\r\n };\r\n const url : string = this.LoginAPIName.RegisterAPI;\r\n \r\n return this.LoginMethod.postWithoutHeaders(url, body)\r\n }\r\n\r\n login(formData) {\r\n const url : string = this.LoginAPIName.LoginAPI;\r\n return this.LoginMethod.postWithoutHeaders(url, formData)\r\n }\r\n \r\n}","import { Component, Input, OnInit, ChangeDetectorRef } from '@angular/core';\r\nimport { CommonLoadingDirective } from './common-loading.directive';\r\n\r\n@Component({\r\n selector: 'common-loading',\r\n templateUrl: './common-loading.component.html',\r\n})\r\nexport class CommonLoadingComponent implements OnInit {\r\n\r\n\r\n public showLoading: boolean = false;\r\n public loadingMessage:string = \"\";\r\n constructor(public commonLoadingDirective: CommonLoadingDirective,\r\n public changeRef: ChangeDetectorRef) {\r\n }\r\n\r\n ngOnInit() {\r\n this.commonLoadingDirective.getLoading().subscribe(val => {\r\n this.showLoading = val.loading;\r\n this.loadingMessage = val.message\r\n this.changeRef.detectChanges();\r\n })\r\n }\r\n\r\n\r\n}","\r\n
\r\n
\r\n
\r\n
\r\n

loading...

\r\n
\r\n
","import { Injectable } from \"@angular/core\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { CommonDLService } from \"./common.dl.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CommonBLService {\r\n\r\n constructor(private commonDLService: CommonDLService) { }\r\n //Dynamic Get API with no Parameters\r\n public getWithoutParameters(url: string) {\r\n return this.commonDLService.getWithoutParameters(url)\r\n .pipe(map(res => {\r\n return res;\r\n }));\r\n }\r\n\r\n //Dynamic Get API with Parameters\r\n public getWithParameters(url: string, params) {\r\n return this.commonDLService.getWithParameters(url, params)\r\n .pipe(map(res => {\r\n return res;\r\n }));\r\n }\r\n\r\n //Dynamic Post API with no header\r\n public postWithoutHeaders(url: string, data: any) {\r\n return this.commonDLService.postWithoutHeaders(url, data)\r\n .pipe(map(res => {\r\n return res;\r\n }));\r\n }\r\n\r\n //Dynamic Post API with header\r\n public postWithHeaders(url: string, data: any) {\r\n return this.commonDLService.postWithHeaders(url, data)\r\n .pipe(map(res => {\r\n return res;\r\n }));\r\n }\r\n\r\n public postWithoutHeadersWithParameters(url: string, data: any, params) {\r\n return this.commonDLService.postWithoutHeadersWithParameters(url, data, params)\r\n .pipe(map(res => {\r\n return res;\r\n }));\r\n }\r\n\r\n //Dynamic PUT \r\n public PutData(url: string, data: any, id?: number) {\r\n return this.commonDLService.PutData(url, data, id)\r\n .pipe(map(res => {\r\n return res;\r\n }, err => { return err }));\r\n }\r\n\r\n //Dynamic Delete with Param\r\n public DeleteWithParam(url: string, params) {\r\n return this.commonDLService.DeleteWithParam(url, params)\r\n .pipe(map(res => {\r\n return res;\r\n }, err => { return err }));\r\n }\r\n\r\n //Dynamic Delete without Param\r\n public DeleteWithID(url: string, id) {\r\n return this.commonDLService.DeleteWithID(url, id)\r\n .pipe(map(res => {\r\n return res;\r\n }, err => { return err }));\r\n }\r\n\r\n\r\n\r\n public GetMSSLibrary() {\r\n return this.commonDLService.GetMSSLibrary()\r\n .pipe(map(res => {\r\n return res;\r\n }));\r\n }\r\n\r\n public GetFailureComponents() {\r\n return this.commonDLService.GetFailureComponents()\r\n .pipe(map(res => {\r\n return res;\r\n }));\r\n }\r\n\r\n public GetFailureCause() {\r\n return this.commonDLService.GetFailureCause()\r\n .pipe(map(res => {\r\n return res;\r\n }));\r\n }\r\n\r\n public GetFailureModeNames() {\r\n return this.commonDLService.GetFailureModeNames()\r\n .pipe(map(res => {\r\n return res;\r\n }));\r\n }\r\n\r\n}","import { EventEmitter, Injectable } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EventEmitterService {\r\n\r\n invokeHomeComponentFunction = new EventEmitter(); \r\n subsVar: Subscription; \r\n \r\n constructor() { } \r\n \r\n SendDataToHomeComponent(abc : any) { \r\n this.invokeHomeComponentFunction.emit(abc); \r\n } \r\n}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { ButtonModule } from \"primeng/button\";\r\nimport { CardModule } from \"primeng/card\";\r\nimport { ChartModule } from \"primeng/chart\";\r\nimport { DragDropModule } from \"primeng/dragdrop\";\r\nimport { InputTextModule } from \"primeng/inputtext\";\r\nimport { MessageModule } from \"primeng/message\";\r\nimport { MessagesModule } from \"primeng/messages\";\r\nimport { PasswordModule } from \"primeng/password\";\r\nimport { RadioButtonModule } from \"primeng/radiobutton\";\r\nimport { StepsModule } from \"primeng/steps\";\r\nimport { TableModule } from \"primeng/table\";\r\nimport { TreeModule } from \"./P-Tree/p-tree\";\r\nimport { ToastModule } from \"primeng/toast\";\r\nimport { SliderModule } from 'primeng/slider';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { OverlayPanelModule } from 'primeng/overlaypanel';\r\nimport { CommonLoadingComponent } from \"./Loading/common-loading.component\";\r\nimport { SafePipe } from \"./safe.pipe\";\r\nimport { TooltipModule } from 'primeng/tooltip';\r\nimport { TabViewModule } from 'primeng/tabview';\r\nimport { OrganizationChartModule } from \"./organization-chart/organization-chart.component\";\r\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\r\nimport { PanelMenuModule } from 'primeng/panelmenu';\r\nimport {CalendarModule} from 'primeng/calendar';\r\nimport { FileUploadModule } from 'primeng/fileupload';\r\nimport {TreeTableModule} from 'primeng/treetable';\r\nimport {CheckboxModule} from 'primeng/checkbox';\r\nimport {InputNumberModule} from 'primeng/inputnumber';\r\nimport {MultiSelectModule} from 'primeng/multiselect';\r\nimport { RBDChartModule } from \"./rbd-org-chart/rbd-org-chart.component\";\r\n@NgModule({\r\n declarations: [CommonLoadingComponent, SafePipe],\r\n imports: [\r\n FileUploadModule,\r\n CommonModule,\r\n TableModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n ToastModule,\r\n ChartModule,\r\n ButtonModule,\r\n InputTextModule,\r\n PasswordModule,\r\n MessagesModule,\r\n MessageModule,\r\n OrganizationChartModule,\r\n CardModule,\r\n StepsModule,\r\n RadioButtonModule,\r\n DragDropModule,\r\n SliderModule,\r\n DialogModule,\r\n OverlayPanelModule,\r\n TreeModule,\r\n ConfirmDialogModule,\r\n TooltipModule,\r\n PanelMenuModule,\r\n TreeTableModule,\r\n CheckboxModule,\r\n RBDChartModule,\r\n CalendarModule],\r\n exports: [CommonModule,\r\n CommonLoadingComponent,\r\n TableModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n ToastModule,\r\n ChartModule,\r\n ButtonModule,\r\n InputTextModule,\r\n PasswordModule,\r\n MessagesModule,\r\n MessageModule,\r\n OrganizationChartModule,\r\n CardModule,\r\n StepsModule,\r\n RadioButtonModule,\r\n DragDropModule,\r\n SliderModule,\r\n TreeModule,\r\n SafePipe,\r\n DialogModule,\r\n OverlayPanelModule,\r\n TabViewModule,\r\n ConfirmDialogModule,\r\n TooltipModule,\r\n PanelMenuModule,\r\n TreeTableModule,\r\n CheckboxModule,\r\n CalendarModule,\r\n MultiSelectModule,\r\n RBDChartModule,\r\n InputNumberModule]\r\n})\r\nexport class SharedModule {\r\n\r\n}","var map = {\n\t\"./af\": \"K/tc\",\n\t\"./af.js\": \"K/tc\",\n\t\"./ar\": \"jnO4\",\n\t\"./ar-dz\": \"o1bE\",\n\t\"./ar-dz.js\": \"o1bE\",\n\t\"./ar-kw\": \"Qj4J\",\n\t\"./ar-kw.js\": \"Qj4J\",\n\t\"./ar-ly\": \"HP3h\",\n\t\"./ar-ly.js\": \"HP3h\",\n\t\"./ar-ma\": \"CoRJ\",\n\t\"./ar-ma.js\": \"CoRJ\",\n\t\"./ar-sa\": \"gjCT\",\n\t\"./ar-sa.js\": \"gjCT\",\n\t\"./ar-tn\": \"bYM6\",\n\t\"./ar-tn.js\": \"bYM6\",\n\t\"./ar.js\": \"jnO4\",\n\t\"./az\": \"SFxW\",\n\t\"./az.js\": \"SFxW\",\n\t\"./be\": \"H8ED\",\n\t\"./be.js\": \"H8ED\",\n\t\"./bg\": \"hKrs\",\n\t\"./bg.js\": \"hKrs\",\n\t\"./bm\": \"p/rL\",\n\t\"./bm.js\": \"p/rL\",\n\t\"./bn\": \"kEOa\",\n\t\"./bn-bd\": \"loYQ\",\n\t\"./bn-bd.js\": \"loYQ\",\n\t\"./bn.js\": \"kEOa\",\n\t\"./bo\": \"0mo+\",\n\t\"./bo.js\": \"0mo+\",\n\t\"./br\": \"aIdf\",\n\t\"./br.js\": \"aIdf\",\n\t\"./bs\": \"JVSJ\",\n\t\"./bs.js\": \"JVSJ\",\n\t\"./ca\": \"1xZ4\",\n\t\"./ca.js\": \"1xZ4\",\n\t\"./cs\": \"PA2r\",\n\t\"./cs.js\": \"PA2r\",\n\t\"./cv\": \"A+xa\",\n\t\"./cv.js\": \"A+xa\",\n\t\"./cy\": \"l5ep\",\n\t\"./cy.js\": \"l5ep\",\n\t\"./da\": \"DxQv\",\n\t\"./da.js\": \"DxQv\",\n\t\"./de\": \"tGlX\",\n\t\"./de-at\": \"s+uk\",\n\t\"./de-at.js\": \"s+uk\",\n\t\"./de-ch\": \"u3GI\",\n\t\"./de-ch.js\": \"u3GI\",\n\t\"./de.js\": \"tGlX\",\n\t\"./dv\": \"WYrj\",\n\t\"./dv.js\": \"WYrj\",\n\t\"./el\": \"jUeY\",\n\t\"./el.js\": \"jUeY\",\n\t\"./en-au\": \"Dmvi\",\n\t\"./en-au.js\": \"Dmvi\",\n\t\"./en-ca\": \"OIYi\",\n\t\"./en-ca.js\": \"OIYi\",\n\t\"./en-gb\": \"Oaa7\",\n\t\"./en-gb.js\": \"Oaa7\",\n\t\"./en-ie\": \"4dOw\",\n\t\"./en-ie.js\": \"4dOw\",\n\t\"./en-il\": \"czMo\",\n\t\"./en-il.js\": \"czMo\",\n\t\"./en-in\": \"7C5Q\",\n\t\"./en-in.js\": \"7C5Q\",\n\t\"./en-nz\": \"b1Dy\",\n\t\"./en-nz.js\": \"b1Dy\",\n\t\"./en-sg\": \"t+mt\",\n\t\"./en-sg.js\": \"t+mt\",\n\t\"./eo\": \"Zduo\",\n\t\"./eo.js\": \"Zduo\",\n\t\"./es\": \"iYuL\",\n\t\"./es-do\": \"CjzT\",\n\t\"./es-do.js\": \"CjzT\",\n\t\"./es-mx\": \"tbfe\",\n\t\"./es-mx.js\": \"tbfe\",\n\t\"./es-us\": \"Vclq\",\n\t\"./es-us.js\": \"Vclq\",\n\t\"./es.js\": \"iYuL\",\n\t\"./et\": \"7BjC\",\n\t\"./et.js\": \"7BjC\",\n\t\"./eu\": \"D/JM\",\n\t\"./eu.js\": \"D/JM\",\n\t\"./fa\": \"jfSC\",\n\t\"./fa.js\": \"jfSC\",\n\t\"./fi\": \"gekB\",\n\t\"./fi.js\": \"gekB\",\n\t\"./fil\": \"1ppg\",\n\t\"./fil.js\": \"1ppg\",\n\t\"./fo\": \"ByF4\",\n\t\"./fo.js\": \"ByF4\",\n\t\"./fr\": \"nyYc\",\n\t\"./fr-ca\": \"2fjn\",\n\t\"./fr-ca.js\": \"2fjn\",\n\t\"./fr-ch\": \"Dkky\",\n\t\"./fr-ch.js\": \"Dkky\",\n\t\"./fr.js\": \"nyYc\",\n\t\"./fy\": \"cRix\",\n\t\"./fy.js\": \"cRix\",\n\t\"./ga\": \"USCx\",\n\t\"./ga.js\": \"USCx\",\n\t\"./gd\": \"9rRi\",\n\t\"./gd.js\": \"9rRi\",\n\t\"./gl\": \"iEDd\",\n\t\"./gl.js\": \"iEDd\",\n\t\"./gom-deva\": \"qvJo\",\n\t\"./gom-deva.js\": \"qvJo\",\n\t\"./gom-latn\": \"DKr+\",\n\t\"./gom-latn.js\": \"DKr+\",\n\t\"./gu\": \"4MV3\",\n\t\"./gu.js\": \"4MV3\",\n\t\"./he\": \"x6pH\",\n\t\"./he.js\": \"x6pH\",\n\t\"./hi\": \"3E1r\",\n\t\"./hi.js\": \"3E1r\",\n\t\"./hr\": \"S6ln\",\n\t\"./hr.js\": \"S6ln\",\n\t\"./hu\": \"WxRl\",\n\t\"./hu.js\": \"WxRl\",\n\t\"./hy-am\": \"1rYy\",\n\t\"./hy-am.js\": \"1rYy\",\n\t\"./id\": \"UDhR\",\n\t\"./id.js\": \"UDhR\",\n\t\"./is\": \"BVg3\",\n\t\"./is.js\": \"BVg3\",\n\t\"./it\": \"bpih\",\n\t\"./it-ch\": \"bxKX\",\n\t\"./it-ch.js\": \"bxKX\",\n\t\"./it.js\": \"bpih\",\n\t\"./ja\": \"B55N\",\n\t\"./ja.js\": \"B55N\",\n\t\"./jv\": \"tUCv\",\n\t\"./jv.js\": \"tUCv\",\n\t\"./ka\": \"IBtZ\",\n\t\"./ka.js\": \"IBtZ\",\n\t\"./kk\": \"bXm7\",\n\t\"./kk.js\": \"bXm7\",\n\t\"./km\": \"6B0Y\",\n\t\"./km.js\": \"6B0Y\",\n\t\"./kn\": \"PpIw\",\n\t\"./kn.js\": \"PpIw\",\n\t\"./ko\": \"Ivi+\",\n\t\"./ko.js\": \"Ivi+\",\n\t\"./ku\": \"JCF/\",\n\t\"./ku.js\": \"JCF/\",\n\t\"./ky\": \"lgnt\",\n\t\"./ky.js\": \"lgnt\",\n\t\"./lb\": \"RAwQ\",\n\t\"./lb.js\": \"RAwQ\",\n\t\"./lo\": \"sp3z\",\n\t\"./lo.js\": \"sp3z\",\n\t\"./lt\": \"JvlW\",\n\t\"./lt.js\": \"JvlW\",\n\t\"./lv\": \"uXwI\",\n\t\"./lv.js\": \"uXwI\",\n\t\"./me\": \"KTz0\",\n\t\"./me.js\": \"KTz0\",\n\t\"./mi\": \"aIsn\",\n\t\"./mi.js\": \"aIsn\",\n\t\"./mk\": \"aQkU\",\n\t\"./mk.js\": \"aQkU\",\n\t\"./ml\": \"AvvY\",\n\t\"./ml.js\": \"AvvY\",\n\t\"./mn\": \"lYtQ\",\n\t\"./mn.js\": \"lYtQ\",\n\t\"./mr\": \"Ob0Z\",\n\t\"./mr.js\": \"Ob0Z\",\n\t\"./ms\": \"6+QB\",\n\t\"./ms-my\": \"ZAMP\",\n\t\"./ms-my.js\": \"ZAMP\",\n\t\"./ms.js\": \"6+QB\",\n\t\"./mt\": \"G0Uy\",\n\t\"./mt.js\": \"G0Uy\",\n\t\"./my\": \"honF\",\n\t\"./my.js\": \"honF\",\n\t\"./nb\": \"bOMt\",\n\t\"./nb.js\": \"bOMt\",\n\t\"./ne\": \"OjkT\",\n\t\"./ne.js\": \"OjkT\",\n\t\"./nl\": \"+s0g\",\n\t\"./nl-be\": \"2ykv\",\n\t\"./nl-be.js\": \"2ykv\",\n\t\"./nl.js\": \"+s0g\",\n\t\"./nn\": \"uEye\",\n\t\"./nn.js\": \"uEye\",\n\t\"./oc-lnc\": \"Fnuy\",\n\t\"./oc-lnc.js\": \"Fnuy\",\n\t\"./pa-in\": \"8/+R\",\n\t\"./pa-in.js\": \"8/+R\",\n\t\"./pl\": \"jVdC\",\n\t\"./pl.js\": \"jVdC\",\n\t\"./pt\": \"8mBD\",\n\t\"./pt-br\": \"0tRk\",\n\t\"./pt-br.js\": \"0tRk\",\n\t\"./pt.js\": \"8mBD\",\n\t\"./ro\": \"lyxo\",\n\t\"./ro.js\": \"lyxo\",\n\t\"./ru\": \"lXzo\",\n\t\"./ru.js\": \"lXzo\",\n\t\"./sd\": \"Z4QM\",\n\t\"./sd.js\": \"Z4QM\",\n\t\"./se\": \"//9w\",\n\t\"./se.js\": \"//9w\",\n\t\"./si\": \"7aV9\",\n\t\"./si.js\": \"7aV9\",\n\t\"./sk\": \"e+ae\",\n\t\"./sk.js\": \"e+ae\",\n\t\"./sl\": \"gVVK\",\n\t\"./sl.js\": \"gVVK\",\n\t\"./sq\": \"yPMs\",\n\t\"./sq.js\": \"yPMs\",\n\t\"./sr\": \"zx6S\",\n\t\"./sr-cyrl\": \"E+lV\",\n\t\"./sr-cyrl.js\": \"E+lV\",\n\t\"./sr.js\": \"zx6S\",\n\t\"./ss\": \"Ur1D\",\n\t\"./ss.js\": \"Ur1D\",\n\t\"./sv\": \"X709\",\n\t\"./sv.js\": \"X709\",\n\t\"./sw\": \"dNwA\",\n\t\"./sw.js\": \"dNwA\",\n\t\"./ta\": \"PeUW\",\n\t\"./ta.js\": \"PeUW\",\n\t\"./te\": \"XLvN\",\n\t\"./te.js\": \"XLvN\",\n\t\"./tet\": \"V2x9\",\n\t\"./tet.js\": \"V2x9\",\n\t\"./tg\": \"Oxv6\",\n\t\"./tg.js\": \"Oxv6\",\n\t\"./th\": \"EOgW\",\n\t\"./th.js\": \"EOgW\",\n\t\"./tk\": \"Wv91\",\n\t\"./tk.js\": \"Wv91\",\n\t\"./tl-ph\": \"Dzi0\",\n\t\"./tl-ph.js\": \"Dzi0\",\n\t\"./tlh\": \"z3Vd\",\n\t\"./tlh.js\": \"z3Vd\",\n\t\"./tr\": \"DoHr\",\n\t\"./tr.js\": \"DoHr\",\n\t\"./tzl\": \"z1FC\",\n\t\"./tzl.js\": \"z1FC\",\n\t\"./tzm\": \"wQk9\",\n\t\"./tzm-latn\": \"tT3J\",\n\t\"./tzm-latn.js\": \"tT3J\",\n\t\"./tzm.js\": \"wQk9\",\n\t\"./ug-cn\": \"YRex\",\n\t\"./ug-cn.js\": \"YRex\",\n\t\"./uk\": \"raLr\",\n\t\"./uk.js\": \"raLr\",\n\t\"./ur\": \"UpQW\",\n\t\"./ur.js\": \"UpQW\",\n\t\"./uz\": \"Loxo\",\n\t\"./uz-latn\": \"AQ68\",\n\t\"./uz-latn.js\": \"AQ68\",\n\t\"./uz.js\": \"Loxo\",\n\t\"./vi\": \"KSF8\",\n\t\"./vi.js\": \"KSF8\",\n\t\"./x-pseudo\": \"/X5v\",\n\t\"./x-pseudo.js\": \"/X5v\",\n\t\"./yo\": \"fzPg\",\n\t\"./yo.js\": \"fzPg\",\n\t\"./zh-cn\": \"XDpg\",\n\t\"./zh-cn.js\": \"XDpg\",\n\t\"./zh-hk\": \"SatO\",\n\t\"./zh-hk.js\": \"SatO\",\n\t\"./zh-mo\": \"OmwH\",\n\t\"./zh-mo.js\": \"OmwH\",\n\t\"./zh-tw\": \"kOpN\",\n\t\"./zh-tw.js\": \"kOpN\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"RnhZ\";","import { Component, OnDestroy } from '@angular/core';\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 implements OnDestroy {\r\n title = 'DPM';\r\n\r\n constructor() {\r\n // window.addEventListener('beforeunload', (e) => {\r\n // e.preventDefault();\r\n // e.returnValue = '';\r\n // });\r\n }\r\n\r\n ngOnDestroy() {\r\n localStorage.clear();\r\n }\r\n\r\n}\r\n","\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'app-forgot-password',\r\n templateUrl: './forgot-password.component.html',\r\n styleUrls: ['./forgot-password.component.scss']\r\n})\r\nexport class ForgotPasswordComponent {\r\n\r\n public Email;\r\n public res1: any;\r\n public res2: any;\r\n public disableEnter: boolean = true;\r\n public hideForm: boolean = true\r\n constructor(public http: HttpClient,\r\n private title: Title) {\r\n this.title.setTitle('Forget Password | Dynamic Prescriptive Maintenence')\r\n }\r\n\r\n Validate() {\r\n let data = {\r\n Email: this.Email\r\n }\r\n this.http.post('api/ForgotPasswordAPI/Forgot', data)\r\n .subscribe(res => {\r\n this.res1 = res;\r\n }, err => {\r\n this.res2 = err;\r\n });\r\n this.disableEnter = false;\r\n this.hideForm = false;\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Forgot Password

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

Enter Registered Credentials

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

Connect us with social platforms

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

New here ?

\r\n

\r\n Contact us to get more detail\r\n

\r\n\r\n
\r\n \"\"\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations'\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { LocationStrategy, HashLocationStrategy } from '@angular/common';\r\nimport { ToastModule } from 'primeng/toast';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { LoginRegistrationComponent } from './login-registration/login-registration.component';\r\nimport { AuthInterceptor } from './Token.Interceptor';\r\nimport { SharedModule } from './shared/shared.module';\r\nimport { ForgotPasswordComponent } from './forgot-password/forgot-password.component';\r\nimport { ResetPasswordComponent } from './reset-password/reset-password.component';\r\nimport { ConfigModule } from './shared/config.service';\r\nimport { RCMFunctionalAnalysis } from './home/prescriptive/CBA/RCMFunctionalAnalysis/rcmreport.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n LoginRegistrationComponent,\r\n ForgotPasswordComponent,\r\n ResetPasswordComponent,\r\n RCMFunctionalAnalysis\r\n ],\r\n imports: [\r\n BrowserModule,\r\n BrowserAnimationsModule,\r\n AppRoutingModule,\r\n HttpClientModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n ToastModule,\r\n SharedModule,\r\n ],\r\n providers: [\r\n { provide: LocationStrategy, useClass: HashLocationStrategy },\r\n { provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true },\r\n ConfigModule.init()\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer} from '@angular/platform-browser';\r\n\r\n@Pipe({ name: 'safeUrl' })\r\nexport class SafePipe implements PipeTransform {\r\n constructor(private sanitizer: DomSanitizer) {}\r\n transform(url: string) {\r\n return this.sanitizer.bypassSecurityTrustResourceUrl(url);\r\n }\r\n}","import {\r\n NgModule, Component, Input, AfterContentInit, OnDestroy, Output, EventEmitter, OnInit, OnChanges,\r\n ContentChildren, QueryList, TemplateRef, Inject, ElementRef, forwardRef, ChangeDetectionStrategy, SimpleChanges, ViewEncapsulation, ViewChild, ChangeDetectorRef,\r\n} from '@angular/core';\r\nimport { CdkVirtualScrollViewport, ScrollingModule } from '@angular/cdk/scrolling';\r\nimport { Optional } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TreeNode } from 'primeng/api';\r\nimport { SharedModule } from 'primeng/api';\r\nimport { PrimeTemplate } from 'primeng/api';\r\nimport { TreeDragDropService } from 'primeng/api';\r\nimport { Subscription } from 'rxjs';\r\nimport { BlockableUI } from 'primeng/api';\r\nimport { ObjectUtils } from 'primeng/utils';\r\nimport { DomHandler } from 'primeng/dom';\r\nimport { RippleModule } from 'primeng/ripple';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport * as moment from 'moment'\r\nimport { FormsModule } from '@angular/forms';\r\nimport { OverlayPanel } from \"primeng/overlaypanel\";\r\nimport { PrescriptiveContantAPI } from 'src/app/home/prescriptive/Shared/prescriptive.constant';\r\nimport { CommonBLService } from '../BLDL/common.bl.service';\r\nimport { HttpParams } from '@angular/common/http';\r\n@Component({\r\n selector: 'p-treeNode',\r\n templateUrl: './p-tree.html',\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class UITreeNode implements OnInit {\r\n\r\n static ICON_CLASS: string = 'p-treenode-icon ';\r\n\r\n @Input() rowNode: any;\r\n\r\n @Input() node: TreeNode;\r\n\r\n @Input() parentNode: TreeNode;\r\n\r\n @Input() root: boolean;\r\n\r\n @Input() index: number;\r\n\r\n @Input() firstChild: boolean;\r\n\r\n @Input() lastChild: boolean;\r\n\r\n @Input() level: number;\r\n\r\n @Input() indentation: number;\r\n\r\n @Output(\"NodeSelected\")\r\n public NodeSelectedData: EventEmitter = new EventEmitter();\r\n\r\n tree: Tree;\r\n public showOverlay: boolean = false;\r\n public Remark: string = \"\";\r\n public FileSafeUrl: any;\r\n public FileUrl: any;\r\n public PdfEnable: boolean = false;\r\n public ImageEnable: boolean = false;\r\n\r\n public AttachmentOverlay : boolean = false;\r\n public RCAAttacmentUpladName : string = \"\"\r\n public RCANodeData : any;\r\n public RCAFileView : boolean = false\r\n public RCAImageViewEnable : boolean = false\r\n public RCAPdfViewEnable : boolean = false\r\n public RCAFileSafeUrl: any;\r\n public RCAParentAttachment : boolean = false\r\n public RCAParentOperationalData : string = \"\"\r\n public RCAParentDesignData : string = \"\"\r\n public RCAUpdateAttachment : boolean = false\r\n public RCAViewAttachmentList : any = []\r\n public RCAUpdateFileView : boolean = false\r\n public RCAFileUrlDownload : string = \"\"\r\n public RCAADDAttachmentListView : boolean = false\r\n public RCAUpdateAttachmentListView : boolean = false\r\n constructor(\r\n @Inject(forwardRef(() => Tree),) tree,\r\n private sanitizer: DomSanitizer,\r\n private change: ChangeDetectorRef,\r\n private prescriptiveContantAPI : PrescriptiveContantAPI,\r\n private commonBLService : CommonBLService) {\r\n this.tree = tree as Tree;\r\n }\r\n\r\n draghoverPrev: boolean;\r\n\r\n draghoverNext: boolean;\r\n\r\n draghoverNode: boolean\r\n\r\n ngOnInit() {\r\n this.node.parent = this.parentNode;\r\n if (this.parentNode) {\r\n this.tree.syncNodeOption(this.node, this.tree.value, 'parent', this.tree.getNodeWithKey(this.parentNode.key, this.tree.value));\r\n }\r\n }\r\n\r\n AttachmentNodeSelected(){\r\n this.AttachmentOverlay = true\r\n }\r\n AttachmentOverlayClose(){\r\n this.AttachmentOverlay = false\r\n }\r\n\r\n \r\n NodeSelection(node) {\r\n node.edit = false;\r\n this.showOverlay = true;\r\n this.Remark = !!node.remark ? node.remark : '';\r\n this.FileSafeUrl = this.sanitizer.bypassSecurityTrustResourceUrl(node.dbPath);\r\n this.FileUrl = node.dbPath;\r\n var extension = this.getFileExtension(node.dbPath);\r\n if (extension.toLowerCase() == 'jpg' || extension.toLowerCase() == 'jpeg' || extension.toLowerCase() == 'png') {\r\n this.ImageEnable = true;\r\n this.PdfEnable = false;\r\n } else if (extension.toLowerCase() == 'pdf') {\r\n this.ImageEnable = false;\r\n this.PdfEnable = true;\r\n }\r\n }\r\n close(node) {\r\n node.edit = true;\r\n this.showOverlay = false;\r\n }\r\n downloadURI() {\r\n var a = document.createElement(\"a\");\r\n a.href = this.FileUrl;\r\n a.setAttribute(\"download\", `Document ${moment().format('DD-MM-YYYY')}`);\r\n a.click();\r\n }\r\n getFileExtension(filename) {\r\n const extension = filename.substring(filename.lastIndexOf('.') + 1, filename.length) || filename;\r\n return extension;\r\n }\r\n\r\n getIcon() {\r\n let icon: string;\r\n if (this.node.icon)\r\n icon = this.node.icon;\r\n else\r\n icon = this.node.expanded && this.node.children && this.node.children.length ? this.node.expandedIcon : this.node.collapsedIcon;\r\n\r\n return UITreeNode.ICON_CLASS + ' ' + icon;\r\n }\r\n\r\n isLeaf() {\r\n return this.tree.isNodeLeaf(this.node);\r\n }\r\n\r\n toggle(event: Event) {\r\n if (this.node.expanded)\r\n this.collapse(event);\r\n else\r\n this.expand(event);\r\n }\r\n addTreeRow(event: Event, node) {\r\n this.tree.addTreeRow.emit(node);\r\n this.expand(event);\r\n }\r\n deleteTreeRow(event: Event, node) {\r\n this.tree.deleteTreeRow.emit(node);\r\n }\r\n rCAAttachment(event: Event, node) {\r\n this.RCANodeData = node;\r\n this.tree.rCAAttachment.emit(node);\r\n }\r\n uploadRCAAttachment(event: any) {\r\n this.RCAAttacmentUpladName = event.target.files[0].name\r\n var data : any = []\r\n data.push(event)\r\n data.push(this.RCANodeData)\r\n if(this.RCANodeData.currentStage === 'update'){\r\n this.tree.uploadRCAAttachment.emit(data); \r\n }else{\r\n var evidence : any = [], evidenceList : any = [], url, fileName : string = \"\";\r\n let file = event.target.files[0];\r\n if(event.target.files && event.target.files.length > 0) {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = e =>{\r\n url = reader.result.toString();\r\n fileName = event.target.files[0].name;\r\n evidence.push(event);\r\n evidence.push(url);\r\n evidence.push(fileName);\r\n if(this.RCANodeData.RCAFILE !== ''){\r\n evidenceList = this.RCANodeData.RCAFILE;\r\n }\r\n evidenceList.push(evidence);\r\n this.RCANodeData.RCAFILE = evidenceList;\r\n } \r\n }\r\n }\r\n this.AttachmentOverlay = false;\r\n }\r\n\r\n\r\n showRCAAttachment(event, node){\r\n if(node.currentStage == 'add' && node.disable == false){\r\n this.RCAUpdateAttachmentListView = false;\r\n this.RCAADDAttachmentListView = true\r\n this.RCAViewAttachmentList = []\r\n this.RCAViewAttachmentList = node.RCAFILE;\r\n }else if(node.currentStage == 'update' && node.disable == false){\r\n this.RCAUpdateAttachmentListView = true;\r\n this.RCAADDAttachmentListView = false\r\n this.RCAViewAttachmentList = []\r\n node.RCAFILE.forEach(element => {\r\n this.RCAViewAttachmentList.push(JSON.parse(element))\r\n });\r\n }else if(node.disable == true){\r\n this.RCAUpdateAttachmentListView = true;\r\n this.RCAADDAttachmentListView = false\r\n this.RCAViewAttachmentList = []\r\n node.RCAFILE.forEach(element => {\r\n this.RCAViewAttachmentList.push(JSON.parse(element))\r\n });\r\n }\r\n \r\n this.RCAFileView = true;\r\n }\r\n\r\n parentNodeADDData(event: Event, node) {\r\n this.RCAParentAttachment = true;\r\n this.RCAParentDesignData = node.designData\r\n this.RCAParentOperationalData = node.operationalData\r\n // this.tree.addTreeRow.emit(node);\r\n // this.expand(event);\r\n }\r\n closeRCAParrentView(){\r\n this.RCAParentAttachment = false;\r\n }\r\n\r\n closeRCAFileView(){\r\n this.RCAFileView = false\r\n }\r\n\r\n AddRCAOperationalDesignData(node){\r\n node.designData = this.RCAParentDesignData\r\n node.operationalData = this.RCAParentOperationalData\r\n\r\n }\r\n\r\n public RCANoteEnable : boolean = false\r\n public RCANote : string = \"\"\r\n\r\n addNoteTonode(node){\r\n this.RCANoteEnable = true\r\n if(node.note !== undefined){\r\n this.RCANote = node.note;\r\n }\r\n }\r\n closeRCANote(node){\r\n this.RCANoteEnable = false\r\n }\r\n AddRCANote(node){\r\n node.note = this.RCANote;\r\n }\r\n\r\n RCAUpdateViewFromList(file, node){\r\n if(node.currentStage === \"add\" && node.disable == false){\r\n this.RCAFileSafeUrl = \"\";\r\n var url = file[1]\r\n this.RCAFileSafeUrl = this.sanitizer.bypassSecurityTrustResourceUrl(url);\r\n this.RCAFileUrlDownload = url;\r\n this.FileUrl = url;\r\n var extension = this.getFileExtension(file[2]);\r\n\r\n }else if(node.currentStage === \"update\" && node.disable == false){\r\n this.RCAFileSafeUrl = \"\";\r\n this.RCAFileSafeUrl = this.sanitizer.bypassSecurityTrustResourceUrl(file[0][0].dbPath);\r\n this.RCAFileUrlDownload = file[0][0].dbPath\r\n this.FileUrl = file[0][0].dbPath;\r\n var extension = this.getFileExtension(file[0][1]);\r\n }else if(node.disable == true){\r\n this.RCAFileSafeUrl = \"\";\r\n this.RCAFileSafeUrl = this.sanitizer.bypassSecurityTrustResourceUrl(file[0][0].dbPath);\r\n this.RCAFileUrlDownload = file[0][0].dbPath\r\n this.FileUrl = file[0][0].dbPath;\r\n var extension = this.getFileExtension(file[0][1]);\r\n }\r\n if (extension.toLowerCase() == 'jpg' || extension.toLowerCase() == 'jpeg' || extension.toLowerCase() == 'png') {\r\n this.RCAImageViewEnable = true;\r\n this.RCAPdfViewEnable = false;\r\n this.RCAUpdateFileView = true\r\n } else if (extension.toLowerCase() == 'pdf') {\r\n this.RCAImageViewEnable = false;\r\n this.RCAPdfViewEnable = true;\r\n this.RCAUpdateFileView = true\r\n }\r\n }\r\n\r\n RCAAttachmentDownload(){\r\n var a = document.createElement(\"a\");\r\n a.href = this.RCAFileUrlDownload;\r\n a.setAttribute(\"download\", `Document ${moment().format('DD-MM-YYYY')}`);\r\n a.click();\r\n }\r\n\r\n CancelRCAUpdateViewFromList(){\r\n this.RCAUpdateFileView = false;\r\n }\r\n\r\n RCAUpdateFromList(file, node){\r\n var data : any = []\r\n data.push(file);\r\n data.push(node);\r\n this.tree.RCAUpdateAttachmentFromList.emit(data)\r\n this.RCAFileView = false;\r\n }\r\n\r\n public RCAUpdateSingleAttachment : boolean = false;\r\n\r\n RCAUpdateDeleteFromList(file, node){\r\n if(node.currentStage === \"add\"){\r\n var url : string = file[1]\r\n var fileName : string = file[2]\r\n var index = node.RCAFILE.findIndex(std => std[1] == url && std[2] == fileName)\r\n node.RCAFILE.splice(index, 1)\r\n }else if (node.currentStage === \"update\"){\r\n var fileData : any = []\r\n fileData.push(file)\r\n fileData.push(node)\r\n this.tree.RCAUpdateDeleteFromList.emit(fileData)\r\n this.RCAFileView = false;\r\n }\r\n \r\n }\r\n \r\n expand(event: Event) {\r\n this.node.expanded = true;\r\n if (this.tree.virtualScroll) {\r\n this.tree.updateSerializedValue();\r\n }\r\n this.tree.onNodeExpand.emit({ originalEvent: event, node: this.node });\r\n }\r\n\r\n collapse(event: Event) {\r\n this.node.expanded = false;\r\n if (this.tree.virtualScroll) {\r\n this.tree.updateSerializedValue();\r\n }\r\n this.tree.onNodeCollapse.emit({ originalEvent: event, node: this.node });\r\n }\r\n\r\n onNodeClick(event: MouseEvent) {\r\n this.tree.onNodeClick(event, this.node);\r\n }\r\n\r\n onNodeKeydown(event: KeyboardEvent) {\r\n if (event.which === 13) {\r\n this.tree.onNodeClick(event, this.node);\r\n }\r\n }\r\n\r\n onNodeTouchEnd() {\r\n this.tree.onNodeTouchEnd();\r\n }\r\n\r\n onNodeRightClick(event: MouseEvent) {\r\n this.tree.onNodeRightClick(event, this.node);\r\n }\r\n\r\n isSelected() {\r\n return this.tree.isSelected(this.node);\r\n }\r\n\r\n onDropPoint(event: Event, position: number) {\r\n event.preventDefault();\r\n let dragNode = this.tree.dragNode;\r\n let dragNodeIndex = this.tree.dragNodeIndex;\r\n let dragNodeScope = this.tree.dragNodeScope;\r\n let isValidDropPointIndex = this.tree.dragNodeTree === this.tree ? (position === 1 || dragNodeIndex !== this.index - 1) : true;\r\n\r\n if (this.tree.allowDrop(dragNode, this.node, dragNodeScope) && isValidDropPointIndex) {\r\n let dropParams = { ...this.createDropPointEventMetadata(position) };\r\n\r\n if (this.tree.validateDrop) {\r\n this.tree.onNodeDrop.emit({\r\n originalEvent: event,\r\n dragNode: dragNode,\r\n dropNode: this.node,\r\n dropIndex: this.index,\r\n accept: () => {\r\n this.processPointDrop(dropParams);\r\n }\r\n });\r\n }\r\n else {\r\n this.processPointDrop(dropParams);\r\n this.tree.onNodeDrop.emit({\r\n originalEvent: event,\r\n dragNode: dragNode,\r\n dropNode: this.node,\r\n dropIndex: this.index\r\n });\r\n }\r\n }\r\n\r\n this.draghoverPrev = false;\r\n this.draghoverNext = false;\r\n }\r\n\r\n processPointDrop(event) {\r\n let newNodeList = event.dropNode.parent ? event.dropNode.parent.children : this.tree.value;\r\n event.dragNodeSubNodes.splice(event.dragNodeIndex, 1);\r\n let dropIndex = this.index;\r\n\r\n if (event.position < 0) {\r\n dropIndex = (event.dragNodeSubNodes === newNodeList) ? ((event.dragNodeIndex > event.index) ? event.index : event.index - 1) : event.index;\r\n newNodeList.splice(dropIndex, 0, event.dragNode);\r\n }\r\n else {\r\n dropIndex = newNodeList.length;\r\n newNodeList.push(event.dragNode);\r\n }\r\n\r\n this.tree.dragDropService.stopDrag({\r\n node: event.dragNode,\r\n subNodes: event.dropNode.parent ? event.dropNode.parent.children : this.tree.value,\r\n index: event.dragNodeIndex\r\n });\r\n }\r\n\r\n createDropPointEventMetadata(position) {\r\n return {\r\n dragNode: this.tree.dragNode,\r\n dragNodeIndex: this.tree.dragNodeIndex,\r\n dragNodeSubNodes: this.tree.dragNodeSubNodes,\r\n dropNode: this.node,\r\n index: this.index,\r\n position: position\r\n };\r\n }\r\n\r\n onDropPointDragOver(event) {\r\n event.dataTransfer.dropEffect = 'move';\r\n event.preventDefault();\r\n }\r\n\r\n onDropPointDragEnter(event: Event, position: number) {\r\n if (this.tree.allowDrop(this.tree.dragNode, this.node, this.tree.dragNodeScope)) {\r\n if (position < 0)\r\n this.draghoverPrev = true;\r\n else\r\n this.draghoverNext = true;\r\n }\r\n }\r\n\r\n onDropPointDragLeave(event: Event) {\r\n this.draghoverPrev = false;\r\n this.draghoverNext = false;\r\n }\r\n\r\n onDragStart(event) {\r\n if (this.tree.draggableNodes && this.node.draggable !== false) {\r\n event.dataTransfer.setData(\"text\", \"data\");\r\n\r\n this.tree.dragDropService.startDrag({\r\n tree: this,\r\n node: this.node,\r\n subNodes: this.node.parent ? this.node.parent.children : this.tree.value,\r\n index: this.index,\r\n scope: this.tree.draggableScope\r\n });\r\n }\r\n else {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n onDragStop(event) {\r\n this.tree.dragDropService.stopDrag({\r\n node: this.node,\r\n subNodes: this.node.parent ? this.node.parent.children : this.tree.value,\r\n index: this.index\r\n });\r\n }\r\n\r\n onDropNodeDragOver(event) {\r\n event.dataTransfer.dropEffect = 'move';\r\n if (this.tree.droppableNodes) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n }\r\n\r\n onDropNode(event) {\r\n if (this.tree.droppableNodes && this.node.droppable !== false) {\r\n let dragNode = this.tree.dragNode;\r\n\r\n if (this.tree.allowDrop(dragNode, this.node, this.tree.dragNodeScope)) {\r\n let dropParams = { ...this.createDropNodeEventMetadata() };\r\n\r\n if (this.tree.validateDrop) {\r\n this.tree.onNodeDrop.emit({\r\n originalEvent: event,\r\n dragNode: dragNode,\r\n dropNode: this.node,\r\n index: this.index,\r\n accept: () => {\r\n this.processNodeDrop(dropParams);\r\n }\r\n });\r\n }\r\n else {\r\n this.processNodeDrop(dropParams);\r\n this.tree.onNodeDrop.emit({\r\n originalEvent: event,\r\n dragNode: dragNode,\r\n dropNode: this.node,\r\n index: this.index\r\n });\r\n }\r\n }\r\n }\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.draghoverNode = false;\r\n }\r\n\r\n createDropNodeEventMetadata() {\r\n return {\r\n dragNode: this.tree.dragNode,\r\n dragNodeIndex: this.tree.dragNodeIndex,\r\n dragNodeSubNodes: this.tree.dragNodeSubNodes,\r\n dropNode: this.node\r\n };\r\n }\r\n\r\n processNodeDrop(event) {\r\n let dragNodeIndex = event.dragNodeIndex;\r\n event.dragNodeSubNodes.splice(dragNodeIndex, 1);\r\n\r\n if (event.dropNode.children)\r\n event.dropNode.children.push(event.dragNode);\r\n else\r\n event.dropNode.children = [event.dragNode];\r\n\r\n this.tree.dragDropService.stopDrag({\r\n node: event.dragNode,\r\n subNodes: event.dropNode.parent ? event.dropNode.parent.children : this.tree.value,\r\n index: dragNodeIndex\r\n });\r\n }\r\n\r\n onDropNodeDragEnter(event) {\r\n if (this.tree.droppableNodes && this.node.droppable !== false && this.tree.allowDrop(this.tree.dragNode, this.node, this.tree.dragNodeScope)) {\r\n this.draghoverNode = true;\r\n }\r\n }\r\n\r\n onDropNodeDragLeave(event) {\r\n if (this.tree.droppableNodes) {\r\n let rect = event.currentTarget.getBoundingClientRect();\r\n if (event.x > rect.left + rect.width || event.x < rect.left || event.y >= Math.floor(rect.top + rect.height) || event.y < rect.top) {\r\n this.draghoverNode = false;\r\n }\r\n }\r\n }\r\n\r\n onKeyDown(event: KeyboardEvent) {\r\n const nodeElement = (event.target).parentElement.parentElement;\r\n\r\n if (nodeElement.nodeName !== 'P-TREENODE' || (this.tree.contextMenu && this.tree.contextMenu.containerViewChild.nativeElement.style.display === 'block')) {\r\n return;\r\n }\r\n\r\n switch (event.which) {\r\n //down arrow\r\n case 40:\r\n const listElement = (this.tree.droppableNodes) ? nodeElement.children[1].children[1] : nodeElement.children[0].children[1];\r\n if (listElement && listElement.children.length > 0) {\r\n this.focusNode(listElement.children[0]);\r\n }\r\n else {\r\n const nextNodeElement = nodeElement.nextElementSibling;\r\n if (nextNodeElement) {\r\n this.focusNode(nextNodeElement);\r\n }\r\n else {\r\n let nextSiblingAncestor = this.findNextSiblingOfAncestor(nodeElement);\r\n if (nextSiblingAncestor) {\r\n this.focusNode(nextSiblingAncestor);\r\n }\r\n }\r\n }\r\n\r\n event.preventDefault();\r\n break;\r\n\r\n //up arrow\r\n case 38:\r\n if (nodeElement.previousElementSibling) {\r\n this.focusNode(this.findLastVisibleDescendant(nodeElement.previousElementSibling));\r\n }\r\n else {\r\n let parentNodeElement = this.getParentNodeElement(nodeElement);\r\n if (parentNodeElement) {\r\n this.focusNode(parentNodeElement);\r\n }\r\n }\r\n\r\n event.preventDefault();\r\n break;\r\n\r\n //right arrow\r\n case 39:\r\n if (!this.node.expanded && !this.tree.isNodeLeaf(this.node)) {\r\n this.expand(event);\r\n }\r\n\r\n event.preventDefault();\r\n break;\r\n\r\n //left arrow\r\n case 37:\r\n if (this.node.expanded) {\r\n this.collapse(event);\r\n }\r\n else {\r\n let parentNodeElement = this.getParentNodeElement(nodeElement);\r\n if (parentNodeElement) {\r\n this.focusNode(parentNodeElement);\r\n }\r\n }\r\n\r\n event.preventDefault();\r\n break;\r\n\r\n //enter\r\n case 13:\r\n this.tree.onNodeClick(event, this.node);\r\n event.preventDefault();\r\n break;\r\n\r\n default:\r\n //no op\r\n break;\r\n }\r\n }\r\n\r\n findNextSiblingOfAncestor(nodeElement) {\r\n let parentNodeElement = this.getParentNodeElement(nodeElement);\r\n if (parentNodeElement) {\r\n if (parentNodeElement.nextElementSibling)\r\n return parentNodeElement.nextElementSibling;\r\n else\r\n return this.findNextSiblingOfAncestor(parentNodeElement);\r\n }\r\n else {\r\n return null;\r\n }\r\n }\r\n\r\n findLastVisibleDescendant(nodeElement) {\r\n const listElement = Array.from(nodeElement.children).find(el => DomHandler.hasClass(el, 'p-treenode'));\r\n const childrenListElement = listElement.children[1];\r\n if (childrenListElement && childrenListElement.children.length > 0) {\r\n const lastChildElement = childrenListElement.children[childrenListElement.children.length - 1];\r\n\r\n return this.findLastVisibleDescendant(lastChildElement);\r\n }\r\n else {\r\n return nodeElement;\r\n }\r\n }\r\n\r\n getParentNodeElement(nodeElement) {\r\n const parentNodeElement = nodeElement.parentElement.parentElement.parentElement;\r\n\r\n return parentNodeElement.tagName === 'P-TREENODE' ? parentNodeElement : null;\r\n }\r\n\r\n focusNode(element) {\r\n if (this.tree.droppableNodes)\r\n element.children[1].children[0].focus();\r\n else\r\n element.children[0].children[0].focus();\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'p-tree',\r\n template: `\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
    \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
    \r\n \r\n
\r\n
\r\n
\r\n
{{emptyMessage}}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
{{emptyMessage}}
\r\n
\r\n `,\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n encapsulation: ViewEncapsulation.None,\r\n styleUrls: ['./p-tree.css']\r\n})\r\nexport class Tree implements OnInit, AfterContentInit, OnChanges, OnDestroy, BlockableUI {\r\n\r\n @Input() value: TreeNode[];\r\n\r\n @Input() selectionMode: string;\r\n\r\n @Input() selection: any;\r\n\r\n @Output() selectionChange: EventEmitter = new EventEmitter();\r\n\r\n @Output() onNodeSelect: EventEmitter = new EventEmitter();\r\n\r\n @Output() onNodeUnselect: EventEmitter = new EventEmitter();\r\n\r\n @Output() onNodeExpand: EventEmitter = new EventEmitter();\r\n\r\n @Output() onNodeCollapse: EventEmitter = new EventEmitter();\r\n\r\n @Output() onNodeContextMenuSelect: EventEmitter = new EventEmitter();\r\n\r\n @Output() onNodeDrop: EventEmitter = new EventEmitter();\r\n\r\n @Output() addTreeRow: EventEmitter = new EventEmitter();\r\n @Output() deleteTreeRow: EventEmitter = new EventEmitter();\r\n @Output() rCAAttachment: EventEmitter = new EventEmitter();\r\n @Output() uploadRCAAttachment: EventEmitter = new EventEmitter();\r\n @Output() RCAUpdateDeleteFromList: EventEmitter = new EventEmitter();\r\n @Output() RCAUpdateAttachmentFromList: EventEmitter = new EventEmitter();\r\n\r\n @Input() style: any;\r\n\r\n @Input() styleClass: string;\r\n\r\n @Input() contextMenu: any;\r\n\r\n @Input() layout: string = 'vertical';\r\n\r\n @Input() draggableScope: any;\r\n\r\n @Input() droppableScope: any;\r\n\r\n @Input() draggableNodes: boolean;\r\n\r\n @Input() droppableNodes: boolean;\r\n\r\n @Input() metaKeySelection: boolean = true;\r\n\r\n @Input() propagateSelectionUp: boolean = true;\r\n\r\n @Input() propagateSelectionDown: boolean = true;\r\n\r\n @Input() loading: boolean;\r\n\r\n @Input() loadingIcon: string = 'pi pi-spinner';\r\n\r\n @Input() emptyMessage: string = 'No records found';\r\n\r\n @Input() ariaLabel: string;\r\n\r\n @Input() ariaLabelledBy: string;\r\n\r\n @Input() validateDrop: boolean;\r\n\r\n @Input() filter: boolean;\r\n\r\n @Input() filterBy: string = 'label';\r\n\r\n @Input() filterMode: string = 'lenient';\r\n\r\n @Input() filterPlaceholder: string;\r\n\r\n @Input() filterLocale: string;\r\n\r\n @Input() scrollHeight: string;\r\n\r\n @Input() virtualScroll: boolean;\r\n\r\n @Input() virtualNodeHeight: string;\r\n\r\n @Input() minBufferPx: number;\r\n\r\n @Input() maxBufferPx: number;\r\n\r\n @Input() indentation: number = 1.5;\r\n\r\n @Input() trackBy: Function = (index: number, item: any) => item;\r\n\r\n @Output() onFilter: EventEmitter = new EventEmitter();\r\n\r\n @ContentChildren(PrimeTemplate) templates: QueryList;\r\n\r\n @ViewChild(CdkVirtualScrollViewport) virtualScrollBody: CdkVirtualScrollViewport;\r\n\r\n serializedValue: any[];\r\n\r\n public templateMap: any;\r\n\r\n public nodeTouched: boolean;\r\n\r\n public dragNodeTree: Tree;\r\n\r\n public dragNode: TreeNode;\r\n\r\n public dragNodeSubNodes: TreeNode[];\r\n\r\n public dragNodeIndex: number;\r\n\r\n public dragNodeScope: any;\r\n\r\n public dragHover: boolean;\r\n\r\n public dragStartSubscription: Subscription;\r\n\r\n public dragStopSubscription: Subscription;\r\n\r\n public filteredNodes: TreeNode[];\r\n\r\n constructor(public el: ElementRef, @Optional() public dragDropService: TreeDragDropService) { }\r\n\r\n ngOnInit() {\r\n if (this.droppableNodes) {\r\n this.dragStartSubscription = this.dragDropService.dragStart$.subscribe(\r\n event => {\r\n this.dragNodeTree = event.tree;\r\n this.dragNode = event.node;\r\n this.dragNodeSubNodes = event.subNodes;\r\n this.dragNodeIndex = event.index;\r\n this.dragNodeScope = event.scope;\r\n });\r\n\r\n this.dragStopSubscription = this.dragDropService.dragStop$.subscribe(\r\n event => {\r\n this.dragNodeTree = null;\r\n this.dragNode = null;\r\n this.dragNodeSubNodes = null;\r\n this.dragNodeIndex = null;\r\n this.dragNodeScope = null;\r\n this.dragHover = false;\r\n });\r\n }\r\n }\r\n\r\n ngOnChanges(simpleChange: SimpleChanges) {\r\n if (simpleChange.value) {\r\n this.updateSerializedValue();\r\n }\r\n\r\n if (simpleChange.scrollHeight && this.virtualScrollBody) {\r\n this.virtualScrollBody.ngOnInit();\r\n }\r\n }\r\n\r\n get horizontal(): boolean {\r\n return this.layout == 'horizontal';\r\n }\r\n\r\n ngAfterContentInit() {\r\n if (this.templates.length) {\r\n this.templateMap = {};\r\n }\r\n\r\n this.templates.forEach((item) => {\r\n this.templateMap[item.name] = item.template;\r\n });\r\n }\r\n\r\n updateSerializedValue() {\r\n this.serializedValue = [];\r\n this.serializeNodes(null, this.getRootNode(), 0, true);\r\n }\r\n\r\n serializeNodes(parent, nodes, level, visible) {\r\n if (nodes && nodes.length) {\r\n for (let node of nodes) {\r\n node.parent = parent;\r\n const rowNode = {\r\n node: node,\r\n parent: parent,\r\n level: level,\r\n visible: visible && (parent ? parent.expanded : true)\r\n };\r\n this.serializedValue.push(rowNode);\r\n\r\n if (rowNode.visible && node.expanded) {\r\n this.serializeNodes(node, node.children, level + 1, rowNode.visible);\r\n }\r\n }\r\n }\r\n }\r\n\r\n onNodeClick(event, node: TreeNode) {\r\n let eventTarget = (event.target);\r\n\r\n if (DomHandler.hasClass(eventTarget, 'p-tree-toggler') || DomHandler.hasClass(eventTarget, 'p-tree-toggler-icon')) {\r\n return;\r\n }\r\n else if (this.selectionMode) {\r\n if (node.selectable === false) {\r\n return;\r\n }\r\n\r\n if (this.hasFilteredNodes()) {\r\n node = this.getNodeWithKey(node.key, this.value);\r\n\r\n if (!node) {\r\n return;\r\n }\r\n }\r\n\r\n let index = this.findIndexInSelection(node);\r\n let selected = (index >= 0);\r\n\r\n if (this.isCheckboxSelectionMode()) {\r\n if (selected) {\r\n if (this.propagateSelectionDown)\r\n this.propagateDown(node, false);\r\n else\r\n this.selection = this.selection.filter((val, i) => i != index);\r\n\r\n if (this.propagateSelectionUp && node.parent) {\r\n this.propagateUp(node.parent, false);\r\n }\r\n\r\n this.selectionChange.emit(this.selection);\r\n this.onNodeUnselect.emit({ originalEvent: event, node: node });\r\n }\r\n else {\r\n if (this.propagateSelectionDown)\r\n this.propagateDown(node, true);\r\n else\r\n this.selection = [...this.selection || [], node];\r\n\r\n if (this.propagateSelectionUp && node.parent) {\r\n this.propagateUp(node.parent, true);\r\n }\r\n\r\n this.selectionChange.emit(this.selection);\r\n this.onNodeSelect.emit({ originalEvent: event, node: node });\r\n }\r\n }\r\n else {\r\n let metaSelection = this.nodeTouched ? false : this.metaKeySelection;\r\n\r\n if (metaSelection) {\r\n let metaKey = (event.metaKey || event.ctrlKey);\r\n\r\n if (selected && metaKey) {\r\n if (this.isSingleSelectionMode()) {\r\n this.selectionChange.emit(null);\r\n }\r\n else {\r\n this.selection = this.selection.filter((val, i) => i != index);\r\n this.selectionChange.emit(this.selection);\r\n }\r\n\r\n this.onNodeUnselect.emit({ originalEvent: event, node: node });\r\n }\r\n else {\r\n if (this.isSingleSelectionMode()) {\r\n this.selectionChange.emit(node);\r\n }\r\n else if (this.isMultipleSelectionMode()) {\r\n this.selection = (!metaKey) ? [] : this.selection || [];\r\n this.selection = [...this.selection, node];\r\n this.selectionChange.emit(this.selection);\r\n }\r\n\r\n this.onNodeSelect.emit({ originalEvent: event, node: node });\r\n }\r\n }\r\n else {\r\n if (this.isSingleSelectionMode()) {\r\n if (selected) {\r\n this.selection = null;\r\n this.onNodeUnselect.emit({ originalEvent: event, node: node });\r\n }\r\n else {\r\n this.selection = node;\r\n this.onNodeSelect.emit({ originalEvent: event, node: node });\r\n }\r\n }\r\n else {\r\n if (selected) {\r\n this.selection = this.selection.filter((val, i) => i != index);\r\n this.onNodeUnselect.emit({ originalEvent: event, node: node });\r\n }\r\n else {\r\n this.selection = [...this.selection || [], node];\r\n this.onNodeSelect.emit({ originalEvent: event, node: node });\r\n }\r\n }\r\n\r\n this.selectionChange.emit(this.selection);\r\n }\r\n }\r\n }\r\n\r\n this.nodeTouched = false;\r\n }\r\n\r\n onNodeTouchEnd() {\r\n this.nodeTouched = true;\r\n }\r\n\r\n onNodeRightClick(event: MouseEvent, node: TreeNode) {\r\n if (this.contextMenu) {\r\n let eventTarget = (event.target);\r\n\r\n if (eventTarget.className && eventTarget.className.indexOf('p-tree-toggler') === 0) {\r\n return;\r\n }\r\n else {\r\n let index = this.findIndexInSelection(node);\r\n let selected = (index >= 0);\r\n\r\n if (!selected) {\r\n if (this.isSingleSelectionMode())\r\n this.selectionChange.emit(node);\r\n else\r\n this.selectionChange.emit([node]);\r\n }\r\n\r\n this.contextMenu.show(event);\r\n this.onNodeContextMenuSelect.emit({ originalEvent: event, node: node });\r\n }\r\n }\r\n }\r\n\r\n findIndexInSelection(node: TreeNode) {\r\n let index: number = -1;\r\n\r\n if (this.selectionMode && this.selection) {\r\n if (this.isSingleSelectionMode()) {\r\n let areNodesEqual = (this.selection.key && this.selection.key === node.key) || this.selection == node;\r\n index = areNodesEqual ? 0 : - 1;\r\n }\r\n else {\r\n for (let i = 0; i < this.selection.length; i++) {\r\n let selectedNode = this.selection[i];\r\n let areNodesEqual = (selectedNode.key && selectedNode.key === node.key) || selectedNode == node;\r\n if (areNodesEqual) {\r\n index = i;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return index;\r\n }\r\n\r\n syncNodeOption(node, parentNodes, option, value?: any) {\r\n // to synchronize the node option between the filtered nodes and the original nodes(this.value)\r\n const _node = this.hasFilteredNodes() ? this.getNodeWithKey(node.key, parentNodes) : null;\r\n if (_node) {\r\n _node[option] = value || node[option];\r\n }\r\n }\r\n\r\n hasFilteredNodes() {\r\n return this.filter && this.filteredNodes && this.filteredNodes.length;\r\n }\r\n\r\n getNodeWithKey(key: string, nodes: TreeNode[]) {\r\n for (let node of nodes) {\r\n if (node.key === key) {\r\n return node;\r\n }\r\n\r\n if (node.children) {\r\n let matchedNode = this.getNodeWithKey(key, node.children);\r\n if (matchedNode) {\r\n return matchedNode;\r\n }\r\n }\r\n }\r\n }\r\n\r\n propagateUp(node: TreeNode, select: boolean) {\r\n if (node.children && node.children.length) {\r\n let selectedCount: number = 0;\r\n let childPartialSelected: boolean = false;\r\n for (let child of node.children) {\r\n if (this.isSelected(child)) {\r\n selectedCount++;\r\n }\r\n else if (child.partialSelected) {\r\n childPartialSelected = true;\r\n }\r\n }\r\n\r\n if (select && selectedCount == node.children.length) {\r\n this.selection = [...this.selection || [], node];\r\n node.partialSelected = false;\r\n }\r\n else {\r\n if (!select) {\r\n let index = this.findIndexInSelection(node);\r\n if (index >= 0) {\r\n this.selection = this.selection.filter((val, i) => i != index);\r\n }\r\n }\r\n\r\n if (childPartialSelected || selectedCount > 0 && selectedCount != node.children.length)\r\n node.partialSelected = true;\r\n else\r\n node.partialSelected = false;\r\n }\r\n\r\n this.syncNodeOption(node, this.filteredNodes, 'partialSelected');\r\n }\r\n\r\n let parent = node.parent;\r\n if (parent) {\r\n this.propagateUp(parent, select);\r\n }\r\n }\r\n\r\n propagateDown(node: TreeNode, select: boolean) {\r\n let index = this.findIndexInSelection(node);\r\n\r\n if (select && index == -1) {\r\n this.selection = [...this.selection || [], node];\r\n }\r\n else if (!select && index > -1) {\r\n this.selection = this.selection.filter((val, i) => i != index);\r\n }\r\n\r\n node.partialSelected = false;\r\n\r\n this.syncNodeOption(node, this.filteredNodes, 'partialSelected');\r\n\r\n if (node.children && node.children.length) {\r\n for (let child of node.children) {\r\n this.propagateDown(child, select);\r\n }\r\n }\r\n }\r\n\r\n isSelected(node: TreeNode) {\r\n return this.findIndexInSelection(node) != -1;\r\n }\r\n\r\n isSingleSelectionMode() {\r\n return this.selectionMode && this.selectionMode == 'single';\r\n }\r\n\r\n isMultipleSelectionMode() {\r\n return this.selectionMode && this.selectionMode == 'multiple';\r\n }\r\n\r\n isCheckboxSelectionMode() {\r\n return this.selectionMode && this.selectionMode == 'checkbox';\r\n }\r\n\r\n isNodeLeaf(node) {\r\n return node.leaf == false ? false : !(node.children && node.children.length);\r\n }\r\n\r\n getRootNode() {\r\n return this.filteredNodes ? this.filteredNodes : this.value;\r\n }\r\n\r\n getTemplateForNode(node: TreeNode): TemplateRef {\r\n if (this.templateMap)\r\n return node.type ? this.templateMap[node.type] : this.templateMap['default'];\r\n else\r\n return null;\r\n }\r\n\r\n onDragOver(event) {\r\n if (this.droppableNodes && (!this.value || this.value.length === 0)) {\r\n event.dataTransfer.dropEffect = 'move';\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n onDrop(event) {\r\n if (this.droppableNodes && (!this.value || this.value.length === 0)) {\r\n event.preventDefault();\r\n let dragNode = this.dragNode;\r\n if (this.allowDrop(dragNode, null, this.dragNodeScope)) {\r\n let dragNodeIndex = this.dragNodeIndex;\r\n this.dragNodeSubNodes.splice(dragNodeIndex, 1);\r\n this.value = this.value || [];\r\n this.value.push(dragNode);\r\n\r\n this.dragDropService.stopDrag({\r\n node: dragNode\r\n });\r\n }\r\n }\r\n }\r\n\r\n onDragEnter(event) {\r\n if (this.droppableNodes && this.allowDrop(this.dragNode, null, this.dragNodeScope)) {\r\n this.dragHover = true;\r\n }\r\n }\r\n\r\n onDragLeave(event) {\r\n if (this.droppableNodes) {\r\n let rect = event.currentTarget.getBoundingClientRect();\r\n if (event.x > rect.left + rect.width || event.x < rect.left || event.y > rect.top + rect.height || event.y < rect.top) {\r\n this.dragHover = false;\r\n }\r\n }\r\n }\r\n\r\n allowDrop(dragNode: TreeNode, dropNode: TreeNode, dragNodeScope: any): boolean {\r\n if (!dragNode) {\r\n //prevent random html elements to be dragged\r\n return false;\r\n }\r\n else if (this.isValidDragScope(dragNodeScope)) {\r\n let allow: boolean = true;\r\n if (dropNode) {\r\n if (dragNode === dropNode) {\r\n allow = false;\r\n }\r\n else {\r\n let parent = dropNode.parent;\r\n while (parent != null) {\r\n if (parent === dragNode) {\r\n allow = false;\r\n break;\r\n }\r\n parent = parent.parent;\r\n }\r\n }\r\n }\r\n\r\n return allow;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n isValidDragScope(dragScope: any): boolean {\r\n let dropScope = this.droppableScope;\r\n\r\n if (dropScope) {\r\n if (typeof dropScope === 'string') {\r\n if (typeof dragScope === 'string')\r\n return dropScope === dragScope;\r\n else if (dragScope instanceof Array)\r\n return (>dragScope).indexOf(dropScope) != -1;\r\n }\r\n else if (dropScope instanceof Array) {\r\n if (typeof dragScope === 'string') {\r\n return (>dropScope).indexOf(dragScope) != -1;\r\n }\r\n else if (dragScope instanceof Array) {\r\n for (let s of dropScope) {\r\n for (let ds of dragScope) {\r\n if (s === ds) {\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n\r\n _filter(event) {\r\n let filterValue = event.target.value;\r\n if (filterValue === '') {\r\n this.filteredNodes = null;\r\n }\r\n else {\r\n this.filteredNodes = [];\r\n const searchFields: string[] = this.filterBy.split(',');\r\n const filterText = ObjectUtils.removeAccents(filterValue).toLocaleLowerCase(this.filterLocale);\r\n const isStrictMode = this.filterMode === 'strict';\r\n for (let node of this.value) {\r\n let copyNode = { ...node };\r\n let paramsWithoutNode = { searchFields, filterText, isStrictMode };\r\n if ((isStrictMode && (this.findFilteredNodes(copyNode, paramsWithoutNode) || this.isFilterMatched(copyNode, paramsWithoutNode))) ||\r\n (!isStrictMode && (this.isFilterMatched(copyNode, paramsWithoutNode) || this.findFilteredNodes(copyNode, paramsWithoutNode)))) {\r\n this.filteredNodes.push(copyNode);\r\n }\r\n }\r\n }\r\n\r\n this.updateSerializedValue();\r\n this.onFilter.emit({\r\n filter: filterValue,\r\n filteredValue: this.filteredNodes\r\n });\r\n }\r\n\r\n findFilteredNodes(node, paramsWithoutNode) {\r\n if (node) {\r\n let matched = false;\r\n if (node.children) {\r\n let childNodes = [...node.children];\r\n node.children = [];\r\n for (let childNode of childNodes) {\r\n let copyChildNode = { ...childNode };\r\n if (this.isFilterMatched(copyChildNode, paramsWithoutNode)) {\r\n matched = true;\r\n node.children.push(copyChildNode);\r\n }\r\n }\r\n }\r\n\r\n if (matched) {\r\n node.expanded = true;\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n isFilterMatched(node, { searchFields, filterText, isStrictMode }) {\r\n let matched = false;\r\n for (let field of searchFields) {\r\n let fieldValue = ObjectUtils.removeAccents(String(ObjectUtils.resolveFieldData(node, field))).toLocaleLowerCase(this.filterLocale);\r\n if (fieldValue.indexOf(filterText) > -1) {\r\n matched = true;\r\n }\r\n }\r\n\r\n if (!matched || (isStrictMode && !this.isNodeLeaf(node))) {\r\n matched = this.findFilteredNodes(node, { searchFields, filterText, isStrictMode }) || matched;\r\n }\r\n\r\n return matched;\r\n }\r\n\r\n getBlockableElement(): HTMLElement {\r\n return this.el.nativeElement.children[0];\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.dragStartSubscription) {\r\n this.dragStartSubscription.unsubscribe();\r\n }\r\n\r\n if (this.dragStopSubscription) {\r\n this.dragStopSubscription.unsubscribe();\r\n }\r\n }\r\n}\r\n@NgModule({\r\n imports: [CommonModule, ScrollingModule, RippleModule, FormsModule],\r\n exports: [Tree, SharedModule, ScrollingModule, FormsModule],\r\n declarations: [Tree, UITreeNode]\r\n})\r\nexport class TreeModule { }","\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.label}}\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n   \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n\r\n
    \r\n
      \r\n \r\n
    \r\n
  • \r\n
  • \r\n \r\n \r\n \r\n \r\n \r\n\r\n
    \r\n \r\n \r\n   \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n Upload\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n \r\n \r\n   \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    #NameUpdateDelete
    {{i+1}}{{file[2]}}\r\n \r\n
    {{i+1}}{{file[0][1]}}\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n\r\n
    \r\n \r\n \r\n   \r\n \r\n \r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n\r\n
    \r\n\r\n \r\n \r\n   \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n\r\n
    \r\n\r\n \r\n \r\n   \r\n\r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n\r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n
    ","import { Injectable } from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PrescriptiveContantAPI {\r\n //#region FMEA - Add, configuration, consequence, display, list, FCA, MSS API's\r\n\r\n public FMEATagCheck: string = '/PrescriptiveAPI';\r\n public FMEADropdownData: string = '/PrescriptiveLookupMasterAPI/GetRecords';\r\n public FMEATreeSave: string = '/PrescriptiveAPI/PostCentrifugalPumpPrescriptiveData';\r\n public FMEAFileUpload: string = '/PrescriptiveAPI/UploadFile';\r\n public FMEADeleteFileUpload: string = '/PrescriptiveAPI/UpdateFileUpload';\r\n public FMEASaveConsequence: string = '/PrescriptiveAPI/CFPrescriptiveAdd';\r\n public PrescriptiveRecordsForFCA: string = '/PrescriptiveAPI/GetPrescriptiveRecordsForFCA';\r\n public PrescriptiveRecordsForMSS: string = '/PrescriptiveAPI/GetPrescriptiveRecordsForMSS';\r\n public PrescriptiveRecordsForCBA: string = '/PrescriptiveAPI/GetPrescriptiveRecordsForCBA'\r\n public FCASave: string = '/PrescriptiveAPI/PrespectivePattern';\r\n public FCAWebal: string = '/PrescriptiveAPI/WebalAlgo';\r\n public FCAWebalWithDetails: string = '/PrescriptiveAPI/WebalAlgoritmWithDetails';\r\n public MSSSave: string = '/PrescriptiveAPI/UpdatePrespectiveMSS';\r\n public FMEAConfiguration: string = '/PrescriptiveLookupMasterAPI';\r\n public FMEAListSingleDelete: string = '/PrescriptiveAPI/DeletePrespectiveModel';\r\n public FMEAParentAttachments: string = '/PrescriptiveAPI/CompontentAttachment';\r\n\r\n public CBASheet:string = '/PrescriptiveAPI/SaveCBASheetData'\r\n public CBARecordsForReport = '/PrescriptiveAPI/GetCBARecordsForReportById';\r\n //#endregion\r\n\r\n\r\n //#region FMEA Update API's only\r\n\r\n public SaveFailureModeUpdate: string = '/PrescriptiveAPI/EditConsequenceTree';\r\n public UpdateChanges: string = '/PrescriptiveAPI/FunctionModeAndConsequenceUpdate';\r\n public DeleteFailureModeFrommTree: string = '/PrescriptiveAPI/FailureModeDelete';\r\n public SaveUpdatedPattern: string = '/PrescriptiveAPI/UpdatePrespectivePattern';\r\n public UpdateMSSToTree: string = '/PrescriptiveAPI/PrescriptiveUpdateSingleFMMSSUpdate';\r\n public SaveFunction: string = '/PrescriptiveAPI/FunctionUpdate';\r\n\r\n //#endregion\r\n\r\n\r\n //#region RCA API\r\n\r\n public RCASaveAPI: string = '/RCAAPI/SaveNewRCA';\r\n public RCAGetAPI: string = '/RCAAPI/GetAllRCARecords';\r\n public RCAGetHeatExchangerFMAPI: string = '/PrescriptiveLookupMasterAPI/RCAHeatExchanger';\r\n public RCADeleteAPI: string = '/RCAAPI/DeleteRCARecord';\r\n public RCAUpdateAttachment: string = '/PrescriptiveAPI/UpdateFileUpload'\r\n public RCAUpdateAPI: string = '/RCAAPI/RCAUpdate'\r\n public RCAOnlyTreeSaveAPI: string = '/RCAAPI/RCATreeUpdate';\r\n\r\n //#endregion\r\n\r\n //#region PCR \r\n \r\n public GetAllConfigurationRecords : string = '/PSRClientContractorAPI/GetAllConfigurationRecords';\r\n public GetRecordById : string = '/PSRClientContractorAPI/GetRecordById';\r\n public PSRClientContractorAPI : string = '/PSRClientContractorAPI';\r\n\r\n public MSSStrategyGetAllRecords : string = \"/MSSStartegyAPI/GetAllConfigurationRecords\";\r\n public MSSStartegyAPI : string = \"/MSSStartegyAPI\";\r\n\r\n\r\n public UserProductionDetailAPI = '/UserProductionAPI';\r\n public GetUserProductionDetail = '/UserProductionAPI/GetAllConfigurationRecords';\r\n\r\n //#endregion\r\n\r\n}","import { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { catchError, finalize, tap } from \"rxjs/operators\";\r\nimport { Router } from \"@angular/router\";\r\nimport { CommonLoadingDirective } from \"./shared/Loading/common-loading.directive\";\r\n\r\n@Injectable()\r\nexport class AuthInterceptor implements HttpInterceptor {\r\n\r\n private totalRequests = 0;\r\n constructor(private router: Router,\r\n private commonLoadingDirective: CommonLoadingDirective) {\r\n\r\n }\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n this.totalRequests++;\r\n this.commonLoadingDirective.showLoading(true, 'Loading....');\r\n var clonedReq = req.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${localStorage.getItem('token')}`,\r\n }\r\n\r\n });\r\n return next.handle(clonedReq).pipe(\r\n catchError(error => {\r\n if (error.status == 401) {\r\n localStorage.removeItem('token');\r\n this.router.navigateByUrl('Login');\r\n }\r\n throw error;\r\n }),\r\n finalize(() => {\r\n this.totalRequests--;\r\n if (this.totalRequests === 0) {\r\n this.commonLoadingDirective.showLoading(false, '');\r\n }\r\n })\r\n );\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, Router, CanDeactivate, UrlTree } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\n\r\nexport interface CanComponentDeactivate {\r\n CanDeactivate: () => Observable | Promise | boolean;\r\n}\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthGuard implements CanActivate {\r\n\r\n\r\n constructor(private router: Router) {\r\n }\r\n canDeactivate(component: CanComponentDeactivate, \r\n currentRoute: ActivatedRouteSnapshot, \r\n currentState: RouterStateSnapshot, \r\n nextState?: RouterStateSnapshot): boolean | UrlTree | Observable | Promise {\r\n return component.CanDeactivate();\r\n }\r\n\r\n canActivate(\r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): boolean {\r\n if (localStorage.getItem('token') != null)\r\n return true;\r\n else {\r\n this.router.navigate(['Login']);\r\n return false;\r\n }\r\n\r\n }\r\n}","import {\r\n NgModule, Component, ElementRef, Input, Output, AfterContentInit, EventEmitter, TemplateRef,\r\n Inject, forwardRef, ContentChildren, QueryList, ChangeDetectionStrategy, ViewEncapsulation, ChangeDetectorRef, OnDestroy, OnInit, ViewChild\r\n} from '@angular/core';\r\nimport { trigger, state, style, transition, animate } from '@angular/animations';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MenuItem, SharedModule } from 'primeng/api';\r\nimport { PrimeTemplate } from 'primeng/api';\r\nimport { Subject, Subscription } from 'rxjs';\r\nimport { MenuModule, Menu } from 'primeng/menu';\r\nimport { AutoCompleteModule } from 'primeng/autocomplete';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CommonBLService } from '../BLDL/common.bl.service';\r\nimport * as XLSX from 'xlsx';\r\nimport { TreeNode } from './tree.node';\r\n\r\n@Component({\r\n selector: '[pOrganizationChartNode]',\r\n templateUrl: './organization-chart.component.html',\r\n animations: [\r\n trigger('childState', [\r\n state('in', style({ opacity: 1 })),\r\n transition('void => *', [\r\n style({ opacity: 0 }),\r\n animate(150)\r\n ]),\r\n transition('* => void', [\r\n animate(150, style({ opacity: 0 }))\r\n ])\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n styleUrls: ['./organization-chart.component.css']\r\n})\r\nexport class OrganizationChartNode implements OnInit, OnDestroy {\r\n\r\n @Input() node: TreeNode;\r\n\r\n @Input() root: boolean;\r\n\r\n @Input() first: boolean;\r\n\r\n @Input() last: boolean;\r\n\r\n chart: OrganizationChart;\r\n\r\n subscription: Subscription;\r\n public items: MenuItem[];\r\n public subItems: MenuItem[];\r\n public basicItems: MenuItem[];\r\n public showTransitionOptions: string = '.12s cubic-bezier(0, 0, 0.2, 1)';\r\n\r\n public hideTransitionOptions: string = '.1s linear';\r\n @ViewChild('container') containerViewChild: ElementRef;\r\n @ViewChild('menu') menu: Menu;\r\n @ViewChild('submenu') submenu: Menu;\r\n @ViewChild('basicmenu') basicmenu: Menu;\r\n public appendTo: any;\r\n public subappendTo: any;\r\n public basicappendTo: any;\r\n public ANDIcon: boolean;\r\n public ORIcon: boolean;\r\n public FailureComponents: any[] = [];\r\n public FailureCause: any[] = [];\r\n public FailureModeNamesList: any[] = []\r\n\r\n constructor(@Inject(forwardRef(() => OrganizationChart)) chart,\r\n public cd: ChangeDetectorRef,\r\n private commonBLService: CommonBLService) {\r\n if (this.FailureComponents.length === 0) {\r\n this.GetFailureComponents();\r\n }\r\n if (this.FailureCause.length === 0) {\r\n this.GetFailureCause();\r\n }\r\n if (this.FailureModeNamesList.length === 0) {\r\n this.GetFailureModeNames();\r\n }\r\n this.chart = chart as OrganizationChart;\r\n this.subscription = this.chart.selectionSource$.subscribe(() => {\r\n this.cd.markForCheck();\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.items = [\r\n {\r\n label: 'AND Logic', command: () => {\r\n this.AND();\r\n }\r\n },\r\n {\r\n label: 'OR Logic', command: () => {\r\n this.OR();\r\n }\r\n }\r\n ];\r\n\r\n this.subItems = [\r\n {\r\n label: 'Event', command: () => {\r\n this.Event();\r\n }\r\n },\r\n {\r\n label: 'Basic Event', command: () => {\r\n this.BasicEvent();\r\n }\r\n }\r\n ];\r\n\r\n this.basicItems = [\r\n {\r\n label: 'Failure', command: () => {\r\n this.Failure();\r\n }\r\n },\r\n {\r\n label: 'Scheduled Downtime', command: () => {\r\n this.ScheduledDowntime();\r\n }\r\n }\r\n ];\r\n }\r\n\r\n public AND() {\r\n this.ANDIcon = true;\r\n this.ORIcon = false;\r\n this.submenu.toggle({ currentTarget: this.containerViewChild.nativeElement, relativeAlign: this.subappendTo == null });\r\n }\r\n\r\n public OR() {\r\n this.ORIcon = true;\r\n this.ANDIcon = false;\r\n this.submenu.toggle({ currentTarget: this.containerViewChild.nativeElement, relativeAlign: this.subappendTo == null });\r\n this.cd.detectChanges();\r\n }\r\n\r\n public Event() {\r\n if (this.ANDIcon) {\r\n this.chart.AddNode.emit({ node: this.node, ANDIcon: true, Event: true });\r\n } else if (this.ORIcon) {\r\n this.chart.AddNode.emit({ node: this.node, ORIcon: true, Event: true });\r\n } else {\r\n this.chart.AddNode.emit({ node: this.node, BasicEvent: true });\r\n }\r\n }\r\n\r\n public BasicEvent() {\r\n this.basicmenu.toggle({ currentTarget: this.containerViewChild.nativeElement, relativeAlign: this.basicappendTo == null });\r\n }\r\n\r\n public Failure() {\r\n if (this.ANDIcon) {\r\n this.chart.AddNode.emit({ node: this.node, ANDIcon: true, BasicEvent: true, Failure: true });\r\n } else if (this.ORIcon) {\r\n this.chart.AddNode.emit({ node: this.node, ORIcon: true, BasicEvent: true, Failure: true });\r\n } else {\r\n this.chart.AddNode.emit({ node: this.node, BasicEvent: true, Failure: true });\r\n }\r\n }\r\n\r\n public ScheduledDowntime() {\r\n if (this.ANDIcon) {\r\n this.chart.AddNode.emit({ node: this.node, ANDIcon: true, BasicEvent: true, ScheduledDowntime: true });\r\n } else if (this.ORIcon) {\r\n this.chart.AddNode.emit({ node: this.node, ORIcon: true, BasicEvent: true, ScheduledDowntime: true });\r\n } else {\r\n this.chart.AddNode.emit({ node: this.node, BasicEvent: true, ScheduledDowntime: true });\r\n }\r\n }\r\n\r\n public onAddNode(node) {\r\n if (node.children.length > 0) {\r\n this.submenu.toggle({ currentTarget: this.containerViewChild.nativeElement, relativeAlign: this.subappendTo == null });\r\n } else {\r\n if (!!node.ANDIcon) {\r\n delete node.ANDIcon;\r\n } else if (!!node.ORIcon) {\r\n delete node.ORIcon;\r\n }\r\n this.menu.toggle({ currentTarget: this.containerViewChild.nativeElement, relativeAlign: this.appendTo == null });\r\n }\r\n }\r\n public async onDeleteNode(node) {\r\n this.containsInNestedObjectDF(this.chart.value, node.id);\r\n await this.familyTree(this.chart.value, node.id - 1);\r\n this.cd.detectChanges();\r\n }\r\n\r\n private containsInNestedObjectDF(obj, val) {\r\n if (obj === val) {\r\n return true;\r\n }\r\n\r\n const keys = obj instanceof Object ? Object.keys(obj) : [];\r\n\r\n for (const key of keys) {\r\n\r\n const objval = obj[key];\r\n\r\n const isMatch = this.containsInNestedObjectDF(objval, val);\r\n\r\n if (isMatch) {\r\n if (Array.isArray(obj) && obj.length > 0) {\r\n const deleteNode = obj.findIndex(a => a.id === val);\r\n obj.splice(deleteNode, 1);\r\n break;\r\n }\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n get leaf(): boolean {\r\n return this.node.leaf == false ? false : !(this.node.children && this.node.children.length);\r\n }\r\n\r\n get colspan() {\r\n return (this.node.children && this.node.children.length) ? this.node.children.length * 2 : null;\r\n }\r\n\r\n onNodeClick(event: Event, node: TreeNode) {\r\n this.chart.onNodeClick(event, node)\r\n }\r\n\r\n toggleNode(event: Event, node: TreeNode) {\r\n node.expanded = !node.expanded;\r\n if (node.expanded)\r\n this.chart.onNodeExpand.emit({ originalEvent: event, node: this.node });\r\n else\r\n this.chart.onNodeCollapse.emit({ originalEvent: event, node: this.node });\r\n\r\n event.preventDefault();\r\n }\r\n\r\n isSelected() {\r\n return this.chart.isSelected(this.node);\r\n }\r\n\r\n public onFailureComponents(event) {\r\n this.node.SelectedFailureComponentsList.push(event);\r\n }\r\n\r\n public onFailureCauses(event) {\r\n this.node.SelectedFailureCausesList.push(event);\r\n }\r\n\r\n public onDeleteFailureComponents(index) {\r\n this.node.SelectedFailureComponentsList.splice(index, 1);\r\n }\r\n\r\n public onDeleteFailureCauses(index) {\r\n this.node.SelectedFailureCausesList.splice(index, 1);\r\n }\r\n\r\n private GetFailureComponents() {\r\n this.commonBLService.GetFailureComponents()\r\n .subscribe((res: any) => {\r\n let fileReader = new FileReader();\r\n fileReader.readAsArrayBuffer(res);\r\n fileReader.onload = (e) => {\r\n var arrayBuffer: any = fileReader.result;\r\n var data = new Uint8Array(arrayBuffer);\r\n var arr = new Array();\r\n for (var i = 0; i != data.length; ++i) arr[i] = String.fromCharCode(data[i]);\r\n var bstr = arr.join(\"\");\r\n var workbook = XLSX.read(bstr, { type: \"binary\", cellDates: true });\r\n var first_sheet_name = workbook.SheetNames[0];\r\n var worksheet = workbook.Sheets[first_sheet_name];\r\n this.FailureComponents = XLSX.utils.sheet_to_json(worksheet, { raw: true });\r\n }\r\n\r\n });\r\n }\r\n\r\n\r\n private GetFailureCause() {\r\n this.commonBLService.GetFailureCause()\r\n .subscribe((res: any) => {\r\n let fileReader = new FileReader();\r\n fileReader.readAsArrayBuffer(res);\r\n fileReader.onload = (e) => {\r\n var arrayBuffer: any = fileReader.result;\r\n var data = new Uint8Array(arrayBuffer);\r\n var arr = new Array();\r\n for (var i = 0; i != data.length; ++i) arr[i] = String.fromCharCode(data[i]);\r\n var bstr = arr.join(\"\");\r\n var workbook = XLSX.read(bstr, { type: \"binary\", cellDates: true });\r\n var first_sheet_name = workbook.SheetNames[0];\r\n var worksheet = workbook.Sheets[first_sheet_name];\r\n this.FailureCause = XLSX.utils.sheet_to_json(worksheet, { raw: true });\r\n }\r\n });\r\n }\r\n\r\n public GetLibrary() {\r\n this.commonBLService.GetMSSLibrary()\r\n .subscribe(async res => {\r\n let fileReader = new FileReader();\r\n fileReader.readAsArrayBuffer(res);\r\n fileReader.onload = async (e) => {\r\n var arrayBuffer: any = fileReader.result;\r\n var data = new Uint8Array(arrayBuffer);\r\n var arr = new Array();\r\n for (var i = 0; i != data.length; ++i) arr[i] = String.fromCharCode(data[i]);\r\n var bstr = arr.join(\"\");\r\n var workbook = XLSX.read(bstr, { type: \"binary\", cellDates: true });\r\n var first_sheet_name = workbook.SheetNames[0];\r\n var worksheet = workbook.Sheets[first_sheet_name];\r\n let Library = XLSX.utils.sheet_to_json(worksheet, { raw: true });\r\n console.log(Library);\r\n let FailureComponentsList = this.node.SelectedFailureComponentsList;\r\n let FailureCausesList = this.node.SelectedFailureCausesList;\r\n let failureModes = [];\r\n FailureComponentsList.forEach(comp => {\r\n let CompList: any = comp;\r\n let sortedFailureComponents = [];\r\n for (var sort in CompList) {\r\n sortedFailureComponents.push([sort, CompList[sort]]);\r\n }\r\n sortedFailureComponents.sort((a, b) => {\r\n return a[1] - b[1];\r\n });\r\n const len = sortedFailureComponents.length;\r\n failureModes.push(sortedFailureComponents[len - 1]);\r\n });\r\n FailureCausesList.forEach(cau => {\r\n let CauList: any = cau;\r\n let sortedFailureCauses = [];\r\n for (var sort in CauList) {\r\n sortedFailureCauses.push([sort, CauList[sort]]);\r\n }\r\n sortedFailureCauses.sort((a, b) => {\r\n return a[1] - b[1];\r\n });\r\n const len = sortedFailureCauses.length;\r\n failureModes.push(sortedFailureCauses[len - 1]);\r\n });\r\n\r\n failureModes.sort((a, b) => {\r\n return a[1] - b[1];\r\n });\r\n const len = failureModes.length;\r\n let ShortName = failureModes[len - 1];\r\n let Mode = this.FailureModeNamesList.find(a => a.ShortName === ShortName[0]).FullName;\r\n let failureMode = Library.find(a => a['Failure mode'] === Mode);\r\n this.node.years = parseFloat(((1 / failureMode['Failure rate Upper']) * (1000000 / 8760)).toFixed(2));\r\n this.node.hours = failureMode['Repair (manhours) Mean'];\r\n await this.familyTree(this.chart.value, this.node.id);\r\n this.cd.detectChanges();\r\n this.chart.FailureMode.emit(failureMode);\r\n }\r\n });\r\n }\r\n\r\n public async onScheduledDowntime(node: TreeNode) {\r\n await this.familyTree(this.chart.value, node.id);\r\n this.cd.detectChanges();\r\n }\r\n\r\n private GetFailureModeNames() {\r\n this.commonBLService.GetFailureModeNames()\r\n .subscribe((res: any) => {\r\n let fileReader = new FileReader();\r\n fileReader.readAsArrayBuffer(res);\r\n fileReader.onload = (e) => {\r\n var arrayBuffer: any = fileReader.result;\r\n var data = new Uint8Array(arrayBuffer);\r\n var arr = new Array();\r\n for (var i = 0; i != data.length; ++i) arr[i] = String.fromCharCode(data[i]);\r\n var bstr = arr.join(\"\");\r\n var workbook = XLSX.read(bstr, { type: \"binary\", cellDates: true });\r\n var first_sheet_name = workbook.SheetNames[0];\r\n var worksheet = workbook.Sheets[first_sheet_name];\r\n this.FailureModeNamesList = XLSX.utils.sheet_to_json(worksheet, { raw: true });\r\n }\r\n });\r\n }\r\n\r\n private async familyTree(arr1, id) {\r\n var temp = [];\r\n let findLevel;\r\n var forFn = async (arr, id) => {\r\n for (var i = 0; i < arr.length; i++) {\r\n var item = arr[i];\r\n if (item.id === id) {\r\n findLevel = arr[i].level - 1;\r\n return await this.findLevel(arr1, findLevel);\r\n } else {\r\n if (item.children) {\r\n forFn(item.children, id);\r\n }\r\n }\r\n }\r\n }\r\n forFn(arr1, id);\r\n return await temp;\r\n }\r\n\r\n private async findLevel(arr1, level) {\r\n var temp = [];\r\n var forFn = async (arr, level) => {\r\n for (var i = 0; i < arr.length; i++) {\r\n var item = arr[i];\r\n let len = 1;\r\n len += i;\r\n if (item.level === level) {\r\n // calculation \r\n var years = 0;\r\n var hours = 0;\r\n let lamb = 0;\r\n let tau = 0;\r\n let tauPOW = 0;\r\n if (item.nodeType === 'TopEvent') {\r\n arr[i].years = 0;\r\n arr[i].hours = 0;\r\n arr[i].Availability = 0;\r\n years = 0;\r\n hours = 0;\r\n lamb = 1;\r\n tau = 0;\r\n tauPOW = 0;\r\n item.children.forEach(basic => {\r\n if (item.ANDIcon) {\r\n lamb *= parseFloat(basic.years);\r\n tau += parseFloat(basic.hours);\r\n tauPOW += Math.pow(basic.hours, 2);\r\n } else if (item.ORIcon) {\r\n lamb += parseFloat(basic.years);\r\n tau += (parseFloat(basic.years) * parseFloat(basic.hours))\r\n }\r\n });\r\n if (item.ANDIcon) {\r\n years = parseFloat((lamb * (tau / 8766)).toFixed(3));\r\n hours = parseFloat((tauPOW / (2 * tau)).toFixed(3));\r\n } else if (item.ORIcon) {\r\n years = lamb;\r\n hours = parseFloat(((tau) / (years)).toFixed(3));\r\n }\r\n arr[i].years = years;\r\n arr[i].hours = hours;\r\n arr[i].Availability = parseFloat(((1 / (1 + (arr[i].hours / 8766) * arr[i].years)) * 100).toFixed(3));\r\n return arr1;\r\n } else if (item.nodeType === 'Event') {\r\n arr[i].years = 0;\r\n arr[i].hours = 0;\r\n arr[i].Availability = 0;\r\n years = 0;\r\n hours = 0;\r\n lamb = 0;\r\n tau = 0;\r\n item.children.forEach(basic => {\r\n if (item.ANDIcon) {\r\n lamb *= parseFloat(basic.years);\r\n tau += parseFloat(basic.hours);\r\n tauPOW += Math.pow(basic.hours, 2);\r\n } else if (item.ORIcon) {\r\n lamb += parseFloat(basic.years);\r\n tau += (parseFloat(basic.years) * parseFloat(basic.hours))\r\n }\r\n });\r\n if (item.ANDIcon) {\r\n years = parseFloat((lamb * (tau / 8766)).toFixed(3));\r\n hours = parseFloat((tauPOW / (2 * tau)).toFixed(3));\r\n } else if (item.ORIcon) {\r\n years = lamb;\r\n hours = parseFloat(((tau) / (years)).toFixed(3));\r\n }\r\n arr[i].years = years;\r\n arr[i].hours = hours;\r\n arr[i].Availability = parseFloat(((1 / (1 + (arr[i].hours / 8766) * arr[i].years)) * 100).toFixed(3));\r\n if (arr.length === len) {\r\n let findLevel = item.level - 1;\r\n await this.findLevel(arr1, findLevel);\r\n }\r\n }\r\n } else {\r\n if (item.children) {\r\n forFn(item.children, level);\r\n }\r\n }\r\n }\r\n }\r\n forFn(arr1, level);\r\n return await temp;\r\n }\r\n\r\n public AllowNumber(event) {\r\n const pattern = /[0-9.]/;\r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (!pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'p-organizationChart',\r\n template: `\r\n
    \r\n
    \r\n
    \r\n`,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class OrganizationChart implements AfterContentInit {\r\n\r\n @Input() value: TreeNode[];\r\n\r\n @Input() style: any;\r\n\r\n @Input() styleClass: string;\r\n\r\n @Input() selectionMode: string;\r\n\r\n @Input() preserveSpace: boolean = true;\r\n\r\n @Input() get selection(): any {\r\n return this._selection;\r\n }\r\n\r\n set selection(val: any) {\r\n this._selection = val;\r\n\r\n if (this.initialized)\r\n this.selectionSource.next();\r\n }\r\n\r\n @Output() selectionChange: EventEmitter = new EventEmitter();\r\n\r\n @Output() onNodeSelect: EventEmitter = new EventEmitter();\r\n\r\n @Output() onNodeUnselect: EventEmitter = new EventEmitter();\r\n\r\n @Output() onNodeExpand: EventEmitter = new EventEmitter();\r\n\r\n @Output() onNodeCollapse: EventEmitter = new EventEmitter();\r\n\r\n @Output() AddNode: EventEmitter = new EventEmitter();\r\n\r\n @Output() DeleteNode: EventEmitter = new EventEmitter();\r\n\r\n @Output() Library: EventEmitter = new EventEmitter();\r\n\r\n @Output() FailureMode: EventEmitter = new EventEmitter();\r\n\r\n @ContentChildren(PrimeTemplate) templates: QueryList;\r\n\r\n public templateMap: any;\r\n\r\n private selectionSource = new Subject();\r\n\r\n _selection: any;\r\n\r\n initialized: boolean;\r\n\r\n selectionSource$ = this.selectionSource.asObservable();\r\n\r\n constructor(public el: ElementRef, public cd: ChangeDetectorRef) {\r\n }\r\n\r\n get root(): TreeNode {\r\n return this.value && this.value.length ? this.value[0] : null;\r\n }\r\n\r\n ngAfterContentInit() {\r\n if (this.templates.length) {\r\n this.templateMap = {};\r\n }\r\n\r\n this.templates.forEach((item) => {\r\n this.templateMap[item.getType()] = item.template;\r\n });\r\n\r\n this.initialized = true;\r\n }\r\n\r\n getTemplateForNode(node: TreeNode): TemplateRef {\r\n if (this.templateMap)\r\n return node.type ? this.templateMap[node.type] : this.templateMap['default'];\r\n else\r\n return null;\r\n }\r\n\r\n onNodeClick(event: Event, node: TreeNode) {\r\n let eventTarget = (event.target);\r\n\r\n if (eventTarget.className && (eventTarget.className.indexOf('p-node-toggler') !== -1 || eventTarget.className.indexOf('p-node-toggler-icon') !== -1)) {\r\n return;\r\n }\r\n else if (this.selectionMode) {\r\n if (node.selectable === false) {\r\n return;\r\n }\r\n\r\n let index = this.findIndexInSelection(node);\r\n let selected = (index >= 0);\r\n\r\n if (this.selectionMode === 'single') {\r\n if (selected) {\r\n this.selection = null;\r\n this.onNodeUnselect.emit({ originalEvent: event, node: node });\r\n }\r\n else {\r\n this.selection = node;\r\n this.onNodeSelect.emit({ originalEvent: event, node: node });\r\n }\r\n }\r\n else if (this.selectionMode === 'multiple') {\r\n if (selected) {\r\n this.selection = this.selection.filter((val, i) => i != index);\r\n this.onNodeUnselect.emit({ originalEvent: event, node: node });\r\n }\r\n else {\r\n this.selection = [...this.selection || [], node];\r\n this.onNodeSelect.emit({ originalEvent: event, node: node });\r\n }\r\n }\r\n\r\n this.selectionChange.emit(this.selection);\r\n this.selectionSource.next();\r\n }\r\n }\r\n\r\n findIndexInSelection(node: TreeNode) {\r\n let index: number = -1;\r\n\r\n if (this.selectionMode && this.selection) {\r\n if (this.selectionMode === 'single') {\r\n index = (this.selection == node) ? 0 : - 1;\r\n }\r\n else if (this.selectionMode === 'multiple') {\r\n for (let i = 0; i < this.selection.length; i++) {\r\n if (this.selection[i] == node) {\r\n index = i;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return index;\r\n }\r\n\r\n isSelected(node: TreeNode) {\r\n return this.findIndexInSelection(node) != -1;\r\n }\r\n}\r\n\r\n@NgModule({\r\n imports: [CommonModule, MenuModule, AutoCompleteModule, FormsModule],\r\n exports: [OrganizationChart, SharedModule, MenuModule, AutoCompleteModule, FormsModule],\r\n declarations: [OrganizationChart, OrganizationChartNode]\r\n})\r\nexport class OrganizationChartModule { }","\r\n \r\n \r\n
    \r\n Availability : {{node.Availability}}%\r\n
    \r\n
    \r\n
    \r\n
    {{node.label}}
    \r\n
    \r\n \r\n
    \r\n
    \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.years}} Yrs\r\n
    \r\n
    \r\n  {{node.hours}} Hrs\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {{comp.FailureComponents}} \r\n \r\n \r\n
    \r\n
    \r\n \r\n {{cause.FailureCause}} \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \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.years}} Yrs\r\n
    \r\n
    \r\n  {{node.hours}} Hrs\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n 1\">\r\n \r\n  \r\n  \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { AuthGuard } from './auth.guard';\r\nimport { LoginRegistrationComponent } from './login-registration/login-registration.component';\r\nimport { ResetPasswordComponent } from './reset-password/reset-password.component';\r\nimport { ForgotPasswordComponent } from './forgot-password/forgot-password.component';\r\nimport { RCMFunctionalAnalysis } from './home/prescriptive/CBA/RCMFunctionalAnalysis/rcmreport.component';\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot([\r\n { path: '', redirectTo: 'Login', pathMatch: 'full' },\r\n { path: 'Login', component: LoginRegistrationComponent },\r\n { path: 'Home', loadChildren: () => import('./home/home.module').then(a => a.HomeModule), canActivate: [AuthGuard] },\r\n { path: 'Reset', component: ResetPasswordComponent },\r\n { path: 'ForgotPassword', component: ForgotPasswordComponent },\r\n { path: 'RCMFunctionalAnalysis', component: RCMFunctionalAnalysis},\r\n \r\n ])],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","import { HttpParams } from \"@angular/common/http\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { timeStamp } from \"console\";\r\nimport { CommonBLService } from \"src/app/shared/BLDL/common.bl.service\";\r\nimport { PrescriptiveContantAPI } from \"../../Shared/prescriptive.constant\";\r\n\r\n@Component({\r\n selector: 'app-rcmreport',\r\n templateUrl: './rcmreport.component.html',\r\n styleUrls: ['./rcmreport.component.css'],\r\n})\r\n\r\nexport class RCMFunctionalAnalysis implements OnInit {\r\n\r\n public RCMDataId: any = [];\r\n public CBARecords: any = [];\r\n public TagNumber: string = \"\";\r\n public taskList: any = [];\r\n public Consequence: string = \"\";\r\n public FailureModeList: any = [];\r\n public CBAFailureMode: any = [];\r\n\r\n constructor(public route: ActivatedRoute,\r\n private RCMReportBLService: CommonBLService,\r\n private RCMReportContantAPI: PrescriptiveContantAPI,) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.GetRCMData();\r\n }\r\n\r\n async ngOnDestroy() {\r\n await localStorage.removeItem('RCMReportObj')\r\n }\r\n\r\n public GetRCMData() {\r\n this.RCMDataId = localStorage.getItem('RCMReportObjId');\r\n var url: string = this.RCMReportContantAPI.CBARecordsForReport;\r\n const params = new HttpParams()\r\n .set('id', this.RCMDataId)\r\n this.RCMReportBLService.getWithParameters(url, params).subscribe\r\n ((res: any) => {\r\n this.CBARecords = res;\r\n this.SetRCMDataReport();\r\n console.log(this.CBARecords);\r\n });\r\n }\r\n\r\n public DownloadRCMReport(){\r\n window.print();\r\n }\r\n public SetRCMDataReport() {\r\n this.TagNumber = this.CBARecords.TagNumber;\r\n this.Consequence = this.CBARecords.Consequence;\r\n this.CBAFailureMode = this.CBARecords.CBAFailureModes;\r\n for (let CBAId = 0; CBAId < this.CBAFailureMode.length; CBAId++) {\r\n let failuremodeobj = {};\r\n failuremodeobj['FailureMode'] = this.CBAFailureMode[CBAId].FailureMode;\r\n failuremodeobj['EC'] = this.CBAFailureMode[CBAId].EC;\r\n failuremodeobj['HS'] = this.CBAFailureMode[CBAId].HS;\r\n failuremodeobj['EV'] = this.CBAFailureMode[CBAId].EV;\r\n failuremodeobj['CA'] = this.CBAFailureMode[CBAId].CA;\r\n failuremodeobj['ETBC'] = this.CBAFailureMode[CBAId].ETBC;\r\n failuremodeobj['ETBF'] = this.CBAFailureMode[CBAId].ETBF;\r\n failuremodeobj['PONC'] = this.CBAFailureMode[CBAId].PONC;\r\n failuremodeobj['EC'] = this.CBAFailureMode[CBAId].EC;\r\n failuremodeobj['TotalAnnualCostWithMaintenance'] = this.CBAFailureMode[CBAId].TotalAnnualCostWithMaintenance;\r\n failuremodeobj['ResidualRiskWithMaintenance'] = this.CBAFailureMode[CBAId].ResidualRiskWithMaintenance;\r\n failuremodeobj['TotalAnnualPOC'] = this.CBAFailureMode[CBAId].TotalAnnualPOC;\r\n failuremodeobj['MEI'] = this.CBAFailureMode[CBAId].MEI;\r\n if (failuremodeobj['MEI'] > 1){\r\n failuremodeobj['TaskApproved'] = 'Yes';\r\n }\r\n else if(failuremodeobj['MEI'] < 1){\r\n failuremodeobj['TaskApproved'] = 'No';\r\n }\r\n failuremodeobj['Tasks'] = [];\r\n this.FailureModeList.push(failuremodeobj);\r\n this.CBAFailureMode[CBAId].CBAMaintenanceTasks.forEach(tasks => {\r\n let obj = {};\r\n obj['Task'] = tasks.MSSMaintenanceTask;\r\n obj['Status'] = tasks.Status;\r\n tasks.CBAMainenanceIntervals.forEach(intervals => {\r\n obj['Frequency'] = intervals.MSSFrequency;\r\n obj['RWC'] = intervals.RWC;\r\n obj['POC'] = intervals.POC;\r\n obj['AnnualPOC'] = intervals.AnnualPOC;\r\n this.FailureModeList[CBAId].Tasks.push(obj);\r\n });\r\n });\r\n }\r\n }\r\n}","
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n RCM Functional AnalysisCurrency: $\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n

    \r\n   Failure Mode:{{\r\n CBAData.FailureMode\r\n }}\r\n

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

    Tasks

    \r\n \r\n \r\n \r\n \r\n Work Instruction\r\n Freq.\r\n RWC\r\n POC\r\n Ann POC\r\n Status\r\n \r\n \r\n \r\n \r\n \r\n {{ task.Task }}\r\n \r\n \r\n {{ task.Frequency }}\r\n \r\n \r\n {{ task.RWC }}\r\n \r\n \r\n {{ task.POC }}\r\n \r\n \r\n {{ task.AnnualPOC }}\r\n \r\n \r\n {{ task.Status }}\r\n \r\n \r\n
    \r\n
    \r\n
    Consequence Class
    \r\n
    \r\n
    \r\n \r\n
    \r\n ECO:{{ CBAData.EC }}\r\n
    \r\n \r\n HS:{{ CBAData.HS }}\r\n \r\n \r\n ENV:{{ CBAData.EV }}\r\n \r\n \r\n Criticality Rating:{{ CBAData.CA }}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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 { HttpClient } from \"@angular/common/http\";\r\nimport { APP_INITIALIZER } from \"@angular/core\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConfigService {\r\n private config: any;\r\n constructor(private http: HttpClient) { }\r\n load() {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(`dist/DPM/assets/config/appsettings.json`)\r\n .subscribe((data) => {\r\n this.config = data;\r\n resolve(true);\r\n }, (err: any) => {\r\n return Observable.throw(err.error || 'Server error');\r\n });\r\n });\r\n }\r\n // Gets API route based on the provided key\r\n getApi(key: string): string {\r\n return this.config[\"API_ENDPOINTS\"][key];\r\n }\r\n // Gets a value of specified property in the configuration file\r\n get(key: any) {\r\n return this.config[key];\r\n }\r\n}\r\n\r\nexport function ConfigFactory(config: ConfigService) {\r\n return () => config.load();\r\n}\r\n\r\nexport function init() {\r\n return {\r\n provide: APP_INITIALIZER,\r\n useFactory: ConfigFactory,\r\n deps: [ConfigService],\r\n multi: true\r\n }\r\n}\r\n\r\nconst ConfigModule = {\r\n init: init\r\n}\r\n\r\nexport { ConfigModule };","import { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { ConfigService } from \"src/app/shared/config.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CommonDLService {\r\n private headers = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json'\r\n })\r\n }\r\n public options = {\r\n headers: new HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded' })\r\n };\r\n private URL: string = \"\";\r\n constructor(private http: HttpClient,\r\n private configService: ConfigService) {\r\n this.URL = this.configService.getApi('URL');\r\n }\r\n\r\n\r\n\r\n //#region GET API's\r\n\r\n //Dynamic get without parameter\r\n public getWithoutParameters(url) {\r\n return this.http.get(`${this.URL}${url}`);\r\n }\r\n\r\n //Dynamic get with parameter\r\n public getWithParameters(url: string, params) {\r\n return this.http.get(`${this.URL}${url}`, {params});\r\n }\r\n\r\n //#endregion\r\n\r\n\r\n\r\n //#region Post API's\r\n\r\n \r\n //Dynamic post without header\r\n public postWithoutHeaders(url, data) {\r\n return this.http.post(`${this.URL}${url}`, data);\r\n }\r\n\r\n //Dynamic post with header\r\n public postWithHeaders(url: string, data) {\r\n return this.http.post(`${this.URL}${url}`, JSON.stringify(data), this.headers);\r\n }\r\n\r\n public postWithoutHeadersWithParameters(url: string, data: any, params) {\r\n return this.http.post(`${this.URL}${url}`, data, {params});\r\n }\r\n\r\n\r\n //#endregion\r\n\r\n\r\n //#region Put API's\r\n\r\n //Dynamic PUT\r\n public PutData(url: string, data: any, id?:number){\r\n if(id){\r\n return this.http.put(`${this.URL}${url}/${id}`, data) \r\n }else{\r\n return this.http.put(`${this.URL}${url}`, data)\r\n }\r\n }\r\n\r\n\r\n //#endregion\r\n \r\n \r\n //#region Delete API\r\n public DeleteWithParam(url: string, params){\r\n return this.http.delete(`${this.URL}${url}`, {params}) \r\n }\r\n public DeleteWithID(url: string, ID: number){\r\n return this.http.delete(`${this.URL}${url}/` + ID) \r\n \r\n }\r\n\r\n\r\n //#endregion\r\n\r\n\r\n public GetMSSLibrary(){\r\n return this.http.get('dist/DPM/assets/Library/MSS_Library.xlsx', {responseType: 'blob'})\r\n }\r\n\r\n public GetFailureComponents(){\r\n return this.http.get('dist/DPM/assets/Library/FailureComponents.xlsx', {responseType: 'blob'})\r\n }\r\n\r\n public GetFailureCause(){\r\n return this.http.get('dist/DPM/assets/Library/FailureCause.xlsx', {responseType: 'blob'})\r\n }\r\n public GetFailureModeNames(){\r\n return this.http.get('dist/DPM/assets/Library/FailureModeNames.xlsx', {responseType: 'blob'})\r\n }\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","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"zn8P\";"],"sourceRoot":"webpack:///"}