{"version":3,"sources":["./$_lazy_route_resource lazy namespace object","./src/app/add-note/add-note.component.ts","./src/app/add-note/add-note.component.html","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/faq/faq.component.ts","./src/app/faq/faq.component.html","./src/app/faq/dialog-image.html","./src/app/footer/footer.component.ts","./src/app/footer/footer.component.html","./src/app/header/header.component.ts","./src/app/header/header.component.html","./src/app/header/logout-popup.html","./src/app/home/home.component.ts","./src/app/home/home.component.html","./src/app/instructional-manual/instructional-manual.component.ts","./src/app/instructional-manual/instructional-manual.component.html","./src/app/login/login.component.ts","./src/app/login/login.component.html","./src/app/models/productDetails.ts","./src/app/pipe/highlight.pipe.ts","./src/app/pipe/number-formatter.pipe.ts","./src/app/product/product-details/product-details.component.ts","./src/app/product/product-details/product-details.component.html","./src/app/product/product-details/popup-image.html","./src/app/product/product-details/delete-popup.html","./src/app/product/product-search/product-search.component.ts","./src/app/product/product-search/product-search.component.html","./src/app/register-form/register-form.component.ts","./src/app/register-form/register-form.component.html","./src/app/register/register.component.ts","./src/app/register/register.component.html","./src/app/services/data-sharing.service.ts","./src/app/services/faq.service.ts","./src/app/services/fetch-user-details.service.ts","./src/app/services/file-upload.service.ts","./src/app/services/product.service.ts","./src/app/shared/directives/go-back-directive.ts","./src/app/shared/interceptors/auth-interceptors.ts","./src/app/shared/shared.module.ts","./src/app/user-profile/user-profile.component.ts","./src/app/user-registration-details/user-registration-details.component.ts","./src/app/user-registration-details/user-registration-details.component.html","./src/environments/environment.ts","./src/main.ts","./src/oauth.ts"],"names":[],"mappings":"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","file":"main-es2015.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(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 = \"./$$_lazy_route_resource lazy recursive\";","import { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { ProductService } from '../services/product.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { FileUploadService } from '../services/file-upload.service';\nimport { DataSharingService } from '../services/data-sharing.service';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\n\nexport interface DialogData {\n productId: string;\n productLine: any;\n notes: any;\n}\n@Component({\n selector: 'app-add-note',\n templateUrl: './add-note.component.html',\n styleUrls: ['./add-note.component.css']\n})\nexport class AddNoteComponent implements OnInit {\n addNoteForm: FormGroup;\n public isHidden = true;\n fileName: any;\n addNotes = {\n productNotes: {\n productSerialNo: null,\n productNotes: null,\n imageLoc: null,\n updatedBy: { operatorId: 0 },\n updatedOn: null,\n isDeleted: null,\n deletedBy: null,\n },\n productNotesFile: [{\n filepath: null,\n fileType: null,\n }]\n };\n\n myDate = new Date();\n lastSlashValue: any;\n productNotesFile: [];\n submitted = false;\n loading = false;\n constructor(private formBuilder: FormBuilder, public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: DialogData, private productService: ProductService,\n private snackBar: MatSnackBar, private fileUploadService: FileUploadService,\n private dataSharingService: DataSharingService) {\n }\n\n ngOnInit(): void {\n this.addNoteForm = this.formBuilder.group({\n notes: ['', Validators.required],\n // password: ['', Validators.required]\n });\n }\n\n closePopup(): void {\n this.dialogRef.close();\n }\n\n /**\n * Name : Sandhya Misal\n * Functionality : Calling file upload and add note api\n * Code Desc : It is saving the note which is entered by admin and seleted file by calling add note api.\n */\n\n get f() { return this.addNoteForm.controls; }\n\n SaveNote(files, text) {\n this.submitted = true;\n if (this.addNoteForm.invalid) {\n return;\n }\n\n this.loading = true;\n\n if (files) {\n console.log('Entered in if condition');\n console.log('this.data.notes;', this.data.notes);\n console.log('File:', files);\n this.fileName = files._fileNames;\n this.addNotes.productNotes.productSerialNo = this.data.productId;\n this.addNotes.productNotes.productNotes = text;\n console.log('this.addNotes.productNotes.productNotes', this.addNotes.productNotes.productNotes);\n this.addNotes.productNotes.updatedBy.operatorId = 2;\n console.log('myDate:', this.myDate);\n this.addNotes.productNotes.updatedOn = this.myDate;\n this.addNotes.productNotes.imageLoc = '';\n this.addNotes.productNotes.isDeleted = 0;\n this.addNotes.productNotes.deletedBy = null;\n this.fileUploadService.fileUploadForNotes(files, this.data.productLine, this.data.productId).subscribe(data => {\n console.log('Response from api', data);\n this.addNotes.productNotesFile = [];\n\n if (data.Message === 'Success') {\n console.log('length of files._files', files._files.length);\n files._files.map(item => {\n return {\n filepath: data.Upload_URL + '/' + item.name,\n fileType: item.type\n };\n }).forEach(item => this.addNotes.productNotesFile.push(item));\n\n console.log('this.addNotes.productNotesFile', this.addNotes.productNotesFile);\n }\n this.productService.addProductNotes(this.addNotes).subscribe(resp => {\n console.log('data', resp);\n if (data.Message === 'Success') {\n this.snackBar.open('New note has been added successfully', '', {\n duration: 3500\n });\n this.dataSharingService.setNotes(true);\n }\n else {\n this.snackBar.open('error in adding notes', '', {\n duration: 3500\n });\n }\n }, (err) => {\n console.log(err);\n });\n\n\n }, (err) => {\n console.log(err);\n });\n }\n else {\n this.addNotes.productNotes.productSerialNo = this.data.productId;\n this.addNotes.productNotes.productNotes = text;\n console.log('this.addNotes.productNotes.productNotes', this.addNotes.productNotes.productNotes);\n this.addNotes.productNotes.updatedBy.operatorId = 2;\n console.log('myDate:', this.myDate);\n this.addNotes.productNotes.updatedOn = this.myDate;\n this.addNotes.productNotes.imageLoc = '';\n this.addNotes.productNotes.isDeleted = 0;\n this.addNotes.productNotes.deletedBy = null;\n this.addNotes.productNotesFile = [];\n this.productService.addProductNotes(this.addNotes).subscribe(data => {\n console.log('data', data);\n if (data.Message === 'Success') {\n this.snackBar.open('New note has been added successfully', '', {\n duration: 3500\n });\n this.dataSharingService.setNotes(true);\n }\n else {\n this.snackBar.open('error in adding notes', '', {\n duration: 3500\n });\n }\n }, (err) => {\n console.log(err);\n });\n }\n this.dialogRef.close();\n }\n\n}\n","
\n

Add Product Note

\n \n
\n
\n\n

You can add notes on product and attach photos and files here...

\n
\n
\n \n
\n
Notes field is required
\n
\n
\n
\n \n \n \n \n
\n
\n \n \n
","import { NgModule } from \"@angular/core\";\nimport { Routes, RouterModule } from \"@angular/router\";\nimport { LoginComponent } from \"./login/login.component\";\nimport { RegisterComponent } from \"./register/register.component\";\nimport { AuthGuardService } from \"./services/auth/auth-guard.service\";\nimport { HomeComponent } from \"./home/home.component\";\nimport { ProductSearchComponent } from \"./product/product-search/product-search.component\";\nimport { ProductDetailsComponent } from \"./product/product-details/product-details.component\";\nimport { FaqComponent } from \"./faq/faq.component\";\nimport { InstructionalManualComponent } from \"./instructional-manual/instructional-manual.component\";\nimport { UserProfileComponent } from \"./user-profile/user-profile.component\";\nimport { RegisterFormComponent } from \"./register-form/register-form.component\";\n\nconst routes: Routes = [\n {\n path: \"unrestricted-url-access\",\n component: HomeComponent,\n // canActivate: [AuthGuardService]\n },\n {\n path: \"login\",\n component: LoginComponent,\n },\n {\n path: \"register\",\n component: RegisterComponent,\n },\n {\n path: \"register-form\",\n component: RegisterFormComponent,\n },\n {\n path: \"product-search\",\n component: ProductSearchComponent,\n },\n {\n path: \"product-details\",\n component: ProductDetailsComponent,\n },\n {\n path: \"faq\",\n component: FaqComponent,\n },\n {\n path: \"instructional-manual\",\n component: InstructionalManualComponent,\n },\n {\n path: \"user-profile\",\n component: UserProfileComponent,\n },\n { path: 'admin', loadChildren: () => import('./admin/admin.module').then(m => m.AdminModule) },\n \n { path: \"\", redirectTo: \"login\", pathMatch: \"full\" },\n\n // otherwise redirect to home\n { path: \"**\", component: LoginComponent },\n\n];\n\n@NgModule({\n declarations: [],\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule],\n})\nexport class AppRoutingModule {}\n","import { ChangeDetectorRef, Component,OnInit} from '@angular/core';\nimport { Router } from '@angular/router';\nimport { MsalService, BroadcastService } from '@azure/msal-angular';\nimport { DataSharingService } from './services/data-sharing.service';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.css']\n})\nexport class AppComponent implements OnInit{\n title = 'circor-admin-ui';\n subscription: any;\n showLoader: boolean;\n DelAcct: boolean = false;\n\n constructor(private broadcastService: BroadcastService, public dataSharingService: DataSharingService, private cd: ChangeDetectorRef, private router: Router) {\n const itemStr = localStorage.getItem(\"accessToken\");\n if (itemStr && !this.dataSharingService.refreshTokenTimer) {\n this.dataSharingService.refreshAccessToken();\n }\n }\n ngOnInit(): void {\n this.getLoaderStatus();\n //localStorage.clear();\n \n this.subscription= this.broadcastService.subscribe(\"msal:acquireTokenFailure\", (payload) => {\n });\n // this.broadcastService.subscribe(\"msal:loginSuccess\", payload => {\n // do something here\n \n//});\n/*this.authService.handleRedirectCallback((authError, response) => {\n if (authError) {\n console.error('Redirect Error: ', authError.errorMessage);\n return;\n }\n console.log('Redirect Success: '+ response);\n this.router.navigate(['/product-search']);\n});*/\n\nwindow.addEventListener( \"pageshow\", function ( event ) {\n var historyTraversal = event.persisted || \n ( typeof window.performance != \"undefined\" && \n window.performance.navigation.type === 2 );\n if ( historyTraversal ) {\n // Handle page restore.\n window.location.reload();\n }\n});\n }\n\n getLoaderStatus() {\n this.dataSharingService.fetchLoader.subscribe((val => {\n this.showLoader = val;\n this.cd.detectChanges();\n }))\n }\n \n get getLoaderStatus$() {\n return this.dataSharingService.fetchLoader;\n }\n \n goBack() {\n this.router.navigate(['/login'])\n }\n \n openDelAcctPopUp() {\n this.DelAcct = true;\n }\n \n delAcct() {\n \n }\n\n}\n","
\n
\n\n\n\n\n\n ","import { BrowserModule } from '@angular/platform-browser';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgModule } from '@angular/core';\n\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\n\nimport { AppComponent } from './app.component';\nimport { LoginComponent } from './login/login.component';\nimport { RegisterComponent } from './register/register.component';\nimport { AuthGuardService } from './services/auth/auth-guard.service';\nimport { HomeComponent } from './home/home.component';\nimport { AppRoutingModule } from './app-routing.module';\nimport { ProductSearchComponent } from './product/product-search/product-search.component';\nimport { ProductDetailsComponent } from './product/product-details/product-details.component';\nimport { NoopAnimationsModule } from '@angular/platform-browser/animations';\n\nimport {MatCardModule} from '@angular/material/card';\nimport {MatFormFieldModule} from '@angular/material/form-field';\nimport {MatInputModule} from '@angular/material/input';\nimport {MatTabsModule} from '@angular/material/tabs';\nimport {MatGridListModule} from '@angular/material/grid-list';\nimport {MatSelectModule} from '@angular/material/select';\nimport {MatSnackBarModule} from '@angular/material/snack-bar';\nimport {MatTooltipModule} from '@angular/material/tooltip';\nimport { MaterialFileInputModule } from 'ngx-material-file-input';\nimport {MatDialogModule} from '@angular/material/dialog';\nimport {MatBadgeModule} from '@angular/material/badge';\n\nimport { FaqComponent } from './faq/faq.component';\nimport { InstructionalManualComponent } from './instructional-manual/instructional-manual.component';\nimport {MatExpansionModule} from '@angular/material/expansion';\nimport { HeaderComponent } from './header/header.component';\nimport { FooterComponent } from './footer/footer.component';\nimport { UserRegistrationDetailsComponent } from './user-registration-details/user-registration-details.component';\nimport { CheckBoxModule } from '@syncfusion/ej2-angular-buttons';\n\nimport { DropDownListAllModule } from '@syncfusion/ej2-angular-dropdowns';\n\nimport { ToolbarModule } from '@syncfusion/ej2-angular-navigations';\n\nimport { NumericTextBoxAllModule } from '@syncfusion/ej2-angular-inputs';\n\nimport { DialogModule } from '@syncfusion/ej2-angular-popups';\n\nimport { GridAllModule } from '@syncfusion/ej2-angular-grids';\n import { MsalModule, MsalInterceptor } from '@azure/msal-angular';\nimport {MatMenuModule} from '@angular/material/menu';\nimport { HighlightPipe } from './pipe/highlight.pipe';\nimport { AddNoteComponent } from './add-note/add-note.component';\nimport { Ng2SearchPipeModule } from 'ng2-search-filter';\nimport { UserProfileComponent } from './user-profile/user-profile.component';\nimport { MatNativeDateModule } from '@angular/material/core';\nimport { RegisterFormComponent } from './register-form/register-form.component';\nimport { SharedModule } from './shared/shared.module';\n\nimport { AuthInterceptor } from './shared/interceptors/auth-interceptors';\nimport { NumberFormatterPipe } from './pipe/number-formatter.pipe';\n\nconst isIE = window.navigator.userAgent.indexOf('MSIE ') > -1 || window.navigator.userAgent.indexOf('Trident/') > -1;\n\n\n@NgModule({\n declarations: [\n AppComponent,\n LoginComponent,\n RegisterComponent,\n HomeComponent,\n ProductSearchComponent,\n ProductDetailsComponent,\n FaqComponent,\n InstructionalManualComponent,\n HeaderComponent,\n FooterComponent,\n UserRegistrationDetailsComponent,\n HighlightPipe,\n NumberFormatterPipe,\n AddNoteComponent,\n UserProfileComponent,\n RegisterFormComponent,\n ],\n imports: [\n BrowserModule,\n AppRoutingModule,\n NoopAnimationsModule,\n MatCardModule,\n MatFormFieldModule,\n MatInputModule,\n MatTabsModule,\n MatGridListModule,\n MatSelectModule,\n MaterialFileInputModule,\n MatExpansionModule,\n MatSnackBarModule,\n MatTooltipModule,\n MatDialogModule,\n MatBadgeModule,\n MatNativeDateModule,\n MatMenuModule,\n HttpClientModule,\n CheckBoxModule,\n DropDownListAllModule,\n ToolbarModule,\n GridAllModule,\n NumericTextBoxAllModule,\n DialogModule,\n Ng2SearchPipeModule,\n SharedModule,\n MsalModule.forRoot({\n auth: {\n // clientId: '0e307113-75d1-43dd-acd8-bc5ec55a0af4', // This is your client ID\n // authority: 'https://login.microsoftonline.com/5f681148-fa85-420d-8673-08b4e9c4266f/', // This is your tenant ID\n // redirectUri: 'https://dev-traceability.azurewebsites.net/auth'// This is your redirect URI\n // clientId: '0e307113-75d1-43dd-acd8-bc5ec55a0af4', // This is your client ID\n // authority: 'https://login.microsoftonline.com/5f681148-fa85-420d-8673-08b4e9c4266f/', // This is your tenant ID\n // redirectUri: 'https://test-traceability.azurewebsites.net/auth'// This is your redirect URI\n clientId: '73866854-7051-487d-bcdd-9398fd283385', // This is your client ID\n authority: 'https://login.microsoftonline.com/5f681148-fa85-420d-8673-08b4e9c4266f/', // This is your tenant ID\n redirectUri: 'https://circorsmart.azurewebsites.net/auth',// This is your redirect URI\n },\n cache: {\n cacheLocation: 'localStorage',\n storeAuthStateInCookie: isIE, // Set to true for Internet Explorer 11\n },\n }, {\n popUp: !isIE,\n consentScopes: [\n 'user.read',\n 'openid',\n 'profile',\n ],\n unprotectedResources: [],\n protectedResourceMap: [\n ['https://graph.microsoft.com/v1.0/me', ['user.read']]\n ],\n extraQueryParameters: {}\n })\n ],\n providers: [\n {\n provide: HTTP_INTERCEPTORS,\n useClass: AuthInterceptor,\n multi: true\n },\n \n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { Router, ActivatedRoute, NavigationExtras } from '@angular/router';\nimport { IspareParts, ProductDetails } from 'src/app/models/productDetails';\nimport { ProductService } from '../services/product.service';\nimport {Location} from '@angular/common';\nimport { FetchUserDetailsService } from '../services/fetch-user-details.service';\nimport { DataSharingService } from '../services/data-sharing.service';\nimport { FaqService } from '../services/faq.service';\nimport {faq} from '../models/faq'\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport{ environment} from '../../environments/environment'\nimport jwt_decode from \"jwt-decode\";\n\nimport {MatDialog, MatDialogRef, MAT_DIALOG_DATA} from '@angular/material/dialog';\ndeclare var angular: any;\n\nexport interface DialogData {\n image: string;\n}\n@Component({\n selector: 'app-faq',\n templateUrl: './faq.component.html',\n styleUrls: ['./faq.component.css']\n})\nexport class FaqComponent implements OnInit {\n [x: string]: any;\n panelOpenState = false;\n public productId: string;\n docLocation: any;\n notes: any;\n notesLength: number;\n notesFileCount: number;\n productDetails:any;//ProductDetails[];\n productDetailObject= new ProductDetails();\n newProducts:any;\n loader:boolean=true;\n productLineId:any;\n faqData:faq[];\n getFaq:any;\n getImages:any;\n angular: any;\n faqImages:any;\n imageFileName:any;\n unrestrictedUser:boolean=true;\n content:any;\n public searchword : any;\n str: any;\n productFirstAttributes: string;\n imagePath:string;\n azureBlobImage: any;\n accessMessage:boolean;\n sparePartsResult: any;\n isgetSpareParts: boolean = false;\n sparePartsData: IspareParts[] = [];\n isselectAll: boolean = false;\n isCheckQuoteOrder: any;\n isOrgPrice: boolean = false;\n addNotes = {\n productNotes: {\n productSerialNo: null,\n productNotes: null,\n imageLoc: null,\n updatedBy: { operatorId: 0 },\n updatedOn: null,\n isDeleted: null,\n deletedBy: null,\n quoteText: null\n },\n productNotesFile: [{\n filepath: null,\n fileType: null,\n }]\n };\n constructor(private route: Router, private routes: ActivatedRoute, private productService:ProductService, private _location: Location,\n private fetchUserDetailsService:FetchUserDetailsService, private snackBar: MatSnackBar, private dataSharingService : DataSharingService, private faqService:FaqService,\n public dialog: MatDialog) { \n this.routes.queryParams.subscribe((params) => {\n if (params[\"productId\"] != null) {\n this.productId = params[\"productId\"];\n sessionStorage.setItem('productId', this.productId);\n }\n });\n this._location.replaceState(this._location.path().split(\"?\")[0], \"\");\n this.dataSharingService.setHeader(false);\n\n this.dataSharingService.unrestrictedUserAccess.subscribe(data =>\n this.unrestrictedUser=data);\n console.log(\"unrestrictedUser\", this.unrestrictedUser);\n \n if (localStorage.getItem(\"accessToken\")) {\n this.dataSharingService.setUnrestrictedUser(false);\n this.unrestrictedUser = false;\n }\n let decodedToken = jwt_decode(localStorage.getItem(\"accessToken\"));\n this.email = decodedToken['unique_name'].includes('#') ? decodedToken['unique_name'].split(\"#\").pop() : decodedToken['unique_name'];\n this.fetchUserDetailsService.fetchUseryEmail(this.email).subscribe(data => {\n this.dataSharingService.setUserTypeId(data?.userTypeId?.userTypeId);\n this.userOperatorId = data.operatorId;\n console.log(\"uTypeid\", this.dataSharingService.getUserTypeId());\n });\n this.dataSharingService.fetchUserRole.subscribe((res: string) => {\n this.role = res;\n })\n }\n\n \n//test\n // AZURE_BLOB_END_POINT = 'https://circortesttraceabilitysa.blob.core.windows.net/traceability/'\n // QUESTION_MARK = '?'\n // AZURE_BLOB_SAS_KEY = 'sv=2019-12-12&ss=b&srt=sco&sp=rwdlacx&se=2021-05-31T13:02:14Z&st=2020-11-06T05:02:14Z&spr=https&sig=VpbVv3y0ct%2Bm9jmRz%2FKTPsZ52OpujKieBGhQSdg3rJg%3D'\n //prod\n AZURE_BLOB_END_POINT = 'https://prodcircorsmartsa.blob.core.windows.net/traceability/' \n QUESTION_MARK = '?'\n AZURE_BLOB_SAS_KEY = 'sv=2019-12-12&ss=bfqt&srt=sco&sp=rwdlacupx&se=2025-12-31T22:31:05Z&st=2021-01-05T14:31:05Z&spr=https&sig=yGEgOLDyUbQLAYoOqPp%2FOsfdiWZFHho57UQ0QdLkxFA%3D'\n \n // azureBlobImagePath = this.AZURE_BLOB_END_POINT + this.EncodedImageURL + this.QUESTION_MARK + this.AZURE_BLOB_SAS_KEY\n\n /**\n * Name : Sandhya Misal\n * Functionality :Calling fetchProductDetails method \n * Code Desc :Calling fetchProductDetails method on page load\n **/\n ngOnInit(): void {\n this.productId = this.productId ?? sessionStorage.getItem('productId');\n this.fetchProductDetails();\n // this.azureBlobImagePath;\n }\n\n ngOnDestroy(): void {\n sessionStorage.removeItem('productId');\n }\n\n /**\n * Name : Sandhya Misal\n * Functionality :Calling api's to show product details and faq's\n * Code Desc :Fetching all the product details and faq related data through backend api.\n **/\n fetchProductDetails(){\n console.log(\"in fetchMethod\", this.productId);\n if (this.productId) {\n this.productService.fetchProductDetails(this.productId).subscribe(data => {\n console.log(\"data\", data);\n this.loader = false;\n this.productDetails = data;\n this.newProducts = [];\n this.newProducts = this.productDetails.filter((data) =>\n data.serialNumber == this.productId);\n console.log(\"newProduct\", this.newProducts);\n \n this.productDetailObject = this.newProducts[0];\n this.docLocation = this.productDetailObject.docLocation;\n this.productFirstAttributes = this.productDetailObject.prodAttributes[0].attributeValue;\n console.log(\"productObject\", this.productDetailObject);\n this.dataSharingService.setFaq(this.productDetailObject.productLineId);\n this.productLineId = this.productDetailObject.productLineId;\n this.checkQuoteAndOrderForProd();\n\n this.faqService.getFaq(this.productLineId).subscribe(faq => {\n this.faqData = faq;\n console.log(\"getFaq:\", this.faqData);\n this.getFaq = [];\n this.faqImages = [];\n for (var obj of this.faqData) {\n this.getImages = [];\n obj.answer = this.transformLink(obj.answer);\n for (var img of obj.images) {\n console.log(\"img.fileName\", img.fileName);\n img.fileName = this.AZURE_BLOB_END_POINT + img.fileName + this.QUESTION_MARK + this.AZURE_BLOB_SAS_KEY\n console.log(\"this.azureBlobImage\", this.azureBlobImage);\n }\n }\n console.log(\"images\", this.getFaq);\n // for(var img of this.getFaq){\n // console.log(\"faqImages\",img);\n // this.faqImages.push(img.fileName);\n // }\n // console.log(\"faqImages\",this.faqImages);\n }), error => {\n console.log(error);\n }\n\n }), error => {\n console.log(error);\n }\n \n this.dataSharingService.fetchNotes.subscribe((data) => {\n if (data == true) {\n this.fetchProductNotes();\n }\n });\n this.fetchProductNotes();\n this.fetchSpareParts(this.productId);\n \n // this.dataSharingService.faqs.subscribe(data =>{\n // console.log(\"faqdata:\",data);\n // this.productLineId=data;\n // console.log(\"LineId\", this.productLineId);\n \n // })\n // console.log(\"productLineId in ngOnit:\",this.productLineId);\n // this.fetchUserDetailsService.getFaq(this.productLineId).subscribe(faq =>{\n // console.log(\"faq:\",faq);\n // })\n }\n }\n /**\n * Name : Sandhya Misal\n * Functionality :Navigate to miscellaneous information page\n * Code Desc :Navigate to miscellaneous information page\n **/\n ShowInstructionalManualPage(){\n let navigationExtras: NavigationExtras = {\n queryParams: {\n productId: this.productId\n }\n };\n this.route.navigate(['/instructional-manual'], navigationExtras);\n }\n\n fetchSpareParts(productId: any) {\n this.productService.fetchSpareParts(productId).subscribe((res) => {\n console.log(\"sparts\", res);\n this.sparePartsResult = res;\n if (res?.some(r => r.price > 0)) {\n this.isOrgPrice = true;\n }\n if (res.length > 0 ) {\n this.isgetSpareParts = true;\n }\n });\n }\n\n fetchProductNotes() {\n this.productService\n .fetchProductNotes(this.productId)\n .subscribe((notes) => {\n this.notes = notes;\n this.convertNotes();\n console.log(\"notes:\", this.notes);\n this.notesLength = Object.keys(this.notes).length;\n console.log(\"notes length:\", Object.keys(this.notes).length);\n // console.log(\"productNotesFile length:\",Object.keys(this.notes.productNotesFile).length);\n for (var notesFile of this.notes) {\n this.notesFileCount = Object.keys(\n notesFile.productNotesFile\n ).length;\n }\n }),\n (error) => {\n console.log(error);\n };\n }\n\n isUserType() {\n console.log(\"uType\", this.dataSharingService.getUserTypeId());\n return this.dataSharingService.getUserTypeId();\n }\n \n\n checkQuoteAndOrderForProd() {\n this.productService.checkQuoteandOrder(this.productLineId).subscribe((res) => {\n this.isCheckQuoteOrder = res;\n console.log(\"quoteorder\", this.isCheckQuoteOrder);\n });\n}\n\nCheckBoxVisibleForQuoteOrder() {\n return (this.isCheckQuoteOrder && (this.isCheckQuoteOrder.quoteAdmin || this.isCheckQuoteOrder.orderAdmin));\n}\n\nselectAll(isSelectAll) {\n console.log(\"spresult\", this.sparePartsResult, isSelectAll);\n this.sparePartsResult = this.sparePartsResult.map((sp: any) => {\n sp.checked = isSelectAll;\n return sp;\n });\n}\ncheckForAllSelect() {\n let selectedSP = this.sparePartsResult.filter((sp: any) => {\n return sp.checked === true;\n });\n if (selectedSP.length === this.sparePartsResult.length) {\n this.isselectAll = true;\n } else if (selectedSP.length > 0) {\n this.isselectAll = false;\n }\n}\nresetSelection() {\n this.sparePartsResult = this.sparePartsResult.map((sp: any) => {\n sp.checked = false;\n return sp;\n });\n this.isselectAll = false;\n}\n\nconvertNotes() {\n let quoteNo = 0;\n let orderNo = 0;\n for (let i = 0; i < this.notes.length; i++){\n let note = this.notes[i];\n let noteText = note.productNotes.productNotes;\n if (noteText.startsWith(\"Quote: quoteNo\")) {\n noteText = noteText.replace(\"quoteNo\", (quoteNo + 1) + \"\");\n noteText = \"
\" + noteText + \"
\";\n quoteNo = quoteNo + 1;\n this.notes[i].productNotes.productNotes = noteText;\n } else if (noteText.startsWith(\"Order: orderNo\")) {\n noteText = noteText.replace(\"orderNo\", (orderNo + 1) + \"\");\n noteText = \"
\" + noteText + \"
\";\n orderNo = orderNo + 1;\n this.notes[i].productNotes.productNotes = noteText;\n }\n }\n}\n\nsparePartsQuotesAndOrder(quoteOrOrder: string) {\n this.dataSharingService.setLoader(true);\n let postData = this.sparePartsResult.filter((sp: any) => sp.checked);\n console.log(postData);\n let notesText = \"\";\n if (quoteOrOrder === \"quote\") {\n notesText = \"Quote: quoteNo\";\n } else if (quoteOrOrder === \"order\") {\n notesText = \"Order: orderNo\";\n }\n for (let i = 0; i < postData.length; i++){\n notesText = notesText + \"

Description: \" + postData[i].description + \"

Part No: \" + postData[i].partNo + \"

\"; \n console.log(notesText);\n }\n \n if (postData.length > 0 && quoteOrOrder === \"quote\") {\n this.productService.sendSPQuotes(postData).subscribe(\n (res) => {\n console.log(res, \"resss\");\n this.resetSelection();\n if (res.Message === \"Success\") {\n this.dataSharingService.setLoader(false);\n this.snackBar.open(res.Result, \"\", {\n duration: 2500,\n });\n this.addNotes.productNotes.productSerialNo = postData[0].productSerialNum;\n this.addNotes.productNotes.productNotes = notesText;\n console.log('this.addNotes.productNotes.productNotes', this.addNotes.productNotes.productNotes);\n this.addNotes.productNotes.updatedBy.operatorId = 2;\n console.log('myDate:', this.myDate);\n this.addNotes.productNotes.updatedOn = new Date();\n this.addNotes.productNotes.imageLoc = '';\n this.addNotes.productNotes.isDeleted = 0;\n this.addNotes.productNotes.deletedBy = null;\n this.addNotes.productNotesFile = [];\n \n this.productService.addProductNotes(this.addNotes).subscribe(data => {\n console.log(\"NoteData:\", data)\n this.fetchProductNotes();\n });\n } else {\n this.dataSharingService.setLoader(false);\n this.snackBar.open(\"Quote Email not sent\", \"\", {\n duration: 2500,\n });\n\n }\n },\n (err) => {\n this.snackBar.open(\"Quote Email not sent\", \"\", {\n duration: 2500,\n });\n }\n );\n } else if (postData.length > 0 && quoteOrOrder === \"order\") {\n this.productService.sendSPOrder(postData).subscribe(\n (res) => {\n console.log(res, \"resss\");\n this.resetSelection();\n if (res.Message === \"Success\") {\n this.dataSharingService.setLoader(false);\n this.snackBar.open(res.Result, \"\", {\n duration: 2500,\n });\n this.addNotes.productNotes.productSerialNo = postData[0].productSerialNum;\n this.addNotes.productNotes.productNotes = notesText;\n console.log('this.addNotes.productNotes.productNotes', this.addNotes.productNotes.productNotes);\n this.addNotes.productNotes.updatedBy.operatorId = 2;\n console.log('myDate:', this.myDate);\n this.addNotes.productNotes.updatedOn = new Date();\n this.addNotes.productNotes.imageLoc = '';\n this.addNotes.productNotes.isDeleted = 0;\n this.addNotes.productNotes.deletedBy = null;\n this.addNotes.productNotesFile = [];\n \n this.productService.addProductNotes(this.addNotes).subscribe(data => {\n console.log(\"NoteData:\", data)\n this.fetchProductNotes();\n });\n } else {\n this.dataSharingService.setLoader(false);\n this.snackBar.open(\"Order Email not sent\", \"\", {\n duration: 2500,\n });\n }\n },\n (err) => {\n this.snackBar.open(\"Order Email not sent\", \"\", {\n duration: 2500,\n });\n }\n );\n } else {\n this.dataSharingService.setLoader(false);\n this.snackBar.open(\"Please select at least one checkbox\", \"\", {\n duration: 2500,\n });\n }\n}\n \ncloseFormPopup() {\n this.postFormSubmit = !this.postFormSubmit;\n this.sendUserForm.reset();\n this.resetSelection();\n}\n\nsendOthers() {\n let receivedListSparePartsResult = this.sparePartsResult?.filter((sp: any) => sp.checked);\n if (receivedListSparePartsResult.length > 0) {\n this.postFormSubmit = true;\n this.usPopupToggle = true;\n } else {\n this.snackBar.open(\"Please select at least one checkbox\", \"\", {\n duration: 2500,\n }); \n }\n}\n\nsendOthersToSpareParts() {\n let postData: any = {};\n let emailIds: any = [];\n emailIds.push(this.sendUserForm.value.emailIds);\n postData.emailIds = emailIds;\n\n // let emailIds: any = this.sendUserForm.value.emailIds.split(\",\");\n // postData.emailIds = emailIds; \n postData.message = this.sendUserForm.value.message;\n let receivedListSparePartsResult = this.sparePartsResult?.filter((sp: any) => sp.checked);\n postData.listSpareParts = receivedListSparePartsResult;\n console.log(\"sotospa pd:\", postData);\n this.dataSharingService.setShowSmallLoader(true);\n let notesText = \"Quote: quoteNo\";\n for (let i = 0; i < receivedListSparePartsResult.length; i++){\n notesText = notesText + \"

Description: \" + receivedListSparePartsResult[i].description + \"

Part No: \" + receivedListSparePartsResult[i].partNo + \"

\"; \n console.log(notesText);\n }\n this.productService.sendOthersToSpareParts(postData).subscribe(res => {\n if (res.Message == \"Success\") {\n this.dataSharingService.setShowSmallLoader(false);\n this.sendUserForm.reset();\n this.postFormSubmit = false;\n this.usPopupToggle = false;\n this.snackBar.open(res.Result, \"\", {\n duration: 2500,\n });\n this.resetSelection();\n this.addNotes.productNotes.productSerialNo = postData.listSpareParts[0].productSerialNum;\n this.addNotes.productNotes.productNotes = notesText;\n this.addNotes.productNotes.updatedBy.operatorId = 2;\n this.addNotes.productNotes.updatedOn = new Date();\n this.addNotes.productNotes.imageLoc = '';\n this.addNotes.productNotes.isDeleted = 0;\n this.addNotes.productNotes.deletedBy = null;\n this.addNotes.productNotesFile = [];\n \n this.productService.addProductNotes(this.addNotes).subscribe(data => {\n console.log(\"NoteData:\", data)\n this.fetchProductNotes();\n });\n \n }\n });\n}\n \n /**\n * Name : Sandhya Misal\n * Functionality :Navigate to dashboard page\n * Code Desc :Navigate to dashboard page\n **/\n ShowDashboardPage(){\n this.route.navigate(['/product-search']);\n }\n\n /**\n * Name : Sandhya Misal\n * Functionality :Navigate to product detail page\n * Code Desc :Navigate to product detail page\n **/\n ShowProductDetailPage(){\n let navigationExtras: NavigationExtras = {\n queryParams: {\n productId: this.productId\n },\n };\n this.route.navigate(['/product-details'], navigationExtras);\n }\n\n downloadFile(fileName){\n //const pdfUrl = \"traceability/Rapid Opening Closure/UR01343/Installation Operation and Maintenance Manual – IOM.pdf\";\n var str = fileName.split(' ').join('^'); \n var form = document.createElement(\"form\");\n console.log(str);\n form.action = `${environment.apiUrl}/downloadFile`;\n angular.element(form).append(''); \n form.method = \"post\";\n angular.element(document.body).append(form);\n form.submit();\n }\n\n /**\n * Name : Sandhya Misal\n * Functionality :Navigate to previous page\n * Code Desc :Navigate to previous page\n **/\n gotoProductDetails(){\n let navigationExtras: NavigationExtras = {\n queryParams: {\n productId: this.productId,\n }\n };\n this.route.navigate(['/product-details'], navigationExtras);\n }\n openDialog(image){\n this.dialog.open(DialogContentComponent, \n {\n width:'100%',\n height:'100%',\n data: {image: image}\n });\n }\n\n transformLink(text: string): string {\n let stylizedText: string = '';\n if (text && text.length > 0) {\n for (let t of text.split(' ')) {\n if (t.length > 1 && (t.startsWith('www') || (t.startsWith('http')))){\n stylizedText += `${t} `;\n } else {\n stylizedText += t + ' ';\n }\n }\n return stylizedText;\n } else return text;\n }\n\n}\n\n@Component({\n selector: 'dialog-image',\n templateUrl: 'dialog-image.html',\n})\n\nexport class DialogContentComponent {\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: DialogData) {\n\n }\n\n closePopup(): void {\n this.dialogRef.close();\n }\n \n EncodedImageURL = this.data.image;\n \n \n \n ngOnInit(): void {\n this.EncodedImageURL;\n }\n \n}\n","\n
\n
\n
\n
\n \n
\n Dashboard - FAQ
\n
\n
\n\n
\n
\n \n
\n
\n
\n
\n\n\n
\n
\n
FAQ
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n

PRODUCT DETAILS

\n
\n
\n Loading...\n
\n
\n
\n
\n

{{productDetailObject.productLineId}}

\n

PRODUCT LINE

\n
\n
\n

{{productDetailObject.serialNumber}}

\n

SERIAL NO

\n
\n
\n

{{productDetailObject.cliTagNo}}

\n

CLIENT TAG NO

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

{{product.attributeValue}}

\n

{{product.attributeId.attributeName}}

\n
\n
\n
\n
\n
\n
\n CONTACT DETAILS\n
\n
\n
\n
\n Contact Name :\n
\n
\n

{{productDetailObject.contName1}}

\n
\n
\n
\n
\n Phone Number :\n
\n
\n

{{productDetailObject.contPhone1}}

\n
\n
\n
\n
\n Email Address/Link:\n
\n
\n

{{productDetailObject.contEmail1}}

\n \n
\n
\n
\n
\n
\n Contact Name :\n
\n
\n

{{productDetailObject.contName2}}

\n
\n
\n
\n
\n Phone Number :\n
\n
\n

{{productDetailObject.contPhone2}}

\n
\n
\n
\n
\n Email Address/Link:\n
\n
\n

{{productDetailObject.contEmail2}}

\n \n
\n
\n
\n\n
\n
\n
\n
\n
\n SPARE PARTS\n
\n
\n
\n
\n
\n 0\" >\n Description \n Part No\n Price\n Currency\n MRRP\n
\n\n
\n 0\" >\n {{spareParts.description}}\n {{spareParts.partNo}}\n {{spareParts.discountPrice | numberFormatter}}\n {{spareParts.currency}}\n {{spareParts.price | numberFormatter}}\n
\n \n
\n
\n \n \n \n
\n
\n
\n \n
\n\n
\n
\n
\n
\n \n
\n
\n \n

FREQUENTLY ASKED QUESTIONS (FAQs)

\n
\n \n
\n \n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n \n\n","\n\"Close\"/\n\"FAQ","import { Component, OnInit } from '@angular/core';\nimport { DataSharingService } from '../services/data-sharing.service';\n\n@Component({\n selector: 'footer',\n templateUrl: './footer.component.html',\n styleUrls: ['./footer.component.css']\n})\nexport class FooterComponent implements OnInit {\n isHeader: boolean;\n unrestrictedUser: boolean;\n\n constructor(private dataSharingService: DataSharingService) { \n if (localStorage.getItem(\"accessToken\")) {\n this.dataSharingService.setUnrestrictedUser(false);\n this.unrestrictedUser = false;\n }\n }\n\n ngOnInit(): void {\n this.dataSharingService.isHeaderVisibility.subscribe(header =>{\n this.isHeader = header; \n })\n }\n\n}\n","
\n
\n © CIRCOR INTERNATIONAL, INC. ALL RIGHTS RESERVED, 2022.\n
\n
","import { AfterViewInit, Component, OnInit } from \"@angular/core\";\nimport { DataSharingService } from \"../services/data-sharing.service\";\nimport { Router, NavigationExtras } from \"@angular/router\";\nimport {\n MatDialog,\n MatDialogRef,\n MAT_DIALOG_DATA,\n} from \"@angular/material/dialog\";\nimport { MsalService, BroadcastService } from \"@azure/msal-angular\";\nimport jwt_decode from \"jwt-decode\";\nimport { ProductService } from \"../services/product.service\";\nimport { FetchUserDetailsService } from \"../services/fetch-user-details.service\";\n\n@Component({\n selector: \"header\",\n templateUrl: \"./header.component.html\",\n styleUrls: [\"./header.component.css\"],\n})\nexport class HeaderComponent implements OnInit, AfterViewInit {\n isHeader: boolean;\n downArrow: boolean = true;\n unrestrictedUser: boolean;\n token: any;\n firstName: any;\n lastName: any;\n accessToken: any;\n email: any;\n role: string;\n name: string;\n uniqueName: string;\n delAcct: boolean = false;\n\n constructor(\n private dataSharingService: DataSharingService,\n private route: Router,\n public dialog: MatDialog,\n private authService: MsalService,\n private userDetailService: FetchUserDetailsService,\n ) {\n this.dataSharingService.setDownArrow(true);\n if (localStorage.getItem(\"accessToken\")) {\n this.dataSharingService.setUnrestrictedUser(false);\n this.unrestrictedUser = false;\n }\n }\n\n ngAfterViewInit() {\n setTimeout(() => {\n if (localStorage.getItem(\"accessToken\")) {\n this.token = localStorage.getItem(\"accessToken\");\n let decodedToken = jwt_decode(this.token);\n this.firstName = decodedToken[\"given_name\"];\n this.lastName = decodedToken[\"family_name\"];\n this.name = decodedToken['name'];\n this.uniqueName = decodedToken['unique_name'].includes('#') ? decodedToken['unique_name'].split(\"#\").pop() : decodedToken['unique_name'];\n console.log(this.firstName, this.lastName);\n }\n }, 1000);\n }\n\n ngOnInit(): void {\n this.dataSharingService.isHeaderVisibility.subscribe((header) => {\n console.log(\"in constructor\", header);\n this.isHeader = header;\n if (!header) {\n this.dataSharingService.fetchUserRole.subscribe((res: string) => {\n this.role = res;\n })\n }\n });\n }\n\n logout() {\n clearInterval(this.dataSharingService.refreshTokenTimer);\n this.dialog.open(PopUpContentComponent);\n }\n\n goBack() {\n this.route.navigate(['/login'])\n }\n \n openDelAcctPopUp() {\n console.log(\"del\", this.delAcct);\n this.delAcct = true;\n }\n\n logoutMethodByDeleteAcct(): void {\n localStorage.removeItem(\"accessToken\");\n sessionStorage.clear();\n this.authService.logout();\n }\n\n delUserAcct() {\n this.dataSharingService.setLoader(true);\n this.userDetailService.deleteUserAccount(this.uniqueName).subscribe((res => {\n this.dataSharingService.setLoader(false);\n if (res.status == true) {\n this.delAcct = false;\n this.logoutMethodByDeleteAcct();\n this.route.navigate([\"/login\"]);\n }\n }))\n }\n \n}\n@Component({\n selector: \"popup-image\",\n templateUrl: \"logout-popup.html\",\n})\nexport class PopUpContentComponent {\n constructor(\n private route: Router,\n public dialogRef: MatDialogRef,\n private authService: MsalService\n ) {}\n\n closePopup(): void {\n this.dialogRef.close();\n }\n\n logoutMethod(): void {\n localStorage.removeItem(\"accessToken\");\n this.dialogRef.close();\n sessionStorage.clear();\n this.authService.logout();\n this.route.navigate([\"/login\"]);\n }\n ngOnInit(): void {}\n}\n","\n\n
\n
\n \"Circor\"/\n Smart admin\n Smart user\n
\n \n
\n\n \n\n
\n \n \n

{{uniqueName}}

\n

(Admin)

\n

(Guest User)

\n \n \n \n
\n
\n
\n\n\n
\n
\n DELETE ACCOUNT Close X\n \n Please note you won't be able to retrieve any details you've shared on CIRCOR Smartapp when you delete your account. Your Notes, Quotes/Orders and all of your messages will also be deleted.\n \n After clicking “Yes” button, your account will be deleted from the CIRCOR Smart app within a day, post review and acceptance by Smart App Admin team. \n\n Please click “Yes” to proceed with the account deletion.\n \n\n \n \n \n \n
\n
","

Are you sure you want to logout?

\n\n","import { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ProductService } from '../services/product.service';\nimport { ProductDetails } from 'src/app/models/productDetails';\nimport { Router, NavigationExtras } from '@angular/router';\nimport { DataSharingService } from '../services/data-sharing.service';\n\n@Component({\n selector: 'app-home',\n templateUrl: './home.component.html',\n styleUrls: ['./home.component.css']\n})\nexport class HomeComponent implements OnInit {\n\n unrestrictedUserForm: FormGroup;\n loader:boolean = true;\n isMessage:boolean = false;\n isSerialNo:string;\n productDetails:ProductDetails[];\n productDetailObject= new ProductDetails();\n newProducts:any;\n\n submitted = false;\n loading = false;\n profile:any;\n isHeader:boolean=true;\n unrestrictedUser:boolean=false;\n constructor(private productService:ProductService, private route: Router, private dataSharingService:DataSharingService) {\n this.unrestrictedUserForm = new FormGroup({\n userName: new FormControl('', [Validators.required])\n });\n }\n\n ngOnInit(): void {\n this.dataSharingService.setHeader(this.isHeader);\n }\n\n submit(serialNo){\n this.productService.fetchProductDetails(serialNo).subscribe(data=>{\n this.isSerialNo = serialNo;\n this.loader=false;\n this.productDetails = data;\n this.newProducts = [];\n this.newProducts = this.productDetails.filter((data) => \n (data.serialNumber == serialNo))\n console.log(\"newProduct\",this.newProducts);\n if(Object.keys(this.newProducts).length>0){\n this.isMessage = false;\n this.unrestrictedUser = true;\n this.dataSharingService.setUnrestrictedUser(this.unrestrictedUser);\n this.productDetailObject = this.newProducts[0];\n console.log(\"productObject\",this.productDetailObject);\n let navigationExtras: NavigationExtras = {\n queryParams: {\n \"productId\": serialNo,\n // \"unrestrictedUser\":this.unrestrictedUser,\n }\n };\n this.route.navigate(['/product-details'], navigationExtras);\n }\n \n else{\n this.isMessage=true;\n }\n // });\n \n\n }),error => {\n console.log(error);\n }\n }\n\n}\n","\n
\n
\n
\n

EXCELLENCE IN FLOW

\n

CONTROL

\n \n

\n CIRCOR manufactures flow and motion control products for the
\n world’s most severe-service and mission-critical applications—from
\n valves to instrumentation, actuation to pumps, motors to regulators.\n

\n \n
\n
\n \n

Welcome...!!Search for a product to view the details

\n
\n
\n
\n
\n \n Product ID\n \n \n
\n
\n Serial number \"{{isSerialNo}}\" could not be found, please try again.\n
\n \n
\n
\n
\n
\n
\n\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router, NavigationExtras } from '@angular/router';\nimport { ProductService } from '../services/product.service';\nimport { IspareParts, ProductDetails } from 'src/app/models/productDetails';\nimport { DOCUMENT, Location } from '@angular/common';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { DataSharingService } from '../services/data-sharing.service';\ndeclare var require: any\ndeclare var angular: any;\nimport { environment } from '../../environments/environment'\nimport { FetchUserDetailsService } from '../services/fetch-user-details.service';\nimport jwt_decode from \"jwt-decode\";\n\nexport class ManualDoc {\n doclocation: string;\n fileName: string;\n}\n\n@Component({\n selector: 'app-instructional-manual',\n templateUrl: './instructional-manual.component.html',\n styleUrls: ['./instructional-manual.component.css']\n})\n\nexport class InstructionalManualComponent implements OnInit {\n [x: string]: any;\n panelOpenState = false;\n public productId: string;\n productDetails: any;//ProductDetails[];\n productDetailObject = new ProductDetails();\n newProducts: any;\n prodFiles: any;\n notes: any;\n notesLength: number;\n notesFileCount: number;\n loader: boolean = true;\n angular: any;\n prodDoc: ManualDoc[] = [];\n dataSheetDoc: ManualDoc[] = [];\n dataBookDoc: ManualDoc[] = [];\n spareDoc: ManualDoc[] = [];\n weldingSheetDoc: ManualDoc[] = [];\n othersDoc: ManualDoc[] = [];\n globalDoc: String[] = [];\n globalDocument: ManualDoc[] = [];\n isMessage: boolean = false;\n isSpares: boolean = false;\n instVideo: any;\n maintVideo: any;\n docLocation: any;\n lastSlashValue: any;\n dataSheet: any;\n dataBook: any;\n weldingSheet: any;\n otherSheet: any;\n dataSheetSlashValue: any;\n dataBookSlashValue: any;\n weldingSlashValue: any;\n otherSlashValue: any;\n docName: any;\n docSpareLocation: any;\n spareLastSlashValue: any;\n customerAccountNo: any;\n docSpareName: any;\n productFirstAttributes: string;\n unrestrictedUser: boolean = true;\n validateEmail1: boolean = false;\n validateEmail2: boolean = false;\n validateURL1: boolean = false;\n validateURL2: boolean = false;\n globalDocFileName: any;\n globalProductLineFileName: any;\n isGlobalPDFs: boolean = false;\n userAccessIndicator:any;\n productLineId:any;\n accessMessage:boolean;\n sparePartsResult: any;\n isgetSpareParts: boolean = false;\n sparePartsData: IspareParts[] = [];\n isselectAll: boolean = false;\n isCheckQuoteOrder: any;\n isOrgPrice: boolean = false;\n addNotes = {\n productNotes: {\n productSerialNo: null,\n productNotes: null,\n imageLoc: null,\n updatedBy: { operatorId: 0 },\n updatedOn: null,\n isDeleted: null,\n deletedBy: null,\n quoteText: null\n },\n productNotesFile: [{\n filepath: null,\n fileType: null,\n }]\n };\n constructor(private route: Router, private routes: ActivatedRoute,private snackBar: MatSnackBar, private productService: ProductService, private _location: Location, private dataSharingService: DataSharingService, private fetchCount:FetchUserDetailsService\n ) {\n this.routes.queryParams.subscribe((params) => {\n if (params[\"productId\"] != null) {\n this.productId = params[\"productId\"];\n sessionStorage.setItem('productId', this.productId);\n }\n });\n this._location.replaceState(this._location.path().split(\"?\")[0], \"\");\n this.dataSharingService.setHeader(false);\n this.dataSharingService.unrestrictedUserAccess.subscribe(data => this.unrestrictedUser = data);\n console.log(\"unrestrictedUser\", this.unrestrictedUser);\n if (localStorage.getItem(\"accessToken\")) {\n this.dataSharingService.setUnrestrictedUser(false);\n this.unrestrictedUser = false;\n }\n let decodedToken = jwt_decode(localStorage.getItem(\"accessToken\"));\n this.email = decodedToken['unique_name'].includes('#') ? decodedToken['unique_name'].split(\"#\").pop() : decodedToken['unique_name'];\n this.fetchCount.fetchUseryEmail(this.email).subscribe(data => {\n this.dataSharingService.setUserTypeId(data?.userTypeId?.userTypeId);\n console.log(\"uTypeid\", this.dataSharingService.getUserTypeId());\n });\n this.dataSharingService.fetchUserRole.subscribe((res: string) => {\n this.role = res;\n })\n }\n\n ngOnInit(): void {\n this.productId = this.productId ?? sessionStorage.getItem('productId');\n this.fetchPrductDetails();\n window.addEventListener(\"pageshow\", function (event) {\n var historyTraversal = event.persisted ||\n (typeof window.performance != \"undefined\" &&\n window.performance.navigation.type === 2);\n if (historyTraversal) {\n // Handle page restore.\n window.location.reload();\n }\n });\n }\n\n ngOnDestroy(): void {\n sessionStorage.removeItem('productId');\n }\n\n fetchPrductDetails() {\n if (this.productId) {\n this.productService.fetchProductDetails(this.productId).subscribe(data => {\n console.log(\"in fetchMethod\", this.productId);\n console.log(\"data\", data);\n this.loader = false;\n this.productDetails = data;\n this.newProducts = [];\n this.newProducts = this.productDetails.filter((data) => data.serialNumber == this.productId);\n console.log(\"newProduct\", this.newProducts);\n this.productDetailObject = this.newProducts[0];\n this.docLocation = this.productDetailObject.docLocation;\n this.productFirstAttributes = this.productDetailObject.prodAttributes[0].attributeValue;\n if (this.productDetailObject.contEmail1?.match(/^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$/)) {\n this.validateEmail1 = true;\n }\n\n if (this.productDetailObject.contEmail1?.match(/^(https:|http:|www\\.)\\S*/)) {\n this.validateURL1 = true;\n }\n if (this.productDetailObject.contEmail2?.match(/^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$/)) {\n this.validateEmail2 = true;\n }\n if (this.productDetailObject.contEmail2?.match(/^(https:|http:|www\\.)\\S*/)) {\n this.validateURL2 = true;\n }\n console.log(\"productObject\", this.productDetailObject);\n this.instVideo = this.productDetailObject.instVideo;\n this.maintVideo = this.productDetailObject.maintVideo;\n this.prodFiles = this.productDetailObject.prodFiles;\n this.userAccessIndicator = this.productDetailObject.userAccessIndicator;\n this.productLineId = this.productDetailObject.productLineId;\n this.customerAccountNo = this.productDetailObject.customerAccountNo;\n this.checkQuoteAndOrderForProd();\n console.log(this.instVideo);\n console.log(this.maintVideo);\n this.prodDoc = [];\n this.spareDoc = [];\n this.dataSheetDoc = [];\n this.globalDoc = this.productDetailObject.globalPDFs;\n\n\n for (var pfile of this.prodFiles) {\n if (pfile.docType == \"IOM\") {\n let documnt = new ManualDoc();\n documnt.doclocation = pfile.docLocation;\n var res = pfile.docLocation.split('/');\n this.lastSlashValue = res[res.length - 1];\n documnt.fileName = this.lastSlashValue.replaceAll('%20', ' ');\n // this.prodDoc = pfile.docLocation;\n this.prodDoc.push(documnt);\n //console.log(\"prodLocation:\",this.prodDoc);\n }\n }\n\n\n if (Object.keys(this.prodDoc).length > 0) {\n this.isMessage = true;\n }\n\n /* for(var doc of this.prodDoc){\n this.docLocation = doc;\n var res = this.docLocation.split('/');\n }\n if(res!=undefined){\n this.lastSlashValue = res[res.length-1];\n this.docName = this.lastSlashValue.replaceAll('%20', ' ');\n console.log(\"docName\", this.docName);\n }*/\n\n\n for (var dataSheetFile of this.prodFiles) {\n if (dataSheetFile.docType == \"Data Sheet\") {\n let documnt = new ManualDoc();\n documnt.doclocation = dataSheetFile.docLocation;\n var res = dataSheetFile.docLocation.split('/');\n this.dataSheetSlashValue = res[res.length - 1];\n documnt.fileName = this.dataSheetSlashValue.replaceAll('%20', ' ');\n // this.prodDoc = pfile.docLocation;\n this.dataSheetDoc.push(documnt);\n }\n }\n\n if (Object.keys(this.dataSheetDoc).length > 0) {\n this.dataSheet = true;\n }\n\n for (var dataBookFile of this.prodFiles) {\n if (dataBookFile.docType == \"Data Books\") {\n let document = new ManualDoc();\n document.doclocation = dataBookFile.docLocation;\n var res = dataBookFile.docLocation.split('/');\n this.dataBookSlashValue = res[res.length - 1];\n document.fileName = this.dataBookSlashValue.replaceAll('%20', '');\n this.dataBookDoc.push(document);\n }\n }\n\n if (Object.keys(this.dataBookDoc).length > 0) {\n this.dataBook = true;\n }\n\n for (var spareFile of this.prodFiles) {\n if (spareFile.docType == \"Spare Parts\") {\n let documnt = new ManualDoc();\n documnt.doclocation = spareFile.docLocation;\n var res = spareFile.docLocation.split('/');\n this.spareLastSlashValue = res[res.length - 1];\n documnt.fileName = this.spareLastSlashValue.replaceAll('%20', ' ');\n // this.prodDoc = pfile.docLocation;\n this.spareDoc.push(documnt);\n }\n }\n\n if (Object.keys(this.spareDoc).length > 0) {\n this.isSpares = true;\n }\n for (var weldingFile of this.prodFiles) {\n if (weldingFile.docType == \"Welding\") {\n let document = new ManualDoc();\n document.doclocation = weldingFile.docLocation;\n var res = weldingFile.docLocation.split('/');\n this.weldingSlashValue = res[res.length - 1];\n document.fileName = this.weldingSlashValue.replaceAll('%20', ' ');\n this.weldingSheetDoc.push(document);\n }\n }\n\n if (Object.keys(this.weldingSheetDoc).length > 0) {\n this.weldingSheet = true;\n }\n\n for (var othersFile of this.prodFiles) {\n if (othersFile.docType == null) {\n let document = new ManualDoc();\n document.doclocation = othersFile.docLocation;\n var res = othersFile.docLocation.split('/');\n this.otherSlashValue = res[res.length - 1];\n document.fileName = this.otherSlashValue.replaceAll('%20', ' ');\n this.othersDoc.push(document);\n }\n }\n\n if (Object.keys(this.othersDoc).length > 0) {\n this.otherSheet = true;\n }\n\n for (var gFile of this.globalDoc) {\n console.log(\"inside global doc for loop\");\n let dir = gFile;\n let re = /%20/gi;\n this.globalDocFileName = dir.replace(re, ' ');\n this.globalProductLineFileName = this.productDetailObject.productLineId + '/' + this.globalDocFileName;\n let documnt = new ManualDoc();\n documnt.doclocation = this.globalProductLineFileName;\n documnt.fileName = this.globalDocFileName;\n this.globalDocument.push(documnt);\n }\n if (Object.keys(this.globalDocument).length > 0) {\n this.isGlobalPDFs = true;\n }\n\n }), error => {\n console.log(error);\n }\n this.dataSharingService.fetchNotes.subscribe((data) => {\n if (data == true) {\n this.fetchProductNotes();\n }\n });\n this.fetchProductNotes();\n this.fetchSpareParts(this.productId);\n }\n }\n\n fetchSpareParts(productId: any) {\n this.productService.fetchSpareParts(productId).subscribe((res) => {\n console.log(\"sparts\", res);\n this.sparePartsResult = res;\n if (res?.some(r => r.price > 0)) {\n this.isOrgPrice = true;\n }\n if (res.length > 0 ) {\n this.isgetSpareParts = true;\n }\n });\n }\n\n fetchProductNotes() {\n this.productService\n .fetchProductNotes(this.productId)\n .subscribe((notes) => {\n this.notes = notes;\n this.convertNotes();\n console.log(\"notes:\", this.notes);\n this.notesLength = Object.keys(this.notes).length;\n console.log(\"notes length:\", Object.keys(this.notes).length);\n // console.log(\"productNotesFile length:\",Object.keys(this.notes.productNotesFile).length);\n for (var notesFile of this.notes) {\n this.notesFileCount = Object.keys(\n notesFile.productNotesFile\n ).length;\n }\n }),\n (error) => {\n console.log(error);\n };\n }\n isUserType() {\n console.log(\"uType\", this.dataSharingService.getUserTypeId());\n return this.dataSharingService.getUserTypeId();\n }\n\n checkQuoteAndOrderForProd() {\n this.productService.checkQuoteandOrder(this.productLineId).subscribe((res) => {\n this.isCheckQuoteOrder = res;\n console.log(\"quoteorder\", this.isCheckQuoteOrder);\n });\n}\n\nCheckBoxVisibleForQuoteOrder() {\n return (this.isCheckQuoteOrder && (this.isCheckQuoteOrder.quoteAdmin || this.isCheckQuoteOrder.orderAdmin));\n}\n\nselectAll(isSelectAll) {\n console.log(\"spresult\", this.sparePartsResult, isSelectAll);\n this.sparePartsResult = this.sparePartsResult.map((sp: any) => {\n sp.checked = isSelectAll;\n return sp;\n });\n}\ncheckForAllSelect() {\n let selectedSP = this.sparePartsResult.filter((sp: any) => {\n return sp.checked === true;\n });\n if (selectedSP.length === this.sparePartsResult.length) {\n this.isselectAll = true;\n } else if (selectedSP.length > 0) {\n this.isselectAll = false;\n }\n}\nresetSelection() {\n this.sparePartsResult = this.sparePartsResult.map((sp: any) => {\n sp.checked = false;\n return sp;\n });\n this.isselectAll = false;\n}\n\nconvertNotes() {\n let quoteNo = 0;\n let orderNo = 0;\n for (let i = 0; i < this.notes.length; i++){\n let note = this.notes[i];\n let noteText = note.productNotes.productNotes;\n if (noteText.startsWith(\"Quote: quoteNo\")) {\n noteText = noteText.replace(\"quoteNo\", (quoteNo + 1) + \"\");\n noteText = \"
\" + noteText + \"
\";\n quoteNo = quoteNo + 1;\n this.notes[i].productNotes.productNotes = noteText;\n } else if (noteText.startsWith(\"Order: orderNo\")) {\n noteText = noteText.replace(\"orderNo\", (orderNo + 1) + \"\");\n noteText = \"
\" + noteText + \"
\";\n orderNo = orderNo + 1;\n this.notes[i].productNotes.productNotes = noteText;\n }\n }\n}\n\nsparePartsQuotesAndOrder(quoteOrOrder: string) {\n this.dataSharingService.setLoader(true);\n let postData = this.sparePartsResult.filter((sp: any) => sp.checked);\n console.log(postData);\n let notesText = \"\";\n if (quoteOrOrder === \"quote\") {\n notesText = \"Quote: quoteNo\";\n } else if (quoteOrOrder === \"order\") {\n notesText = \"Order: orderNo\";\n }\n for (let i = 0; i < postData.length; i++){\n notesText = notesText + \"

Description: \" + postData[i].description + \"

Part No: \" + postData[i].partNo + \"

\"; \n console.log(notesText);\n }\n \n if (postData.length > 0 && quoteOrOrder === \"quote\") {\n this.productService.sendSPQuotes(postData).subscribe(\n (res) => {\n console.log(res, \"resss\");\n this.resetSelection();\n if (res.Message === \"Success\") {\n this.dataSharingService.setLoader(false);\n this.snackBar.open(res.Result, \"\", {\n duration: 2500,\n });\n this.addNotes.productNotes.productSerialNo = postData[0].productSerialNum;\n this.addNotes.productNotes.productNotes = notesText;\n console.log('this.addNotes.productNotes.productNotes', this.addNotes.productNotes.productNotes);\n this.addNotes.productNotes.updatedBy.operatorId = 2;\n console.log('myDate:', this.myDate);\n this.addNotes.productNotes.updatedOn = new Date();\n this.addNotes.productNotes.imageLoc = '';\n this.addNotes.productNotes.isDeleted = 0;\n this.addNotes.productNotes.deletedBy = null;\n this.addNotes.productNotesFile = [];\n \n this.productService.addProductNotes(this.addNotes).subscribe(data => {\n console.log(\"NoteData:\", data)\n this.fetchProductNotes();\n });\n } else {\n this.dataSharingService.setLoader(false);\n this.snackBar.open(\"Quote Email not sent\", \"\", {\n duration: 2500,\n });\n\n }\n },\n (err) => {\n this.snackBar.open(\"Quote Email not sent\", \"\", {\n duration: 2500,\n });\n }\n );\n } else if (postData.length > 0 && quoteOrOrder === \"order\") {\n this.productService.sendSPOrder(postData).subscribe(\n (res) => {\n console.log(res, \"resss\");\n this.resetSelection();\n if (res.Message === \"Success\") {\n this.dataSharingService.setLoader(false);\n this.snackBar.open(res.Result, \"\", {\n duration: 2500,\n });\n this.addNotes.productNotes.productSerialNo = postData[0].productSerialNum;\n this.addNotes.productNotes.productNotes = notesText;\n console.log('this.addNotes.productNotes.productNotes', this.addNotes.productNotes.productNotes);\n this.addNotes.productNotes.updatedBy.operatorId = 2;\n console.log('myDate:', this.myDate);\n this.addNotes.productNotes.updatedOn = new Date();\n this.addNotes.productNotes.imageLoc = '';\n this.addNotes.productNotes.isDeleted = 0;\n this.addNotes.productNotes.deletedBy = null;\n this.addNotes.productNotesFile = [];\n \n this.productService.addProductNotes(this.addNotes).subscribe(data => {\n console.log(\"NoteData:\", data)\n this.fetchProductNotes();\n });\n } else {\n this.dataSharingService.setLoader(false);\n this.snackBar.open(\"Order Email not sent\", \"\", {\n duration: 2500,\n });\n }\n },\n (err) => {\n this.snackBar.open(\"Order Email not sent\", \"\", {\n duration: 2500,\n });\n }\n );\n } else {\n this.dataSharingService.setLoader(false);\n this.snackBar.open(\"Please select at least one checkbox\", \"\", {\n duration: 2500,\n });\n }\n}\n \ncloseFormPopup() {\n this.postFormSubmit = !this.postFormSubmit;\n this.sendUserForm.reset();\n this.resetSelection();\n}\n\nsendOthers() {\n let receivedListSparePartsResult = this.sparePartsResult?.filter((sp: any) => sp.checked);\n if (receivedListSparePartsResult.length > 0) {\n this.postFormSubmit = true;\n this.usPopupToggle = true;\n } else {\n this.snackBar.open(\"Please select at least one checkbox\", \"\", {\n duration: 2500,\n }); \n }\n}\n\nsendOthersToSpareParts() {\n let postData: any = {};\n let emailIds: any = [];\n emailIds.push(this.sendUserForm.value.emailIds);\n postData.emailIds = emailIds;\n\n // let emailIds: any = this.sendUserForm.value.emailIds.split(\",\");\n // postData.emailIds = emailIds; \n postData.message = this.sendUserForm.value.message;\n let receivedListSparePartsResult = this.sparePartsResult?.filter((sp: any) => sp.checked);\n postData.listSpareParts = receivedListSparePartsResult;\n console.log(\"sotospa pd:\", postData);\n this.dataSharingService.setShowSmallLoader(true);\n let notesText = \"Quote: quoteNo\";\n for (let i = 0; i < receivedListSparePartsResult.length; i++){\n notesText = notesText + \"

Description: \" + receivedListSparePartsResult[i].description + \"

Part No: \" + receivedListSparePartsResult[i].partNo + \"

\"; \n console.log(notesText);\n }\n this.productService.sendOthersToSpareParts(postData).subscribe(res => {\n if (res.Message == \"Success\") {\n this.dataSharingService.setShowSmallLoader(false);\n this.sendUserForm.reset();\n this.postFormSubmit = false;\n this.usPopupToggle = false;\n this.snackBar.open(res.Result, \"\", {\n duration: 2500,\n });\n this.resetSelection();\n this.addNotes.productNotes.productSerialNo = postData.listSpareParts[0].productSerialNum;\n this.addNotes.productNotes.productNotes = notesText;\n this.addNotes.productNotes.updatedBy.operatorId = 2;\n this.addNotes.productNotes.updatedOn = new Date();\n this.addNotes.productNotes.imageLoc = '';\n this.addNotes.productNotes.isDeleted = 0;\n this.addNotes.productNotes.deletedBy = null;\n this.addNotes.productNotesFile = [];\n \n this.productService.addProductNotes(this.addNotes).subscribe(data => {\n console.log(\"NoteData:\", data)\n this.fetchProductNotes();\n });\n \n }\n });\n}\n\n gotoProductDetails() {\n let navigationExtras: NavigationExtras = {\n queryParams: {\n productId: this.productId,\n }\n };\n this.route.navigate(['/product-details'], navigationExtras);\n }\n\n ShowDashboardPage() {\n this.route.navigate(['/product-search']);\n }\n\n ShowFAQPage() {\n let navigationExtras: NavigationExtras = {\n queryParams: {\n productId: this.productId\n },\n };\n\n this.route.navigate(['/faq'], navigationExtras);\n }\n\n ShowProductDetailPage() {\n let navigationExtras: NavigationExtras = {\n queryParams: {\n productId: this.productId\n }\n };\n this.route.navigate(['/product-details'], navigationExtras);\n }\n\n downloadFile(fileName) {\n //const pdfUrl = \"traceability/Rapid Opening Closure/UR01343/Installation Operation and Maintenance Manual – IOM.pdf\";\n var str = fileName.split(' ').join('^');\n var form = document.createElement(\"form\");\n console.log(str);\n // form.action = \"https://test-traceability-service.azurewebsites.net/downloadFile\";\n form.action = `${environment.apiUrl}/downloadFile`;\n angular.element(form).append('');\n // console.log(form.get(\"fileName\"));\n // form.setAttribute(\"fileName\",pdfUrl); \n form.method = \"post\";\n angular.element(document.body).append(form);\n form.submit();\n /* this.faqService.downloadFile(pdfUrl).subscribe(data=>{\n // if(this.success=='Y'){\n this.downloadData(data);\n });*/\n\n }\n\n downloadGlobalPDF(docLocation) {\n var str = docLocation.split(' ').join('^');\n var form = document.createElement(\"form\");\n console.log(str);\n form.action = `${environment.apiUrl}/downloadGlobalPDF`;\n angular.element(form).append('');\n form.method = \"post\";\n angular.element(document.body).append(form);\n form.submit();\n }\n\n openLink(link: string) {\n let url: string = '';\n if (!/^http[s]?:\\/\\//.test(link)) {\n url += 'http://';\n }\n url += link;\n window.open(url, \"_blank\");\n }\n\n grantAccessRequest(){\n this.accessMessage = true;\n this.productService.grantAccess(this.productLineId, this.customerAccountNo, this.productId).subscribe(data=>{\n this.accessMessage = true;\n this.snackBar.open('Access request sent to Admin.','', {\n duration: 3000,})\n });\n }\n\n showGrantAccessButton(){\n if(this.userAccessIndicator == 0 ){\n return false;\n }\n else if(this.userAccessIndicator == 1){\n return true;\n }\n }\n\n}\n","
\n
\n
\n \n
\n
\n Dashboard - Documents and Links\n
\n\n
\n
\n \n
\n
\n
\n
\n
\n
\n\n
\n
\n
Documents and Links
\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n

PRODUCT DETAILS

\n
\n
\n Loading...\n
\n
\n
\n
\n

{{productDetailObject.productLineId}}

\n

PRODUCT LINE

\n
\n
\n

{{productDetailObject.serialNumber}}

\n

SERIAL NO

\n
\n
\n

{{productDetailObject.cliTagNo}}

\n

CLIENT TAG NO

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

{{product.attributeValue}}

\n

{{product.attributeId.attributeName}}

\n
\n
\n
\n
\n
\n
\n CONTACT DETAILS\n
\n
\n
\n
\n Contact Name :\n
\n
\n

{{productDetailObject.contName1}}

\n
\n
\n
\n
\n Phone Number :\n
\n
\n

{{productDetailObject.contPhone1}}

\n
\n
\n
\n
\n Email Address/Link:\n
\n
\n

{{productDetailObject.contEmail1}}

\n \n Find a Local CIRCOR Representative\n

{{productDetailObject.contEmail1}}

\n
\n
\n
\n
\n
\n
\n Contact Name :\n
\n
\n

{{productDetailObject.contName2}}

\n
\n
\n
\n
\n Phone Number :\n
\n
\n

{{productDetailObject.contPhone2}}

\n
\n
\n
\n
\n Email Address/Link:\n
\n
\n

{{productDetailObject.contEmail2}}

\n \n Find a Local CIRCOR Representative\n

{{productDetailObject.contEmail2}}

\n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n
\n SPARE PARTS\n
\n
\n
\n
\n
\n 0\" >\n Description \n Part No\n Price\n Currency\n MRRP\n
\n\n
\n 0\" >\n {{spareParts.description}}\n {{spareParts.partNo}}\n {{spareParts.discountPrice | numberFormatter}}\n {{spareParts.currency}}\n {{spareParts.price | numberFormatter}}\n
\n \n
\n
\n \n \n \n
\n
\n
\n \n
\n
\n\n
\n\n
\n
\n
\n\n
\n
\n
\n \n

Documents and Links

\n
\n \n
\n
\n
0\">\n
\n
\n
\n

INSTRUCTION VIDEOS

\n {{instVideo}}\n
\n\n
\n
\n
\n
0\">\n
\n
\n
\n \n

MAINTENANCE VIDEOS

\n {{maintVideo}}\n
\n\n
\n
\n
\n
\n
\n
\n
\n

INSTALLATION OPERATING MANUAL

\n
\n
\n \n {{pdf.fileName}}\n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n

DATA SHEET

\n
\n
\n \n {{pdf.fileName}}\n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n

DATA BOOK

\n
\n
\n \n {{pdf.fileName}}\n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n

WELDING

\n
\n
\n \n {{pdf.fileName}}\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n

SPARES PARTS

\n
\n
\n \n {{pdf.fileName}}\n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n

\n
\n
\n \n {{pdf.fileName}}\n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n

GLOBAL DOCUMENTS

\n
\n
\n \n {{pdf.fileName}}\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n ","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { MsalService, BroadcastService } from '@azure/msal-angular';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { DataSharingService } from '../services/data-sharing.service';\nimport { FetchUserDetailsService } from 'src/app/services/fetch-user-details.service';\nimport { OAuthSettings } from '../../oauth';\nimport jwt_decode from \"jwt-decode\";\nimport { GlobalService } from '../app.service';\nimport { EMPTY } from 'rxjs';\n\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.css']\n})\nexport class LoginComponent implements OnInit {\n\n submitted = false;\n loading = false;\n loginForm: FormGroup;\n subscription:any;\n outhresponse:any;\n profile:any;\n isHeader:boolean=true;\n message: boolean = false;\n firstName: any;\n lastName: any;\n token: any;\n userTypeId: any;\n emptyErrMessage: boolean = false;\n headers = new HttpHeaders({'X-Skip-Auth':''});\n \n constructor(private router: Router, private http: HttpClient, private dataSharingService:DataSharingService, private authService: MsalService,\n private broadcastService: BroadcastService,private fetchCount:FetchUserDetailsService) {\n this.loginForm = new FormGroup({\n userName: new FormControl('', [Validators.required])\n });\n }\n\n \n ngOnInit(): void {\n console.log(\"headerValue\",this.isHeader);\n this.dataSharingService.setHeader(this.isHeader);\n /*this.broadcastService.subscribe(\"msal:loginSuccess\", payload => {\n // do something here\n \n });*/\n this.authService.handleRedirectCallback((authError, response) => {\n if (authError) {\n console.error('Redirect Error: ', authError.errorMessage);\n return;\n }\n this.authService.acquireTokenPopup(OAuthSettings).then((tokenResponse) => {\n console.log(tokenResponse.accessToken);\n this.setAccessToken(tokenResponse.accessToken);\n this.dataSharingService.fetchUserRoleFromServer().subscribe();\n this.router.navigate(['/product-search']);\n}).catch(function (error) {\n console.log(error);\n});\n});\n \n }\n setAccessToken(accessToken){\n const now = new Date();\n const item = {\n value: accessToken,\n expiry: now.getTime() + 500000,\n }\n localStorage.setItem(\"accessToken\", JSON.stringify(item));\n }\n\n onSubmit() {\n this.submitted = true; \n if (this.loginForm.get('userName').value.trim().length === 0) {\n this.emptyErrMessage = true;\n this.message = false;\n }\n if (this.loginForm.valid) {\n let email = this.loginForm.get(\"userName\").value;\n this.fetchCount.fetchLoginByEmail(email).subscribe(data =>{\n console.log(\"userData\", data);\n this.dataSharingService.refreshAccessToken();\n const isIE = window.navigator.userAgent.indexOf('MSIE ') > -1 || window.navigator.userAgent.indexOf('Trident/') > -1;\n \n this.authService.loginRedirect( {\n extraScopesToConsent: [\"user.read\", \"openid\", \"profile\"]\n });\n \n\n }, (err) => {\n this.emptyErrMessage = false;\n this.message=true;\n })\n \n }\n this.loading = true;\n }\n\n get f(){\n return this.loginForm.controls;\n }\n\n goToRegister() {\n this.router.navigate(['/register-form']);\n }\n \n\n// login() {\n// const isIE = window.navigator.userAgent.indexOf('MSIE ') > -1 || window.navigator.userAgent.indexOf('Trident/') > -1;\n\n// if (isIE) {\n// this.authService.loginRedirect({\n// extraScopesToConsent: [\"user.read\", \"openid\", \"profile\"]\n// });\n// } else {\n// this.authService.loginPopup({\n// extraScopesToConsent: [\"user.read\", \"openid\", \"profile\"]\n// });\n// }\n// }\n\n// logout() {\n// this.authService.logout();\n// }\n\n// getProfile() {\n// const graphMeEndpoint = \"https://graph.microsoft.com/v1.0/me\";\n// this.http.get(graphMeEndpoint).toPromise()\n// .then(profile => {\n// this.profile = profile;\n// });\n// }\n\n\n\n \n \n}\n","\n
\n \n
\n\n
\n
\n
\n CIRCORSmart\n
\n \n
\n
\n
\n LOGIN\n
\n
\n \n Your login failed, due to one of these reasons. User not - Found / Approved / Active\n \n \n Email address is required\n \n
\n
\n \n Email ID\n \n \n
\n
\n
\n
\n
\n\n
\n
Don't have an account? Register Now!
\n \n
\n
\n
\n \n
\n\n
\n

GET SMARTAPP FOR MOBILE USERS

\n

Discover the difference having immediate access to critical information and product tracking can have on your operation and its uptime.

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

The app designed to make your job easier. \n

\n

CIRCOR is known for its difference-making solutions and the CIRCORSmart app is no exception. CIRCORSmart’s constant access to critical information paired with the reliability of CIRCOR’s products keep downtime to an absolute minimum.\n

\n
\n\n
\n\n
\n \n
\n \n
\n\n \n\n\n","export class ProductDetails {\n serialNumber: string;\n productLineId: string;\n assemblyPartNo: string;\n cliTagNo: string;\n qrCodeId: string;\n docLocation: string;\n instVideo:string;\n maintVideo:string;\n contName1: string;\n customerAccountNo:any;\n contEmail1: string;\n contPhone1: string;\n contName2: string;\n contEmail2: string;\n contPhone2:string;\n updatedOn:string;\n prodAttributes:prodAttributes[];\n prodFiles:prodFiles[];\n updatedBy:any\n globalPDFs:any[];\n userAccessIndicator:any;\n}\n\nexport class prodAttributes{\n id:number;\n attributeId:attributeId;\n attributeValue:string\n}\n\nexport class attributeId{\n id: number;\n prodLine: string;\n attributeName: string;\n}\nexport class prodFiles{\n docType:string;\n docLocation:string;\n id:number;\n}\n\nexport interface IspareParts{\n currency: string\n description: string\n id: number\n partNo: number\n price: number\n productLineId: string\n productSerialNum: string\n requestCycle: number\n checked: boolean\n discountPrice: number\n}\n\nexport interface IsendOthers{\n emailIds: string[],\n message: string,\n listSpareParts: IspareParts[];\n}","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'highlight'\n})\nexport class HighlightPipe implements PipeTransform {\n\n /**\n * Name: Sandhya Misal\n * Funstinality: Entered keyword will be highlighted.\n * Code Disc: Entered keyword will be highlighted in question and answer section.\n **/\n transform(text: any, search:any): any {\n var srchTxt = search+'';\n if(srchTxt.length > 2){\n return search ? text.replace(new RegExp(search, 'gi'), `${search}`) : text;\n } else {\n return text;\n } \n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n@Pipe({name: 'numberFormatter'})\nexport class NumberFormatterPipe implements PipeTransform {\n transform(value: number): number | string {\n return value == 0.00 ? '-' : value;\n }\n}","import { Component, OnInit, Inject, OnDestroy } from \"@angular/core\";\nimport { ProductService } from \"src/app/services/product.service\";\nimport { Router, ActivatedRoute, NavigationExtras } from \"@angular/router\";\nimport { IsendOthers, IspareParts, ProductDetails } from \"src/app/models/productDetails\";\nimport { DataSharingService } from \"src/app/services/data-sharing.service\";\nimport { Location } from \"@angular/common\";\nimport {\n MatDialog,\n MatDialogRef,\n MAT_DIALOG_DATA,\n} from \"@angular/material/dialog\";\nimport { AddNoteComponent } from \"src/app/add-note/add-note.component\";\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\nimport { environment } from \"../../../environments/environment\";\nimport jwt_decode from \"jwt-decode\";\nimport { FetchUserDetailsService } from \"src/app/services/fetch-user-details.service\";\nimport { MsalService } from \"@azure/msal-angular\";\n// import { OneSignal } from \"onesignal-ngx\";\nimport { Validators, FormBuilder } from \"@angular/forms\";\n\ndeclare var angular: any;\nexport interface DialogData {\n image: string;\n productId: number;\n notes: any;\n productLine: any;\n}\n@Component({\n selector: \"app-product-details\",\n templateUrl: \"./product-details.component.html\",\n styleUrls: [\"./product-details.component.css\"],\n})\nexport class ProductDetailsComponent implements OnInit, OnDestroy {\n\n sendUserForm = this.formBuilder.group({\n emailIds: ['', Validators.required],\n message: ['', Validators.required]\n });\n\n\n [x: string]: any;\n public productId: string;\n public qrcodeId: string;\n public uoId: any;\n unrestrictedUser: boolean = true;\n productDetails: ProductDetails[];\n productDetailObject = new ProductDetails();\n newProducts: any;\n loader: boolean = true;\n isProductNotes: boolean = false;\n isOrgPrice: boolean = false;\n searchword: any;\n notes: any;\n productFirstAttributes: string;\n specificNotesDetails: any;\n notesLength: number;\n notesFileCount: number;\n notesCount: number;\n isNotes: boolean = false;\n nextNote: any;\n accessToken: any;\n message: string;\n validateEmail1: boolean = false;\n validateEmail2: boolean = false;\n validateURL1: boolean = false;\n validateURL2: boolean = false;\n firstSubscribeBtn: boolean = false;\n subscribeBtn: boolean = false;\n unsubscribeBtn: boolean = false;\n notesCountActualValue;\n isgetSpareParts: boolean = false;\n sparePartsResult: any;\n sparePartsData: IspareParts[] = [];\n isselectAll: boolean = false;\n productLineId: any;\n descSPData: any;\n userOperatorId: any;\n productSubscriptionData: any;\n productSerialNum = '';\n subscribedData: any;\n prodSubscribed: any;\n osTagText;\n osTagClass;\n prodSubscribtionId: boolean;\n subscriptionData: any;\n getProdSubscriptionId: boolean;\n prodSubData: any;\n postFormSubmit: boolean = false;\n receivedListSparePartsResult: any;\n statusMessage: any;\n usPopupToggle: boolean = false;\n prodSubsId: any;\n \n addNotes = {\n productNotes: {\n productSerialNo: null,\n productNotes: null,\n imageLoc: null,\n updatedBy: { operatorId: 0 },\n updatedOn: null,\n isDeleted: null,\n deletedBy: null,\n quoteText: null\n },\n productNotesFile: [{\n filepath: null,\n fileType: null,\n }]\n };\n \n //prod\n AZURE_BLOB_END_POINT =\n \"https://prodcircorsmartsa.blob.core.windows.net/traceability/\";\n QUESTION_MARK = \"?\";\n AZURE_BLOB_SAS_KEY =\n \"sv=2019-12-12&ss=bfqt&srt=sco&sp=rwdlacupx&se=2025-12-31T22:31:05Z&st=2021-01-05T14:31:05Z&spr=https&sig=yGEgOLDyUbQLAYoOqPp%2FOsfdiWZFHho57UQ0QdLkxFA%3D\";\n //test\n // AZURE_BLOB_END_POINT = 'https://circortesttraceabilitysa.blob.core.windows.net/traceability/'\n // QUESTION_MARK = '?'\n // AZURE_BLOB_SAS_KEY = 'sv=2019-12-12&ss=b&srt=sco&sp=rwdlacx&se=2021-05-31T13:02:14Z&st=2020-11-06T05:02:14Z&spr=https&sig=VpbVv3y0ct%2Bm9jmRz%2FKTPsZ52OpujKieBGhQSdg3rJg%3D'\n\n // showProductDetails = new ProductDetails();\n\n\n constructor(\n private productService: ProductService,\n private authService: MsalService,\n private route: Router,\n private routes: ActivatedRoute,\n public dataSharingService: DataSharingService,\n private _location: Location,\n public dialog: MatDialog,\n private snackBar: MatSnackBar,\n private fetchCount: FetchUserDetailsService,\n private formBuilder: FormBuilder,\n // private os: OneSignal\n ) {\n this.routes.queryParams.subscribe((params) => {\n if (params[\"productId\"] != null || params[\"uoId\"] != null) {\n this.productId = params[\"productId\"];\n this.uoId = params[\"uoId\"];\n sessionStorage.setItem('productId', this.productId);\n sessionStorage.setItem('uoId', this.uoId);\n }\n if(params[\"qrcode\"] != null) {\n this.qrcodeId = params[\"qrcode\"];\n sessionStorage.setItem('qrcodeId', this.qrcodeId);\n }\n });\n\n this._location.replaceState(this._location.path().split(\"?\")[0], \"\");\n this.dataSharingService.setHeader(false);\n\n \n if (localStorage.getItem(\"accessToken\")) {\n this.dataSharingService.setUnrestrictedUser(false);\n this.unrestrictedUser = false;\n let decodedToken = jwt_decode(localStorage.getItem(\"accessToken\"));\n // live#circorsmartapp@outlook.com\n this.email = decodedToken['unique_name'].includes('#') ? decodedToken['unique_name'].split(\"#\").pop() : decodedToken['unique_name'];\n console.log(\"upn\", this.email, decodedToken['unique_name']);\n } else {\n this.route.navigate(['/login']);\n }\n\n this.fetchCount.fetchUseryEmail(this.email).subscribe(data => {\n this.dataSharingService.setUserTypeId(data?.userTypeId?.userTypeId);\n this.userOperatorId = data.operatorId;\n this.currency = data.currency;\n console.log(\"uTypeid\", this.dataSharingService.getUserTypeId());\n });\n\n this.dataSharingService.fetchUserRole.subscribe((res: string) => {\n this.role = res;\n })\n\n /* ----- usd factor feature start-------- */\n // this.productService.fetchProductDetails(this.productId).subscribe((data) => {\n // this.fetchpdData = data[0].productLineId;\n // this.productService.getAllProductLine().subscribe((res: any) => {\n // this.getAllPline = res;\n // this.plcurrency = this.getAllPline.find(pl => pl.productLine === this.fetchpdData);\n // this.plusdcurrency = this.plcurrency.usdfactor\n // })\n // })\n\n /* ----- usd factor feature end -------- */\n\n console.log(\"unrestrictedUser\", this.unrestrictedUser);\n\n }\n get form() { return this.sendUserForm.controls; }\n\n getNotesUpdatedUserOperatorId(notesOperatorId) {\n return this.userOperatorId === notesOperatorId;\n }\n \n\n /* ----- future reference not needed start -------- */\n // getWithExpiry() {\n // const itemStr = localStorage.getItem(\"accessToken\");\n // if (!itemStr) {\n // return null;\n // }\n // const item = JSON.parse(itemStr);\n // const now = new Date();\n // if (now.getTime() > item.expiry) {\n // localStorage.removeItem(\"accessToken\");\n // this.authService\n // .acquireTokenPopup(OAuthSettings)\n // .then((tokenResponse) => {\n // console.log(tokenResponse.accessToken);\n // this.setAccessToken(tokenResponse.accessToken);\n // return tokenResponse.accessToken;\n // })\n // .catch(function (error) {\n // console.log(error);\n // this.route.navigate([\"/login\"]);\n // });\n // }\n // return item.value;\n // }\n\n // setAccessToken(accessToken) {\n // const now = new Date();\n // const item = {\n // value: accessToken,\n // expiry: now.getTime() + 500000,\n // };\n // localStorage.setItem(\"accessToken\", JSON.stringify(item));\n // }\n \n /* ----- future reference not needed end -------- */\n \n\n ngOnInit(): void {\n this.productId = this.productId ?? sessionStorage.getItem('productId');\n this.qrcodeId = this.qrcodeId ?? sessionStorage.getItem('qrcodeId');\n this.uoId = this.uoId ?? sessionStorage.getItem('uoId');\n // this.accessToken = this.getWithExpiry(); \n\n /* ----- usd factor feature start -------- */\n // this.productService.fetchProductDetails(this.productId).subscribe((data) => {\n // this.fetchpdData = data[0].productLineId;\n // this.productService.getAllProductLine().subscribe((res: any) => {\n // this.getAllPline = res;\n // this.plcurrency = this.getAllPline.find(pl => pl.productLine === this.fetchpdData);\n // this.plusdcurrency = this.plcurrency.usdfactor\n // })\n // })\n /* ----- usd factor feature end-------- */\n\n\n if (this.qrcodeId) {\n this.qrCodeCheck();\n }\n \n console.log(\"uo\", this.uoId);\n\n // this.prodSubscribtionId = this.getProductSubscription(this.uoId, this.productId);\n // if (!this.prodSubscribtionId) {\n // this.subscribeBtn = false;\n // this.unsubscribeBtn = false;\n // this.firstSubscribeBtn = true;\n // } else {\n // this.getProductSubscription(this.uoId, this.productId);\n // } \n this.fetchPrductDetails();\n // this.getProductSubscriptionImethod();\n window.addEventListener(\"pageshow\", function (event) {\n var historyTraversal =\n event.persisted ||\n (typeof window.performance != \"undefined\" &&\n window.performance.navigation.type === 2);\n if (historyTraversal) {\n // Handle page restore.\n window.location.reload();\n }\n });\n\n // if (localStorage.getItem(\"accessToken\") != null && localStorage.getItem(\"accessToken\") != undefined) {\n // this.route.navigate(['/login']);\n // }\n }\n ngOnDestroy(): void {\n sessionStorage.removeItem('productId');\n sessionStorage.removeItem('qrcodeId');\n }\n\n // getProductSubscription(userId, serialNo) {\n // this.productService.getProductSubscription(userId, serialNo).subscribe(res => {\n // this.dataSharingService.setSubscribtionId(res.data.data.subscriptionId);\n // console.log(\"psress:\", res);\n // this.productSubscriptionData = res?.data; \n // this.subscribedData = res.data.data.subscribed;\n\n // if (this.subscribedData == true) {\n // this.firstSubscribeBtn = false;\n // this.subscribeBtn = false;\n // this.unsubscribeBtn = true;\n // } else {\n // this.unsubscribeBtn = false;\n // this.firstSubscribeBtn = false;\n // this.subscribeBtn = true;\n // }\n \n // if (res.data) {\n // this.prodSubscribed = res.data.data.subscribed; \n // } \n // return true;\n // })\n // return false;\n // }\n\n sendOSTag(tag: string) {\n this.os.sendTag(\"serialNo\", tag);\n let postData = {\n \"serialNo\" : this.productId,\n \"subscribed\": true\n };\n this.productService.saveProductSubscription(this.uoId, postData).subscribe();\n this.subscribeBtn = false;\n this.firstSubscribeBtn = false;\n this.unsubscribeBtn = true;\n }\n\n // getProductSubscriptionImethod() {\n // return new Promise((resolve, reject) => {\n // this.productService.getProductSubscription(this.uoId, this.productId).subscribe(res => {\n // if (res.data) {\n // console.log(\"getProdsub\", res);\n // resolve(res.data.data) \n // } else {\n // reject(\"cannot get subscription id\");\n // }\n // })\n // });\n // }\n\n // getProductSubscriptionImethod1() {\n // this.productService.getProductSubscription(this.uoId, this.productId).subscribe(res => {\n // if (res.data) {\n // console.log(\"getProdsub\", res);\n // this.prodSubsId = {...res.data.data};\n // } \n // })\n // }\n\n // async updateOSTag(tag: string) {\n // this.os.sendTag(\"serialNo\", tag);\n // this.prodSubData = await this.getProductSubscriptionImethod();\n // let postData = {\n // \"subscriptionId\": this.prodSubData?.subscriptionId,\n // \"userOperatorId\": this.prodSubData?.userOperatorId,\n // \"productSerialNumber\": this.prodSubData?.productSerialNumber,\n // \"subscribed\": true\n // };\n // this.productService.updateProductSubscription(postData).subscribe();\n // this.subscribeBtn = false;\n // this.firstSubscribeBtn = false;\n // this.unsubscribeBtn = true;\n // }\n\n // async deleteOSTag() {\n // this.os.deleteTag(\"serialNo\");\n // this.prodSubData = await this.getProductSubscriptionImethod();\n // console.log(\"subscriptionData - subid\", this.prodSubData, this.prodSubData?.subscriptionId, this.prodSubData?.userOperatorId);\n \n // let postData = {\n // \"subscriptionId\": this.prodSubData?.subscriptionId,\n // \"userOperatorId\": this.prodSubData?.userOperatorId,\n // \"productSerialNumber\": this.prodSubData?.productSerialNumber,\n // \"subscribed\": false\n // };\n // this.productService.updateProductSubscription(postData).subscribe();\n // this.unsubscribeBtn = false;\n // this.firstSubscribeBtn = false;\n // this.subscribeBtn = true;\n // }\n\n fetchPrductDetails() {\n if (this.productId) {\n console.log(\"in fetchMethod\", this.productId);\n this.productService\n .fetchProductDetails(this.productId)\n .subscribe((data) => {\n this.loader = false;\n this.productDetails = data;\n this.newProducts = [];\n this.newProducts = this.productDetails.filter((data) => data.serialNumber == this.productId);\n console.log(\"newProduct\", this.newProducts);\n this.productDetailObject = this.newProducts[0];\n this.productFirstAttributes = this.productDetailObject.prodAttributes[0].attributeValue;\n this.productLineId = this.productDetailObject.productLineId;\n this.docLocation = this.productDetailObject.docLocation;\n this.checkQuoteAndOrderForProd();\n\n if (\n this.productDetailObject.contEmail1.match(\n /^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$/\n )\n ) {\n this.validateEmail1 = true;\n }\n\n if (\n this.productDetailObject.contEmail1.match(\n /^(https:|http:|www\\.)\\S*/\n )\n ) {\n this.validateURL1 = true;\n }\n if (\n this.productDetailObject.contEmail2?.match(\n /^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$/\n )\n ) {\n this.validateEmail2 = true;\n }\n if (\n this.productDetailObject.contEmail2?.match(\n /^(https:|http:|www\\.)\\S*/\n )\n ) {\n this.validateURL2 = true;\n }\n \n }),\n (error) => {\n console.log(error);\n };\n this.dataSharingService.fetchNotes.subscribe((data) => {\n if (data == true) {\n this.fetchProductNotes();\n }\n });\n this.fetchProductNotes();\n this.fetchSpareParts(this.productId);\n }\n // this.qrCodeCheck();\n }\n\n qrCodeCheck() {\n if (this.qrcodeId != null && this.qrcodeId != undefined) {\n console.log(\"in fetchMethod\", this.qrcodeId);\n this.productService\n .fetchqrCodeDetails(this.qrcodeId)\n .subscribe((data) => {\n this.loader = false;\n this.productDetails = data;\n this.newProducts = [];\n //var tempQr=\"https://www.circor.com/services/TAGS/\"+this.qrcodeId;\n this.newProducts = data;\n // this.productDetails.filter((data) =>\n //data.qrCodeId == tempQr);\n console.log(\"newProduct\", this.newProducts);\n this.productDetailObject = this.newProducts[0];\n this.productId = this.productDetailObject.serialNumber;\n this.productLineId = this.productDetailObject.productLineId;\n console.log(\"productObject\", this.productDetailObject);\n this.checkQuoteAndOrderForProd();\n this.dataSharingService.fetchNotes.subscribe((data) => {\n if (data == true) {\n this.fetchProductNotes();\n }\n });\n this.fetchProductNotes();\n this.fetchSpareParts(this.productId);\n }),\n (error) => {\n console.log(error);\n };\n }\n }\n\n fetchSpareParts(productId: any) {\n this.productService.fetchSpareParts(productId).subscribe((res) => {\n console.log(\"sparts\", res);\n this.sparePartsResult = res;\n if (res?.some(r => r.price > 0)) {\n this.isOrgPrice = true;\n }\n if (res.length > 0 ) {\n this.isgetSpareParts = true;\n }\n });\n }\n\n fetchProductNotes() {\n this.productService\n .fetchProductNotes(this.productId)\n .subscribe((notes) => {\n this.notes = notes;\n this.convertNotes();\n console.log(\"notes:\", this.notes);\n this.notesLength = Object.keys(this.notes).length;\n console.log(\"notes length:\", Object.keys(this.notes).length);\n // console.log(\"productNotesFile length:\",Object.keys(this.notes.productNotesFile).length);\n for (var notesFile of this.notes) {\n this.notesFileCount = Object.keys(\n notesFile.productNotesFile\n ).length;\n }\n }),\n (error) => {\n console.log(error);\n };\n }\n\n isUserType() {\n console.log(\"uType\", this.dataSharingService.getUserTypeId());\n return this.dataSharingService.getUserTypeId();\n }\n \n checkQuoteAndOrderForProd() {\n this.productService.checkQuoteandOrder(this.productLineId).subscribe((res) => {\n this.isCheckQuoteOrder = res;\n console.log(\"quoteorder\", this.isCheckQuoteOrder);\n });\n }\n\n CheckBoxVisibleForQuoteOrder() {\n return (this.isCheckQuoteOrder && (this.isCheckQuoteOrder.quoteAdmin || this.isCheckQuoteOrder.orderAdmin));\n }\n\n selectAll(selectAll) {\n console.log(\"spresult\", this.sparePartsResult, selectAll);\n this.sparePartsResult = this.sparePartsResult.map((sp: any) => {\n sp.checked = selectAll;\n return sp;\n });\n }\n // checkForAllSelect() {\n // let selectedSP = this.sparePartsResult.filter((sp: any) => {\n // return sp.checked === true;\n // });\n // if (selectedSP.length === this.sparePartsResult.length) {\n // this.isselectAll = true;\n // } else if (selectedSP.length > 0) {\n // this.isselectAll = false;\n // }\n // }\n\n checkForAllSelect() {\n \n let valveSelectedItem = this.sparePartsResult.filter((sp: any) => {\n return sp.description == \"REPLACEMENT VALVE\" && sp.checked === true;\n });\n \n let valveSelectedNextItems = this.sparePartsResult.filter((sp: any) => {\n return sp.description == \"3.1 CERTIFICATES FOR VALVE\" || sp.description == \"MATERIAL SURCHARGE FOR VALVE\";\n });\n\n // let valveSelectedNextItems1 = this.sparePartsResult.forEach((sp: any) => {\n // return sp.description == \"3.1 CERTIFICATES FOR VALVE\" && sp.description == \"MATERIAL SURCHARGE FOR VALVE\";\n // });\n\n // if (valveSelectedNextItems1.length > 0) {\n // console.log(\"sdfsa\");\n // }\n\n if (valveSelectedItem.length > 0 && this.productLineId == \"ARV\") {\n valveSelectedNextItems.forEach(element => {\n element.checked = true;\n });\n \n } else {\n valveSelectedNextItems.forEach(element => {\n element.checked = false;\n });\n }\n \n let selectedSP = this.sparePartsResult.filter((sp: any) => {\n return sp.checked === true;\n });\n\n if (selectedSP.length === this.sparePartsResult.length) {\n this.isselectAll = true;\n } else if (selectedSP.length > 0) {\n this.isselectAll = false;\n }\n }\n\n checkForDisable(description) {\n let selectedSPValve = this.sparePartsResult.filter((sp: any) => {\n return sp.description == \"REPLACEMENT VALVE\" && sp.checked === true;\n });\n if ((selectedSPValve.length > 0 && this.productLineId == \"ARV\") && (description == \"3.1 CERTIFICATES FOR VALVE\" || description == \"MATERIAL SURCHARGE FOR VALVE\")) {\n return true;\n } else {\n return false;\n }\n }\n\n resetSelection() {\n this.sparePartsResult = this.sparePartsResult.map((sp: any) => {\n sp.checked = false;\n return sp;\n });\n this.isselectAll = false;\n }\n\n convertNotes() {\n let quoteNo = 0;\n let orderNo = 0;\n for (let i = 0; i < this.notes.length; i++){\n let note = this.notes[i];\n let noteText = note.productNotes.productNotes;\n if (noteText.startsWith(\"Quote: quoteNo\")) {\n noteText = noteText.replace(\"quoteNo\", (quoteNo + 1) + \"\");\n noteText = \"
\" + noteText + \"
\";\n quoteNo = quoteNo + 1;\n this.notes[i].productNotes.productNotes = noteText;\n } else if (noteText.startsWith(\"Order: orderNo\")) {\n noteText = noteText.replace(\"orderNo\", (orderNo + 1) + \"\");\n noteText = \"
\" + noteText + \"
\";\n orderNo = orderNo + 1;\n this.notes[i].productNotes.productNotes = noteText;\n }\n }\n }\n\n sparePartsQuotesAndOrder(quoteOrOrder: string) {\n this.dataSharingService.setLoader(true);\n let postData = this.sparePartsResult.filter((sp: any) => sp.checked);\n console.log(postData);\n let notesText = \"\";\n if (quoteOrOrder === \"quote\") {\n notesText = \"Quote: quoteNo\";\n } else if (quoteOrOrder === \"order\") {\n notesText = \"Order: orderNo\";\n }\n for (let i = 0; i < postData.length; i++){\n notesText = notesText + \"

Description: \" + postData[i].description + \"

Part No: \" + postData[i].partNo + \"

\"; \n console.log(notesText);\n }\n \n if (postData.length > 0 && quoteOrOrder === \"quote\") {\n // this.productService.sendSPQuotes(postData, this.productFirstAttributes).subscribe(\n this.productService.sendSPQuotes(postData).subscribe(\n (res) => {\n console.log(res, \"resss\");\n this.resetSelection();\n if (res.Message === \"Success\") {\n this.dataSharingService.setLoader(false);\n this.snackBar.open(res.Result, \"\", {\n duration: 2500,\n });\n this.addNotes.productNotes.productSerialNo = postData[0].productSerialNum;\n this.addNotes.productNotes.productNotes = notesText;\n console.log('this.addNotes.productNotes.productNotes', this.addNotes.productNotes.productNotes);\n this.addNotes.productNotes.updatedBy.operatorId = 2;\n console.log('myDate:', this.myDate);\n this.addNotes.productNotes.updatedOn = new Date();\n this.addNotes.productNotes.imageLoc = '';\n this.addNotes.productNotes.isDeleted = 0;\n this.addNotes.productNotes.deletedBy = null;\n this.addNotes.productNotesFile = [];\n \n this.productService.addProductNotes(this.addNotes).subscribe(data => {\n console.log(\"NoteData:\", data)\n this.fetchProductNotes();\n });\n } else {\n this.dataSharingService.setLoader(false);\n this.snackBar.open(\"Quote Email not sent\", \"\", {\n duration: 2500,\n });\n \n }\n },\n (err) => {\n this.snackBar.open(\"Quote Email not sent\", \"\", {\n duration: 2500,\n });\n }\n );\n } else if (postData.length > 0 && quoteOrOrder === \"order\") {\n this.productService.sendSPOrder(postData).subscribe(\n (res) => {\n console.log(res, \"resss\");\n this.resetSelection();\n if (res.Message === \"Success\") {\n this.dataSharingService.setLoader(false);\n this.snackBar.open(res.Result, \"\", {\n duration: 2500,\n });\n this.addNotes.productNotes.productSerialNo = postData[0].productSerialNum;\n this.addNotes.productNotes.productNotes = notesText;\n console.log('this.addNotes.productNotes.productNotes', this.addNotes.productNotes.productNotes);\n this.addNotes.productNotes.updatedBy.operatorId = 2;\n console.log('myDate:', this.myDate);\n this.addNotes.productNotes.updatedOn = new Date();\n this.addNotes.productNotes.imageLoc = '';\n this.addNotes.productNotes.isDeleted = 0;\n this.addNotes.productNotes.deletedBy = null;\n this.addNotes.productNotesFile = [];\n this.productService.addProductNotes(this.addNotes).subscribe(data => {\n console.log(\"NoteData:\", data)\n this.fetchProductNotes();\n });\n } else {\n this.dataSharingService.setLoader(false);\n this.snackBar.open(\"Order Email not sent\", \"\", {\n duration: 2500,\n });\n }\n },\n (err) => {\n this.snackBar.open(\"Order Email not sent\", \"\", {\n duration: 2500,\n });\n }\n );\n } else {\n this.dataSharingService.setLoader(false);\n this.snackBar.open(\"Please select at least one checkbox\", \"\", {\n duration: 2500,\n });\n }\n }\n\n closeFormPopup() {\n this.postFormSubmit = !this.postFormSubmit;\n this.sendUserForm.reset();\n this.resetSelection();\n }\n\n sendOthers() {\n let receivedListSparePartsResult = this.sparePartsResult?.filter((sp: any) => sp.checked);\n if (receivedListSparePartsResult.length > 0) {\n this.postFormSubmit = true;\n this.usPopupToggle = true;\n } else {\n this.snackBar.open(\"Please select at least one checkbox\", \"\", {\n duration: 2500,\n }); \n }\n }\n\n sendOthersToSpareParts() {\n let postData: any = {};\n let emailIds: any = [];\n emailIds.push(this.sendUserForm.value.emailIds);\n postData.emailIds = emailIds;\n\n // let emailIds: any = this.sendUserForm.value.emailIds.split(\",\");\n // postData.emailIds = emailIds; \n postData.message = this.sendUserForm.value.message;\n let receivedListSparePartsResult = this.sparePartsResult?.filter((sp: any) => sp.checked);\n postData.listSpareParts = receivedListSparePartsResult;\n console.log(\"sotospa pd:\", postData);\n this.dataSharingService.setShowSmallLoader(true);\n let notesText = \"Quote: quoteNo\";\n for (let i = 0; i < receivedListSparePartsResult.length; i++){\n notesText = notesText + \"

Description: \" + receivedListSparePartsResult[i].description + \"

Part No: \" + receivedListSparePartsResult[i].partNo + \"

\"; \n console.log(notesText);\n }\n this.productService.sendOthersToSpareParts(postData).subscribe(res => {\n if (res.Message == \"Success\") {\n this.dataSharingService.setShowSmallLoader(false);\n this.sendUserForm.reset();\n this.postFormSubmit = false;\n this.usPopupToggle = false;\n this.snackBar.open(res.Result, \"\", {\n duration: 2500,\n });\n this.resetSelection();\n this.addNotes.productNotes.productSerialNo = postData.listSpareParts[0].productSerialNum;\n this.addNotes.productNotes.productNotes = notesText;\n this.addNotes.productNotes.updatedBy.operatorId = 2;\n this.addNotes.productNotes.updatedOn = new Date();\n this.addNotes.productNotes.imageLoc = '';\n this.addNotes.productNotes.isDeleted = 0;\n this.addNotes.productNotes.deletedBy = null;\n this.addNotes.productNotesFile = [];\n \n this.productService.addProductNotes(this.addNotes).subscribe(data => {\n console.log(\"NoteData:\", data)\n this.fetchProductNotes();\n });\n \n }\n });\n }\n\n\n //Open Partner Link\n openLink(link: string) {\n let url: string = \"\";\n if (!/^http[s]?:\\/\\//.test(link)) {\n url += \"http://\";\n }\n\n url += link;\n window.open(url, \"_blank\");\n }\n\n showProductDetails() { \n let navigationExtras: NavigationExtras = {\n queryParams: {\n productId: this.productId,\n },\n };\n this.route.navigate([\"/product-details\"], navigationExtras);\n }\n\n //redirect to product faq page\n ShowFAQPage() {\n let navigationExtras: NavigationExtras = {\n queryParams: {\n productId: this.productId,\n },\n };\n\n this.route.navigate([\"/faq\"], navigationExtras);\n }\n //redirect to instructional page\n ShowInstructionalManualPage() {\n let navigationExtras: NavigationExtras = {\n queryParams: {\n productId: this.productId,\n },\n };\n this.route.navigate([\"/instructional-manual\"], navigationExtras);\n }\n\n //redirect to dashboard page\n ShowDashboardPage() {\n this.route.navigate([\"/product-search\"]);\n }\n\n /**\n * Name : Sandhya Misal\n * Functionality :Show product Notes in details\n * Code Desc :Show product Notes in details with username, notes images and attachments\n **/\n showProductNotes(productNotesId, i) {\n this.notesCountActualValue = i;\n this.notesCount = i + 1;\n console.log(\"notesCount\", this.notesCount);\n this.isProductNotes = true;\n console.log(\"productNotesId\", productNotesId);\n this.isNotes = false;\n // for(var i=0; i<= Object.keys(this.notes).length;i++){\n // this.notes[i]\n // }\n // console.log(\"specificNotesDetails\", this.notes[5]);\n this.specificNotesDetails = this.notes.filter(\n (data) => data.productNotes.productNotesId == productNotesId\n );\n\n for (let notesFile of this.specificNotesDetails[0].productNotesFile) {\n if (\n notesFile.fileName == null ||\n notesFile.fileName == undefined ||\n notesFile.fileName == \"\"\n ) {\n var res = notesFile.filepath.split(\"/\");\n\n var lastSlashValue = res[res.length - 1];\n notesFile.fileName = lastSlashValue.replaceAll(\"%20\", \" \");\n\n if (\n notesFile.fileType === \"image/jpeg\" ||\n notesFile.fileType === \"image/png\"\n ) {\n notesFile.filepath =\n this.AZURE_BLOB_END_POINT +\n notesFile.filepath +\n this.QUESTION_MARK +\n this.AZURE_BLOB_SAS_KEY;\n }\n }\n }\n console.log(\"this.specificNotesDetails\", this.specificNotesDetails);\n // console.log(\"this.specificNotesDetails\", this.specificNotesDetails);\n }\n\n /**\n * Name : Sandhya Misal\n * Functionality :Go to the next note\n * Code Desc :Go to the next note\n **/\n nextNotes() {\n console.log(\"notesCountActualValue\", this.notesCountActualValue);\n console.log(\"notesCount\", this.notesCount);\n console.log(\"Notes:\", this.notes);\n this.isProductNotes = true;\n this.notesCountActualValue = this.notesCountActualValue + 1;\n this.notesCount = this.notesCount + 1;\n console.log(\"notesCount\", this.notesCount);\n this.isNotes = true;\n this.nextNote = this.notes[this.notesCountActualValue];\n console.log(\"nn:\", this.nextNote);\n \n for (let notesFile of this.nextNote.productNotesFile) {\n if (\n notesFile.fileName == null ||\n notesFile.fileName == undefined ||\n notesFile.fileName == \"\"\n ) {\n var res = notesFile.filepath.split(\"/\");\n\n var lastSlashValue = res[res.length - 1];\n notesFile.fileName = lastSlashValue.replaceAll(\"%20\", \" \");\n if (\n notesFile.fileType === \"image/jpeg\" ||\n notesFile.fileType === \"image/png\"\n ) {\n notesFile.filepath =\n this.AZURE_BLOB_END_POINT +\n notesFile.filepath +\n this.QUESTION_MARK +\n this.AZURE_BLOB_SAS_KEY;\n }\n }\n }\n }\n /**\n * Name : Sandhya Misal\n * Functionality :Go to the previous note\n * Code Desc :Go to the previous note\n **/\n previousNotes() {\n console.log(\"notesCountActualValue\", this.notesCountActualValue);\n console.log(\"notesCount\", this.notesCount);\n console.log(\"Notes:\", this.notes);\n this.isProductNotes = true;\n this.notesCountActualValue = this.notesCountActualValue - 1;\n this.notesCount = this.notesCount - 1;\n console.log(\"notesCount\", this.notesCount);\n this.isNotes = true;\n this.nextNote = this.notes[this.notesCountActualValue];\n console.log(\"pn:\", this.nextNote);\n\n for (let notesFile of this.nextNote.productNotesFile) {\n if (\n notesFile.fileName == null ||\n notesFile.fileName == undefined ||\n notesFile.fileName == \"\"\n ) {\n var res = notesFile.filepath.split(\"/\");\n var lastSlashValue = res[res.length - 1];\n notesFile.fileName = lastSlashValue.replaceAll(\"%20\", \" \");\n if (\n notesFile.fileType === \"image/jpeg\" ||\n notesFile.fileType === \"image/png\"\n ) {\n notesFile.filepath =\n this.AZURE_BLOB_END_POINT +\n notesFile.filepath +\n this.QUESTION_MARK +\n this.AZURE_BLOB_SAS_KEY;\n }\n }\n }\n }\n /**\n * Name : Sandhya Misal\n * Functionality :Go to previous page\n * Code Desc :Go to previous page\n **/\n gotoPreviousPage() {\n this.isProductNotes = false;\n this.isNotes = false;\n }\n\n /**\n * Name : Sandhya Misal\n * Functionality :Download image/attachment\n * Code Desc :Download image/attachment\n **/\n downloadFile(fileName) {\n //const pdfUrl = \"traceability/Rapid Opening Closure/UR01343/Installation Operation and Maintenance Manual – IOM.pdf\";\n var str = fileName.split(\" \").join(\"^\");\n var form = document.createElement(\"form\");\n console.log(str);\n // form.action = \"https://test-traceability-service.azurewebsites.net/downloadFile\";\n form.action = `${environment.apiUrl}/downloadFile`;\n angular\n .element(form)\n .append(',\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\n private productService: ProductService,\n private snackBar: MatSnackBar,\n private dataSharingService: DataSharingService\n ) {}\n\n closePopup(): void {\n this.dialogRef.close();\n }\n /**\n * Name : Sandhya Misal\n * Functionality :Calling delete notes api\n * Code Desc :It will delete perticular notes\n **/\n deleteNotes() {\n this.deleteNote = this.data.notes.filter(\n (data) => data.productNotes.productNotesId == this.data.productId\n );\n console.log(\"this.deleteNotes\", this.deleteNote);\n this.deleteSpecificNote.productNotesId =\n this.deleteNote[0].productNotes.productNotesId;\n this.deleteSpecificNote.productSerialNo =\n this.deleteNote[0].productNotes.productSerialNo;\n this.deleteSpecificNote.deletedBy =\n this.deleteNote[0].productNotes.updatedBy.operatorId;\n console.log(\"this.deleteSpecificNote\", this.deleteSpecificNote);\n this.productService\n .deleteProductNotes(this.deleteSpecificNote)\n .subscribe((data) => {\n console.log(\"data\", data);\n if (data.Message == \"Success\") {\n this.snackBar.open(\"The note has been deleted successfully\", \"\", {\n duration: 3500,\n });\n this.dataSharingService.setNotes(true);\n // this.productService.fetchProductNotes(this.productId).subscribe(notes => {\n // this.notes = notes;\n // console.log(\"notes:\",this.notes);\n // this.notesLength = Object.keys(this.notes).length;\n // console.log(\"notes length:\",Object.keys(this.notes).length);\n // // console.log(\"productNotesFile length:\",Object.keys(this.notes.productNotesFile).length);\n // for ( var notesFile of this.notes){\n // this.notesFileCount = Object.keys(notesFile.productNotesFile).length;\n // }\n\n // }),error => {\n // console.log(error);\n // }\n } else {\n this.snackBar.open(\"error in deleting notes\", \"\", {\n duration: 3500,\n });\n }\n }),\n (error) => {\n console.log(error);\n };\n this.dialogRef.close();\n }\n\n ngOnInit(): void {}\n}\n","
\n\n
\n
\n \n
\n
Dashboard - PRODUCT DETAILS\n
\n
\n
\n \n
\n
\n \n
\n
\n \"APP\n
\n
\n \"Play\n
\n
\n
\n
\n
\n
\n
PRODUCT DETAILS\n
\n
\n
\n \n
\n
\n \n
\n
\n \"APP\n
\n
\n \"Play\n
\n
\n
\n
\n
\n\n \n\n \n
\n
\n
\n \n
\n
\n

PRODUCT DETAILS

\n \n
\n
\n
\n Loading...\n
\n
\n
\n
\n

{{productDetailObject?.productLineId}}

\n

PRODUCT LINE

\n
\n
\n

{{productDetailObject?.serialNumber}}

\n

SERIAL NO

\n
\n
\n

{{productDetailObject?.cliTagNo}}

\n

CLIENT TAG NO

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

{{product.attributeValue}}

\n

{{product.attributeId.attributeName}}

\n
\n \n
\n \n
\n
\n
\n
\n CONTACT DETAILS\n
\n
\n
\n
\n Contact Name :\n
\n
\n

{{productDetailObject?.contName1}}

\n
\n
\n
\n
\n Phone Number :\n
\n
\n

{{productDetailObject?.contPhone1}}

\n
\n
\n
\n
\n Email Address/Link:\n
\n
\n

{{productDetailObject?.contEmail1}}

\n \n Find a Local CIRCOR Representative\n

{{productDetailObject?.contEmail1}}

\n
\n
\n
\n
\n
\n
\n Contact Name :\n
\n
\n

{{productDetailObject?.contName2}}

\n
\n
\n
\n
\n Phone Number :\n
\n
\n

{{productDetailObject?.contPhone2}}

\n
\n
\n
\n
\n Email Address/Link:\n
\n
\n

{{productDetailObject?.contEmail2}}

\n \n Find a Local CIRCOR Representative\n

{{productDetailObject?.contEmail2}}

\n
\n
\n
\n
\n\n
\n
\n
\n \n
\n
\n
\n SPARE PARTS\n
\n
\n
\n
\n
\n 0\" >\n \n \n Description \n Part No\n \n Price(€)\n Price($)\n \n \n MRRP(€)\n MRRP($)\n \n
\n\n
\n 0\" >\n \n \n \n \n \n \n {{spareParts.discountPrice | numberFormatter}}\n {{spareParts.discountPrice | numberFormatter}}\n \n\n \n \n {{spareParts.price | numberFormatter}}\n {{spareParts.price | numberFormatter }}\n \n
\n\n \n \n
\n
\n \n \n \n
\n
\n
\n
\n
\n \n\n
\n
\n\n \n
\n
\n
\n
\n \n

PRODUCT NOTES ({{notesLength}})

\n
\n
\n
\n \n
\n
\n
\n {{notesCount}} 9\" class =\"countClassGreaterThanNine\"> {{notesCount}}/ {{notesLength}} \n \n \n \n
\n
\n
\n
\n
\n
\n

User ID: {{note.productNotes.updatedBy.operatorId}}

\n

{{note.productNotes.updatedBy.firstName}} {{note.productNotes.updatedBy.lastName}}

\n\n

{{note.productNotes.updatedOn | date:'dd MMM yyyy'}}

\n\n
\n
\n \n 0\" class=\"imageAllocation\" src=\"../../../assets/attachment.png\">\n 0\" class=\"badgeStyle\" matBadge=\"{{note.productNotesFile.length}}\" matBadgeOverlap=\"false\" (click)=\"showProductNotes(note.productNotes.productNotesId, i)\"> \n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n

User ID: {{specificNotesDetails[0].productNotes.updatedBy.operatorId}}


\n

{{specificNotesDetails[0].productNotes.updatedBy.firstName}} {{specificNotesDetails[0].productNotes.updatedBy.lastName}}


\n

{{specificNotesDetails[0].productNotes.updatedOn | date: 'dd MMM yyyy'}}

\n
\n \n
\n

\n
=1\" class=\"f-m-r\">PHOTO / ATTACHMENT UPLOADS
\n
\n
\n
\n
\n
{{notesFile.fileName}}

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

User ID: {{nextNote.productNotes.updatedBy.operatorId}}


\n

{{nextNote.productNotes.updatedBy.firstName}} {{nextNote.productNotes.updatedBy.lastName}}


\n

{{nextNote.productNotes.updatedOn | date: 'dd MMM yyyy'}}

\n
\n
\n

\n
=1\" class=\"f-m-r\">PHOTO / ATTACHMENT UPLOADS
\n
\n
\n \n

\n
{{notesFile.fileName}}

\n
\n \n \n
\n
\n
\n
\n
\n \n
\n
\n\n
\n \n Close X\n
\n
\n
\n \n \n
Email id is required
\n
\n
\n \n \n
Message is required
\n
\n
\n \n \n \n \n
\n
\n
\n
\n
","\"Close\"/\n\"FAQ","

Are you sure you want to delete?

\n\n","import { AfterViewInit, Component, OnInit, ViewChild } from \"@angular/core\";\nimport { FormArray, FormBuilder, FormControl, FormControlName, FormGroup, Validators } from '@angular/forms';\n\nimport { Router, NavigationExtras } from \"@angular/router\";\nimport { ProductService } from \"src/app/services/product.service\";\nimport { ProductDetails } from \"../../models/productDetails\";\nimport { UserDetails, UserStatusInfo } from \"../../models/userDetails\";\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\nimport { MsalService, BroadcastService } from \"@azure/msal-angular\";\nimport { ChangeEventArgs } from \"@syncfusion/ej2-dropdowns\";\nimport {\n GridComponent,\n RowSelectEventArgs,\n FilterType,\n QueryCellInfoEventArgs,\n} from \"@syncfusion/ej2-angular-grids\";\nimport { FetchUserDetailsService } from \"src/app/services/fetch-user-details.service\";\nimport { DataSharingService } from \"src/app/services/data-sharing.service\";\nimport { FileUploadService } from \"src/app/services/file-upload.service\";\nimport jwt_decode from \"jwt-decode\";\nimport { Internationalization } from '@syncfusion/ej2-base'; \n// import { OneSignal } from \"onesignal-ngx\";\n\n@Component({\n selector: \"app-product-search\",\n templateUrl: \"./product-search.component.html\",\n styleUrls: [\"./product-search.component.css\"],\n})\nexport class ProductSearchComponent implements OnInit, AfterViewInit {\n\n userStatusForm = this.formBuilder.group({\n message: ['', Validators.required]\n })\n\n messageProductSpecific: boolean;\n pending: number;\n approved: number;\n rejected: number;\n revoked: number;\n blocked: number;\n total: number;\n userRows: any;\n row: string;\n isSelected: boolean = false;\n loader: boolean;\n loading: boolean;\n isButton: boolean = false;\n isRevoke: boolean = false;\n isBlocked: boolean = false;\n isVisible: boolean = false;\n isMessage: boolean;\n productDetails: ProductDetails[];\n message: boolean;\n messageFAQ: boolean;\n success: string = \"Y\";\n searchProductForm: FormGroup;\n productSId: any;\n result: string;\n subscription: any;\n accessToken: any;\n public data: any[];\n updatedOn: any;\n public ddldata: Object[];\n public pageSettings: Object;\n public filter: Object;\n public ddlfields: Object = { text: \"type\", value: \"Id\" };\n public productLines: string[];\n public formatoptions: Object;\n public toolbar: Object[];\n @ViewChild(\"grid\") public grid: GridComponent;\n public item: Object = {};\n // selectRow:Object;\n public selectRow: Object[] = [];\n newProducts: any;\n userData: UserDetails[] = [];\n productDetail: any;\n token: any;\n firstName: any;\n lastName: any;\n btnChange: any;\n email: any;\n name: string;\n uniqueName: string;\n role: string;\n postFormSubmit: boolean = false;\n userStatusObject: any;\n subscribeMsg: boolean = false;\n userstatusPopup: boolean = false;\n currentSelectRecords: any[];\n userEmailsSelected: string;\n currentUserStatus: string;\n userOperatorId: any;\n public intl: Internationalization = new Internationalization();\n public dateFormatter: Function = this.intl.getDateFormat({ type: 'datetime', format: \"M/d/y hh:mm a\"});\n constructor(\n private route: Router,\n private fileUploadService: FileUploadService,\n private productService: ProductService,\n private fetchCount: FetchUserDetailsService,\n public dataSharingService: DataSharingService,\n private snackBar: MatSnackBar,\n private formBuilder: FormBuilder,\n // private os: OneSignal\n ) {\n this.dataSharingService.setHeader(false);\n this.searchProductForm = new FormGroup({\n productId: new FormControl(\"\"),\n });\n this.dataSharingService.fetchUserRole.subscribe((res: string) => {\n this.role = res;\n });\n // this.os.init({\n // appId: \"ac86d4e1-6fc3-48af-b563-03af188db39f\",\n // });\n\n\n }\n\n /**\n * Name : Sandhya Misal\n * Functionality :Enter product Id/Serial No and display the Corresponding search data\n * Code Desc :Calling fetchProductDetails backend api by providing user entered product id and fetching the\n * Corresponding search data\n **/\n \n\n get form() { return this.userStatusForm.controls; }\n\n\n wildCardSearch() {\n this.loader = true;\n console.log(this.loader);\n this.productSId = this.searchProductForm.get(\"productId\").value;\n console.log(\"productSId\", this.productSId);\n this.listProductDetails();\n // const itemStr = localStorage.getItem(\"accessToken\");\n // if (!itemStr) {\n // this.listProductDetails();\n // } else {\n // const item = JSON.parse(itemStr);\n // const now = new Date();\n // if (now.getTime() > item.expiry) {\n // localStorage.removeItem(\"accessToken\");\n // this.authService\n // .acquireTokenPopup(OAuthSettings)\n // .then((tokenResponse) => {\n // console.log(tokenResponse.accessToken);\n // this.setAccessToken(tokenResponse.accessToken);\n // this.listProductDetails();\n // });\n // } else {\n // this.listProductDetails();\n // }\n // }\n }\n\n configureUploadButton(productSpecific, prodline, doc) {\n if (this.btnChange === \"FAQ\") {\n this.uploadFilesProduct(productSpecific, prodline, doc);\n } else {\n this.fileUploadSpareParts(productSpecific, prodline, doc);\n }\n }\n\n listProductDetails() {\n this.productService\n .listProductDetails(this.productSId)\n .subscribe((data) => {\n console.log(\"data\", data);\n if (data) {\n this.loader = false;\n }\n this.productDetails = data;\n this.newProducts = [];\n console.log(this.productDetails);\n for (var obj of this.productDetails)\n this.newProducts.push(obj.serialNumber);\n console.log(this.newProducts);\n }),\n (error) => {\n console.log(error);\n };\n }\n\n // callFetchProductDetails() {\n // this.productService.fetchProductDetails(this.productSId).subscribe(data => {\n // console.log(\"data\", data);\n // if (data) {\n // this.loader = false;\n // }\n // this.productDetails = data;\n // this.newProducts = [];\n // console.log(this.productDetails);\n // for (var obj of this.productDetails)\n // this.newProducts.push(obj.serialNumber);\n // console.log(this.newProducts);\n // }), error => {\n // console.log(error);\n // }\n // }\n\n /**\n * Name : Sandhya Misal\n * Functionality : Upload files\n * Code Desc : Upload files\n **/\n uploadFiles(file) {\n console.log(\"file\", file);\n let fileExtension = file._files[0].name;\n if (fileExtension.endsWith(\".xlsx\")) {\n this.message = true;\n console.log(this.message);\n this.productService.isUploadProgress(fileExtension).subscribe(\n (data) => {\n this.fileUploadService.fileUpload(file).subscribe((data) => {\n console.log(this.message);\n });\n this.snackBar.open(\n \"File upload is in process. You will receive email notification on the status\",\n \"\",\n {\n duration: 3000,\n }\n );\n },\n (err) => {\n this.snackBar.open(\n \"Existing file is already in process.please upoad file after the notification\",\n \"\",\n {\n duration: 3000,\n }\n );\n }\n );\n } else {\n this.snackBar.open(\"Invalid file format\", \"\", {\n duration: 3000,\n });\n }\n }\n\n clearErrorMessage() {\n this.messageProductSpecific = undefined;\n this.message = undefined;\n }\n\n uploadFilesProduct(file, prodLine: string, datacategory: string) {\n console.log(\"file\", file);\n let fileExtension = file._files[0].name;\n if (fileExtension.endsWith(\".xml\")) {\n this.fileUploadService\n .fileUploadProduct(file, prodLine, datacategory)\n .subscribe(\n (data) => {\n // if(this.success=='Y'){\n this.snackBar.open(\n \"FAQ uploaded successfully. You will receive email notification on the status\",\n \"\",\n {\n duration: 3000,\n // panelClass: 'green-snackbar'\n }\n );\n console.log(this.messageProductSpecific);\n },\n (err) => {\n console.log(err);\n }\n );\n } else {\n this.snackBar.open(\"Invalid file format\", \"\", {\n duration: 3000,\n // panelClass: 'green-snackbar'\n });\n }\n }\n\n fileUploadSpareParts(file, prodLine: string, datacategory: string) {\n console.log(\"file\", file, prodLine, datacategory);\n let fileExtension = file._files[0].name;\n if (fileExtension.endsWith(\".csv\")) {\n this.fileUploadService\n .fileUploadSpareParts(file, prodLine, datacategory)\n .subscribe(\n (data) => {\n // if(this.success=='Y'){\n this.snackBar.open(\n \"Spare parts uploaded successfully\",\n \"\",\n {\n duration: 3000,\n // panelClass: 'green-snackbar'\n }\n );\n console.log(this.messageProductSpecific);\n },\n (err) => {\n console.log(err);\n }\n );\n } else {\n this.snackBar.open(\"Invalid file format\", \"\", {\n duration: 3000,\n // panelClass: 'green-snackbar'\n });\n }\n }\n\n goToRegisterPage() {\n this.route.navigate([\"/register\"]);\n }\n ngAfterViewInit(){\n var pendingBar = document.getElementById(\"pendingBar\");\n var rejectedBar = document.getElementById(\"rejectedBar\");\n var approvedBar = document.getElementById(\"approvedBar\");\n var revokedBar = document.getElementById(\"revokedBar\");\n var blockedBar = document.getElementById(\"blockedBar\");\n this.fetchCount.getStatusCount().subscribe(\n (count) => {\n this.pending = count.Pending;\n this.approved = count.Approved;\n this.rejected = count.Rejected;\n this.blocked = count.Blocked;\n this.revoked = count.Revoked;\n this.total = count.Total;\n pendingBar.style.width = count.PendingPercentage + \"%\";\n rejectedBar.style.width = count.RejectedPercentage + \"%\";\n approvedBar.style.width = count.ApprovedPercentage + \"%\";\n revokedBar.style.width = count.RevokedPercentage + \"%\";\n blockedBar.style.width = count.BlockedPercentage + \"%\";\n },\n (err) => {\n console.log(err);\n }\n );\n\n this.dataSharingService.gridValue.subscribe((data) => {\n if (data == true) {\n this.fetchCount.getStatusCount().subscribe(\n (count) => {\n this.pending = count.Pending;\n this.approved = count.Approved;\n this.rejected = count.Rejected;\n this.revoked = count.Revoked;\n this.blocked = count.Blocked;\n this.total = count.Total;\n pendingBar.style.width = count.PendingPercentage + \"%\";\n rejectedBar.style.width = count.RejectedPercentage + \"%\";\n approvedBar.style.width = count.ApprovedPercentage + \"%\";\n revokedBar.style.width = count.RevokedPercentage + \"%\";\n blockedBar.style.width = count.BlockedPercentage + \"%\";\n },\n (err) => {\n console.log(err);\n }\n );\n }\n });\n }\n\n ngOnInit(): void {\n this.loading = true;\n console.log(\"Access Token-->\"+localStorage.getItem('msal.idtoken'));\n // this.accessToken = this.getWithExpiry();\n const localStorageAccessToken = localStorage.getItem(\"accessToken\");\n if(localStorageAccessToken){\n let decodedToken = jwt_decode(localStorageAccessToken);\n this.firstName = decodedToken['given_name'];\n this.lastName = decodedToken['family_name'];\n this.name = decodedToken['name'];\n this.email = decodedToken['unique_name'].includes('#') ? decodedToken['unique_name'].split(\"#\").pop() : decodedToken['unique_name'];\n console.log(this.firstName, this.lastName);\n }else{\n this.route.navigate(['/login']);\n }\n \n this.fetchCount.fetchUseryEmail(this.email).subscribe(data => {\n this.userOperatorId = data.operatorId;\n });\n \n this.productService.fetchProductLines().subscribe((data) => {\n this.productLines = data;\n });\n \n this.fetchCount.fetchOperatorByStatus(\"Pending\").subscribe(\n (data) => {\n this.loading = false;\n this.data = data;\n \n },\n (err) => {\n console.log(err);\n }\n );\n\n this.dataSharingService.gridValue.subscribe((data) => {\n console.log(\"booleanValue:\", data);\n if (data == true) this.grid.refresh();\n });\n\n this.filter = { type: \"CheckBox\" };\n this.toolbar = [\"Search\"];\n\n this.filter = { type: \"CheckBox\" };\n }\n\n public valueAccess = (field: string, data: object, column: object) => { \n let value = new Date (data[field]); \n return this.dateFormatter(value);\n }\n \n public onChange(e: ChangeEventArgs): void {\n this.grid.filterSettings.type = e.value;\n this.grid.clearFiltering();\n }\n\n showProductDetails(serialNumber) {\n console.log(\"serial no\", serialNumber);\n let navigationExtras: NavigationExtras = {\n queryParams: {\n productId: serialNumber,\n uoId: this.userOperatorId\n },\n queryParamsHandling: \"merge\"\n };\n this.route.navigate([\"/product-details\"], navigationExtras);\n }\n\n getPendingStatus() {\n this.fetchCount.fetchOperatorByStatus(\"Pending\").subscribe(\n (data) => {\n console.log(data);\n this.data = data;\n this.isButton = false;\n this.isRevoke = false;\n this.isBlocked = false;\n this.isVisible = false;\n },\n (err) => {\n console.log(err);\n }\n );\n }\n\n getRejectedStatus() {\n this.fetchCount.fetchOperatorByStatus(\"Rejected\").subscribe(\n (data) => {\n console.log(data);\n this.data = data;\n this.isButton = false;\n this.isRevoke = false;\n this.isBlocked = false;\n this.isVisible = true;\n },\n (err) => {\n console.log(err);\n }\n );\n }\n\n getBlockedStatus() {\n this.fetchCount.fetchOperatorByStatus(\"Blocked\").subscribe(\n (data) => {\n console.log(data);\n this.data = data;\n this.isButton = false;\n this.isRevoke = false;\n this.isVisible = false;\n this.isBlocked = true;\n },\n (err) => {\n console.log(err);\n }\n );\n }\n\n getApprovedStatus() {\n this.fetchCount.fetchOperatorByStatus(\"Approved\").subscribe(\n (data) => {\n console.log(data);\n this.data = data;\n this.isButton = false;\n this.isRevoke = true;\n this.isBlocked = false;\n this.isVisible = false;\n },\n (err) => {\n console.log(err);\n }\n );\n }\n\n getRevokeStatus() {\n this.fetchCount.fetchOperatorByStatus(\"Revoked\").subscribe(\n (data) => {\n console.log(data);\n this.data = data;\n this.isButton = false;\n this.isRevoke = false;\n this.isVisible = true;\n this.isBlocked = false;\n },\n (err) => {\n console.log(err);\n }\n );\n }\n\n getTotal() {\n this.fetchCount.fetchUserDetails().subscribe(\n (user) => {\n this.data = user;\n this.isButton = true;\n this.isRevoke = false;\n this.isVisible = false;\n this.isBlocked = false;\n },\n (err) => {\n console.log(err);\n }\n );\n }\n\n userApproval() {\n const selectedrecords: object = this.grid.getSelectedRecords();\n console.log(\"records:\", selectedrecords);\n if (Object.keys(selectedrecords).length >= 1) {\n this.userRows = [];\n for (let i = 0; i < Object.keys(selectedrecords).length; i++) {\n if (selectedrecords[i].approvalStatus == \"Approved\") {\n // this.isMessage=true;\n this.snackBar.open(\n \"Please select only pending and blocked registrations to approve\",\n \"\",\n {\n duration: 3000,\n // panelClass: 'green-snackbar'\n }\n );\n } else {\n // this.isMessage=false;\n this.userRows.push(selectedrecords[i]);\n }\n }\n let userStatusObject: any = {};\n let userStatusInfo: UserStatusInfo[] = [];\n for (let i = 0; i < this.userRows.length; i++){\n let userStatusData: any = {};\n userStatusData.operatorId = this.userRows[i].operatorId;\n userStatusData.firstName = this.userRows[i].firstName;\n userStatusData.lastName = this.userRows[i].lastName;\n userStatusData.email = this.userRows[i].email;\n userStatusData.brand = this.userRows[i].brand;\n userStatusData.approvalStatus = \"Approved\";\n userStatusInfo.push(userStatusData);\n }\n userStatusObject.userInfo = userStatusInfo;\n userStatusObject.message = null;\n this.dataSharingService.setLoader(true);\n this.fetchCount.getStatusApproved(userStatusObject).subscribe(\n (data) => {\n console.log(\"calling approval method\", data);\n // this.row = data.Message;\n if (data.status == true) {\n this.dataSharingService.setLoader(false);\n this.snackBar.open(\n \"Registration has been approved for selected rows\",\n \"\",\n {\n duration: 3000,\n // panelClass: 'green-snackbar'\n }\n );\n const selectedOperatorIds = this.userRows.map(u => u.operatorId);\n this.data = this.data.filter(d => !selectedOperatorIds.includes(d.operatorId));\n this.grid.refresh();\n this.dataSharingService.setGrid(true);\n }\n },\n (err) => {\n console.log(err);\n }\n );\n } else {\n this.snackBar.open(\n \"Please select atleast one record to perform this action\",\n \"\",\n {\n duration: 3000,\n // panelClass: 'green-snackbar'\n }\n );\n }\n }\n\n changeUserStatus(status: string) {\n this.currentUserStatus = status;\n this.currentSelectRecords = this.grid.getSelectedRecords();\n console.log(\"inUserStatusAction:\", this.currentSelectRecords);\n if (this.currentSelectRecords?.length >= 1) {\n this.userRows = [];\n const currentStatus = this.currentSelectRecords[0].approvalStatus;\n if (!this.currentSelectRecords.every(r => r.approvalStatus === currentStatus) ){\n this.snackBar.open(\"Please select records of same status\", \"\",\n {\n duration: 3000,\n });\n return;\n }\n for (let i = 0; i < this.currentSelectRecords.length; i++) {\n console.log(\"Actual sending rows\", this.currentSelectRecords[i]);\n \n if (this.currentSelectRecords[i].approvalStatus == \"Blocked\" && status === \"block\") {\n this.snackBar.open(\"Please select pending, approved, rejected registrations to block\", \"\",\n {\n duration: 3000,\n });\n }\n else if (this.currentSelectRecords[i].approvalStatus != \"Pending\" && this.currentSelectRecords[i].approvalStatus != \"Blocked\" && status === \"reject\") {\n this.snackBar.open(\"Please select only pending and blocked registrations to reject\", \"\",\n {\n duration: 3000,\n });\n } else if (this.currentSelectRecords[i].approvalStatus != \"Approved\" && this.currentSelectRecords[i].approvalStatus != \"Blocked\" && status === \"revoke\") {\n this.snackBar.open(\"Please select only approved and blocked registrations to revoke\", \"\",\n {\n duration: 3000,\n });\n } else {\n console.log(this.currentSelectRecords[i]);\n this.userRows.push(this.currentSelectRecords[i]);\n this.subscribeMsg = false;\n this.postFormSubmit = true; \n this.userEmailsSelected = this.userRows.map(u => u.email).join(', ');\n this.userstatusPopup = true\n }\n }\n } else {\n this.snackBar.open(\"Please select atleast one record to perform this action\", \"\",\n {\n duration: 3000,\n });\n }\n }\n\n setUserStatus() {\n let userStatusObject: any = {};\n let userStatusInfo: UserStatusInfo[] = [];\n for (let i = 0; i < this.userRows.length; i++){\n let userStatusData: any = {};\n userStatusData.operatorId = this.userRows[i].operatorId;\n userStatusData.firstName = this.userRows[i].firstName;\n userStatusData.lastName = this.userRows[i].lastName;\n userStatusData.email = this.userRows[i].email;\n userStatusData.brand = this.userRows[i].brand;\n userStatusInfo.push(userStatusData);\n }\n userStatusObject.userInfo = userStatusInfo;\n userStatusObject.message = this.userStatusForm.value.message;\n for (let i = 0; i < Object.keys(userStatusObject.userInfo).length; i++) {\n if (this.currentUserStatus === \"block\") {\n userStatusObject.userInfo[i].approvalStatus = \"Blocked\";\n } else if (this.currentUserStatus === \"reject\") {\n userStatusObject.userInfo[i].approvalStatus = \"Rejected\";\n } else {\n userStatusObject.userInfo[i].approvalStatus = \"Revoked\";\n }\n }\n this.dataSharingService.setShowSmallLoader(true);\n this.fetchCount.getStatusApproved(userStatusObject).subscribe(\n (data) => {\n // this.row = data.message;\n if (data.status == true) {\n this.dataSharingService.setShowSmallLoader(false);\n this.userstatusPopup = false;\n this.postFormSubmit = true;\n this.subscribeMsg = true;\n const selectedOperatorIds = this.userRows.map(u => u.operatorId);\n this.data = this.data.filter(d => !selectedOperatorIds.includes(d.operatorId));\n this.grid.refresh();\n this.dataSharingService.setGrid(true);\n }\n this.userRows = [];\n userStatusObject.message = '';\n },\n (err) => {\n console.log(err);\n }\n );\n }\n \n\n setUserStatusWithoutMail() {\n let userStatusObject: any = {};\n let userStatusInfo: UserStatusInfo[] = [];\n for (let i = 0; i < this.userRows.length; i++){\n let userStatusData: any = {};\n userStatusData.operatorId = this.userRows[i].operatorId;\n userStatusData.firstName = this.userRows[i].firstName;\n userStatusData.lastName = this.userRows[i].lastName;\n userStatusData.email = this.userRows[i].email;\n userStatusData.brand = this.userRows[i].brand;\n userStatusInfo.push(userStatusData);\n }\n userStatusObject.userInfo = userStatusInfo;\n userStatusObject.message = this.userStatusForm.value.message;\n for (let i = 0; i < Object.keys(userStatusObject.userInfo).length; i++) {\n if (this.currentUserStatus === \"block\") {\n userStatusObject.userInfo[i].approvalStatus = \"Blocked\";\n } else if (this.currentUserStatus === \"reject\") {\n userStatusObject.userInfo[i].approvalStatus = \"Rejected\";\n } else {\n userStatusObject.userInfo[i].approvalStatus = \"Revoked\";\n }\n }\n this.dataSharingService.setShowSmallLoader(true);\n this.fetchCount.getStatusWithoutMail(userStatusObject).subscribe(\n (data) => {\n // this.row = data.message;\n if (data.status == true) {\n this.dataSharingService.setShowSmallLoader(false);\n this.userstatusPopup = false;\n this.postFormSubmit = true;\n this.subscribeMsg = true;\n const selectedOperatorIds = this.userRows.map(u => u.operatorId);\n this.data = this.data.filter(d => !selectedOperatorIds.includes(d.operatorId));\n this.grid.refresh();\n this.dataSharingService.setGrid(true);\n }\n this.userRows = [];\n userStatusObject.message = '';\n },\n (err) => {\n console.log(err);\n }\n );\n }\n\n closePopup() {\n this.postFormSubmit = !this.postFormSubmit;\n this.userStatusForm.reset();\n }\n\n rowSelected(args: RowSelectEventArgs) {\n const selectedrecords: object = this.grid.getSelectedRecords();\n console.log(\"selected Records in row selected method:\", selectedrecords);\n }\n}\n","\n
\n Welcome {{lastName}}, {{firstName}}!\n
\n\n
\n Welcome {{name}}!\n
\n
\n
\n
\n
\n
\n

LATEST UPDATES

\n
\n \n Spare parts feature has been implemented in Product details page, Listed the spare parts details based on the Product serial number and they can raise the Quote or Order for the selected items through respective buttons. \n
\n\n
\n\n
\n \n \n CIRCORSMART\n Mobile Apps Available\n \n \n \n \n \n \n \n \n \n \n \n \n
\n\n
\n
\n
\n
\n \n
{{pending}}
\n
PENDING
\n
\n
\n
\n
\n
\n
\n\n
\n
\n \n
{{rejected}}
\n
REJECTED
\n
\n
\n
\n
\n
\n
\n\n
\n
\n \n
{{approved}}
\n
APPROVED
\n
\n
\n
\n
\n
\n
\n\n
\n
\n \n
{{revoked}}
\n
REVOKED
\n
\n
\n
\n
\n
\n
\n\n
\n
\n \n
{{blocked}}
\n
BLOCKED
\n
\n
\n
\n
\n
\n
\n\n
\n
\n \n
{{total}}
\n
TOTAL USER
\n
\n
\n
\n
\n
\n
\n\n \n\n
\n\n\n
\n
\n
\n
User Registration Details
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n
\n
\n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{data.approvalStatus}} \n \n
\n
{{data.approvalStatus}}\n \n
\n
{{data.approvalStatus}}\n \n
\n
{{data.approvalStatus}}\n \n
\n\n
{{data.approvalStatus}}\n   \n \n
\n \n
\n
\n \n
\n
\n
\n \n
\n
\n Loading...\n
\n
\n \n
\n
\n
\n
\n
\n
\n

Search and View Product Details

\n
\n
\n \n \n \n \n
\n
SEARCH RESULTS
\n
\n
\n Loading...\n
\n
\n
\n {{products}}\n \"notes\"\n
\n \n
\n
\n
\n\n \n
\n
\n

Upload Maintenance Details

\n \n \n \n \n \n
\n \n \n Invalid file format\n
\n\n \n \n \n
\n \n \n Product Line\n \n \n {{ productLine }}\n \n \n \n \n Data Category\n \n FAQ\n Spare Parts\n \n \n\n \n \n \n
\n \n \n Invalid file format\n
\n \n \n \n
\n
\n
\n
\n
\n\n
\n
\n
\n Close X\n
\n
\n
\n \n \n
\n
\n \n \n
Message is required
\n
\n
\n
\n Access has been {{currentUserStatus}}ed for selected users\n
\n \n \n \n \n \n \n \n
\n
\n
\n\n
\n \n\n\n ","import { Component, OnInit } from '@angular/core';\nimport { DataSharingService } from '../services/data-sharing.service';\nimport { FormArray, FormBuilder, FormControl, FormControlName, FormGroup, Validators } from '@angular/forms';\nimport { FetchUserDetailsService } from '../services/fetch-user-details.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-register-form',\n templateUrl: './register-form.component.html',\n styleUrls: ['./register-form.component.css']\n})\nexport class RegisterFormComponent implements OnInit {\n unrestrictedUser: boolean = true;\n selectBrand: object;\n brandArr: object;\n registeredUserValue: any;\n isError: boolean = false;\n postFormSubmit: boolean = false;\n registeredEmail: string;\n registerAccountHolder: boolean = false;\n reActivateErr: boolean = false;\n emailAcctStatus: string;\n\n countries: any;\n addregisterForm = this.formBuilder.group({\n firstName: ['', Validators.required],\n lastName: ['', Validators.required],\n email: ['', [Validators.required, Validators.pattern(\"^[a-zA-Z0-9._%+-]+@[a-z0-9.-]+\\\\.[a-z]{2,4}$\")]],\n mobileNo: ['', Validators.required],\n brand: ['', Validators.required],\n orgName: ['', Validators.required],\n country: ['', Validators.required],\n location: [''],\n department: [''],\n });\n\n constructor(public dataSharingService: DataSharingService, private formBuilder: FormBuilder, private userService: FetchUserDetailsService, private snackBar: MatSnackBar, private router: Router) { \n }\n\n ngOnInit(): void {\n \n this.dataSharingService.setHeader(true);\n this.fetchBrandDetails();\n this.userService.getCountries().subscribe((res) => {\n this.countries = res.sort((a, b) => a.name.common > b.name.common ? 1 : -1);\n });\n\n }\n\n onSubmit() {\n this.registeredEmail = this.addregisterForm.controls['email'].value;\n this.registeredUserValue = this.addregisterForm.value;\n this.registeredUserValue.approvalStatus = \"Pending\";\n this.registeredUserValue.userTypeId = 1;\n this.registeredUserValue.accessLevel = 50;\n this.registeredUserValue.role = ['User']; \n this.registeredUserValue.approvedOn = new Date();\n this.registeredUserValue.status = \"Active\"\n this.registeredUserValue.regionalManager = \"\";\n this.registeredUserValue.currency = \"EUR\"\n this.dataSharingService.setLoader(true);\n this.userService.addUserOnBehalf(this.registeredUserValue).subscribe((res) => {\n this.dataSharingService.setLoader(false);\n this.addregisterForm.reset();\n this.isError = res.message;\n this.registerAccountHolder = false;\n this.postFormSubmit = true;\n },\n (err) => {\n this.dataSharingService.setLoader(false);\n this.registerAccountHolder = false;\n this.isError = err.error.message;\n this.postFormSubmit = true;\n console.log(err);\n\n if (err.status == 302 && err.error.message == \"An Inactive user already exists with same email\") {\n this.postFormSubmit = false;\n this.registerAccountHolder = true;\n }\n // this.snackBar.open(err.error.details[0],'', {\n // duration: 3000,\n // })\n })\n }\n\n get registerForm() { return this.addregisterForm.controls };\n\n\n fetchBrandDetails(){\n this.userService.fetchBrandDetails().subscribe(data => {\n this.selectBrand = data.filter(a => a);\n this.brandArr = Object.keys(this.selectBrand).map(key => ({ id: key, value: this.selectBrand[key] }));\n }, err =>{\n console.log(err);\n })\n }\n\n goBack() {\n this.router.navigate(['/login'])\n }\n\n useraccountreactivate() {\n this.dataSharingService.setLoader(true);\n this.userService.userAcctReactivate(this.emailAcctStatus).subscribe(res => {\n this.dataSharingService.setLoader(false);\n this.emailAcctStatus = '';\n this.addregisterForm.reset();\n this.registerAccountHolder = false;\n this.postFormSubmit = true;\n this.isError = res.message;\n })\n }\n\n}\n","\n
\n
\n \"Circor\"/\n
\n
\n\n
\n
\n
\n

Create An Account

\n
\n
\n
\n \n \n
First Name is required
\n
\n
\n
\n
\n \n \n
Last Name is required
\n
\n
\n\n
\n
\n \n \n
Email is required
\n
Email address is invalid
\n
\n
\n\n
\n
\n
\n
\n \n \n
\n Mobile No is required \n
\n
\n
\n\n
\n
\n \n \n
\n Brand is required \n
\n
\n
\n\n
\n
\n \n \n
\n companyName is required \n
\n
\n
\n
\n
\n
\n
\n \n \n\n
\n Country is required \n
\n
\n
\n\n
\n
\n \n \n
\n
\n\n
\n
\n \n \n
\n
\n
\n \n
\n\n
\n \n \n
\n
\n \n \n
\n Your Email id has been registered already but account status is Inactive, if you need to re-activate the same account, please input the below detail and click on send.
We will check and active your CIRCOR Smartapp account within 3 days
\n \n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n\n
\n
\n\n
\n \n
\n\n
\n\n
\n
\n X\n {{isError}}\n {{isError}}\n \n \n
\n
\n\n
\n\n
\n
\n © CIRCOR INTERNATIONAL, INC. ALL RIGHTS RESERVED, 2020.\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, Validators, FormBuilder, FormControl } from '@angular/forms';\n//import { Router } from '@angular/router';\nimport { Router } from '@angular/router';\nimport {DataManager} from '@syncfusion/ej2-data';\nimport { GridComponent, RowSelectEventArgs, FilterType, EditSettingsModel, selectVirtualRow, Column, IRow, rowSelected, SaveEventArgs, ToolbarItems, CommandModel, CommandClickEventArgs, click, CommandButtonOptions,IEditCell} from '@syncfusion/ej2-angular-grids';\nimport { FetchUserDetailsService } from '../services/fetch-user-details.service';\nimport { UserDetails } from '../models/userDetails';\nimport { DataSharingService } from '../services/data-sharing.service';\nimport { ViewChild } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { DropDownList, Fields } from '@syncfusion/ej2-angular-dropdowns';\nimport { query } from '@angular/animations';\n\n@Component({\n selector: 'app-register',\n templateUrl: './register.component.html',\n styleUrls: ['./register.component.css']\n})\nexport class RegisterComponent implements OnInit {\n\n registerForm: FormGroup;\n loading = false;\n submitted = false;\n public data: Object[];\n dynamicUserRows:UserDetails[]=[];\n addedUser:UserDetails;\n removedUser:UserDetails;\n public filter: Object;\n //public toolbar: Object[];\n public toolbar: ToolbarItems[];\n loader:boolean;\n userRows:UserDetails[]=[];\n public operatorEditData: object;\n row:string;\n isSelected:boolean=false;\n @ViewChild('grid')\n public grid: GridComponent;\n public editSettings: EditSettingsModel;\n public commands: CommandModel[];\n selectBrand:any;\n brandArr:any;\n newArr:String[]=[];\n public brandParam:IEditCell;\n public elem: HTMLElement; \n public Obj:DropDownList;\n\n \n\n constructor(private formBuilder: FormBuilder, private route: Router, private userOnBehalfService:FetchUserDetailsService, \n private dataSharingService:DataSharingService, private snackBar: MatSnackBar) { \n     this.registerForm= new FormGroup({\n    firstName:new FormControl('', [Validators.required]),\n email:new FormControl('', [Validators.required,\n Validators.pattern(\"^[a-zA-Z0-9._%+-]+@[a-z0-9.-]+\\\\.[a-z]{2,4}$\")]),\n mobileNo:new FormControl('', [\n // Validators.pattern(\"^((\\\\+91-?)|0)?[0-9]{10}$\")]),\n Validators.pattern(\"^[0-9]*$\"),\n Validators.minLength(1), Validators.maxLength(100)]),\n location: new FormControl(),\n jobTitle: new FormControl(),\n department:new FormControl(),\n orgName: new FormControl('',[Validators.required]),\n lastName:new FormControl('', [Validators.required]), \n brand: new FormControl('',[Validators.required])\n\n });\n }\n\n ngOnInit() {\n this.loader=false;\n this.filter = { type: \"CheckBox\" };\n this.toolbar = ['Search','Edit', 'Delete'];\n this.data = this.dynamicUserRows;\n this.editSettings = { showConfirmDialog: true, showDeleteConfirmDialog: true, \n allowEditing: true,allowEditOnDblClick:false, allowDeleting: true, mode: 'Normal'};\n this.commands = [{ type: 'Edit', buttonOption: { cssClass: 'e-flat', iconCss: 'e-edit e-icons' } },\n { type: 'Delete', buttonOption: { cssClass: 'e-flat', iconCss: 'e-delete e-icons', click:()=>this.deleteUserOnBehalf(this.dynamicUserRows)}},\n { type: 'Save', buttonOption: { cssClass: 'e-flat', iconCss: 'e-update e-icons' } },\n { type: 'Cancel', buttonOption: { cssClass: 'e-flat', iconCss: 'e-cancel-icon e-icons' } }];\n this.fetchBrandDetails();\n this.dataParams();\n \n }\n\n get f() { return this.registerForm.controls; }\n\n onSubmit() {\n this.submitted = true;\n this.loader=false\n if (this.registerForm.invalid) {\n return;\n }\n \n this.addedUser = this.registerForm.value;\n this.dynamicUserRows.push(this.addedUser); \n \n this.grid.refresh(); \n this.registerForm.reset();\n }\n\n addUserOnBehalf(){\n\n console.log(\"Inside add User on Behalf\");\n this.submitted = true;\n this.loader=false\n if (this.registerForm.invalid) {\n return;\n }\n \n this.addedUser = this.registerForm.value;\n this.addedUser.approvalStatus =\"Approved\";\n //this.addedUser.operatorId=11;\n console.log(this.addedUser);\n this.userOnBehalfService.addUserOnBehalf(this.addedUser).subscribe(data =>{\n console.log(data);\n console.log(data.saved_data);\n //this.data=data;\n this.addedUser=data.saved_data;\n console.log(this.addedUser);\n this.dynamicUserRows.push(this.addedUser); \n this.snackBar.open('User has been successfully registered','', {\n duration: 3000,\n // panelClass: 'green-snackbar'\n })\n this.submitted = false;\n this.grid.refresh(); \n this.registerForm.reset();\n }, (err) => {\n console.log(err);\n this.snackBar.open(err.error.details[0],'', {\n duration: 3000,\n })\n })\n }\n\n onReset() {\n this.submitted = false;\n this.registerForm.reset();\n }\n \n ShowDashboardPage(){\n this.route.navigate(['/product-search']);\n }\n\n rowSelected(args: RowSelectEventArgs) { // Get the selected row indexes.\n const selectedrecords: object = this.grid.getSelectedRecords();\n console.log(\"selected Records in row selected method:\",selectedrecords);\n }\n\n editUserOnBehalf(dynamicUserRows){\n const selectedrecords: object = this.grid.getSelectedRecords();\n console.log(\"records:\",selectedrecords);\n if(Object.keys(selectedrecords).length>=1){\n this.userRows = []; \n for (let i = 0; i < Object.keys(selectedrecords).length; i++) {\n selectedrecords[i].userBrand[0].userBrand=selectedrecords[i].brand;\n this.userRows.push(selectedrecords[i]);\n }\n \n this.userOnBehalfService.updateUserOnBehalf(this.userRows).subscribe(data=>\n {\n console.log(\"calling update method\",data);\n this.row = data.Message;\n if(this.row=='Success'){\n this.snackBar.open('Data has been updated','', {\n duration: 3000,\n })\n this.dataSharingService.setGrid(true);\n }\n }, (err) => {\n console.log(err);\n })\n }\n else{\n this.snackBar.open('Row should be selected','', {\n duration: 3000,\n })\n }\n }\n\n deleteUserOnBehalf(dynamicUserRows){\n\n console.log(\"Inside delete User on Behalf\");\n this.submitted = true;\n this.loader=false;\n const selectedrecords: object = this.grid.getSelectedRecords();\n console.log(\"selectedrecords\",selectedrecords);\n \n if(Object.keys(selectedrecords).length==1){\n this.removedUser = selectedrecords[0];\n console.log(\"removedUser\",this.removedUser);\n \n this.userOnBehalfService.deleteUserOnBehalf(selectedrecords[0]).subscribe(data =>{\n console.log(data);\n if(this.row=='Success'){\n this.snackBar.open('Data has been deleted','', {\n duration: 3000,\n })\n // this.dataSharingService.setGrid(true);\n }\n }, (err) => {\n console.log(err);\n })\n }else{\n this.snackBar.open('Row should be selected','', {\n duration: 3000,\n })\n }\n }\n\n validateNumber(event) {\n const keyCode = event.keyCode;\n\n const excludedKeys = [8, 37, 39, 46];\n\n if (!((keyCode >= 48 && keyCode <= 57) ||\n (keyCode >= 96 && keyCode <= 105) ||\n (excludedKeys.includes(keyCode)))) {\n event.preventDefault();\n }\n }\n \n fetchBrandDetails(){\n this.userOnBehalfService.fetchBrandDetails().subscribe(data => {\n this.selectBrand = data.filter(a => a);\n this.brandArr = Object.keys(this.selectBrand).map(key =>({ id:key ,value: this.selectBrand[key]}));\n console.log(this.brandArr);\n this.newArr=this.brandArr.map(a => a.value);\n console.log(this.newArr);\n }, err =>{\n console.log(err);\n })\n }\n \n dataParams(){\n this.brandParam={\n create:() =>{\n this.elem=document.createElement('input');\n return this.elem;\n },\n read:() =>{\n return this.Obj.text;\n },\n destroy:() =>{\n this.Obj.destroy();\n },\n write:() => {\n this.Obj=new DropDownList({\n dataSource:new DataManager(this.brandArr),\n fields:{text:'value', value:'value'},\n\n });\n this.Obj.appendTo(this.elem);\n }\n };\n }\n\n}\n","
DASHBOARD > REGISTER ON USER’S BEHALF\n
\n \n\n\n REGISTER ON USER’S BEHALF

\n
\n\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n
\n
First Name is required
\n
\n \n\n \n
\n
Last Name is required
\n
\n \n\n \n
\n
Email is required
\n
\n
\n \n Please provide a valid email address\n
\n \n\n \n \n
\n Mobile Number is required\n Please provide a valid 10 digit mobile Number\n
\n \n\n \n\n \n\n \n\n \n
\n
Company is required
\n
\n \n \n \n \n
\n
Brand is required
\n
\n \n \n \n \n
\n \n
\n \n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n
\n \n
\n\n ","import { THIS_EXPR } from '@angular/compiler/src/output/output_ast';\nimport { Injectable } from '@angular/core';\nimport { MsalService } from '@azure/msal-angular';\nimport { BehaviorSubject, of } from 'rxjs';\nimport { catchError, map, tap } from 'rxjs/operators';\nimport { OAuthSettings } from 'src/oauth';\nimport { ProductService } from './product.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DataSharingService {\n private userTypeId: number;\n month: String[];\n year: string[];\n country: string[];\n refreshTokenTimer: any;\n\n private showSmallLoader = false;\n private _subscriberId = \"\";\n\n constructor(private productService: ProductService, private authService: MsalService) { \n this.month = ['JAN', 'FEB', 'MAR', 'APR', 'MAY', 'JUN', 'JUL', 'AUG', 'SEP', 'OCT', 'NOV', 'DEC'];\n this.year = ['2022', '2023', '2024', '2025', '2026'];\n this.country = ['Germany', 'USA', 'India', 'Great Britain']\n }\n fetchUserRoleFromServer() {\n return this.productService.getRole().pipe(map((data) => {\n if (!data) {\n return '';\n }\n let role = data.find((element: string) => element === 'Admin');\n if (!role) {\n role = data.find((element: string) => element === 'User');\n } \n this.userRole.next(role);\n return role;\n }),\n catchError((error) => {\n return of('');\n })\n )\n }\n\n refreshAccessToken() {\n this.refreshTokenTimer = setInterval(() => {\n this.authService.acquireTokenSilent(OAuthSettings).then((tokenResponse) => {\n console.log(tokenResponse.accessToken);\n this.setAccessToken(tokenResponse.accessToken);\n }).catch((error) => {\n console.log(error);\n clearInterval(this.refreshTokenTimer);\n });\n }, 400000);\n }\n\n setAccessToken(accessToken){\n const now = new Date();\n const item = {\n value: accessToken,\n expiry: now.getTime() + 500000,\n }\n localStorage.setItem(\"accessToken\", JSON.stringify(item));\n }\n setShowSmallLoader(value: any) {\n this.showSmallLoader = value;\n }\n\n getShowSmallLoader() {\n return this.showSmallLoader;\n }\n\n userRole = new BehaviorSubject(null);\n fetchUserRole = this.userRole.asObservable().pipe(tap((value)=> {if(!value){this.fetchUserRoleFromServer().subscribe()} }));\n\n private loader = new BehaviorSubject(false);\n fetchLoader = this.loader.asObservable();\n\n private pendingArray = new BehaviorSubject(null);\n fetchPendingArray = this.pendingArray.asObservable();\n\n private grid = new BehaviorSubject(null);\n gridValue = this.grid.asObservable();\n\n private faq = new BehaviorSubject(null);\n faqs = this.faq.asObservable();\n\n private headerVisibility = new BehaviorSubject(true);\n isHeaderVisibility = this.headerVisibility.asObservable();\n\n private unrestrictedUser = new BehaviorSubject(null);\n unrestrictedUserAccess = this.unrestrictedUser.asObservable();\n\n private notes = new BehaviorSubject(null);\n fetchNotes = this.notes.asObservable();\n\n private downArrow = new BehaviorSubject(true);\n isDownArrow = this.downArrow.asObservable();\n\n\n fetchPendingData(data) {\n this.pendingArray.next(data);\n }\n\n setGrid(value) {\n this.grid.next(value);\n }\n\n setFaq(value) {\n this.faq.next(value);\n }\n\n setHeader(value) {\n this.headerVisibility.next(value);\n }\n\n setDownArrow(value) {\n this.downArrow.next(value);\n }\n\n setUnrestrictedUser(value) {\n this.unrestrictedUser.next(value);\n }\n setNotes(value) {\n this.notes.next(value);\n }\n\n getLoader() {\n return this.fetchLoader;\n }\n\n setLoader(value: any) {\n this.loader.next(value);\n }\n\n setUserTypeId(value: any) {\n this.userTypeId = value;\n }\n\n getUserTypeId() {\n return this.userTypeId;\n }\n\n getSubscribtionId() {\n return this._subscriberId;\n }\n setSubscribtionId(value: any) {\n this._subscriberId = value;\n }\n \n}\n","import { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport {faqData} from '../mock-data/faqData'\nimport {faq} from '../models/faq';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport{ environment} from '../../environments/environment'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FaqService {\n\n constructor(private http: HttpClient) { }\n\n // getFaq():Observable{\n // return of(faqData);\n // }\n\n getFaq(status):Observable{\n return this.http.post(`${environment.apiUrl}productLine/getFaq`,status)\n }\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable} from 'rxjs';\nimport { UserDetails} from '../models/userDetails'\nimport{ environment} from '../../environments/environment'\nimport { MsalService, BroadcastService } from '@azure/msal-angular';\nimport { Router, NavigationExtras } from '@angular/router';\nimport { map, tap } from 'rxjs/operators';\n@Injectable({\n providedIn: 'root'\n})\nexport class FetchUserDetailsService {\n accessToken: any;\n result: any;\n headers = new HttpHeaders({'X-Skip-Auth':''});\n constructor(private http: HttpClient,private authService: MsalService,private broadcastService: BroadcastService) { \n }\n\n fetchBrandDetails(options?: any): Observable{\n const withAuth = options?.withAuth;\n return this.http.get(`${environment.apiUrl}productLine/brands`,{headers:withAuth ? null : this.headers});\n }\n\n fetchUserDetails():Observable{ \n return this.http.get(`${environment.apiUrl}register/getAllOperator`);\n }\n\n getStatusCount():Observable{\n return this.http.get(`${environment.apiUrl}register/getStatusCount`)\n }\n\n getStatusApproved(userData:any):Observable{\n return this.http.put(`${environment.apiUrl}user-status`, userData);\n }\n \n getStatusWithoutMail(userData:any):Observable{\n return this.http.put(`${environment.apiUrl}user-status-withoutmail`, userData);\n}\n\n// getStatusUA(userData:any):Observable{\n// return this.http.put(`${environment.apiUrl}register/updateApprovelStatus`, userData);\n// }\n \n fetchOperatorByStatus(status):Observable{\n return this.http.post(`${environment.apiUrl}register/fetchOperatorByStatus`,status)\n }\n addUserOnBehalf(userData: UserDetails, options?: any): Observable{\n const withAuth = options?.withAuth;\n return this.http.post(`${environment.apiUrl}register/addUserOnBehalf`, userData, { headers: withAuth ? null : this.headers });\n}\n\nupdateUserOnBehalf(userData:UserDetails[]):Observable{\n return this.http.post(`${environment.apiUrl}register/updateUserOnBehalf`,userData);\n}\n\ndeleteUserOnBehalf(userData:UserDetails):Observable{\n return this.http.post(`${environment.apiUrl}register/deleteUserOnBehalf`,userData);\n}\nfetchUseryEmail(email): Observable{\nreturn this.http.post(`${environment.apiUrl}register/fetchUserByEmail`, email ,{headers:this.headers});\n}\n \nfetchLoginByEmail(email): Observable{\n return this.http.post(`${environment.apiUrl}/register/fetchloginbyemail`, email, {headers:this.headers});\n} \n\nupdateUser(userData: UserDetails): Observable{\n return this.http.put(`${environment.apiUrl}updateUser`, userData);\n}\n\ndeleteUserAccount(emailId: string): Observable {\n return this.http.put(`${environment.apiUrl}users/${emailId}/`, null);\n}\n\nuserAcctReactivate(email: string): Observable {\n return this.http.post(`${environment.apiUrl}useraccountreactivate`, email, {headers:this.headers});\n}\n \n getCountries(): Observable {\n console.log(\"enter the detail\");\n \n return this.http.get(`${environment.apiUrlCty}/all`, {headers: this.headers}).pipe(\n tap((result) => console.log(\"result\", result)),\n map((result) => (this.result = result))\n );\n}\n \n}\n","import { HttpClient, HttpHeaders} from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { MsalService, BroadcastService } from '@azure/msal-angular';\nimport { Router, NavigationExtras } from '@angular/router';\nimport{ environment} from '../../environments/environment'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FileUploadService {\n accessToken:any;\n constructor(private route: Router,private _http: HttpClient,private authService: MsalService,private broadcastService: BroadcastService) { }\n\n private _fileUpload: string;\n\nfileUpload(fileList:any){\n this._fileUpload=`${environment.apiUrl}fileup/fileUploadTag`;\n let formData: FormData = new FormData();\n console.log(\"came here too\"+this._fileUpload);\n let file: File =fileList._files[0];\n formData.append(\"multiple\", file);\n return this._http.post(this._fileUpload, formData);\n }\n fileUploadProduct(fileList:any,prodLine:string,dataCategory:string){\n this._fileUpload=`${environment.apiUrl}fileup/fileUpload`;\n let formData: FormData = new FormData();\n console.log(\"came here too\"+this._fileUpload);\n let file: File =fileList._files[0];\n formData.append(\"multiple\", file);\n formData.append(\"productLine\", prodLine);\n formData.append(\"documentCategory\", dataCategory);\n return this._http.post(this._fileUpload, formData);\n }\n \n fileUploadSpareParts(fileList:any,prodLine:string,dataCategory:string) {\n this._fileUpload=`${environment.apiUrl}fileUploadSpareParts`;\n let formData: FormData = new FormData();\n console.log(\"came here too\"+this._fileUpload);\n let file: File =fileList._files[0];\n formData.append(\"file\", file);\n formData.append(\"productLine\", prodLine);\n formData.append(\"documentCategory\", dataCategory);\n return this._http.post(this._fileUpload, formData);\n }\n\n fileUploadForNotes(fileList:any,prodLine:string,productSerialNo:string):Observable{​​​​​\n this._fileUpload=`${environment.apiUrl}notes/notesFileUpload`;\n let formData: FormData = new FormData();\n console.log(\"came here too\"+this._fileUpload);\n for (let i=0; i < fileList._files.length; i++){\n formData.append(\"notesFiles\", fileList._files[i]);\n }\n formData.append(\"productLineDetails\", prodLine);\n formData.append(\"productSerialNo\", productSerialNo);\n\n return this._http.post(this._fileUpload, formData);\n }​​​​​\n\n sprefDocUpload(fileList:any, productLine:string):Observable{​​​​​\n this._fileUpload=`${environment.apiUrl}uploadsprefdocs`;\n let formData: FormData = new FormData();\n for (let i=0; i < fileList._files.length; i++){\n formData.append(\"files\", fileList._files[i]);\n }\n formData.append(\"productLine\", productLine);\n return this._http.post(this._fileUpload, formData);\n }​​​​​\n\n\n\n}\n","import { HttpClient, HttpHeaders } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { from, Observable, of } from \"rxjs\";\nimport { IsendOthers, IspareParts, ProductDetails } from \"../models/productDetails\";\nimport { environment } from \"../../environments/environment\";\nimport { MsalService, BroadcastService } from \"@azure/msal-angular\";\nimport { Router, NavigationExtras } from \"@angular/router\";\nimport { catchError, map, mergeMap } from \"rxjs/operators\";\n@Injectable({\n providedIn: \"root\",\n})\nexport class ProductService {\n accessToken: any;\n constructor(\n private route: Router,\n private http: HttpClient,\n private authService: MsalService,\n private broadcastService: BroadcastService\n ) {}\n // setAccessToken(accessToken) {\n // const now = new Date();\n // const item = {\n // value: accessToken,\n // expiry: now.getTime() + 500000,\n // };\n // localStorage.setItem(\"accessToken\", JSON.stringify(item));\n // }\n\n // getWithExpiry(): Observable {\n // const itemStr = localStorage.getItem(\"accessToken\");\n // if (!itemStr) {\n // this.route.navigate([\"/login\"]);\n // return of('');\n // }\n\n // const item = JSON.parse(itemStr);\n // const now = new Date();\n // if (now.getTime() > item.expiry) {\n // localStorage.removeItem(\"accessToken\");\n // //try {\n // return from(this.authService.acquireTokenPopup(OAuthSettings)).pipe(map((tokenResponse) => {\n // console.log(tokenResponse.accessToken);\n // this.setAccessToken(tokenResponse.accessToken);\n // return tokenResponse.accessToken;\n // }), catchError((error) => {\n // console.log(error);\n // this.route.navigate([\"/login\"]);\n // return of('');\n // }))\n \n // // then(tokenResponse => {\n\n // // console.log(tokenResponse.accessToken);\n // // this.setAccessToken(tokenResponse.accessToken);\n // // return tokenResponse.accessToken;\n // // }).catch((error) => {\n // // console.log(error);\n // // this.route.navigate([\"/login\"]);\n // // }));\n // //}\n // // } catch(error) {\n // // console.log(error);\n // // this.route.navigate([\"/login\"]);\n // // }\n // // this.authService\n // // .acquireTokenPopup(OAuthSettings)\n // // .then((tokenResponse) => {\n // // console.log(tokenResponse.accessToken);\n // // this.setAccessToken(tokenResponse.accessToken);\n // // return tokenResponse.accessToken;\n // // })\n // // .catch(function (error) {\n // // console.log(error);\n // // this.route.navigate([\"/login\"]);\n // // });\n // }\n // return of(item.value);\n // }\n \n isUploadProgress(fileExtension): Observable {\n return this.http.post(`${environment.apiUrl}/product/isUploadProgress`, fileExtension);\n }\n fetchProductLines(): Observable {\n return this.http.get(`${environment.apiUrl}productLine/listPipeLines`);\n }\n getProductLines(): Observable{\n return this.http.get(`${environment.apiUrl}listProductLines`)\n }\n\n getProductSubscription(userId, serialNo): Observable{\n return this.http.get(`${environment.apiUrl}product/${userId}/subscriptions?serialNo=${serialNo}`)\n }\n\n saveProductSubscription(userId, postData): Observable{\n return this.http.post(`${environment.apiUrl}product/${userId}/subscriptions`, postData);\n }\n\n updateProductSubscription(postData): Observable{\n return this.http.put(`${environment.apiUrl}product/subscriptions`, postData);\n }\n\n fetchProductDetails(serialNo): Observable {\n // return this.getWithExpiry().pipe(mergeMap((token) => {\n // if (token) {\n // token = \"Bearer \" + token;\n // const body = JSON.stringify(serialNo);\n // const headers = new HttpHeaders({ Authorization: token });\n return this.http.post(`${environment.apiUrl}product/fetchProductDetails`, serialNo);\n // }\n // }))\n // const itemStr = localStorage.getItem(\"accessToken\");\n // if (!itemStr) {\n // const body = JSON.stringify(serialNo);\n // return this.http.post(`${environment.apiUrl}product/fetchProductDetails`, serialNo);\n // } else {\n // const item = JSON.parse(itemStr);\n // const now = new Date();\n // if (now.getTime() > item.expiry) {\n // localStorage.removeItem(\"accessToken\");\n // this.authService\n // .acquireTokenPopup(OAuthSettings)\n // .then((tokenResponse) => {\n // console.log(tokenResponse.accessToken);\n // this.setAccessToken(tokenResponse.accessToken);\n // let token = \"Bearer \" + tokenResponse.accessToken;\n // const body = JSON.stringify(serialNo);\n // const headers = new HttpHeaders({ Authorization: token });\n // return this.http.post(`${environment.apiUrl}product/fetchProductDetails`, serialNo, { headers: headers }\n // );\n // })\n // .catch(function (error) {\n // console.log(error);\n // this.route.navigate([\"/login\"]);\n // });\n // } else {\n // let token = \"Bearer \" + item.value;\n // const body = JSON.stringify(serialNo);\n // const headers = new HttpHeaders({ Authorization: token });\n // return this.http.post(\n // `${environment.apiUrl}product/fetchProductDetails`,\n // serialNo,\n // { headers: headers }\n // );\n // }\n // }\n }\n\n listProductDetails(serialNo): Observable {\n return this.http.post(`${environment.apiUrl}listProductDetails`, serialNo);\n }\n\n\n fetchqrCodeDetails(qrCodeId): Observable {\n return this.http.post(`${environment.apiUrl}product/fetchProductDetailsbyQR`, qrCodeId);\n }\n\n fetchProductNotes(serialNo): Observable {\n const body = JSON.stringify(serialNo);\n return this.http.post(`${environment.apiUrl}notes/getProductNotes`, serialNo);\n }\n\n fetchSpareParts(serialNo): Observable {\n return this.http.get(`${environment.apiUrl}getspareparts?serialNo=${serialNo}`);\n }\n \n getRole(): Observable {\n // return this.getWithExpiry().pipe(mergeMap((token) => {\n // token = \"Bearer \" + token;\n // const headers = new HttpHeaders({ Authorization: token });\n return this.http.get(`${environment.apiUrl}getUserRole`);\n // }))\n }\n\n // sendSPQuotes(sparePartsQuote: IspareParts, productFirstAttributes: string): Observable {\n // return this.http.post(`${environment.apiUrl}sendquote`, {spareParts: sparePartsQuote, productFirstAttribute: productFirstAttributes});\n\n\n sendSPQuotes(sparePartsQuote: IspareParts): Observable {\n return this.http.post(`${environment.apiUrl}sendquote`, sparePartsQuote);\n }\n\n sendSPOrder(sparePartsOrder: IspareParts): Observable {\n return this.http.post(`${environment.apiUrl}sendorder`, sparePartsOrder)\n }\n\n addProductNotes(objectData): Observable {\n return this.http.post(`${environment.apiUrl}notes/addProductNotes`, objectData);\n }\n\n deleteProductNotes(deleteNote): Observable {\n return this.http.post(`${environment.apiUrl}product/deleteProductNotes`, deleteNote);\n }\n\n grantAccess(prodlineId: string, customerAccountNo: string, serialNo: string): Observable {\n let formData: FormData = new FormData();\n formData.append(\"productLineId\", prodlineId);\n formData.append(\"customerAccountNo\", customerAccountNo);\n formData.append(\"serialNo\", serialNo);\n return this.http.post(`${environment.apiUrl}product/grantAccessRequest`, formData);\n }\n\n checkQuoteandOrder(productLineName: string): Observable {\n return this.http.get(`${environment.apiUrl}checkQuoteandOrder/${productLineName}`);\n }\n\n searchByProductLine(productLine: string, year: any, month: any, searchType: string): Observable {\n const url = month ? `${environment.apiUrl}productquoteorder?productLineId=${productLine}&month=${month}&year=${year}&searchType=${searchType}` : `${environment.apiUrl}productquoteorder?productLineId=${productLine}&year=${year}&searchType=${searchType}`;\n return this.http.get(url);\n }\n\n searchBySerialNo(serialNo, month: any, year: any, searchType: string): Observable {\n const url = month ? `${environment.apiUrl}productquoteorder?serialNo=${serialNo}&month=${month}&year=${year}&searchType=${searchType}` : `${environment.apiUrl}productquoteorder?serialNo=${serialNo}&year=${year}&searchType=${searchType}`;\n return this.http.get(url);\n }\n \n getTextFieldData(): Observable {\n return this.http.get(`${environment.apiUrl}emailtemplates`)\n }\n\n updateTextFieldData(productLine: string, postData: any): Observable {\n return this.http.put(`${environment.apiUrl}emailtemplates/${productLine}`, postData);\n }\n\n productSplitDetailsByProductLine(productLine: string, year: any, month: any, searchType: string, quoteOrOrder: string, currency: string): Observable {\n const url = month ? `${environment.apiUrl}productquoteorders/productline?productLineId=${productLine}&month=${month}&year=${year}&searchType=${searchType}"eOrOrder=${quoteOrOrder}¤cy=${currency}` : `${environment.apiUrl}productquoteorders/productline?productLineId=${productLine}&year=${year}&searchType=${searchType}"eOrOrder=${quoteOrOrder}¤cy=${currency}`\n return this.http.get(url);\n }\n\n productSplitDetailsBySerialNo(serialNo, month: any, year: any, searchType: string, quoteOrOrder: string, currency: string): Observable {\n const url = month ? `${environment.apiUrl}productquoteorders/serialno?serialNo=${serialNo}&month=${month}&year=${year}&searchType=${searchType}"eOrOrder=${quoteOrOrder}¤cy=${currency}` : `${environment.apiUrl}productquoteorders/serialno?serialNo=${serialNo}&year=${year}&searchType=${searchType}"eOrOrder=${quoteOrOrder}¤cy=${currency}`;\n return this.http.get(url);\n }\n\n getAllProductLine():Observable {\n return this.http.get(`${environment.apiUrl}productlines`);\n }\n\n addProductLine(plData: any): Observable{\n return this.http.post(`${environment.apiUrl}productlines`, plData);\n }\n\n updateProductLine(productLineId: number, plData: any): Observable{\n return this.http.put(`${environment.apiUrl}productlines/${productLineId}`, plData);\n }\n\n getAuditLogsData(pageNo: number, pageSize: number): Observable {\n return this.http.get(`${environment.apiUrl}auditlogs?page=${pageNo}&size=${pageSize}`)\n }\n\n getSparePartRefDocs(productLine: string): Observable {\n return this.http.get (`${environment.apiUrl}getSparePartRefDocs?productLine=${productLine}`)\n }\n\n deleteSparePartRefDocs(productLine: string, fileName: string): Observable {\n console.log(\"fn1\", fileName);\n return this.http.delete(`${environment.apiUrl}deleteSparePartRefDocs?productLine=${productLine}&fileName=${fileName}`);\n }\n\n sendOthersToSpareParts(postData: IsendOthers): Observable {\n return this.http.post(`${environment.apiUrl}sendothers`, postData);\n }\n\n getExchangeRateData(): Observable {\n return this.http.get(`${environment.apiUrl}exchangerate`)\n }\n\n updateExchangeRateData(productLine: string, postData: any): Observable {\n return this.http.put(`${environment.apiUrl}exchangerate/${productLine}`, postData);\n }\n\n}\n","import { Location } from \"@angular/common\";\nimport { Directive, HostListener } from \"@angular/core\";\n\n@Directive({\n selector: '[goBack]'\n})\n\nexport class BackButtonDirective {\n constructor(private location: Location) { }\n \n @HostListener('click')\n onClick() {\n this.location.back();\n }\n}","import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { Router } from \"@angular/router\";\nimport { MsalService } from \"@azure/msal-angular\";\nimport { EMPTY, from, Observable, of, throwError } from \"rxjs\";\nimport { catchError, concatMap, map } from \"rxjs/operators\";\n\n@Injectable()\nexport class AuthInterceptor implements HttpInterceptor {\n\n constructor(private route: Router) {}\n\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n if (request.headers.has('X-Skip-Auth')) {\n const headers = request.headers.delete('X-Skip-Auth');\n return next.handle(request.clone({ headers }));\n }\n const itemStr = localStorage.getItem(\"accessToken\");\n if (!itemStr) {\n this.route.navigate([\"/login\"]);\n return EMPTY;\n }\n const item = JSON.parse(itemStr);\n request = request.clone({\n setHeaders: {\n authorization: `Bearer ${item.value}`\n }\n });\n return next.handle(request).pipe(\n catchError((error) => {\n if (error.status === 401 || error.status === 403) {\n // Token expired, redirect to login page\n this.route.navigate(['/login']);\n }\n return throwError(error);\n })\n );\n }\n\n}\n\n","import { NgModule } from '@angular/core';\nimport { BackButtonDirective } from './directives/go-back-directive';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport {MatSlideToggleModule} from '@angular/material/slide-toggle';\nimport { InfiniteScrollModule } from \"ngx-infinite-scroll\";\n\n\n@NgModule({\n declarations: [BackButtonDirective],\n imports: [\n FormsModule,\n ReactiveFormsModule,\n MatSlideToggleModule,\n InfiniteScrollModule\n ],\n exports: [\n BackButtonDirective,\n FormsModule,\n ReactiveFormsModule,\n MatSlideToggleModule,\n InfiniteScrollModule\n ]\n})\nexport class SharedModule { }\n","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { FetchUserDetailsService } from '../services/fetch-user-details.service';\n\n@Component({\n selector: 'app-user-profile',\n templateUrl: './user-profile.component.html',\n styleUrls: ['./user-profile.component.css']\n})\nexport class UserProfileComponent implements OnInit {\n userdetails:boolean = false;\n public emailValue: string;\n userData: any;\n constructor( private route: Router ) {\n }\n\n ngOnInit(): void {\n }\n ShowDashboardPage(){\n this.route.navigate(['/product-search']);\n }\n}\n","import { Component,ViewChild, OnInit } from '@angular/core';\nimport { ChangeEventArgs } from '@syncfusion/ej2-dropdowns';\nimport { GridComponent, FilterService, FilterType, RowSelectEventArgs, QueryCellInfoEventArgs } from '@syncfusion/ej2-angular-grids';\nimport {MatSnackBar} from '@angular/material/snack-bar';\nimport { FetchUserDetailsService } from '../services/fetch-user-details.service';\nimport { UserDetails} from '../models/userDetails'\nimport { DataSharingService } from '../services/data-sharing.service';\nimport { Tooltip } from '@syncfusion/ej2-angular-popups';\n\n@Component({\n selector: 'app-user-registration-details',\n templateUrl: './user-registration-details.component.html',\n styleUrls: ['./user-registration-details.component.css'],\n providers: [FilterService]\n})\nexport class UserRegistrationDetailsComponent implements OnInit {\n public data: Object[];\n public ddldata: Object[];\n public pageSettings: Object;\n public filter: Object;\n public ddlfields: Object = { text: 'type', value: 'Id' };\n public formatoptions: Object;\n public toolbar: Object[];\n @ViewChild('grid')\n public grid: GridComponent;\n public item: Object = {}; \n // selectRow:Object;\n public selectRow:Object[]=[];\n newProducts:any;\n userData:UserDetails[]=[];\n message:string;\n userRows:UserDetails[]=[];\n\n constructor(private snackBar: MatSnackBar, private userDetails:FetchUserDetailsService, private dataSharingService:DataSharingService) { }\n\n ngOnInit(): void {\n // this.data = userData;\n this.userDetails.fetchUserDetails().subscribe(user=>{\n this.data=user;\n }, (err) => {\n console.log(err);\n })\n\n this.dataSharingService.fetchPendingArray.subscribe(pendingArray =>{\n console.log(\"CLicked on pending array\",pendingArray);\n this.data=pendingArray;\n }\n );\n\n this.dataSharingService.gridValue.subscribe(data=>{\n console.log(\"booleanValue:\",data);\n if(data==true)\n this.grid.refresh();\n })\n \n this.pageSettings = { pageCount: 5 };\n this.filter = { type: \"CheckBox\" };\n this.toolbar = ['Search'];\n }\n\n public onChange(e: ChangeEventArgs): void {\n this.grid.filterSettings.type = e.value;\n this.grid.clearFiltering();\n}\n\n\nrowSelected(args: RowSelectEventArgs) {\n const selectedrowindex: number[] = this.grid.getSelectedRowIndexes(); // Get the selected row indexes.\n const selectedrecords: object[] = this.grid.getSelectedRecords();\n}\n\nuserApprove(data){\n\nconst selectedrecords: object = this.grid.getSelectedRecords();// Get the selected records.\n\nconsole.log(\"selectedRows:\",selectedrecords);\n\nif(Object.keys(selectedrecords).length==1 && selectedrecords[0].operatorId==data.operatorId){\n\n selectedrecords[0].approvalStatus=\"Approved\";\n console.log(\"Changed Status\",selectedrecords[0].approvalStatus);\n\nthis.userData.push(selectedrecords[0]);\nconsole.log(\"UserData\",this.userData);\n\nconsole.log(\"admin:\",selectedrecords[0].adminId.firstName);\n this.userDetails.getStatusApproved(this.userData).subscribe(data=>\n {\nconsole.log(\"Apidata\",data);\n this.message = data.Message;\n if(this.message=='Success'){\n // this.grid.refresh();\n this.snackBar.open('Registration has been approved','', {\n duration: 3000,\n // panelClass: 'green-snackbar'\n })\n this.dataSharingService.setGrid(true);\n }\n }, (err) => {\n console.log(err);\n })\n}\nelse{\n this.snackBar.open('Row should be selected','', {\n duration: 3000,\n // panelClass: 'green-snackbar'\n })\n }\n}\n\nuserReject(data){\n const selectedrecords: object = this.grid.getSelectedRecords();\n\nconsole.log(\"selectedRows:\",selectedrecords);\n\nif(Object.keys(selectedrecords).length==1 && selectedrecords[0].operatorId==data.operatorId){\n\n selectedrecords[0].approvalStatus=\"Rejected\";\n console.log(\"Changed Status\",selectedrecords[0].approvalStatus);\n\nthis.userData.push(selectedrecords[0]);\nconsole.log(\"UserData\",this.userData);\n\nconsole.log(\"admin:\",selectedrecords[0].adminId.firstName);\n this.userDetails.getStatusApproved(this.userData).subscribe(data=>\n {\nconsole.log(\"Apidata\",data);\n this.message = data.Message;\n if(this.message=='Success'){\n this.grid.refresh();\n this.snackBar.open('Registration has been Rejected','', {\n duration: 3000,\n // panelClass: 'green-snackbar'\n })\n this.dataSharingService.setGrid(true);\n }\n }, (err) => {\n console.log(err);\n })\n}\nelse{\n this.snackBar.open('Row should be selected','', {\n duration: 3000,\n // panelClass: 'green-snackbar'\n })\n }\n}\n\nuserRevoke(data){\n const selectedrecords: object = this.grid.getSelectedRecords();\n\nconsole.log(\"selectedRows:\",selectedrecords);\n\nif(Object.keys(selectedrecords).length==1 && selectedrecords[0].operatorId==data.operatorId){\n\n selectedrecords[0].approvalStatus=\"Revoked\";\n console.log(\"Changed Status\",selectedrecords[0].approvalStatus);\n\nthis.userData.push(selectedrecords[0]);\nconsole.log(\"UserData\",this.userData);\n\nconsole.log(\"admin:\",selectedrecords[0].adminId.firstName);\n this.userDetails.getStatusApproved(this.userData).subscribe(data=>\n {\nconsole.log(\"Apidata\",data);\n this.message = data.Message;\n if(this.message=='Success'){\n this.grid.refresh();\n this.snackBar.open('Access has been revoked','', {\n duration: 3000,\n // panelClass: 'green-snackbar'\n })\n this.dataSharingService.setGrid(true);\n }\n }, (err) => {\n console.log(err);\n })\n}\nelse{\n this.snackBar.open('Row should be selected','', {\n duration: 3000,\n // panelClass: 'green-snackbar'\n })\n }\n\nconsole.log(\"selectedRows:\",selectedrecords);\nconsole.log(Object.keys(selectedrecords).length);\nif(Object.keys(selectedrecords).length>=1 && selectedrecords[0].userID==data.userID){\n}\nelse{\n this.snackBar.open('Row should be selected','', {\n duration: 3000,\n // panelClass: 'green-snackbar'\n })\n }\n}\n\nclick(): void { \n console.log(this.item); //Get the checkbox values here... \n}\n\n}\n","
\n
\n \n \n \n \n \n \n \n \n \n \n \n
{{data.approvalStatus}} \n   \n   \n
\n
{{data.approvalStatus}}\n \n
\n
\n {{data.approvalStatus}}\n
\n
\n {{data.approvalStatus}}\n
\n
\n
\n
\n
\n
\n \n ","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false,\n // apiUrl: 'http://localhost:8080/',\n // apiUrl: 'https://dev-traceability-service.azurewebsites.net',\n // apiUrl:'https://test-traceability-service.azurewebsites.net/',\n apiUrl: 'https://circorsmart-service.azurewebsites.net/',\n apiUrlCty: 'https://restcountries.com/v3.1'\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","export const OAuthSettings = {\n// clientId: '0e307113-75d1-43dd-acd8-bc5ec55a0af4', // This is your client ID\n// authority: 'https://login.microsoftonline.com/5f681148-fa85-420d-8673-08b4e9c4266f/', // This is your tenant ID\n// redirectUri: 'https://dev-traceability.azurewebsites.net/auth',// This is your redirect URI\n// clientId: '0e307113-75d1-43dd-acd8-bc5ec55a0af4', // This is your client ID\n// authority: 'https://login.microsoftonline.com/5f681148-fa85-420d-8673-08b4e9c4266f/', // This is your tenant ID\n// redirectUri: 'https://test-traceability.azurewebsites.net/auth',// This is your redirect URI\n clientId: '73866854-7051-487d-bcdd-9398fd283385', // This is your client ID\n authority: 'https://login.microsoftonline.com/5f681148-fa85-420d-8673-08b4e9c4266f/', // This is your tenant ID\n redirectUri: 'https://circorsmart.azurewebsites.net/auth',// This is your redirect URI\n scopes: [\n \n 'user.read',\n 'openid',\n 'profile',\n ]\n };"],"sourceRoot":"webpack:///"}