{"version":3,"sources":["webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/app-routing-module.ts","webpack:///./src/app/app.component.html","webpack:///./src/app/app.component.scss","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/components/action-dropdown-list/action-dropdown-list.component.html","webpack:///./src/app/components/action-dropdown-list/action-dropdown-list.component.scss","webpack:///./src/app/components/action-dropdown-list/action-dropdown-list.component.ts","webpack:///./src/app/components/checkout/checkout.component.html","webpack:///./src/app/components/checkout/checkout.component.scss","webpack:///./src/app/components/checkout/checkout.component.ts","webpack:///./src/app/components/error/error.component.html","webpack:///./src/app/components/error/error.component.scss","webpack:///./src/app/components/error/error.component.ts","webpack:///./src/app/components/header/header.component.html","webpack:///./src/app/components/header/header.component.scss","webpack:///./src/app/components/header/header.component.ts","webpack:///./src/app/components/navigation/navigation.component.html","webpack:///./src/app/components/navigation/navigation.component.scss","webpack:///./src/app/components/navigation/navigation.component.ts","webpack:///./src/app/components/no-product/no-product.component.html","webpack:///./src/app/components/no-product/no-product.component.scss","webpack:///./src/app/components/no-product/no-product.component.ts","webpack:///./src/app/components/order-search/order-search.component.html","webpack:///./src/app/components/order-search/order-search.component.scss","webpack:///./src/app/components/order-search/order-search.component.ts","webpack:///./src/app/components/pass-reset/pass-reset.component.html","webpack:///./src/app/components/pass-reset/pass-reset.component.scss","webpack:///./src/app/components/pass-reset/pass-reset.component.ts","webpack:///./src/app/components/product-details/product-details.component.html","webpack:///./src/app/components/product-details/product-details.component.scss","webpack:///./src/app/components/product-details/product-details.component.ts","webpack:///./src/app/components/product-list/product-list.component.html","webpack:///./src/app/components/product-list/product-list.component.scss","webpack:///./src/app/components/product-list/product-list.component.ts","webpack:///./src/app/components/redirect/redirect.component.html","webpack:///./src/app/components/redirect/redirect.component.scss","webpack:///./src/app/components/redirect/redirect.component.ts","webpack:///./src/app/components/scanning-test/scanning.component.html","webpack:///./src/app/components/scanning-test/scanning.component.scss","webpack:///./src/app/components/scanning-test/scanning.component.ts","webpack:///./src/app/components/scanning/scanning.component.html","webpack:///./src/app/components/scanning/scanning.component.scss","webpack:///./src/app/components/scanning/scanning.component.ts","webpack:///./src/app/components/search-field/search-field.component.html","webpack:///./src/app/components/search-field/search-field.component.scss","webpack:///./src/app/components/search-field/search-field.component.ts","webpack:///./src/app/components/sign-in/sign-in.component.html","webpack:///./src/app/components/sign-in/sign-in.component.scss","webpack:///./src/app/components/sign-in/sign-in.component.ts","webpack:///./src/app/components/spinner/spinner.component.html","webpack:///./src/app/components/spinner/spinner.component.scss","webpack:///./src/app/components/spinner/spinner.component.ts","webpack:///./src/app/directives/validators/min-validator.directive.ts","webpack:///./src/app/guards/AuthorizationGuard.ts","webpack:///./src/app/interceptors/AuthInterceptor.ts","webpack:///./src/app/models/AuthorizationState.ts","webpack:///./src/app/models/Languages.enum.ts","webpack:///./src/app/models/Order.ts","webpack:///./src/app/models/OrderItems.ts","webpack:///./src/app/models/OrderSearch.ts","webpack:///./src/app/models/User.ts","webpack:///./src/app/models/responses/ResponseCode.ts","webpack:///./src/app/services/AuthService.ts","webpack:///./src/app/services/DocumentService.ts","webpack:///./src/app/services/EnvironmentService.ts","webpack:///./src/app/services/InternalDataTransferService.ts","webpack:///./src/app/services/OrderService.ts","webpack:///./src/app/services/PreviousRouterService.ts","webpack:///./src/app/services/ProductService.ts","webpack:///./src/app/services/ServiceBase.ts","webpack:///./src/app/services/UserService.ts","webpack:///./src/environments/EnvironmentDefinitions.ts","webpack:///./src/main.ts"],"names":[],"mappings":"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","file":"main.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 = \"./src/$$_lazy_route_resource lazy recursive\";","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { ScanningComponent } from './components/scanning/scanning.component';\r\nimport { ScanningTestComponent } from './components/scanning-test/scanning.component';\r\nimport { ProductListComponent } from './components/product-list/product-list.component';\r\nimport { ProductDetailsComponent } from './components/product-details/product-details.component';\r\nimport { ErrorComponent } from './components/error/error.component';\r\nimport { SignInComponent } from './components/sign-in/sign-in.component';\r\nimport { AuthorizationGuard } from './guards/AuthorizationGuard';\r\nimport { RedirectComponent } from './components/redirect/redirect.component';\r\nimport { NoProductComponent } from './components/no-product/no-product.component';\r\nimport { CheckoutComponent } from './components/checkout/checkout.component';\r\nimport { OrderSearchComponent } from './components/order-search/order-search.component';\r\nimport { PassResetComponent } from './components/pass-reset/pass-reset.component';\r\n\r\nconst routes: Routes = [\r\n { path: '', redirectTo: '/sign-in', pathMatch: 'full' },\r\n { path: 'sign-in', component: SignInComponent },\r\n { path: 'resetpassword', component: PassResetComponent},\r\n { path: 'redirect', component: RedirectComponent },\r\n { path: 'error/:type', component: ErrorComponent },\r\n { path: 'products', component: ProductListComponent, canActivate: [AuthorizationGuard] },\r\n { path: 'product/:id', component: ProductDetailsComponent, canActivate: [AuthorizationGuard] },\r\n { path: 'scan', component: ScanningComponent, canActivate: [AuthorizationGuard] },\r\n { path: 'scan_test', component: ScanningTestComponent, canActivate: [AuthorizationGuard] },\r\n { path: 'no-product', component: NoProductComponent, canActivate: [AuthorizationGuard] },\r\n { path: 'orders', redirectTo: 'error/notfound' },\r\n {\r\n path: 'orders',\r\n data: {\r\n role: 'order'\r\n },\r\n children: [\r\n { path: 'checkout/:id', component: CheckoutComponent, canActivate: [AuthorizationGuard] },\r\n { path: 'checkout', component: CheckoutComponent, canActivate: [AuthorizationGuard]},\r\n { path: 'search', component: OrderSearchComponent, canActivate: [AuthorizationGuard]},\r\n ]\r\n },\r\n { path: '**', redirectTo: '/sign-in' }\r\n];\r\n\r\n@NgModule({\r\n imports: [ RouterModule.forRoot(routes) ],\r\n exports: [ RouterModule ]\r\n})\r\nexport class AppRoutingModule {}\r\n","module.exports = \"\\r\\n\\r\\n\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FwcC5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\nimport { filter } from 'rxjs/operators';\r\nimport { EnvironmentService } from './services/EnvironmentService';\r\nimport { AuthService } from './services/AuthService';\r\nimport { Subscription } from 'rxjs';\r\nimport { User } from 'src/app/models/User';\r\nimport { UserService } from 'src/app/services/UserService';\r\nimport { Languages } from './models/Languages.enum';\r\n\r\ndeclare var gtag;\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss']\r\n})\r\nexport class AppComponent implements OnInit {\r\n public isIframe: boolean;\r\n public loggedIn: boolean;\r\n private subscription: Subscription;\r\n public user: User = null;\r\n\r\n constructor(\r\n translate: TranslateService,\r\n private router: Router,\r\n private env: EnvironmentService,\r\n private authService: AuthService,\r\n private userService: UserService) {\r\n\r\n const navEndEvent = this.router.events.pipe(\r\n filter(e => e instanceof NavigationEnd)\r\n );\r\n\r\n const environment = this.env.getEnvironment();\r\n const gaId: string = environment.googleAnalyticsId;\r\n\r\n if (environment.production) {\r\n const scriptBody = document.createElement('script');\r\n scriptBody.textContent =\r\n `window.dataLayer = window.dataLayer || [];\r\n function gtag() { dataLayer.push(arguments); }\r\n gtag('js', new Date());`;\r\n\r\n const script = document.createElement('script');\r\n script.async = true;\r\n script.src = `https://www.googletagmanager.com/gtag/js?id=${gaId}`;\r\n\r\n const first = document.head.childNodes[0];\r\n const node = document.head.insertBefore(scriptBody, first);\r\n document.head.insertBefore(script, node);\r\n }\r\n\r\n navEndEvent.subscribe(\r\n (e: NavigationEnd) => {\r\n if (environment.production && this.checkRoute(e)) {\r\n gtag('config', `${gaId}`, { page_path: e.urlAfterRedirects });\r\n }\r\n },\r\n () => { }\r\n );\r\n\r\n const keys: (keyof typeof Languages)[] = Object.keys(Languages) as (keyof typeof Languages)[];\r\n for (const key of keys) {\r\n const locale: string = Languages[key];\r\n translate.addLangs([locale] );\r\n }\r\n\r\n if ( localStorage.getItem('siteLang')) {\r\n translate.setDefaultLang(localStorage.getItem('siteLang'));\r\n translate.use(localStorage.getItem('siteLang'));\r\n } else {\r\n translate.setDefaultLang('en-us');\r\n translate.use(this.detectBrowserLanguage());\r\n }\r\n if (window.location) {\r\n const url: string = window.location.toString();\r\n const indexAccessToken: number = url.indexOf('#access_token=');\r\n const indexState: number = url.indexOf('#state=');\r\n const index = indexAccessToken >= 0 ? indexAccessToken : indexState;\r\n\r\n if (index >= 0) {\r\n const hash: string = url.substr(index, url.length - index);\r\n window.location.href = `${window.location.origin}/#/redirect${hash}`;\r\n }\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.subscription = this.authService.getIsLoggedIn().subscribe(\r\n (isLoggedIn: boolean) => {\r\n if (isLoggedIn && !this.loggedIn) {\r\n this.getUser();\r\n }\r\n this.loggedIn = isLoggedIn;\r\n }\r\n );\r\n }\r\n\r\n detectBrowserLanguage() {\r\n const language = navigator.languages && navigator.languages[0] || navigator.language;\r\n return language.split('-')[0];\r\n }\r\n\r\n private checkRoute(e: NavigationEnd): boolean {\r\n if (e.urlAfterRedirects && e.urlAfterRedirects.indexOf('/redirect') >= 0) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n private getUser() {\r\n this.userService.getUser().subscribe(\r\n data => {\r\n if (data) {\r\n this.user = data.user;\r\n }\r\n }\r\n );\r\n }\r\n\r\n public handleLogout() {\r\n if (this.subscription) {\r\n this.subscription.unsubscribe();\r\n }\r\n this.authService.signOut();\r\n }\r\n\r\n enumKeys(obj: O): K[] {\r\n return Object.keys(obj).filter(k => Number.isNaN(+k)) as K[];\r\n}\r\n}\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS, HttpClient } from '@angular/common/http';\r\nimport { HashLocationStrategy, LocationStrategy } from '@angular/common';\r\nimport { ZXingScannerModule } from '@zxing/ngx-scanner';\r\nimport { AppComponent } from './app.component';\r\nimport { HeaderComponent } from './components/header/header.component';\r\nimport { AppRoutingModule } from './app-routing-module';\r\nimport { ServiceBase } from './services/ServiceBase';\r\nimport { ScanningComponent } from './components/scanning/scanning.component';\r\nimport { ScanningTestComponent } from './components/scanning-test/scanning.component';\r\nimport { ProductListComponent } from './components/product-list/product-list.component';\r\nimport { ProductService } from './services/ProductService';\r\nimport { SearchFieldComponent } from './components/search-field/search-field.component';\r\nimport { NavigationComponent } from './components/navigation/navigation.component';\r\nimport { ActionDropdownListComponent } from './components/action-dropdown-list/action-dropdown-list.component';\r\nimport { ProductDetailsComponent } from './components/product-details/product-details.component';\r\nimport { ErrorComponent } from './components/error/error.component';\r\nimport { InternalDataTransferService } from './services/InternalDataTransferService';\r\nimport { PreviousRouteService } from './services/PreviousRouterService';\r\nimport { SignInComponent } from './components/sign-in/sign-in.component';\r\nimport { AuthModule, OidcConfigService } from 'angular-auth-oidc-client';\r\nimport { AuthorizationGuard } from './guards/AuthorizationGuard';\r\nimport { AuthInterceptor } from './interceptors/AuthInterceptor';\r\nimport { AuthService, AuthType } from './services/AuthService';\r\nimport { RedirectComponent } from './components/redirect/redirect.component';\r\nimport { EnvironmentService } from './services/EnvironmentService';\r\nimport {TranslateModule, TranslateLoader} from '@ngx-translate/core';\r\nimport {TranslateHttpLoader} from '@ngx-translate/http-loader';\r\nimport { DocumentService } from './services/DocumentService';\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { SpinnerComponent } from './components/spinner/spinner.component';\r\nimport { NoProductComponent } from './components/no-product/no-product.component';\r\nimport { CheckoutComponent } from './components/checkout/checkout.component';\r\nimport { OrderService } from './services/OrderService';\r\nimport { OrderSearchComponent } from './components/order-search/order-search.component';\r\nimport { MatTableModule, MatSortModule, MatPaginatorModule, MatProgressSpinnerModule,\r\n MatFormFieldModule, MatNativeDateModule, MatInputModule, MatDialogModule, MatSnackBar, MatSnackBarModule } from '@angular/material';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { FormsModule} from '@angular/forms';\r\nimport { MinValidatorDirective } from './directives/validators/min-validator.directive';\r\nimport { UserService } from './services/UserService';\r\nimport { PassResetComponent } from './components/pass-reset/pass-reset.component';\r\n\r\nexport function HttpLoaderFactory(http: HttpClient) {\r\n return new TranslateHttpLoader(http, '/assets/locale/');\r\n}\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n ErrorComponent,\r\n HeaderComponent,\r\n ActionDropdownListComponent,\r\n NavigationComponent,\r\n ProductDetailsComponent,\r\n RedirectComponent,\r\n ProductListComponent,\r\n ScanningComponent,\r\n ScanningTestComponent,\r\n SearchFieldComponent,\r\n SignInComponent,\r\n SpinnerComponent,\r\n NoProductComponent,\r\n CheckoutComponent,\r\n OrderSearchComponent,\r\n MinValidatorDirective,\r\n PassResetComponent\r\n ],\r\n imports: [\r\n AppRoutingModule,\r\n AuthModule.forRoot(),\r\n BrowserModule,\r\n HttpClientModule,\r\n ReactiveFormsModule,\r\n ZXingScannerModule,\r\n ToastrModule.forRoot(),\r\n BrowserAnimationsModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory,\r\n deps: [HttpClient]\r\n }\r\n }),\r\n MatProgressSpinnerModule,\r\n MatTableModule,\r\n MatFormFieldModule,\r\n MatNativeDateModule,\r\n MatDatepickerModule,\r\n MatInputModule,\r\n FormsModule,\r\n MatDialogModule,\r\n MatPaginatorModule,\r\n MatSnackBarModule,\r\n MatSortModule\r\n ],\r\n providers: [\r\n AuthorizationGuard,\r\n AuthService,\r\n DocumentService,\r\n EnvironmentService,\r\n InternalDataTransferService,\r\n OidcConfigService,\r\n PreviousRouteService,\r\n ProductService,\r\n OrderService,\r\n UserService,\r\n ServiceBase,\r\n {\r\n provide: LocationStrategy,\r\n useClass: HashLocationStrategy\r\n },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: AuthInterceptor,\r\n multi: true\r\n },\r\n ],\r\n bootstrap: [\r\n AppComponent\r\n ]\r\n})\r\nexport class AppModule {\r\n constructor(private authService: AuthService) {\r\n\r\n const matches = /#\\/sign-in\\?authtype=([A-Za-z0-9]+)/.exec(location.hash);\r\n let authType = '';\r\n\r\n if (matches && matches.length > 1) {\r\n authType = matches[1];\r\n }\r\n\r\n if (authType === 'adfs' || authType === 'b2c') {\r\n this.authService.configure(authType === 'adfs' ? AuthType.ADFS : AuthType.ADB2C);\r\n } else {\r\n this.authService.configure();\r\n }\r\n }\r\n}\r\n","module.exports = \"
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\"","module.exports = \".dropdown-toggle {\\n font-family: 'Roboto Bold';\\n font-size: 16px;\\n padding-top: 5px;\\n padding-bottom: 4px;\\n text-align: left;\\n white-space: normal; }\\n .dropdown-toggle .expand-icon {\\n float: right;\\n margin-top: -2px; }\\n .dropdown-menu {\\n position: absolute;\\n min-width: 166px; }\\n .dropdown-menu li {\\n cursor: pointer;\\n font-family: 'Roboto'; }\\n @media only screen and (max-width: 749px) {\\n .dropdown-menu {\\n position: absolute; }\\n .dropdown-menu li {\\n cursor: pointer;\\n font-family: 'Roboto'; } }\\n @media only screen and (max-width: 400px) {\\n .btn-dtsheet {\\n padding-left: 5px;\\n padding-right: 2px; } }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9hY3Rpb24tZHJvcGRvd24tbGlzdC9DOlxcUFBHUmVwb1xcUGFja2FnaW5nVERTX05ld1xcY2xpZW50XFxQYWNrYWdpbmdURFMgR1VJL3NyY1xcYXBwXFxjb21wb25lbnRzXFxhY3Rpb24tZHJvcGRvd24tbGlzdFxcYWN0aW9uLWRyb3Bkb3duLWxpc3QuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSwwQkFBMEI7RUFDMUIsZUFBZTtFQUNmLGdCQUFnQjtFQUNoQixtQkFBbUI7RUFDbkIsZ0JBQWdCO0VBQ2hCLG1CQUFtQixFQUFBO0VBTnJCO0lBUUksWUFBWTtJQUNaLGdCQUFnQixFQUFBO0VBSXBCO0VBQ0ksa0JBQWtCO0VBS2xCLGdCQUFnQixFQUFBO0VBTnBCO0lBR00sZUFBZTtJQUNmLHFCQUFxQixFQUFBO0VBSzNCO0VBQ0U7SUFDRSxrQkFBa0IsRUFBQTtJQURwQjtNQUlJLGVBQWU7TUFDZixxQkFBcUIsRUFBQSxFQUN0QjtFQUdMO0VBQ0U7SUFDRSxpQkFBaUI7SUFDakIsa0JBQWtCLEVBQUEsRUFDbkIiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnRzL2FjdGlvbi1kcm9wZG93bi1saXN0L2FjdGlvbi1kcm9wZG93bi1saXN0LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmRyb3Bkb3duLXRvZ2dsZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gQm9sZCc7XHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG4gIHBhZGRpbmctdG9wOiA1cHg7XHJcbiAgcGFkZGluZy1ib3R0b206IDRweDtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgJiAuZXhwYW5kLWljb24ge1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgbWFyZ2luLXRvcDogLTJweDtcclxuICB9XHJcbn1cclxuXHJcbi5kcm9wZG93bi1tZW51IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICYgbGkge1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvJztcclxuICAgIH1cclxuICAgIG1pbi13aWR0aDogMTY2cHg7XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQ5cHgpIHtcclxuICAuZHJvcGRvd24tbWVudSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcblxyXG4gICAgJiBsaSB7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgZm9udC1mYW1pbHk6ICdSb2JvdG8nO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwMHB4KSB7XHJcbiAgLmJ0bi1kdHNoZWV0e1xyXG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAycHg7XHJcbiAgfVxyXG59XHJcblxyXG4iXX0= */\"","import { Component, Input, OnInit } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'app-action-dropdown-list',\r\n templateUrl: './action-dropdown-list.component.html',\r\n styleUrls: ['./action-dropdown-list.component.scss']\r\n})\r\nexport class ActionDropdownListComponent implements OnInit {\r\n @Input() title: string;\r\n @Input() icon = '';\r\n @Input() buttonClass = 'btn-primary';\r\n @Input() mobileDropdown = 0;\r\n @Input() items: ActionDropdownItem[] = [];\r\n @Input() itemsRunConditions: ActionDropdownItem[] = [];\r\n\r\n constructor( private translate: TranslateService ) { }\r\n\r\n ngOnInit(): void {\r\n for (const item of this.itemsRunConditions) {\r\n item.name = item.name.replace('- Run Condition', '');\r\n item.name = item.name.replace(' Run Condition', '');\r\n }\r\n }\r\n\r\n public onClick(item: ActionDropdownItem) {\r\n if (item) {\r\n item.action();\r\n }\r\n }\r\n}\r\n\r\nexport interface ActionDropdownItem {\r\n name: string;\r\n class?: string;\r\n action(): void;\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n \\r\\n 0 else errorMsg\\\">\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{'ORDER.ORDER_NO' | translate}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{'ORDER.ORDER_DATE' | translate}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{'ORDER.PO_NUMBER' | translate}}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n {{'ORDER.ALERT_REQ_PO_NO' | translate}}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n {{'ORDER.REQUIRED_DATE' | translate}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

{{'ORDER.SHIP_TO_ADDRESS' | translate}}

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
X
\\r\\n
Line Number {{element.lineNumber}} {{'PRODUCT.PRODUCT' | translate}} {{element.productCode}} {{'ORDER.QUANTITY' | translate}} \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n {{'ORDER.ALERT_REQ_QTY' | translate}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
UOM \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n {{'ORDER.ALERT_REQ_UOM' | translate}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
Price \\r\\n
\\r\\n {{element.price | currency}}\\r\\n
\\r\\n
Total Total \\r\\n
\\r\\n {{element.extendedPriceClient | currency}}\\r\\n
\\r\\n
{{total | currency}}
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","module.exports = \".filters-panel {\\n padding-left: 20%;\\n padding-right: 20%; }\\n\\ntable {\\n width: 100%; }\\n\\n.mat-row:nth-child(even) {\\n background-color: #e7ebed; }\\n\\n.mat-column-lineNumberCol {\\n width: 3%;\\n padding-right: 30px; }\\n\\n.mat-column-modifyRowCol {\\n width: 3%;\\n padding-right: 40px; }\\n\\n.mat-column-productCol {\\n width: 40%; }\\n\\n.text-numerical {\\n text-align: right;\\n padding-right: 5px; }\\n\\n.errorTxt {\\n padding-left: 20%;\\n padding-right: 20%; }\\n\\n.checkoutBtn {\\n margin-right: 10px; }\\n\\n.checkoutBtn-wrapper {\\n margin-top: 10px;\\n float: right; }\\n\\n.hdr-form-input {\\n width: 50%; }\\n\\n.form-control-w {\\n width: 100%; }\\n\\nmat-label,\\n.mat-form-field-label {\\n white-space: normal; }\\n\\n.mat-input-element[name=\\\"requiredDate\\\"] {\\n font-size: 20px;\\n padding-top: .5em;\\n padding-bottom: .5em; }\\n\\n.custInfoInput {\\n height: 150px; }\\n\\n.hdr-panel-left {\\n width: 50%;\\n float: left; }\\n\\n.hdr-panel-right {\\n width: 50%;\\n float: right; }\\n\\ninput[type=\\\"text\\\"],\\ninput[type=\\\"password\\\"],\\ninput[type=\\\"text\\\"]:active,\\ninput[type=\\\"password\\\"]:active {\\n border: none !important; }\\n\\n/* mobile */\\n\\n@media only screen and (max-width: 749px) {\\n .hdr-form-input {\\n width: 100%; }\\n .hdr-panel-left {\\n width: 100%; }\\n .hdr-panel-right {\\n width: 100%;\\n padding-bottom: 40px; }\\n .checkoutBtn-wrapper {\\n margin-top: 10px;\\n float: left; } }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9jaGVja291dC9DOlxcUFBHUmVwb1xcUGFja2FnaW5nVERTX05ld1xcY2xpZW50XFxQYWNrYWdpbmdURFMgR1VJL3NyY1xcYXBwXFxjb21wb25lbnRzXFxjaGVja291dFxcY2hlY2tvdXQuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFFRSxpQkFBaUI7RUFDakIsa0JBQWtCLEVBQUE7O0FBR3BCO0VBQ0UsV0FBVyxFQUFBOztBQUdiO0VBQ0UseUJBQW9DLEVBQUE7O0FBR3RDO0VBQ0UsU0FBUztFQUNULG1CQUFtQixFQUFBOztBQUdyQjtFQUNFLFNBQVM7RUFDVCxtQkFBbUIsRUFBQTs7QUFHckI7RUFDRSxVQUFVLEVBQUE7O0FBR1o7RUFDRSxpQkFBaUI7RUFDakIsa0JBQWtCLEVBQUE7O0FBR3BCO0VBQ0UsaUJBQWlCO0VBQ2pCLGtCQUFrQixFQUFBOztBQUdwQjtFQUNFLGtCQUFrQixFQUFBOztBQUlwQjtFQUNFLGdCQUFnQjtFQUNoQixZQUFXLEVBQUE7O0FBR2I7RUFDRSxVQUFVLEVBQUE7O0FBR1o7RUFDRSxXQUFXLEVBQUE7O0FBR1o7O0VBRUMsbUJBQW1CLEVBQUE7O0FBR3JCO0VBQ0ksZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixvQkFBb0IsRUFBQTs7QUFHeEI7RUFDRSxhQUFhLEVBQUE7O0FBR2Y7RUFDRSxVQUFVO0VBQ1YsV0FBVyxFQUFBOztBQUdiO0VBQ0UsVUFBVTtFQUNWLFlBQVksRUFBQTs7QUFHZDs7OztFQUlFLHVCQUF1QixFQUFBOztBQUd6QixXQUFBOztBQUNBO0VBQ0U7SUFDRSxXQUFXLEVBQUE7RUFHYjtJQUNFLFdBQVcsRUFBQTtFQUdiO0lBQ0UsV0FBVztJQUNYLG9CQUFvQixFQUFBO0VBR3RCO0lBQ0UsZ0JBQWdCO0lBQ2hCLFdBQVcsRUFBQSxFQUNaIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50cy9jaGVja291dC9jaGVja291dC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5maWx0ZXJzLXBhbmVsIHtcclxuICAvL2JhY2tncm91bmQtY29sb3I6IHJnYigyMzEsIDIzNSwgMjM3KTtcclxuICBwYWRkaW5nLWxlZnQ6IDIwJTtcclxuICBwYWRkaW5nLXJpZ2h0OiAyMCU7XHJcbn1cclxuXHJcbnRhYmxlIHtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLm1hdC1yb3c6bnRoLWNoaWxkKGV2ZW4pIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjMxLCAyMzUsIDIzNyk7XHJcbn1cclxuXHJcbi5tYXQtY29sdW1uLWxpbmVOdW1iZXJDb2wge1xyXG4gIHdpZHRoOiAzJTtcclxuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xyXG59XHJcblxyXG4ubWF0LWNvbHVtbi1tb2RpZnlSb3dDb2wge1xyXG4gIHdpZHRoOiAzJTtcclxuICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xyXG59XHJcblxyXG4ubWF0LWNvbHVtbi1wcm9kdWN0Q29sIHtcclxuICB3aWR0aDogNDAlO1xyXG59XHJcblxyXG4udGV4dC1udW1lcmljYWwge1xyXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gIHBhZGRpbmctcmlnaHQ6IDVweDtcclxufVxyXG5cclxuLmVycm9yVHh0IHtcclxuICBwYWRkaW5nLWxlZnQ6IDIwJTtcclxuICBwYWRkaW5nLXJpZ2h0OiAyMCU7XHJcbn1cclxuXHJcbi5jaGVja291dEJ0biB7XHJcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gIC8vbWFyZ2luLXRvcDogMTBweDtcclxufVxyXG5cclxuLmNoZWNrb3V0QnRuLXdyYXBwZXIge1xyXG4gIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgZmxvYXQ6cmlnaHQ7XHJcbn1cclxuXHJcbi5oZHItZm9ybS1pbnB1dCB7XHJcbiAgd2lkdGg6IDUwJTtcclxufVxyXG5cclxuLmZvcm0tY29udHJvbC13IHtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuIG1hdC1sYWJlbCxcclxuLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcclxuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG59XHJcblxyXG4ubWF0LWlucHV0LWVsZW1lbnRbbmFtZT1cInJlcXVpcmVkRGF0ZVwiXSB7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBwYWRkaW5nLXRvcDogLjVlbTtcclxuICAgIHBhZGRpbmctYm90dG9tOiAuNWVtO1xyXG59XHJcblxyXG4uY3VzdEluZm9JbnB1dCB7XHJcbiAgaGVpZ2h0OiAxNTBweDtcclxufVxyXG5cclxuLmhkci1wYW5lbC1sZWZ0IHtcclxuICB3aWR0aDogNTAlO1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG59XHJcblxyXG4uaGRyLXBhbmVsLXJpZ2h0IHtcclxuICB3aWR0aDogNTAlO1xyXG4gIGZsb2F0OiByaWdodDtcclxufVxyXG5cclxuaW5wdXRbdHlwZT1cInRleHRcIl0sXHJcbmlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcclxuaW5wdXRbdHlwZT1cInRleHRcIl06YWN0aXZlLFxyXG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06YWN0aXZlIHtcclxuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLyogbW9iaWxlICovXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQ5cHgpIHtcclxuICAuaGRyLWZvcm0taW5wdXQge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG5cclxuICAuaGRyLXBhbmVsLWxlZnQge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG5cclxuICAuaGRyLXBhbmVsLXJpZ2h0IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDQwcHg7XHJcbiAgfVxyXG5cclxuICAuY2hlY2tvdXRCdG4td3JhcHBlciB7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG4iXX0= */\"","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { Order } from '../../models/Order';\r\nimport { ResponseCode } from '../../models/responses/ResponseCode';\r\nimport { OrderService } from 'src/app/services/OrderService';\r\nimport { OrderItems } from 'src/app/models/OrderItems';\r\nimport { OrderSearch } from 'src/app/models/OrderSearch';\r\nimport { Form, FormGroup, FormControl } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { OrderAddress } from 'src/app/models/OrderAddress';\r\n\r\n@Component({\r\n selector: 'app-checkout',\r\n templateUrl: './checkout.component.html',\r\n styleUrls: ['./checkout.component.scss']\r\n})\r\n\r\nexport class CheckoutComponent implements OnInit {\r\n public loading = true;\r\n public order: Order = new Order();\r\n public orderSearch: OrderSearch = new OrderSearch();\r\n public componentOrderItems: OrderItems[] = [];\r\n public errorTxtMsg: string;\r\n public total: number;\r\n public orderCustInfo = '';\r\n public orderNumber: number;\r\n public isReadOnly = false;\r\n public uomOptions: string[] = ['DR', 'PL', 'TW'];\r\n public hidePrice = true;\r\n public submitDisabled = false;\r\n\r\n displayedColumns: string[] = ['modifyRowCol', 'lineNumberCol', 'productCol', 'quantityCol', 'uomCol'];\r\n footerDisplayedColumns: string[] = [];\r\n\r\n constructor(\r\n private orderService: OrderService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.route.paramMap.subscribe(params => {\r\n this.orderNumber = +params.get('id');\r\n });\r\n\r\n if (this.orderNumber > 0) {\r\n this.isReadOnly = true;\r\n this.orderSearch.orderNumber = this.orderNumber;\r\n this.orderSearch.orderStatus = 'PLACED';\r\n } else {\r\n this.isReadOnly = false;\r\n this.orderSearch.orderStatus = 'CART_CREATED';\r\n }\r\n\r\n this.getOrder();\r\n }\r\n\r\n removeItemClick(orderItem: OrderItems) {\r\n if (confirm('Do you wish to remove this item?')) {\r\n this.RemoveOrderItem(orderItem);\r\n }\r\n }\r\n\r\n copyOrderClick() {\r\n if (confirm('Do you wish to copy this order to your cart?')) {\r\n this.copyOrder();\r\n }\r\n }\r\n\r\n submitOrderClick() {\r\n this.UpsertOrder(true);\r\n }\r\n\r\n private setShipToTextArea() {\r\n if (this.order.address) {\r\n this.orderCustInfo = (this.order.address.addressLine1 != null ? `${this.order.address.addressLine1}\\r\\n` : '')\r\n + (this.order.address.addressLine2 != null ? `${this.order.address.addressLine2}\\r\\n` : '')\r\n + (this.order.address.city != null ? `${this.order.address.city}, ` : '')\r\n + (this.order.address.state != null ? `${this.order.address.state} ` : '')\r\n + (this.order.address.postalCode != null ? `${this.order.address.postalCode}\\r\\n` : '')\r\n + (this.order.address.country != null ? `${this.order.address.country}\\r\\n` : '');\r\n if (this.orderCustInfo.length > 10) {\r\n this.orderCustInfo = `${this.order.customerName} \\r\\n` + this.orderCustInfo;\r\n } else {\r\n this.orderCustInfo = '';\r\n }\r\n } else {\r\n this.orderCustInfo = '';\r\n }\r\n }\r\n\r\n private getOrder() {\r\n this.orderService.GetOrder(this.orderSearch).subscribe(\r\n data => {\r\n if (data.status.code === ResponseCode.Ok) {\r\n this.order = new Order();\r\n\r\n if (data.order && (data.order.length > 0 && data.order[0].orderItems.length > 0)) {\r\n this.order = data.order[0];\r\n this.ProcessOrderFields();\r\n } else {\r\n this.order.orderItems = [];\r\n }\r\n } else {\r\n this.order = new Order();\r\n }\r\n },\r\n err => {\r\n\r\n },\r\n () => {\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n\r\n private copyOrder() {\r\n this.submitDisabled = true;\r\n this.loading = true;\r\n this.orderService.CopyOrder(this.order).subscribe(\r\n data => {\r\n if (data.status.code === ResponseCode.Ok) {\r\n this.order = new Order();\r\n\r\n if (data.order) {\r\n this.order = data.order;\r\n this.ProcessOrderFields();\r\n this.isReadOnly = false;\r\n } else {\r\n this.order.orderItems = [];\r\n }\r\n } else {\r\n this.order = new Order();\r\n }\r\n },\r\n err => {\r\n\r\n },\r\n () => {\r\n this.loading = false;\r\n this.submitDisabled = false;\r\n }\r\n );\r\n }\r\n\r\n private UpsertOrder(submitOrder: boolean) {\r\n let d: Date;\r\n\r\n if (!this.order.requiredDate) {\r\n d = new Date();\r\n this.order.requiredDate = d.toDateString();\r\n }\r\n\r\n this.orderService.UpsertOrder(this.order, 'FULL_UPDATE').subscribe(\r\n data => {\r\n if (data.status.code === ResponseCode.Ok) {\r\n if (submitOrder) {\r\n this.SubmitOrder();\r\n }\r\n }\r\n },\r\n err => {\r\n },\r\n () => {\r\n }\r\n );\r\n }\r\n\r\n private SubmitOrder() {\r\n this.submitDisabled = true;\r\n this.orderService.SubmitOrder(this.order.orderId).subscribe(\r\n data => {\r\n if (data && data.status.code === ResponseCode.Ok && data.result) {\r\n this.router.navigate(['/orders/search']);\r\n } else {\r\n alert('Order submission failed!');\r\n }\r\n },\r\n err => {\r\n alert('Order submission failed!');\r\n },\r\n () => {\r\n this.loading = false;\r\n this.submitDisabled = false;\r\n }\r\n );\r\n }\r\n\r\n private RemoveOrderItem(orderItem: OrderItems) {\r\n const orderShell: Order = new Order();\r\n orderShell.orderId = this.order.orderId;\r\n orderShell.orderItems[0] = new OrderItems();\r\n orderShell.orderItems[0].orderItemId = orderItem.orderItemId;\r\n this.orderService.UpsertOrder(orderShell, 'DELETE_ITEM').subscribe(\r\n data => {\r\n if (data.status.code === ResponseCode.Ok) {\r\n this.getOrder();\r\n }\r\n },\r\n err => {\r\n },\r\n () => {\r\n }\r\n );\r\n }\r\n\r\n public GetExtendedPriceClient(oi: OrderItems, qty: number) {\r\n oi.extendedPriceClient = this.DecimalFormatted((this.DecimalFormatted(qty, 2) * this.DecimalFormatted(oi.price, 2)), 2);\r\n this.GetTotal();\r\n }\r\n\r\n private ProcessOrderFields() {\r\n let counter = 0;\r\n\r\n this.order.orderItems.forEach(orderItem => {\r\n orderItem.extendedPriceClient = this.DecimalFormatted(\r\n this.DecimalFormatted(orderItem.quantity, 2) * this.DecimalFormatted(orderItem.price, 2)\r\n , 2);\r\n counter = counter + 1;\r\n orderItem.lineNumber = counter;\r\n });\r\n\r\n this.GetTotal();\r\n\r\n if (!this.hidePrice) {\r\n this.displayedColumns.push('priceCol', 'extendedPriceCol');\r\n this.footerDisplayedColumns.push('priceCol', 'extendedPriceCol');\r\n }\r\n\r\n this.setShipToTextArea();\r\n }\r\n\r\n GetTotal() {\r\n this.total = this.order.orderItems.reduce((tempTotal: number, oi: OrderItems) => {\r\n return tempTotal + oi.extendedPriceClient;\r\n }, 0);\r\n }\r\n\r\n NumberToLocale(num: number, minFractionDigits: number, maxFractionDigits: number): string {\r\n const tempNum: number = isNaN(num) ? 0 : num;\r\n return tempNum.toLocaleString('en-US', { maximumFractionDigits: maxFractionDigits, minimumFractionDigits: minFractionDigits });\r\n }\r\n\r\n DecimalFormatted(num: number, decimalPlace: number): number {\r\n return +((+num).toFixed(decimalPlace));\r\n }\r\n\r\n GetLocaleDate(d: string) {\r\n if (d) {\r\n const date = new Date(d);\r\n return date.toLocaleString('en-US', { month: '2-digit', day: '2-digit', year: 'numeric' });\r\n } else {\r\n return '';\r\n }\r\n\r\n }\r\n\r\n MoveToEndOnFocus(elm: any) {\r\n elm.type = 'text';\r\n elm.setSelectionRange(elm.value.length, elm.value.length);\r\n elm.type = 'number';\r\n }\r\n}\r\n\r\n\r\n","module.exports = \"
\\r\\n \\r\\n \\r\\n {{ \\\"OTHER.ERROR\\\" | translate | uppercase }}\\r\\n

{{ \\\"OTHER.ERROR_ACCESS_DENIED_FULL\\\" | translate }}

\\r\\n \\r\\n \\r\\n {{ \\\"OTHER.CLICK_HERE_TRY_AGAIN\\\" | translate }}\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n {{ \\\"OTHER.ERROR\\\" | translate | uppercase }}\\r\\n

{{ \\\"OTHER.ERROR_PAGE_NOT_FOUND\\\" | translate }}

\\r\\n
\\r\\n \\r\\n {{ header | uppercase }}\\r\\n

{{ message }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \".error-wrapper {\\n padding-left: 20%;\\n padding-right: 20%;\\n background-color: #e7ebed;\\n height: 100%; }\\n\\n/* mobile + tablet */\\n\\n@media only screen and (max-width: 969px) {\\n .error-wrapper {\\n padding-left: 5%;\\n padding-right: 5%; } }\\n\\n/* desktop narrow */\\n\\n@media only screen and (min-width: 970px) and (max-width: 1169px) {\\n .error-wrapper {\\n padding-left: 10%;\\n padding-right: 10%; } }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9lcnJvci9DOlxcUFBHUmVwb1xcUGFja2FnaW5nVERTX05ld1xcY2xpZW50XFxQYWNrYWdpbmdURFMgR1VJL3NyY1xcYXBwXFxjb21wb25lbnRzXFxlcnJvclxcZXJyb3IuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxpQkFBaUI7RUFDakIsa0JBQWtCO0VBQ2xCLHlCQUFvQztFQUNwQyxZQUFZLEVBQUE7O0FBR2hCLG9CQUFBOztBQUNBO0VBQ0U7SUFDSSxnQkFBZ0I7SUFDaEIsaUJBQWlCLEVBQUEsRUFDcEI7O0FBR0gsbUJBQUE7O0FBQ0E7RUFDRTtJQUNJLGlCQUFpQjtJQUNqQixrQkFBa0IsRUFBQSxFQUNyQiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvZXJyb3IvZXJyb3IuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZXJyb3Itd3JhcHBlciB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDIwJTtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDIwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyMzEsIDIzNSwgMjM3KTtcclxuICAgIGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuLyogbW9iaWxlICsgdGFibGV0ICovXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTY5cHgpIHtcclxuICAuZXJyb3Itd3JhcHBlciB7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogNSU7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDUlO1xyXG4gIH1cclxufVxyXG5cclxuLyogZGVza3RvcCBuYXJyb3cgKi9cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NzBweCkgYW5kIChtYXgtd2lkdGg6IDExNjlweCkge1xyXG4gIC5lcnJvci13cmFwcGVyIHtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAxMCU7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEwJTtcclxuICB9XHJcbn1cclxuIl19 */\"","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { AuthorizationState } from '../../models/AuthorizationState';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'app-error',\r\n templateUrl: './error.component.html',\r\n styleUrls: ['./error.component.scss']\r\n})\r\nexport class ErrorComponent implements OnDestroy, OnInit {\r\n private subscription: Subscription;\r\n public message: string;\r\n public header: string;\r\n public type: string;\r\n\r\n constructor(\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private translate: TranslateService) {\r\n this.subscription = this.route.params.subscribe(params => {\r\n this.type = params.type;\r\n\r\n if (this.type) {\r\n this.type = this.type.toLowerCase();\r\n }\r\n this.showForbiddenMessage(this.type);\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n console.log(this.type);\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.subscription) {\r\n this.subscription.unsubscribe();\r\n }\r\n }\r\n\r\n private showForbiddenMessage(type: string) {\r\n if (type === 'forbidden') {\r\n const state: AuthorizationState = this.router.getCurrentNavigation().extras.state.error.state;\r\n switch (state) {\r\n case AuthorizationState.Disabled:\r\n this.header = this.translate.instant('OTHER.ERROR_ACCESS_DENIED');\r\n this.message = this.translate.instant('OTHER.ERROR_FORBIDDEN_DISABLED');\r\n break;\r\n case AuthorizationState.Unverified:\r\n this.header = this.translate.instant('OTHER.PENDING_AUTHORIZATION');\r\n this.message = this.translate.instant('OTHER.ERROR_FORBIDDEN_UNVERIFIED');\r\n break;\r\n }\r\n }\r\n }\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
{{'NAVIGATION.LANGUAGE' |translate}}
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
{{ 'PRODUCT.DOC_LANGUAGE' | translate }}
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\"","module.exports = \".header-block {\\n width: 100%;\\n background-color: #193040;\\n padding-left: 20%;\\n padding-right: 20%;\\n padding-top: 5px 20%;\\n padding-bottom: 20px; }\\n\\n.header-title {\\n font-size: 32px;\\n font-family: 'Roboto Light', 'Roboto';\\n font-weight: 200;\\n font-style: normal;\\n color: #0077AB;\\n padding-top: 3px; }\\n\\n.header-logo-big {\\n height: 60px; }\\n\\n.header-logo-small {\\n display: none; }\\n\\n.header-logo-big {\\n height: 35px; }\\n\\n/* mobile */\\n\\n@media only screen and (max-width: 749px) {\\n .header-title {\\n font-size: 20px;\\n padding-top: 7px; }\\n .header-logo-small {\\n display: block;\\n height: 35px; }\\n .header-logo-big {\\n display: none; }\\n .header-block {\\n padding-left: 5%;\\n padding-right: 5%; } }\\n\\n.person-header {\\n display: flex;\\n flex-direction: row;\\n flex-wrap: wrap;\\n flex: 1 0 100px;\\n padding-bottom: 10px; }\\n\\n.person-header .nav-link {\\n cursor: default;\\n pointer-events: none;\\n text-decoration: none;\\n color: grey;\\n font-size: small;\\n height: 16px; }\\n\\n.person-header .nav-link .material-icons {\\n line-height: 16px;\\n vertical-align: middle;\\n font-size: 16px;\\n color: #0077AB; }\\n\\n.person-header .nav-link h5 {\\n display: inline;\\n height: 16px;\\n vertical-align: bottom;\\n font-size: 13px;\\n padding-left: 5px; }\\n\\n.person-header .person {\\n padding-right: 10px; }\\n\\n/* tablet */\\n\\n@media only screen and (min-width: 750px) and (max-width: 969px) {\\n .header-logo-big {\\n height: 35px; }\\n .header-block {\\n padding-left: 5%;\\n padding-right: 5%; } }\\n\\n/* desktop narrow */\\n\\n@media only screen and (min-width: 970px) and (max-width: 1169px) {\\n .header-logo-big {\\n height: 35px; }\\n .header-block {\\n padding-left: 10%;\\n padding-right: 10%; } }\\n\\n.headerselect {\\n border: 2px solid #000000 !important;\\n font-size: 14px;\\n height: 30px;\\n box-shadow: none !important; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9oZWFkZXIvQzpcXFBQR1JlcG9cXFBhY2thZ2luZ1REU19OZXdcXGNsaWVudFxcUGFja2FnaW5nVERTIEdVSS9zcmNcXGFwcFxcY29tcG9uZW50c1xcaGVhZGVyXFxoZWFkZXIuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxXQUFXO0VBQ1gseUJBQXlCO0VBQ3pCLGlCQUFpQjtFQUNqQixrQkFBa0I7RUFDbEIsb0JBQW9CO0VBQ3BCLG9CQUFvQixFQUFBOztBQUd4QjtFQUNJLGVBQWU7RUFDZixxQ0FBcUM7RUFDckMsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQixjQUFjO0VBQ2QsZ0JBQWdCLEVBQUE7O0FBR3BCO0VBQ0ksWUFBWSxFQUFBOztBQUdoQjtFQUNJLGFBQWEsRUFBQTs7QUFHakI7RUFDSSxZQUFZLEVBQUE7O0FBR2hCLFdBQUE7O0FBQ0E7RUFDSTtJQUNJLGVBQWU7SUFDZixnQkFBZ0IsRUFBQTtFQUVwQjtJQUNJLGNBQWM7SUFDZCxZQUFZLEVBQUE7RUFFaEI7SUFDSSxhQUFhLEVBQUE7RUFFakI7SUFDSSxnQkFBZ0I7SUFDaEIsaUJBQWlCLEVBQUEsRUFDcEI7O0FBR0w7RUFDSSxhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLGVBQWU7RUFDZixlQUFlO0VBQ2Ysb0JBQW9CLEVBQUE7O0FBTHhCO0lBUVEsZUFBZTtJQUNmLG9CQUFvQjtJQUNwQixxQkFBcUI7SUFDckIsV0FBVztJQUNYLGdCQUFnQjtJQUNoQixZQUFZLEVBQUE7O0FBYnBCO01BZ0JZLGlCQUFpQjtNQUNqQixzQkFBc0I7TUFDdEIsZUFBZTtNQUNmLGNBQWMsRUFBQTs7QUFuQjFCO01Bd0JZLGVBQWU7TUFDZixZQUFZO01BQ1osc0JBQXNCO01BQ3RCLGVBQWU7TUFDZixpQkFBaUIsRUFBQTs7QUE1QjdCO0lBaUNRLG1CQUFtQixFQUFBOztBQUkzQixXQUFBOztBQUNBO0VBQ0k7SUFDSSxZQUFZLEVBQUE7RUFFaEI7SUFDSSxnQkFBZ0I7SUFDaEIsaUJBQWlCLEVBQUEsRUFDcEI7O0FBR0wsbUJBQUE7O0FBQ0E7RUFDSTtJQUNJLFlBQVksRUFBQTtFQUVoQjtJQUNFLGlCQUFpQjtJQUNqQixrQkFBa0IsRUFBQSxFQUNyQjs7QUFHSDtFQUNJLG9DQUFvQztFQUNwQyxlQUFlO0VBQ2YsWUFBWTtFQUNaLDJCQUEyQixFQUFBIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmhlYWRlci1ibG9jayB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMxOTMwNDA7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDIwJTtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDIwJTtcclxuICAgIHBhZGRpbmctdG9wOiA1cHggMjAlO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcbi5oZWFkZXItdGl0bGUge1xyXG4gICAgZm9udC1zaXplOiAzMnB4O1xyXG4gICAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTGlnaHQnLCAnUm9ib3RvJztcclxuICAgIGZvbnQtd2VpZ2h0OiAyMDA7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICBjb2xvcjogIzAwNzdBQjtcclxuICAgIHBhZGRpbmctdG9wOiAzcHg7XHJcbn1cclxuXHJcbi5oZWFkZXItbG9nby1iaWcge1xyXG4gICAgaGVpZ2h0OiA2MHB4O1xyXG59XHJcblxyXG4uaGVhZGVyLWxvZ28tc21hbGwge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmhlYWRlci1sb2dvLWJpZyB7XHJcbiAgICBoZWlnaHQ6IDM1cHg7XHJcbn1cclxuXHJcbi8qIG1vYmlsZSAqL1xyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0OXB4KSB7XHJcbiAgICAuaGVhZGVyLXRpdGxlIHtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDdweDtcclxuICAgIH1cclxuICAgIC5oZWFkZXItbG9nby1zbWFsbCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgaGVpZ2h0OiAzNXB4O1xyXG4gICAgfVxyXG4gICAgLmhlYWRlci1sb2dvLWJpZyB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIC5oZWFkZXItYmxvY2sge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogNSU7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogNSU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wZXJzb24taGVhZGVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgZmxleDogMSAwIDEwMHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7ICAgIFxyXG5cclxuICAgIC5uYXYtbGluayB7XHJcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyAgICAgICAgXHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIGNvbG9yOiBncmV5O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogc21hbGw7XHJcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG5cclxuICAgICAgICAubWF0ZXJpYWwtaWNvbnMge1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTZweDsgXHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgY29sb3I6ICMwMDc3QUI7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaDUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnBlcnNvbiB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgIH1cclxufVxyXG5cclxuLyogdGFibGV0ICovXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzUwcHgpIGFuZCAobWF4LXdpZHRoOiA5NjlweCkge1xyXG4gICAgLmhlYWRlci1sb2dvLWJpZyB7XHJcbiAgICAgICAgaGVpZ2h0OiAzNXB4O1xyXG4gICAgfVxyXG4gICAgLmhlYWRlci1ibG9jayB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1JTtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1JTtcclxuICAgIH1cclxufVxyXG5cclxuLyogZGVza3RvcCBuYXJyb3cgKi9cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NzBweCkgYW5kIChtYXgtd2lkdGg6IDExNjlweCkge1xyXG4gICAgLmhlYWRlci1sb2dvLWJpZyB7XHJcbiAgICAgICAgaGVpZ2h0OiAzNXB4O1xyXG4gICAgfVxyXG4gICAgLmhlYWRlci1ibG9jayB7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMTAlO1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMCU7XHJcbiAgfVxyXG59XHJcblxyXG4uaGVhZGVyc2VsZWN0e1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgIzAwMDAwMCAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4iXX0= */\"","import { Component, Input, OnInit } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { User } from 'src/app/models/User';\r\n\r\nimport { Languages } from 'src/app/models/Languages.enum';\r\n@Component({\r\n selector: 'app-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.scss']\r\n})\r\nexport class HeaderComponent implements OnInit {\r\n\r\n\r\n @Input()\r\n public user: User;\r\n\r\n keys = Object.keys;\r\n languages = Languages;\r\n selectedLanguage = 'en-us';\r\n selectedLanguage2 = 'en-us';\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n ) {}\r\n\r\n get UserName(): string {\r\n if (this.user) {\r\n return this.user.firstName + ' ' + this.user.lastName;\r\n } else {\r\n return 'Not Signed-In';\r\n }\r\n\r\n }\r\n\r\n ngOnInit() {\r\n if ( localStorage.getItem('siteLang')) {\r\n this.selectedLanguage = localStorage.getItem('siteLang');\r\n }\r\n if ( localStorage.getItem('fileLang')) {\r\n this.selectedLanguage2 = localStorage.getItem('fileLang');\r\n }\r\n }\r\n\r\n get CustomerName(): string {\r\n if (this.user && this.user.customer) {\r\n return this.user.customer.customerName;\r\n } else if (this.user.emailAddress.includes('ppg.com')) {\r\n return 'PPG Employee';\r\n } else {\r\n return 'Customer not assigned';\r\n }\r\n\r\n }\r\n\r\n setLanguage(language) {\r\n localStorage.setItem('fileLang', language);\r\n }\r\n\r\n setSiteLanguage(languageStr) {\r\n this.selectedLanguage = languageStr;\r\n this.translate.use(languageStr);\r\n localStorage.setItem('siteLang', languageStr);\r\n }\r\n\r\n}\r\n","module.exports = \"
\\r\\n \\r\\n {{ 'NAVIGATION.PRODUCTS' | translate }}\\r\\n \\r\\n {{ 'NAVIGATION.SCAN_BARCODES' | translate }}\\r\\n {{ 'NAVIGATION.SCAN_BARCODES_TEST' | translate }} \\r\\n {{ 'NAVIGATION.ORDER_HISTORY' | translate }}\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n {{ 'NAVIGATION.LOG_OUT' | translate }}\\r\\n\\r\\n \\r\\n
\"","module.exports = \".navigation-block {\\n background-color: #ffffff;\\n min-height: 45px; }\\n\\n.navigation-block-fill {\\n border-top: 1px solid #e7ebed; }\\n\\n.navigation-block-margin-left {\\n margin-left: 20%; }\\n\\n.navigation-block-margin-right {\\n margin-right: 20%; }\\n\\n.navigation-menu-item {\\n border-top: 2px solid transparent;\\n color: #0077ab;\\n cursor: pointer;\\n font-size: 15px;\\n padding: 10px;\\n text-decoration: none; }\\n\\n.navigation-menu-item:hover {\\n border-top: 2px solid #e7ebed; }\\n\\n.active-link, .active-link:hover {\\n border-top: 5px solid #0077ab; }\\n\\n/* mobile */\\n\\n@media only screen and (max-width: 749px) {\\n .navigation-block-margin-left {\\n margin-left: 5%; }\\n .navigation-block-margin-right {\\n margin-right: 5%; }\\n .nv-display {\\n display: flex; } }\\n\\n/* tablet */\\n\\n@media only screen and (min-width: 750px) and (max-width: 969px) {\\n .navigation-block-margin-left {\\n margin-left: 5%; }\\n .navigation-block-margin-right {\\n margin-right: 5%; }\\n .nv-display {\\n display: flex; } }\\n\\n/* desktop narrow */\\n\\n@media only screen and (min-width: 970px) and (max-width: 1169px) {\\n .navigation-block-margin-left {\\n margin-left: 10%; }\\n .navigation-block-margin-right {\\n margin-right: 10%; } }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9uYXZpZ2F0aW9uL0M6XFxQUEdSZXBvXFxQYWNrYWdpbmdURFNfTmV3XFxjbGllbnRcXFBhY2thZ2luZ1REUyBHVUkvc3JjXFxhcHBcXGNvbXBvbmVudHNcXG5hdmlnYXRpb25cXG5hdmlnYXRpb24uY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSx5QkFBeUI7RUFDekIsZ0JBQWdCLEVBQUE7O0FBR2xCO0VBQ0UsNkJBQTRDLEVBQUE7O0FBRzlDO0VBQ0UsZ0JBQWdCLEVBQUE7O0FBR2xCO0VBQ0UsaUJBQWlCLEVBQUE7O0FBR25CO0VBQ0UsaUNBQWlDO0VBQ2pDLGNBQXVCO0VBQ3ZCLGVBQWU7RUFDZixlQUFlO0VBQ2YsYUFBYTtFQUNiLHFCQUFxQixFQUFBOztBQU52QjtJQVFJLDZCQUE0QyxFQUFBOztBQUloRDtFQUNFLDZCQUEwQyxFQUFBOztBQUc1QyxXQUFBOztBQUNBO0VBQ0U7SUFDRSxlQUFlLEVBQUE7RUFHakI7SUFDRSxnQkFBZ0IsRUFBQTtFQUVsQjtJQUNFLGFBQWEsRUFBQSxFQUNkOztBQUdILFdBQUE7O0FBQ0E7RUFDRTtJQUNFLGVBQWUsRUFBQTtFQUdqQjtJQUNFLGdCQUFnQixFQUFBO0VBRWxCO0lBQ0UsYUFBYSxFQUFBLEVBQ2Q7O0FBR0gsbUJBQUE7O0FBQ0E7RUFDRTtJQUNFLGdCQUFnQixFQUFBO0VBR2xCO0lBQ0UsaUJBQWlCLEVBQUEsRUFDbEIiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnRzL25hdmlnYXRpb24vbmF2aWdhdGlvbi5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5uYXZpZ2F0aW9uLWJsb2NrIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xyXG4gIG1pbi1oZWlnaHQ6IDQ1cHg7XHJcbn1cclxuXHJcbi5uYXZpZ2F0aW9uLWJsb2NrLWZpbGwge1xyXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDIzMSwgMjM1LCAyMzcsIDEpO1xyXG59XHJcblxyXG4ubmF2aWdhdGlvbi1ibG9jay1tYXJnaW4tbGVmdCB7XHJcbiAgbWFyZ2luLWxlZnQ6IDIwJTtcclxufVxyXG5cclxuLm5hdmlnYXRpb24tYmxvY2stbWFyZ2luLXJpZ2h0IHtcclxuICBtYXJnaW4tcmlnaHQ6IDIwJTtcclxufVxyXG5cclxuLm5hdmlnYXRpb24tbWVudS1pdGVtIHtcclxuICBib3JkZXItdG9wOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgY29sb3I6IHJnYigwLCAxMTksIDE3MSk7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGZvbnQtc2l6ZTogMTVweDtcclxuICBwYWRkaW5nOiAxMHB4O1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAmOmhvdmVyIHtcclxuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCByZ2JhKDIzMSwgMjM1LCAyMzcsIDEpO1xyXG4gIH1cclxufVxyXG5cclxuLmFjdGl2ZS1saW5rLCAuYWN0aXZlLWxpbms6aG92ZXIge1xyXG4gIGJvcmRlci10b3A6IDVweCBzb2xpZCByZ2JhKDAsIDExOSwgMTcxLCAxKTtcclxufVxyXG5cclxuLyogbW9iaWxlICovXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQ5cHgpIHtcclxuICAubmF2aWdhdGlvbi1ibG9jay1tYXJnaW4tbGVmdCB7XHJcbiAgICBtYXJnaW4tbGVmdDogNSU7XHJcbiAgfVxyXG5cclxuICAubmF2aWdhdGlvbi1ibG9jay1tYXJnaW4tcmlnaHQge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA1JTtcclxuICB9XHJcbiAgLm52LWRpc3BsYXl7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gIH1cclxufVxyXG5cclxuLyogdGFibGV0ICovXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzUwcHgpIGFuZCAobWF4LXdpZHRoOiA5NjlweCkge1xyXG4gIC5uYXZpZ2F0aW9uLWJsb2NrLW1hcmdpbi1sZWZ0IHtcclxuICAgIG1hcmdpbi1sZWZ0OiA1JTtcclxuICB9XHJcblxyXG4gIC5uYXZpZ2F0aW9uLWJsb2NrLW1hcmdpbi1yaWdodCB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDUlO1xyXG4gIH1cclxuICAubnYtZGlzcGxheXtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgfVxyXG59XHJcblxyXG4vKiBkZXNrdG9wIG5hcnJvdyAqL1xyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk3MHB4KSBhbmQgKG1heC13aWR0aDogMTE2OXB4KSB7XHJcbiAgLm5hdmlnYXRpb24tYmxvY2stbWFyZ2luLWxlZnQge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDEwJTtcclxuICB9XHJcblxyXG4gIC5uYXZpZ2F0aW9uLWJsb2NrLW1hcmdpbi1yaWdodCB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwJTtcclxuICB9XHJcbn1cclxuIl19 */\"","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { User } from '../../models/User';\r\nimport { UserService } from '../../services/UserService';\r\nimport { EnvironmentService } from '../../services/EnvironmentService';\r\nimport { AuthService } from 'src/app/services/AuthService';\r\nimport { Subscription } from 'rxjs';\r\nimport { Languages } from 'src/app/models/Languages.enum';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n\r\n@Component({\r\n selector: 'app-navigation',\r\n templateUrl: './navigation.component.html',\r\n styleUrls: ['./navigation.component.scss']\r\n})\r\nexport class NavigationComponent {\r\n public loggedIn = false;\r\n private subscription: Subscription;\r\n\r\n @Input()\r\n public user: User = null;\r\n public languages = Languages;\r\n\r\n @Output() logout: EventEmitter = new EventEmitter();\r\n public isReady = false;\r\n public envService: EnvironmentService;\r\n selectedLanguage = 'English';\r\n\r\n keys = Object.keys;\r\n\r\n constructor(\r\n private router: Router,\r\n private authService: AuthService,\r\n private translate: TranslateService,\r\n private userService: UserService,\r\n private envServ: EnvironmentService) {\r\n this.envService = this.envServ;\r\n }\r\n\r\n\r\n public isProductsLinkActive(): boolean {\r\n return this.router.url === '/products' || this.router.url.startsWith('/product/');\r\n }\r\n\r\n public logoutUser() {\r\n const r = this.userService.SetLogOut();\r\n if(r != null)\r\n r.subscribe();\r\n this.logout.emit(null);\r\n }\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","module.exports = \".wrapper {\\n padding-left: 20%;\\n padding-right: 20%;\\n height: 100%;\\n background-color: #e7ebed; }\\n\\n.scan-header {\\n color: #636c72; }\\n\\n.btn-scanner {\\n padding: 1rem; }\\n\\n/* table */\\n\\n@media only screen and (max-width: 969px) {\\n .wrapper {\\n padding-left: 5%;\\n padding-right: 5%; } }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9uby1wcm9kdWN0L0M6XFxQUEdSZXBvXFxQYWNrYWdpbmdURFNfTmV3XFxjbGllbnRcXFBhY2thZ2luZ1REUyBHVUkvc3JjXFxhcHBcXGNvbXBvbmVudHNcXG5vLXByb2R1Y3RcXG5vLXByb2R1Y3QuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxpQkFBaUI7RUFDakIsa0JBQWtCO0VBQ2xCLFlBQVk7RUFDWix5QkFBb0MsRUFBQTs7QUFFdEM7RUFDRSxjQUFjLEVBQUE7O0FBRWhCO0VBQ0UsYUFBYSxFQUFBOztBQUdmLFVBQUE7O0FBQ0E7RUFDRTtJQUNFLGdCQUFnQjtJQUNoQixpQkFBaUIsRUFBQSxFQUNsQiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvbm8tcHJvZHVjdC9uby1wcm9kdWN0LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLndyYXBwZXIge1xyXG4gIHBhZGRpbmctbGVmdDogMjAlO1xyXG4gIHBhZGRpbmctcmlnaHQ6IDIwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIzMSwgMjM1LCAyMzcpO1xyXG59XHJcbi5zY2FuLWhlYWRlciB7XHJcbiAgY29sb3I6ICM2MzZjNzI7XHJcbn1cclxuLmJ0bi1zY2FubmVyIHtcclxuICBwYWRkaW5nOiAxcmVtO1xyXG59XHJcblxyXG4vKiB0YWJsZSAqL1xyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2OXB4KSB7XHJcbiAgLndyYXBwZXIge1xyXG4gICAgcGFkZGluZy1sZWZ0OiA1JTtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDUlO1xyXG4gIH1cclxufVxyXG4iXX0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-no-product',\r\n templateUrl: './no-product.component.html',\r\n styleUrls: ['./no-product.component.scss']\r\n})\r\nexport class NoProductComponent implements OnInit {\r\n\r\n constructor(private router: Router) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n scanProduct() {\r\n this.router.navigate(['/scan']);\r\n }\r\n\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
Order Number \\r\\n {{element.orderNumber}}\\r\\n Products \\r\\n
{{product}}
\\r\\n
Order Date {{element.orderDate.toLocaleDateString('en-US')}} Purchase Order Number {{element.purchaseOrderNumber}} Total {{NumberToLocale(element.total,2,2)}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\"","module.exports = \".filters-panel {\\n background-color: #e7ebed;\\n padding-left: 20%;\\n padding-right: 20%; }\\n\\ntable {\\n width: 100%; }\\n\\n.table-wrapper {\\n width: 100%;\\n padding-left: 20%;\\n padding-right: 20%; }\\n\\n.table-header-row {\\n background-color: #112330;\\n color: #ffffff;\\n /* padding-top: 10px; */\\n padding-left: 20%;\\n padding-right: 20%;\\n font-family: \\\"Roboto Bold\\\";\\n font-size: 16px; }\\n\\n.rows-wrapper {\\n width: 100%;\\n padding-left: 20%;\\n padding-right: 20%; }\\n\\n.table-row {\\n width: 100%;\\n overflow: auto;\\n line-height: 31px; }\\n\\n.table-row:nth-child(even) {\\n background-color: #e7ebed; }\\n\\n.table-col {\\n float: left;\\n padding-left: 10px;\\n padding-top: 10px;\\n padding-bottom: 10px;\\n white-space: normal;\\n word-break: keep-all; }\\n\\n.mat-row:nth-child(even) {\\n background-color: #e7ebed; }\\n\\n.order-no-col {\\n width: 10%; }\\n\\n.order-no-col,\\n.product-col,\\n.order-date-col,\\n.po-no-col,\\n.price-col {\\n width: 18%; }\\n\\n.text-numerical {\\n text-align: right;\\n padding-right: 5px; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9vcmRlci1zZWFyY2gvQzpcXFBQR1JlcG9cXFBhY2thZ2luZ1REU19OZXdcXGNsaWVudFxcUGFja2FnaW5nVERTIEdVSS9zcmNcXGFwcFxcY29tcG9uZW50c1xcb3JkZXItc2VhcmNoXFxvcmRlci1zZWFyY2guY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSx5QkFBb0M7RUFDcEMsaUJBQWlCO0VBQ2pCLGtCQUFrQixFQUFBOztBQUdwQjtFQUNFLFdBQVcsRUFBQTs7QUFHYjtFQUNFLFdBQVc7RUFDWCxpQkFBaUI7RUFDakIsa0JBQWtCLEVBQUE7O0FBR3BCO0VBQ0UseUJBQXFDO0VBQ3JDLGNBQWM7RUFDZCx1QkFBQTtFQUNBLGlCQUFpQjtFQUNqQixrQkFBa0I7RUFDbEIsMEJBQTBCO0VBQzFCLGVBQWUsRUFBQTs7QUFHakI7RUFDRSxXQUFXO0VBQ1gsaUJBQWlCO0VBQ2pCLGtCQUFrQixFQUFBOztBQUdwQjtFQUNFLFdBQVc7RUFDWCxjQUFjO0VBQ2QsaUJBQWlCLEVBQUE7O0FBSG5CO0lBTUkseUJBQW9DLEVBQUE7O0FBSXhDO0VBQ0UsV0FBVztFQUNYLGtCQUFrQjtFQUNsQixpQkFBaUI7RUFDakIsb0JBQW9CO0VBQ3BCLG1CQUFtQjtFQUNuQixvQkFBb0IsRUFBQTs7QUFHdEI7RUFDRSx5QkFBb0MsRUFBQTs7QUFJdEM7RUFDRSxVQUNGLEVBQUE7O0FBRUE7Ozs7O0VBS0UsVUFDRixFQUFBOztBQUVBO0VBQ0UsaUJBQWlCO0VBQ2pCLGtCQUFrQixFQUFBIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50cy9vcmRlci1zZWFyY2gvb3JkZXItc2VhcmNoLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmZpbHRlcnMtcGFuZWwge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMzEsIDIzNSwgMjM3KTtcclxuICBwYWRkaW5nLWxlZnQ6IDIwJTtcclxuICBwYWRkaW5nLXJpZ2h0OiAyMCU7XHJcbn1cclxuXHJcbnRhYmxlIHtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLnRhYmxlLXdyYXBwZXIge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHBhZGRpbmctbGVmdDogMjAlO1xyXG4gIHBhZGRpbmctcmlnaHQ6IDIwJTtcclxufVxyXG5cclxuLnRhYmxlLWhlYWRlci1yb3cge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTcsIDM1LCA0OCwgMSk7XHJcbiAgY29sb3I6ICNmZmZmZmY7XHJcbiAgLyogcGFkZGluZy10b3A6IDEwcHg7ICovXHJcbiAgcGFkZGluZy1sZWZ0OiAyMCU7XHJcbiAgcGFkZGluZy1yaWdodDogMjAlO1xyXG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90byBCb2xkXCI7XHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG59XHJcblxyXG4ucm93cy13cmFwcGVyIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBwYWRkaW5nLWxlZnQ6IDIwJTtcclxuICBwYWRkaW5nLXJpZ2h0OiAyMCU7XHJcbn1cclxuXHJcbi50YWJsZS1yb3cge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG92ZXJmbG93OiBhdXRvO1xyXG4gIGxpbmUtaGVpZ2h0OiAzMXB4O1xyXG5cclxuICAmOm50aC1jaGlsZChldmVuKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjMxLCAyMzUsIDIzNyk7XHJcbiAgfVxyXG59XHJcblxyXG4udGFibGUtY29sIHtcclxuICBmbG9hdDogbGVmdDtcclxuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICB3b3JkLWJyZWFrOiBrZWVwLWFsbDtcclxufVxyXG5cclxuLm1hdC1yb3c6bnRoLWNoaWxkKGV2ZW4pIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjMxLCAyMzUsIDIzNyk7XHJcbn1cclxuXHJcblxyXG4ub3JkZXItbm8tY29se1xyXG4gIHdpZHRoOiAxMCVcclxufVxyXG5cclxuLm9yZGVyLW5vLWNvbCxcclxuLnByb2R1Y3QtY29sLFxyXG4ub3JkZXItZGF0ZS1jb2wsXHJcbi5wby1uby1jb2wsXHJcbi5wcmljZS1jb2wge1xyXG4gIHdpZHRoOiAxOCVcclxufVxyXG5cclxuLnRleHQtbnVtZXJpY2FsIHtcclxuICB0ZXh0LWFsaWduOiByaWdodDtcclxuICBwYWRkaW5nLXJpZ2h0OiA1cHg7XHJcbn1cclxuIl19 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { OrderSearch } from 'src/app/models/OrderSearch';\r\nimport { OrderService } from 'src/app/services/OrderService';\r\nimport { ResponseCode } from 'src/app/models/responses/ResponseCode';\r\nimport { Order } from 'src/app/models/Order';\r\nimport { OrderItems } from 'src/app/models/OrderItems';\r\nimport { Product } from 'src/app/models/Product';\r\n\r\ndeclare var Quagga: any;\r\n\r\nexport interface OrderHistory {\r\n orderNumber: number;\r\n orderDate: Date;\r\n purchaseOrderNumber: string;\r\n total: number;\r\n products: string[];\r\n}\r\n\r\n@Component({\r\n selector: 'app-order-search',\r\n templateUrl: './order-search.component.html',\r\n styleUrls: ['./order-search.component.scss']\r\n})\r\nexport class OrderSearchComponent implements OnInit {\r\n public loading = false;\r\n private orderSearch: OrderSearch;\r\n public tableData: OrderHistory[] = [];\r\n public hidePrice = true;\r\n\r\n displayedColumns: string[] = ['orderNumberCol', 'productsCol', 'orderDateCol', 'purchaseOrderNumberCol'];\r\n\r\n constructor(\r\n private router: Router,\r\n private orderService: OrderService\r\n ) { }\r\n\r\n ngOnInit() {\r\n Quagga.stop();\r\n if (!this.hidePrice) {\r\n this.displayedColumns.push('totalCol');\r\n }\r\n this.orderSearch = new OrderSearch();\r\n this.orderSearch.orderStatus = 'PLACED';\r\n this.getOrder();\r\n }\r\n\r\n private getOrder() {\r\n this.loading = true;\r\n\r\n this.orderService.GetOrder(this.orderSearch).subscribe(\r\n data => {\r\n if (data.status.code === ResponseCode.Ok && (data.order != null && data.order.length > 0)) {\r\n this.loadElementData(data.order);\r\n }\r\n },\r\n err => {\r\n },\r\n () => {\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n\r\n private loadElementData(orders: Order[]) {\r\n\r\n orders.forEach(order => {\r\n let tempTotal = 0;\r\n const tempProduct: string[] = [];\r\n\r\n const oh: OrderHistory = {\r\n orderNumber: order.orderNumber,\r\n orderDate: new Date(order.orderDate),\r\n purchaseOrderNumber: order.poNumber,\r\n total: 0,\r\n products: []\r\n };\r\n\r\n order.orderItems.forEach(oi => {\r\n tempTotal = tempTotal + this.DecimalFormatted((this.DecimalFormatted(oi.quantity, 2) * this.DecimalFormatted(oi.price, 2)), 2);\r\n tempProduct.push(oi.productCode);\r\n });\r\n oh.total = tempTotal;\r\n oh.products = tempProduct;\r\n\r\n this.tableData.push(oh);\r\n });\r\n\r\n\r\n }\r\n\r\n NumberToLocale(num: number, minFractionDigits: number, maxFractionDigits: number): string {\r\n const tempNum: number = isNaN(num) ? 0 : num;\r\n return tempNum.toLocaleString('en-US', { maximumFractionDigits: maxFractionDigits, minimumFractionDigits: minFractionDigits });\r\n }\r\n\r\n DecimalFormatted(num: number, decimalPlace: number): number {\r\n return +((+num).toFixed(decimalPlace));\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvcGFzcy1yZXNldC9wYXNzLXJlc2V0LmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport { AuthService } from 'src/app/services/AuthService';\r\n\r\n@Component({\r\n selector: 'app-pass-reset',\r\n templateUrl: './pass-reset.component.html',\r\n styleUrls: ['./pass-reset.component.scss']\r\n})\r\nexport class PassResetComponent implements OnInit {\r\n\r\n constructor(private authService: AuthService) { }\r\n\r\n ngOnInit() {\r\n\r\n this.authService.resetPassword();\r\n\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n \\r\\n
\\r\\n {{product?.id}} {{ 'PRODUCT.OBSOLETE' | translate }}\\r\\n \\r\\n \\r\\n {{product?.replacementProductId}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{'PRODUCT.PRODUCT' | translate}}\\r\\n   {{product?.name}}\\r\\n
\\r\\n
\\r\\n {{ 'PRODUCT.LANGUAGE' | translate }}  \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
0\\\">\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{'PRODUCT.TDS' | translate}} - {{'PRODUCT.PDS_WORD' | translate}}
\\r\\n {{'ACTION.DOWNLOAD' | translate}}\\r\\n
\\r\\n
\\r\\n {{'PRODUCT.SDS' | translate}} - {{'PRODUCT.SDS_WORD' | translate}}
\\r\\n {{'ACTION.DOWNLOAD' | translate}}\\r\\n
\\r\\n
\\r\\n {{'PRODUCT.VOC' | translate}} - {{'PRODUCT.VOC_WORD' | translate}}
\\r\\n {{'ACTION.DOWNLOAD' | translate}}\\r\\n
\\r\\n
\\r\\n {{'PRODUCT.COA' | translate}} - {{'PRODUCT.COA_WORD' | translate}}\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n {{'OTHER.ERROR_MSG' | translate}}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\"","module.exports = \".wrapper {\\n width: 100%;\\n padding-left: 20%;\\n padding-right: 20%; }\\n .wrapper.wrapper-details {\\n background-color: #e7ebed; }\\n .wrapper .list {\\n list-style-type: none;\\n padding-left: 0;\\n padding-right: 0;\\n display: inline-block; }\\n .wrapper .list .label {\\n color: #636c72; }\\n .heading-3 {\\n padding-bottom: 20px; }\\n .sds-li {\\n padding-top: 5px; }\\n .obsolete-panel {\\n width: 100%;\\n padding-left: 20%;\\n padding-right: 20%;\\n padding-top: 15px;\\n padding-bottom: 15px;\\n background-color: #e05565;\\n color: #ffffff;\\n font-family: \\\"Roboto\\\";\\n font-weight: 400;\\n font-size: 16px; }\\n .obsolete-panel a {\\n cursor: pointer;\\n text-decoration: underline;\\n color: #ffffff; }\\n .dropdown .dropdown-toggle {\\n font-family: \\\"Roboto Bold\\\";\\n font-size: 16px;\\n padding-top: 5px;\\n padding-bottom: 4px;\\n text-align: left;\\n white-space: normal;\\n word-break: break-all; }\\n .dropdown .dropdown-menu {\\n cursor: pointer;\\n font-family: \\\"Roboto\\\"; }\\n .dropdown .dropdown-menu li a {\\n font-size: larger; }\\n .btn-m {\\n margin-left: 0.5px; }\\n /* mobile */\\n @media only screen and (max-width: 749px) {\\n .wrapper,\\n .obsolete-panel {\\n padding-left: 5%;\\n padding-right: 5%; } }\\n /* table */\\n @media only screen and (max-width: 969px) {\\n .wrapper,\\n .obsolete-panel {\\n padding-left: 5%;\\n padding-right: 5%; } }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9wcm9kdWN0LWRldGFpbHMvQzpcXFBQR1JlcG9cXFBhY2thZ2luZ1REU19OZXdcXGNsaWVudFxcUGFja2FnaW5nVERTIEdVSS9zcmNcXGFwcFxcY29tcG9uZW50c1xccHJvZHVjdC1kZXRhaWxzXFxwcm9kdWN0LWRldGFpbHMuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxXQUFXO0VBQ1gsaUJBQWlCO0VBQ2pCLGtCQUFrQixFQUFBO0VBSHBCO0lBS0kseUJBQXdDLEVBQUE7RUFMNUM7SUFRSSxxQkFBcUI7SUFDckIsZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixxQkFBcUIsRUFBQTtFQVh6QjtNQWFNLGNBQWMsRUFBQTtFQUtwQjtFQUNFLG9CQUFvQixFQUFBO0VBR3RCO0VBQ0UsZ0JBQWdCLEVBQUE7RUFHbEI7RUFDRSxXQUFXO0VBQ1gsaUJBQWlCO0VBQ2pCLGtCQUFrQjtFQUNsQixpQkFBaUI7RUFDakIsb0JBQW9CO0VBQ3BCLHlCQUF1QztFQUN2QyxjQUFjO0VBQ2QscUJBQXFCO0VBQ3JCLGdCQUFnQjtFQUNoQixlQUFlLEVBQUE7RUFWakI7SUFZSSxlQUFlO0lBQ2YsMEJBQTBCO0lBQzFCLGNBQWMsRUFBQTtFQUlsQjtFQUVJLDBCQUEwQjtFQUMxQixlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLG1CQUFtQjtFQUNuQixnQkFBZ0I7RUFDaEIsbUJBQW1CO0VBQ25CLHFCQUFxQixFQUFBO0VBUnpCO0VBV0ksZUFBZTtFQUNmLHFCQUFxQixFQUFBO0VBWnpCO0VBZUksaUJBQWlCLEVBQUE7RUFJckI7RUFDSSxrQkFBa0IsRUFBQTtFQUd0QixXQUFBO0VBQ0E7RUFDRTs7SUFFRSxnQkFBZ0I7SUFDaEIsaUJBQWlCLEVBQUEsRUFDbEI7RUFHSCxVQUFBO0VBQ0E7RUFDRTs7SUFFRSxnQkFBZ0I7SUFDaEIsaUJBQWlCLEVBQUEsRUFDbEIiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnRzL3Byb2R1Y3QtZGV0YWlscy9wcm9kdWN0LWRldGFpbHMuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIud3JhcHBlciB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgcGFkZGluZy1sZWZ0OiAyMCU7XHJcbiAgcGFkZGluZy1yaWdodDogMjAlO1xyXG4gICYud3JhcHBlci1kZXRhaWxzIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjMxLCAyMzUsIDIzNywgMSk7XHJcbiAgfVxyXG4gICYgLmxpc3Qge1xyXG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICYgLmxhYmVsIHtcclxuICAgICAgY29sb3I6ICM2MzZjNzI7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uaGVhZGluZy0zIHtcclxuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuLnNkcy1saSB7XHJcbiAgcGFkZGluZy10b3A6IDVweDtcclxufVxyXG5cclxuLm9ic29sZXRlLXBhbmVsIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBwYWRkaW5nLWxlZnQ6IDIwJTtcclxuICBwYWRkaW5nLXJpZ2h0OiAyMCU7XHJcbiAgcGFkZGluZy10b3A6IDE1cHg7XHJcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMjQsIDg1LCAxMDEsIDEpO1xyXG4gIGNvbG9yOiAjZmZmZmZmO1xyXG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG4gICYgYSB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gIH1cclxufVxyXG5cclxuLmRyb3Bkb3duIHtcclxuICAmIC5kcm9wZG93bi10b2dnbGUge1xyXG4gICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIEJvbGRcIjtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIHBhZGRpbmctdG9wOiA1cHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNHB4O1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XHJcbiAgfVxyXG4gICYgLmRyb3Bkb3duLW1lbnUge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCI7XHJcbiAgfVxyXG4gICYgLmRyb3Bkb3duLW1lbnUgbGkgYSB7XHJcbiAgICBmb250LXNpemU6IGxhcmdlcjtcclxuICB9XHJcbn1cclxuXHJcbi5idG4tbSB7XHJcbiAgICBtYXJnaW4tbGVmdDogMC41cHg7XHJcbn1cclxuXHJcbi8qIG1vYmlsZSAqL1xyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0OXB4KSB7XHJcbiAgLndyYXBwZXIsXHJcbiAgLm9ic29sZXRlLXBhbmVsIHtcclxuICAgIHBhZGRpbmctbGVmdDogNSU7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiA1JTtcclxuICB9XHJcbn1cclxuXHJcbi8qIHRhYmxlICovXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTY5cHgpIHtcclxuICAud3JhcHBlcixcclxuICAub2Jzb2xldGUtcGFuZWwge1xyXG4gICAgcGFkZGluZy1sZWZ0OiA1JTtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDUlO1xyXG4gIH1cclxufVxyXG4iXX0= */\"","import { Component, OnInit, HostListener } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { ProductService } from 'src/app/services/ProductService';\r\nimport { Product } from 'src/app/models/Product';\r\nimport { ResponseCode } from 'src/app/models/responses/ResponseCode';\r\nimport { InternalDataTransferService } from 'src/app/services/InternalDataTransferService';\r\nimport { DocumentService } from 'src/app/services/DocumentService';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Languages } from '../../models/Languages.enum';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { UserService } from '../../services/UserService';\r\nimport { Order } from 'src/app/models/Order';\r\nimport { OrderItems } from 'src/app/models/OrderItems';\r\nimport { OrderService } from '../../services/OrderService';\r\nimport { OrderSearch } from 'src/app/models/OrderSearch';\r\n\r\nconst isSafari = navigator.vendor &&\r\n navigator.vendor.indexOf('Apple') > -1 &&\r\n navigator.userAgent &&\r\n navigator.userAgent.indexOf('CriOS') === -1 &&\r\n navigator.userAgent.indexOf('FxiOS') === -1;\r\n\r\nconst isEdge = navigator && navigator.msSaveOrOpenBlob;\r\n@Component({\r\n selector: 'app-product-details',\r\n templateUrl: './product-details.component.html',\r\n styleUrls: ['./product-details.component.scss']\r\n})\r\nexport class ProductDetailsComponent implements OnInit {\r\n public product: Product = null;\r\n public isLoadingError = false;\r\n keys = Object.keys;\r\n languages = Languages;\r\n selectedLanguage = 'English';\r\n loading = false;\r\n canPlaceOrder = false;\r\n userRegion = 0;\r\n orderShell: Order;\r\n private orderSearch: OrderSearch;\r\n orderItemId: number;\r\n itemIsInCart = false;\r\n cartBtnLbl = '';\r\n cartBtnFunction = 'A';\r\n disableCartBtn = false;\r\n public lotNum = '';\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private documentService: DocumentService,\r\n private productService: ProductService,\r\n private internalDataTransferService: InternalDataTransferService,\r\n private translate: TranslateService,\r\n private toastr: ToastrService,\r\n private userService: UserService,\r\n private orderService: OrderService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.route.params.subscribe(params => {\r\n const id: string = params.id;\r\n this.productService.getProduct(id).subscribe(\r\n response => {\r\n if (response.status.code === ResponseCode.Ok && response.product !== null) {\r\n this.product = response.product;\r\n this.getUser();\r\n } else {\r\n this.product = null;\r\n this.isLoadingError = true;\r\n }\r\n },\r\n () => {\r\n this.product = null;\r\n this.isLoadingError = true;\r\n }\r\n );\r\n });\r\n }\r\n\r\n @HostListener('window:popstate', ['$event'])\r\n onPopState(event) {\r\n this.onBackButtonClick(event);\r\n }\r\n setLanguage(language) {\r\n this.selectedLanguage = language;\r\n }\r\n\r\n onRunConditionsClick(productId: string, runConditionId: string) {\r\n this.loading = true;\r\n this.documentService.getApplicationDataSheetFile(productId, runConditionId, Languages[this.selectedLanguage]).subscribe(\r\n data => {\r\n this.downloadPdfFile(data, `${runConditionId}-ads`);\r\n this.loading = false;\r\n },\r\n () => {\r\n this.showNotification('ADS');\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n\r\n onSdsClick(id: string, productId: string) {\r\n\r\n // const url = this.documentService.getSafetyDataSheetUrl(productId, Languages.English);\r\n // window.open(url);\r\n const process = this.documentService.getSafetyDataSheetUrlSDS(id, productId, Languages.English);\r\n this.loading = true;\r\n\r\n const env = this.documentService.getEnvUrl();\r\n // tslint:disable-next-line:max-line-length\r\n let url = `https://${env}buyat.ppg.com/EHSDocumentManagerPublic/documentSearch.aspx?FolderID1=87&SearchAllPublicFolders=True&CodeCondition=BeginsWith&CodeValue=${productId}&SuppressSearchControls=True`;\r\n\r\n process.subscribe(\r\n result => {\r\n if (result) {\r\n // tslint:disable-next-line:max-line-length\r\n url = `https://${env}buyat.ppg.com/EHSDocumentManagerPublic/documentSearch.aspx?FolderID1=87&SearchAllPublicFolders=True&NameCondition=BeginsWith&NameValue=${productId}&SuppressSearchControls=True`;\r\n }\r\n },\r\n m => {\r\n console.log(' Failed load ');\r\n },\r\n () => {\r\n this.loading = false;\r\n window.open(url);\r\n }\r\n );\r\n }\r\n onTdsClick(productId: string) {\r\n this.loading = true;\r\n this.documentService.getProductDataSheetFile(productId, Languages[this.selectedLanguage]).subscribe(\r\n data => {\r\n this.downloadPdfFile(data, `${productId}-pds`);\r\n this.loading = false;\r\n },\r\n () => {\r\n this.showNotification('PDS');\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n\r\n onVocClick(productId: string) {\r\n this.loading = true;\r\n this.documentService.getVocFile(productId).subscribe(\r\n data => {\r\n this.downloadPdfFile(data, `${productId}-voc`);\r\n this.loading = false;\r\n },\r\n () => {\r\n this.showNotification('VOC');\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n\r\n onDownloadClick(parentItem: string, lotNumber: string) {\r\n this.loading = true;\r\n this.lotNum = lotNumber;\r\n this.documentService.getCoaFile(parentItem, lotNumber).subscribe(\r\n data => {\r\n this.downloadPdfFile(data, `${lotNumber}-coa`);\r\n this.loading = false;\r\n },\r\n () => {\r\n this.showNotification('COA');\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n\r\n\r\n private onBackButtonClick(event) {\r\n if (event.target.location.href && event.target.location.href.indexOf('/products') >= 0) {\r\n this.internalDataTransferService.setStorage({\r\n back: true\r\n });\r\n }\r\n }\r\n\r\n private downloadPdfFile(data: Blob, name?: string) {\r\n const blob = new Blob([data], { type: 'application/pdf' });\r\n const blobUrl = window.URL.createObjectURL(blob);\r\n if (isEdge) {\r\n window.navigator.msSaveOrOpenBlob(blob, `${name}.pdf`);\r\n } else\r\n if (isSafari) {\r\n const link = document.createElement('a');\r\n link.href = blobUrl;\r\n link.download = `${name}.pdf`;\r\n link.click();\r\n } else {\r\n window.open(blobUrl);\r\n }\r\n }\r\n\r\n private showNotification(fileType: string) {\r\n this.toastr.error(`${this.translate.instant('OTHER.ERROR_DOWNLOADING', {value: fileType})}`);\r\n }\r\n\r\n private getUser() {\r\n this.userService.getUser().subscribe(\r\n data => {\r\n if (data) {\r\n this.canPlaceOrder = data.user.canPlaceOrders;\r\n this.userRegion = data.user.userRegion;\r\n if (this.canPlaceOrder) {\r\n this.orderSearch = new OrderSearch();\r\n this.orderShell = new Order();\r\n this.orderSearch.orderStatus = 'CART_CREATED';\r\n this.getOrder(); // find existing cart\r\n } else {\r\n this.loading = false;\r\n }\r\n this.isLoadingError = false;\r\n }\r\n },\r\n () => {\r\n this.isLoadingError = true;\r\n }\r\n );\r\n }\r\n\r\n private setCartButtonLbl() {\r\n if (this.itemIsInCart) {\r\n this.cartBtnLbl = this.translate.instant('ORDER.REMOVE_CART');\r\n this.cartBtnFunction = 'R';\r\n } else {\r\n this.cartBtnLbl = this.translate.instant('ORDER.ADD_TO_CART');\r\n this.cartBtnFunction = 'A';\r\n }\r\n }\r\n\r\n cartClick(product: Product, fct: string) {\r\n if (product.isObsolete) {\r\n return;\r\n }\r\n\r\n this.disableCartBtn = true;\r\n if (fct === 'A') {\r\n const oi = new OrderItems();\r\n oi.productId = product.localId;\r\n oi.quantity = 1;\r\n oi.productCode = product.name;\r\n\r\n if (!this.orderShell.orderId || this.orderShell.orderId === '') {\r\n this.orderShell.orderId = '00000000-0000-0000-0000-000000000000';\r\n this.orderShell.orderStatus = 'CART_CREATED';\r\n }\r\n this.orderShell.orderItems = new Array();\r\n this.orderShell.orderItems.push(oi);\r\n\r\n this.orderService.UpsertOrder(this.orderShell, 'ADD_ITEM').subscribe(\r\n data => {\r\n if (data.status.code === ResponseCode.Ok) {\r\n // we do not receive full order details after upsert. Do not replace order here.\r\n this.orderShell.orderId = data.order.orderId;\r\n this.itemIsInCart = true;\r\n this.orderItemId = data.order.orderItems[0].orderItemId;\r\n this.setCartButtonLbl();\r\n this.disableCartBtn = false;\r\n }\r\n },\r\n err => {\r\n },\r\n () => {\r\n }\r\n );\r\n } else {\r\n this.orderShell.orderItems = [];\r\n this.orderShell.orderItems[0] = new OrderItems();\r\n this.orderShell.orderItems[0].orderItemId = this.orderItemId;\r\n this.orderService.UpsertOrder(this.orderShell, 'DELETE_ITEM').subscribe(\r\n data => {\r\n if (data.status.code === ResponseCode.Ok) {\r\n this.itemIsInCart = false;\r\n this.orderItemId = -1;\r\n this.setCartButtonLbl();\r\n this.disableCartBtn = false;\r\n }\r\n },\r\n err => {\r\n },\r\n () => {\r\n }\r\n );\r\n }\r\n }\r\n\r\n private getOrder() {\r\n this.loading = true;\r\n this.orderService.GetOrder(this.orderSearch).subscribe(\r\n data => {\r\n if (data.status.code === ResponseCode.Ok) {\r\n this.orderShell = new Order();\r\n if (data.order && data.order.length > 0) {\r\n this.orderShell = data.order[0];\r\n this.setProductOrderItemId();\r\n if (this.orderItemId > 0) {\r\n this.itemIsInCart = true;\r\n }\r\n }\r\n } else {\r\n this.orderShell = new Order();\r\n }\r\n this.setCartButtonLbl();\r\n this.loading = false;\r\n },\r\n err => {\r\n },\r\n () => {\r\n }\r\n );\r\n }\r\n\r\n private setProductOrderItemId() {\r\n if (this.orderShell.orderItems.length > 0) {\r\n const oi = this.orderShell.orderItems.find(i => i.productCode === this.product.name);\r\n\r\n if (this.product.isObsolete) {\r\n this.orderItemId = 0;\r\n } else {\r\n this.orderItemId = oi != null ? oi.orderItemId : 0;\r\n }\r\n }\r\n }\r\n}\r\n","module.exports = \"
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n 920;else mobileTable\\\" class=\\\"table rows-wrapper\\\" mat-table [dataSource]=\\\"tableDataSource\\\" matSort>\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{'PRODUCT.PRODUCT_NAME' | translate }}\\r\\n \\r\\n {{'PRODUCT.ADS_WORD' | translate}}\\r\\n \\r\\n \\r\\n {{'PRODUCT.SDS_WORD' | translate}}\\r\\n \\r\\n {{'ACTION.DOWNLOAD' | translate}}\\r\\n \\r\\n {{'PRODUCT.VOC' | translate}}\\r\\n \\r\\n {{'ACTION.DOWNLOAD' | translate}}\\r\\n \\r\\n {{'PRODUCT.COA' | translate}}\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
Doc´s\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{'PRODUCT.PRODUCT_NAME' |translate}}\\r\\n \\r\\n {{'PRODUCT.ADS_WORD' | translate}}\\r\\n \\r\\n \\r\\n Doc´s\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{ 'OTHER.ERROR_MSG' | translate }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\"","module.exports = \"ul {\\n list-style-type: none;\\n padding-right: 35px; }\\n\\nli {\\n width: 225px; }\\n\\n.product-list-wrapper {\\n height: 100%;\\n background-color: #ffffff; }\\n\\n.table-wrapper {\\n width: 100%; }\\n\\n.table-header-row {\\n background-color: #112330;\\n color: #ffffff;\\n /* padding-top: 10px; */\\n padding-left: 20%;\\n padding-right: 20%;\\n font-family: \\\"Roboto Bold\\\";\\n font-size: 16px; }\\n\\n.rows-wrapper {\\n width: 60%;\\n margin-left: 20%;\\n margin-right: 20%; }\\n\\n.form-control-error {\\n outline: 0;\\n -webkit-animation: color-me-in 0.5s;\\n animation: color-me-in 0.5s;\\n /* other keywords like \\\"infinite alternate\\\" can be useful here */ }\\n\\n@-webkit-keyframes color-me-in {\\n /* You could think of as \\\"step 1\\\" */\\n 0% {\\n border-color: red;\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.08), 0 0 8px rgba(254, 0, 0, 0.6); }\\n /* You could think of as \\\"step 2\\\" */\\n 100% {\\n box-shadow: white; } }\\n\\n@keyframes color-me-in {\\n /* You could think of as \\\"step 1\\\" */\\n 0% {\\n border-color: red;\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.08), 0 0 8px rgba(254, 0, 0, 0.6); }\\n /* You could think of as \\\"step 2\\\" */\\n 100% {\\n box-shadow: white; } }\\n\\n.table {\\n font-family: \\\"Roboto Bold\\\"; }\\n\\n.mat-row:nth-child(even) {\\n background-color: #E7EBED !important; }\\n\\n.mat-cell {\\n border-bottom-width: 0px !important;\\n border-bottom-style: none !important; }\\n\\n.table-home-thead-dark {\\n background-color: #112330;\\n color: white;\\n font-family: \\\"Roboto Bold\\\";\\n font-size: 16px; }\\n\\n.table-home-cell, .table-home-thead-dark, .table-home-product-cell, .table-home-cell-font {\\n vertical-align: middle !important;\\n display: table-cell !important; }\\n\\n.table-home-product-cell {\\n color: #193040;\\n font-weight: bold;\\n font-family: \\\"Helvetica Neue\\\",Helvetica,Arial,sans-serif;\\n font-size: 14px; }\\n\\n.table-home-cell-font {\\n font-family: 'Roboto Bold',Roboto;\\n font-size: 16px;\\n font-weight: bold; }\\n\\n.download-btn {\\n color: white;\\n background-color: #00b149;\\n border-color: #00b149; }\\n\\n.table-row {\\n width: 100%;\\n overflow: auto;\\n line-height: 31px; }\\n\\n.table-row:nth-child(even) {\\n background-color: #e7ebed; }\\n\\n.table-col {\\n float: left;\\n padding-left: 10px;\\n padding-top: 10px;\\n padding-bottom: 10px;\\n white-space: normal;\\n word-break: keep-all; }\\n\\n.docs-col {\\n display: none; }\\n\\n.product-id-col {\\n width: 20%; }\\n\\n.cart-col {\\n width: 3%; }\\n\\n.tds-col,\\n.sds-col,\\n.voc-col {\\n width: 20%; }\\n\\n.run-conditions-col {\\n width: 26%;\\n font-family: \\\"Roboto Bold\\\"; }\\n\\n.table-header-row .run-conditions-col {\\n padding-left: 20px; }\\n\\n.products-counter {\\n font-size: 20px; }\\n\\n.products-counter-wrapper {\\n margin-top: 3rem;\\n float: left; }\\n\\n.filters-panel {\\n background-color: #e7ebed;\\n padding-left: 20%;\\n padding-right: 20%; }\\n\\n.cart-panel {\\n background-color: #e7ebed;\\n padding-left: 20%;\\n padding-right: 20%;\\n padding-top: 10px;\\n padding-bottom: 10px; }\\n\\n.obsolete,\\n.obsolete:hover {\\n color: #e05565; }\\n\\n.product-id-col a,\\n.product-details-link.obsolete {\\n cursor: pointer; }\\n\\n.truncate {\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n overflow: hidden; }\\n\\n.dont-wrap {\\n white-space: nowrap; }\\n\\n.fw-b label,\\n.fw-b span {\\n font-weight: bold; }\\n\\n.pull-button {\\n float: right; }\\n\\n@media only screen and (max-width: 400px) {\\n .sp-element {\\n word-break: break-all; } }\\n\\n.dropdown-toggle {\\n padding: 0;\\n background: transparent; }\\n\\n/* mobile */\\n\\n@media only screen and (max-width: 749px) {\\n .tds-col,\\n .sds-col,\\n .voc-col,\\n .run-conditions-col {\\n display: none; }\\n .product-id-col {\\n /*width: 75%; */ }\\n .filters-panel,\\n .table-header-row,\\n .rows-wrapper {\\n width: 95%;\\n margin-left: 5%;\\n margin-right: 5%; }\\n .docs-col {\\n display: block;\\n width: 25%;\\n float: right; }\\n .products-counter-wrapper {\\n margin-top: 0; }\\n .order-icon {\\n font-size: 28px;\\n padding-right: 3%; }\\n .cart-col {\\n width: 3%;\\n margin-right: 40px; } }\\n\\n/* tablet */\\n\\n@media only screen and (min-width: 750px) and (max-width: 969px) {\\n .filters-panel,\\n .table-header-row,\\n .rows-wrapper {\\n width: 90%;\\n margin-left: 5%;\\n margin-right: 5%; }\\n .product-id-col {\\n width: 45%; }\\n .run-conditions-col {\\n width: 26%; } }\\n\\n/* desktop narrow */\\n\\n@media only screen and (min-width: 970px) and (max-width: 1169px) {\\n .filters-panel,\\n .table-header-row,\\n .rows-wrapper {\\n width: 80%;\\n margin-left: 10%;\\n margin-right: 10%; }\\n .product-id-col {\\n width: 20%; }\\n .run-conditions-col {\\n width: 26%; } }\\n\\n@media only screen and (min-width: 1170px) and (max-width: 1750px) {\\n .product-id-col {\\n width: 20%; }\\n .run-conditions-col {\\n width: 26%; } }\\n\\n.language-field-wrapper {\\n position: relative; }\\n\\n.language-field-wrapper .translate-field {\\n width: 100%;\\n padding-right: 10px; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9wcm9kdWN0LWxpc3QvQzpcXFBQR1JlcG9cXFBhY2thZ2luZ1REU19OZXdcXGNsaWVudFxcUGFja2FnaW5nVERTIEdVSS9zcmNcXGFwcFxcY29tcG9uZW50c1xccHJvZHVjdC1saXN0XFxwcm9kdWN0LWxpc3QuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxxQkFBcUI7RUFDckIsbUJBQW1CLEVBQUE7O0FBRXJCO0VBQ0UsWUFBWSxFQUFBOztBQUVkO0VBQ0UsWUFBWTtFQUNaLHlCQUF5QixFQUFBOztBQUd6QjtFQUNFLFdBQVcsRUFBQTs7QUFHYjtFQUNFLHlCQUFxQztFQUNyQyxjQUFjO0VBQ2QsdUJBQUE7RUFDQSxpQkFBaUI7RUFDakIsa0JBQWtCO0VBQ2xCLDBCQUEwQjtFQUMxQixlQUFlLEVBQUE7O0FBR2pCO0VBQ0UsVUFBVTtFQUNWLGdCQUFnQjtFQUNoQixpQkFBaUIsRUFBQTs7QUFHbkI7RUFDRSxVQUFVO0VBQ1YsbUNBQTJCO1VBQTNCLDJCQUEyQjtFQUFFLGdFQUFBLEVBQWlFOztBQUdoRztFQUNFLG1DQUFBO0VBQ0E7SUFDRSxpQkFBaUI7SUFDakIsNkVBQTZFLEVBQUE7RUFFL0UsbUNBQUE7RUFDQTtJQUNFLGlCQUFpQixFQUFBLEVBQUE7O0FBUnJCO0VBQ0UsbUNBQUE7RUFDQTtJQUNFLGlCQUFpQjtJQUNqQiw2RUFBNkUsRUFBQTtFQUUvRSxtQ0FBQTtFQUNBO0lBQ0UsaUJBQWlCLEVBQUEsRUFBQTs7QUFJckI7RUFDRSwwQkFBMEIsRUFBQTs7QUFHNUI7RUFFSSxvQ0FBb0MsRUFBQTs7QUFJeEM7RUFDRSxtQ0FBbUM7RUFDbkMsb0NBQW9DLEVBQUE7O0FBR3ZDO0VBRUMseUJBQXlCO0VBQ3pCLFlBQVk7RUFDWiwwQkFBMEI7RUFDMUIsZUFBZSxFQUFBOztBQUdoQjtFQUNDLGlDQUFpQztFQUNqQyw4QkFBOEIsRUFBQTs7QUFHL0I7RUFFRSxjQUFjO0VBQ2QsaUJBQWlCO0VBQ2pCLHdEQUF3RDtFQUN4RCxlQUFlLEVBQUE7O0FBR2pCO0VBRUMsaUNBQWlDO0VBQ2hDLGVBQWU7RUFDZixpQkFBaUIsRUFBQTs7QUFLbkI7RUFDRSxZQUFZO0VBQ1oseUJBQStCO0VBQy9CLHFCQUEyQixFQUFBOztBQUc1QjtFQUNFLFdBQVc7RUFDWCxjQUFjO0VBQ2QsaUJBQWlCLEVBQUE7O0FBSG5CO0lBS0kseUJBQW9DLEVBQUE7O0FBSXhDO0VBQ0UsV0FBVztFQUNYLGtCQUFrQjtFQUNsQixpQkFBaUI7RUFDakIsb0JBQW9CO0VBQ3BCLG1CQUFtQjtFQUNuQixvQkFBb0IsRUFBQTs7QUFHdEI7RUFDRSxhQUFhLEVBQUE7O0FBRWY7RUFDRSxVQUFVLEVBQUE7O0FBRVo7RUFDRSxTQUNGLEVBQUE7O0FBQ0E7OztFQUdFLFVBQVUsRUFBQTs7QUFHWjtFQUNFLFVBQVU7RUFDViwwQkFBMEIsRUFBQTs7QUFFNUI7RUFDSSxrQkFBa0IsRUFBQTs7QUFHdEI7RUFDRSxlQUFlLEVBQUE7O0FBRWpCO0VBQ0UsZ0JBQWdCO0VBQ2hCLFdBQVcsRUFBQTs7QUFHYjtFQUNFLHlCQUFvQztFQUNwQyxpQkFBaUI7RUFDakIsa0JBQWtCLEVBQUE7O0FBR3BCO0VBQ0UseUJBQW9DO0VBQ3BDLGlCQUFpQjtFQUNqQixrQkFBa0I7RUFDbEIsaUJBQWlCO0VBQ2pCLG9CQUFvQixFQUFBOztBQUd0Qjs7RUFFRSxjQUF3QixFQUFBOztBQUcxQjs7RUFFRSxlQUFlLEVBQUE7O0FBR2pCO0VBQ0UsdUJBQXVCO0VBQ3ZCLG1CQUFtQjtFQUNuQixnQkFBZ0IsRUFBQTs7QUFHbEI7RUFDRSxtQkFBbUIsRUFBQTs7QUFPckI7O0VBRUksaUJBQ0osRUFBQTs7QUFFQTtFQUNFLFlBQVksRUFBQTs7QUFJZDtFQUNFO0lBQ0UscUJBQXFCLEVBQUEsRUFDdEI7O0FBRUg7RUFDRSxVQUFVO0VBQ1YsdUJBQXVCLEVBQUE7O0FBR3pCLFdBQUE7O0FBQ0E7RUFDRTs7OztJQUlFLGFBQWEsRUFBQTtFQTVGakI7SUErRkksZUFBQSxFQUFnQjtFQUVsQjs7O0lBR0UsVUFBVTtJQUNWLGVBQWU7SUFDZixnQkFBZ0IsRUFBQTtFQXpHcEI7SUE0R0ksY0FBYztJQUNkLFVBQVU7SUFDVixZQUFZLEVBQUE7RUFwRmhCO0lBdUZJLGFBQWEsRUFBQTtFQUVmO0lBQ0ksZUFBZTtJQUNmLGlCQUFpQixFQUFBO0VBL0d2QjtJQW1ITSxTQUFTO0lBQ1Qsa0JBQWtCLEVBQUEsRUFDckI7O0FBR0gsV0FBQTs7QUFDQTtFQTNCRTs7O0lBK0JFLFVBQVU7SUFDVixlQUFlO0lBQ2YsZ0JBQWdCLEVBQUE7RUFsSXBCO0lBcUlJLFVBQVUsRUFBQTtFQXpIZDtJQTRISSxVQUFVLEVBQUEsRUFDWDs7QUFJTCxtQkFBQTs7QUFDQTtFQTdDSTs7O0lBaURBLFVBQVU7SUFDVixnQkFBZ0I7SUFDaEIsaUJBQWlCLEVBQUE7RUFwSm5CO0lBdUpFLFVBQVUsRUFBQTtFQTNJWjtJQThJRSxVQUFVLEVBQUEsRUFDWDs7QUFHSDtFQTlKRTtJQWdLRSxVQUFVLEVBQUE7RUFwSlo7SUF1SkUsVUFBVSxFQUFBLEVBQ1g7O0FBS0g7RUFDRSxrQkFBa0IsRUFBQTs7QUFEcEI7SUFJSSxXQUFXO0lBQ1gsbUJBQW1CLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnRzL3Byb2R1Y3QtbGlzdC9wcm9kdWN0LWxpc3QuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJ1bHtcclxuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgcGFkZGluZy1yaWdodDogMzVweDtcclxufVxyXG5saXtcclxuICB3aWR0aDogMjI1cHg7XHJcbn1cclxuLnByb2R1Y3QtbGlzdC13cmFwcGVyIHtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxufVxyXG5cclxuICAudGFibGUtd3JhcHBlciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gIC50YWJsZS1oZWFkZXItcm93IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTcsIDM1LCA0OCwgMSk7XHJcbiAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgIC8qIHBhZGRpbmctdG9wOiAxMHB4OyAqL1xyXG4gICAgcGFkZGluZy1sZWZ0OiAyMCU7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMCU7XHJcbiAgICBmb250LWZhbWlseTogXCJSb2JvdG8gQm9sZFwiO1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gIH1cclxuXHJcbiAgLnJvd3Mtd3JhcHBlciB7XHJcbiAgICB3aWR0aDogNjAlO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDIwJTtcclxuICAgIG1hcmdpbi1yaWdodDogMjAlO1xyXG4gIH1cclxuXHJcbiAgLmZvcm0tY29udHJvbC1lcnJvciB7XHJcbiAgICBvdXRsaW5lOiAwO1xyXG4gICAgYW5pbWF0aW9uOiBjb2xvci1tZS1pbiAwLjVzOyAvKiBvdGhlciBrZXl3b3JkcyBsaWtlIFwiaW5maW5pdGUgYWx0ZXJuYXRlXCIgY2FuIGJlIHVzZWZ1bCBoZXJlICovXHJcbiAgfVxyXG4gIFxyXG4gIEBrZXlmcmFtZXMgY29sb3ItbWUtaW4ge1xyXG4gICAgLyogWW91IGNvdWxkIHRoaW5rIG9mIGFzIFwic3RlcCAxXCIgKi9cclxuICAgIDAlIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiByZWQ7XHJcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDgpLCAwIDAgOHB4IHJnYmEoMjU0LCAwLCAwLCAwLjYpOyAgXHJcbiAgICB9XHJcbiAgICAvKiBZb3UgY291bGQgdGhpbmsgb2YgYXMgXCJzdGVwIDJcIiAqL1xyXG4gICAgMTAwJSB7XHJcbiAgICAgIGJveC1zaGFkb3c6IHdoaXRlOyBcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC50YWJsZXtcclxuICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90byBCb2xkXCI7XHJcbiAgfVxyXG4gICAgXHJcbiAgLm1hdC1yb3d7XHJcbiAgICAmOm50aC1jaGlsZChldmVuKXtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0U3RUJFRCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLm1hdC1jZWxse1xyXG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuIC50YWJsZS1ob21lLXRoZWFkLWRhcmt7XHJcbiAgIEBleHRlbmQgLnRhYmxlLWhvbWUtY2VsbDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTEyMzMwO1xyXG4gIGNvbG9yOiB3aGl0ZTtcclxuICBmb250LWZhbWlseTogXCJSb2JvdG8gQm9sZFwiO1xyXG4gIGZvbnQtc2l6ZTogMTZweDtcclxuIH1cclxuXHJcbiAudGFibGUtaG9tZS1jZWxse1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcclxuICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XHJcbiB9XHJcblxyXG4gLnRhYmxlLWhvbWUtcHJvZHVjdC1jZWxse1xyXG4gICBAZXh0ZW5kIC50YWJsZS1ob21lLWNlbGw7XHJcbiAgIGNvbG9yOiAjMTkzMDQwOyBcclxuICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7XHJcbiAgIGZvbnQtc2l6ZTogMTRweDtcclxuIH1cclxuXHJcbiAudGFibGUtaG9tZS1jZWxsLWZvbnR7XHJcbiAgQGV4dGVuZCAudGFibGUtaG9tZS1jZWxsO1xyXG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvIEJvbGQnLFJvYm90bztcclxuICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICBmb250LXdlaWdodDogYm9sZDtcclxuIH1cclxuXHJcblxyXG5cclxuIC5kb3dubG9hZC1idG57XHJcbiAgIGNvbG9yOiB3aGl0ZTtcclxuICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAsMTc3LDczKTtcclxuICAgYm9yZGVyLWNvbG9yOiByZ2IoMCwxNzcsNzMpO1xyXG4gfVxyXG5cclxuICAudGFibGUtcm93IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICBsaW5lLWhlaWdodDogMzFweDtcclxuICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIzMSwgMjM1LCAyMzcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnRhYmxlLWNvbCB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gICAgd29yZC1icmVhazoga2VlcC1hbGw7XHJcbiAgfVxyXG5cclxuICAuZG9jcy1jb2wge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbiAgLnByb2R1Y3QtaWQtY29sIHtcclxuICAgIHdpZHRoOiAyMCU7XHJcbiAgfVxyXG4gIC5jYXJ0LWNvbHtcclxuICAgIHdpZHRoOiAzJVxyXG4gIH1cclxuICAudGRzLWNvbCxcclxuICAuc2RzLWNvbCxcclxuICAudm9jLWNvbCB7XHJcbiAgICB3aWR0aDogMjAlO1xyXG4gIH1cclxuXHJcbiAgLnJ1bi1jb25kaXRpb25zLWNvbCB7XHJcbiAgICB3aWR0aDogMjYlO1xyXG4gICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIEJvbGRcIjtcclxuICB9XHJcbiAgLnRhYmxlLWhlYWRlci1yb3cgLnJ1bi1jb25kaXRpb25zLWNvbCB7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICB9XHJcblxyXG4gIC5wcm9kdWN0cy1jb3VudGVyIHtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICB9XHJcbiAgLnByb2R1Y3RzLWNvdW50ZXItd3JhcHBlciB7XHJcbiAgICBtYXJnaW4tdG9wOiAzcmVtO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgfVxyXG5cclxuICAuZmlsdGVycy1wYW5lbCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjMxLCAyMzUsIDIzNyk7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDIwJTtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDIwJTtcclxuICB9XHJcblxyXG4gIC5jYXJ0LXBhbmVsIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyMzEsIDIzNSwgMjM3KTtcclxuICAgIHBhZGRpbmctbGVmdDogMjAlO1xyXG4gICAgcGFkZGluZy1yaWdodDogMjAlO1xyXG4gICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuICAub2Jzb2xldGUsXHJcbiAgLm9ic29sZXRlOmhvdmVyIHtcclxuICAgIGNvbG9yOiByZ2IoMjI0LCA4NSwgMTAxKTtcclxuICB9XHJcblxyXG4gIC5wcm9kdWN0LWlkLWNvbCBhLFxyXG4gIC5wcm9kdWN0LWRldGFpbHMtbGluay5vYnNvbGV0ZSB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgfVxyXG5cclxuICAudHJ1bmNhdGUge1xyXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB9XHJcblxyXG4gIC5kb250LXdyYXAge1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICB9XHJcblxyXG4gIC5vcmRlci1pY29uIHtcclxuXHJcbiAgfVxyXG5cclxuICAuZnctYiBsYWJlbCxcclxuICAuZnctYiBzcGFuIHtcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGRcclxuICB9XHJcblxyXG4gIC5wdWxsLWJ1dHRvbntcclxuICAgIGZsb2F0OiByaWdodDtcclxuICB9XHJcblxyXG5cclxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwMHB4KSB7XHJcbiAgICAuc3AtZWxlbWVudHtcclxuICAgICAgd29yZC1icmVhazogYnJlYWstYWxsO1xyXG4gICAgfVxyXG4gIH1cclxuICAuZHJvcGRvd24tdG9nZ2xlIHtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICB9XHJcblxyXG4gIC8qIG1vYmlsZSAqL1xyXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQ5cHgpIHtcclxuICAgIC50ZHMtY29sLFxyXG4gICAgLnNkcy1jb2wsXHJcbiAgICAudm9jLWNvbCxcclxuICAgIC5ydW4tY29uZGl0aW9ucy1jb2wge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgLnByb2R1Y3QtaWQtY29sIHtcclxuICAgICAgLyp3aWR0aDogNzUlOyAqL1xyXG4gICAgfVxyXG4gICAgLmZpbHRlcnMtcGFuZWwsXHJcbiAgICAudGFibGUtaGVhZGVyLXJvdyxcclxuICAgIC5yb3dzLXdyYXBwZXIge1xyXG4gICAgICB3aWR0aDogOTUlO1xyXG4gICAgICBtYXJnaW4tbGVmdDogNSU7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogNSU7XHJcbiAgICB9XHJcbiAgICAuZG9jcy1jb2wge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgd2lkdGg6IDI1JTtcclxuICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgfVxyXG4gICAgLnByb2R1Y3RzLWNvdW50ZXItd3JhcHBlciB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICB9XHJcbiAgICAub3JkZXItaWNvbiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyOHB4O1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDMlO1xyXG4gICAgfVxyXG5cclxuICAgIC5jYXJ0LWNvbCB7XHJcbiAgICAgICAgd2lkdGg6IDMlO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogNDBweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qIHRhYmxldCAqL1xyXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzUwcHgpIGFuZCAobWF4LXdpZHRoOiA5NjlweCkge1xyXG4gICAgLmZpbHRlcnMtcGFuZWwsXHJcbiAgICAudGFibGUtaGVhZGVyLXJvdyxcclxuICAgIC5yb3dzLXdyYXBwZXIge1xyXG4gICAgICB3aWR0aDogOTAlO1xyXG4gICAgICBtYXJnaW4tbGVmdDogNSU7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogNSU7XHJcbiAgICB9XHJcbiAgICAucHJvZHVjdC1pZC1jb2wge1xyXG4gICAgICB3aWR0aDogNDUlO1xyXG4gICAgfVxyXG4gICAgLnJ1bi1jb25kaXRpb25zLWNvbCB7XHJcbiAgICAgIHdpZHRoOiAyNiU7XHJcbiAgICB9XHJcbiAgIFxyXG4gIH1cclxuXHJcbi8qIGRlc2t0b3AgbmFycm93ICovXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTcwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTY5cHgpIHtcclxuICAuZmlsdGVycy1wYW5lbCxcclxuICAudGFibGUtaGVhZGVyLXJvdyxcclxuICAucm93cy13cmFwcGVyIHtcclxuICAgIHdpZHRoOiA4MCU7XHJcbiAgICBtYXJnaW4tbGVmdDogMTAlO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMCU7XHJcbiAgfVxyXG4gIC5wcm9kdWN0LWlkLWNvbCB7XHJcbiAgICB3aWR0aDogMjAlO1xyXG4gIH1cclxuICAucnVuLWNvbmRpdGlvbnMtY29sIHtcclxuICAgIHdpZHRoOiAyNiU7XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNzBweCkgYW5kIChtYXgtd2lkdGg6IDE3NTBweCkge1xyXG4gIC5wcm9kdWN0LWlkLWNvbCB7XHJcbiAgICB3aWR0aDogMjAlO1xyXG4gIH1cclxuICAucnVuLWNvbmRpdGlvbnMtY29sIHtcclxuICAgIHdpZHRoOiAyNiU7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcbi5sYW5ndWFnZS1maWVsZC13cmFwcGVyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICYgLnRyYW5zbGF0ZS1maWVsZCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgfVxyXG5cclxuXHJcbiAgXHJcbn0iXX0= */\"","import { Component, OnInit, HostListener, ViewChild, Input, AfterViewInit } from '@angular/core';\r\nimport { ProductService } from '../../services/ProductService';\r\nimport { ProductListItem } from '../../models/ProductListItem';\r\nimport { ResponseCode } from '../../models/responses/ResponseCode';\r\nimport { SearchFieldComponent } from '../search-field/search-field.component';\r\nimport { ActionDropdownItem } from '../action-dropdown-list/action-dropdown-list.component';\r\nimport { Router } from '@angular/router';\r\nimport { InternalDataTransferService } from 'src/app/services/InternalDataTransferService';\r\nimport { DocumentService } from 'src/app/services/DocumentService';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Languages } from 'src/app/models/Languages.enum';\r\nimport { Order } from '../../models/Order';\r\nimport { OrderItems } from '../../models/OrderItems';\r\nimport { OrderService } from 'src/app/services/OrderService';\r\nimport { OrderSearch } from 'src/app/models/OrderSearch';\r\nimport { User } from 'src/app/models/User';\r\nimport { UserService } from 'src/app/services/UserService';\r\nimport {​​​​​MatTableModule, MatTableDataSource}​​​​​ from '@angular/material/table';\r\nimport {MatSnackBar} from '@angular/material';\r\nimport { Variable } from '@angular/compiler/src/render3/r3_ast';\r\nimport {MatPaginator} from '@angular/material/paginator';\r\nimport {MatSort} from '@angular/material/sort';\r\n\r\nimport { trigger, state, style, animate, transition, keyframes } from '@angular/animations';\r\n\r\nconst isSafari = navigator.vendor &&\r\n navigator.vendor.indexOf('Apple') > -1 &&\r\n navigator.userAgent &&\r\n navigator.userAgent.indexOf('CriOS') === -1 &&\r\n navigator.userAgent.indexOf('FxiOS') === -1;\r\n\r\nconst isEdge = navigator && navigator.msSaveOrOpenBlob;\r\nconst addItemToCartIcon = '+ ';\r\nconst removeItemFromCartIcon = '-- ';\r\n\r\ndeclare var Quagga: any;\r\n\r\n@Component({\r\n selector: 'app-product-list',\r\n templateUrl: './product-list.component.html',\r\n styleUrls: ['./product-list.component.scss'],\r\n})\r\n\r\nexport class ProductListComponent implements OnInit {\r\n @ViewChild ('searchFilter')\r\n public searchFilter: SearchFieldComponent;\r\n public isLoadingError = false;\r\n public productsLoaded = false;\r\n public doneLoading = false;\r\n public products: ProductListItem[] = [];\r\n public documentFileItems: ActionDropdownItem[][] = [];\r\n public runConditionsItems: ActionDropdownItem[][] = [];\r\n private scrollToPoint: any;\r\n loading = false;\r\n public orderShell: Order;\r\n public cartItemCount = 0;\r\n private orderSearch: OrderSearch;\r\n public canPlaceOrder = false;\r\n public userCountry = 0;\r\n keys = Object.keys;\r\n languages = Languages;\r\n selectedLanguage = 'en-us';\r\n displayedColumns: string[] = ['name', 'ads', 'sds'];\r\n mobileDisplayedColumns: string[] = ['name', 'ads', 'group'];\r\n displayedGroup = false;\r\n public tableDataSource: MatTableDataSource;\r\n public innerWidth: any;\r\n @ViewChild (MatPaginator) paginator: MatPaginator;\r\n @ViewChild (MatSort) sort: MatSort;\r\n @Input() buttonClass = 'btn-primary';\r\n @Input() title: string;\r\n @Input() icon = 'description';\r\n @Input() mobileDropdown = 0;\r\n @Input() items: ActionDropdownItem[] = [];\r\n @Input() itemsRunConditions: ActionDropdownItem[] = [];\r\n constructor(\r\n private router: Router,\r\n private productService: ProductService,\r\n private documentService: DocumentService,\r\n private internalDataTransferService: InternalDataTransferService,\r\n private translate: TranslateService,\r\n private toastr: ToastrService,\r\n private orderService: OrderService,\r\n private snackBar: MatSnackBar,\r\n private userService: UserService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n Quagga.stop();\r\n const storage: any = this.internalDataTransferService.getStorage();\r\n this.internalDataTransferService.setStorage(null);\r\n\r\n if (storage && storage.back) {\r\n this.loading = true;\r\n this.loadStateFromLocalStorage();\r\n } else {\r\n this.loadData();\r\n }\r\n this.innerWidth = window.innerWidth;\r\n }\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event) {\r\n this.innerWidth = window.innerWidth;\r\n }\r\n private loadData() {\r\n this.getProducts();\r\n }\r\n\r\n private saveStateToLocalStorage() {\r\n this.loadLanguage();\r\n localStorage.setItem('product-list-state', JSON.stringify({\r\n products: this.products,\r\n searchValue: this.searchFilter.getValue(),\r\n scrollToPoint: {\r\n x: window.pageXOffset || document.documentElement.scrollLeft,\r\n y: window.pageYOffset || document.documentElement.scrollTop\r\n },\r\n cartItemCount: this.canPlaceOrder ? this.cartItemCount : 0,\r\n orderSearch: this.canPlaceOrder ? this.orderSearch : null,\r\n canPlaceOrder: this.canPlaceOrder,\r\n selectedLanguage: this.selectedLanguage\r\n }));\r\n }\r\n\r\n onHeaderResized(event) {\r\n\r\n }\r\n\r\n private loadStateFromLocalStorage() {\r\n const dataString: string = localStorage.getItem('product-list-state');\r\n\r\n if (dataString && dataString !== '') {\r\n this.loading = false;\r\n const data: any = JSON.parse(dataString);\r\n this.products = data.products;\r\n this.searchFilter.setValue(data.searchValue);\r\n this.scrollToPoint = data.scrollToPoint;\r\n\r\n this.documentFileItems = [];\r\n this.runConditionsItems = [];\r\n this.products.forEach(product => {\r\n const docFile = this.getDocumentFileItems(product);\r\n const runCondition = this.getRunConditionItems(product);\r\n this.documentFileItems.push(docFile);\r\n this.runConditionsItems.push(runCondition);\r\n });\r\n\r\n this.canPlaceOrder = data.canPlaceOrder;\r\n this.cartItemCount = this.canPlaceOrder ? data.cartItemCount : 0;\r\n this.orderSearch = this.canPlaceOrder ? this.orderSearch : null;\r\n this.selectedLanguage = data.selectedLanguage;\r\n }\r\n }\r\n\r\n productListReady(isReady: boolean) {\r\n if (isReady && this.scrollToPoint) {\r\n window.scrollTo(this.scrollToPoint.x, this.scrollToPoint.y);\r\n }\r\n }\r\n\r\n onProductItemClick(id: string) {\r\n this.saveStateToLocalStorage();\r\n this.router.navigate(['/product', id]);\r\n }\r\n\r\n onSearchChange() {\r\n this.getProducts();\r\n }\r\n\r\n loadLanguage() {\r\n const fileLang: string = localStorage.getItem('fileLang');\r\n if ( localStorage.getItem('fileLang')) {\r\n this.selectedLanguage = fileLang;\r\n }\r\n }\r\n\r\n onRunConditionsClick(productId: string, runConditionId: string) {\r\n this.loadLanguage();\r\n this.loading = true;\r\n this.snackBar.open(this.translate.instant('ACTION.DOWNLOADING_DOCUMENT') + '...', '', {\r\n panelClass: 'snackbar-color'\r\n });\r\n this.documentService.getApplicationDataSheetFile(productId, runConditionId, this.selectedLanguage).subscribe(\r\n data => {\r\n this.downloadPdfFile(data, `${runConditionId}-ads`);\r\n this.loading = false;\r\n this.snackBar.dismiss();\r\n },\r\n () => {\r\n this.showNotification(productId, 'ADS');\r\n this.loading = false;\r\n this.snackBar.dismiss();\r\n }\r\n );\r\n }\r\n\r\n onSdsClick(id: string, productId: string) {\r\n // const url = this.documentService.getSafetyDataSheetUrl(productId, Languages.English);\r\n // window.open(url);\r\n const process = this.documentService.getSafetyDataSheetUrlSDS(id, productId, Languages.English);\r\n this.loading = true;\r\n\r\n this.snackBar.open(this.translate.instant('ACTION.DOWNLOADING_DOCUMENT') + '...', '', {\r\n panelClass: 'snackbar-color'\r\n });\r\n\r\n const env = this.documentService.getEnvUrl();\r\n // tslint:disable-next-line:max-line-length\r\n let url = `https://${env}buyat.ppg.com/EHSDocumentManagerPublic/documentSearch.aspx?FolderID1=87&SearchAllPublicFolders=True&CodeCondition=BeginsWith&CodeValue=${productId}&SuppressSearchControls=True`;\r\n\r\n process.subscribe(\r\n result => {\r\n if (result) {\r\n // tslint:disable-next-line:max-line-length\r\n url = `https://${env}buyat.ppg.com/EHSDocumentManagerPublic/documentSearch.aspx?FolderID1=87&SearchAllPublicFolders=True&NameCondition=BeginsWith&NameValue=${productId}&SuppressSearchControls=True`;\r\n }\r\n },\r\n m => {\r\n console.log(' Failed load ');\r\n },\r\n () => {\r\n this.loading = false;\r\n this.snackBar.dismiss();\r\n window.open(url);\r\n }\r\n );\r\n }\r\n\r\n onTdsClick(productId: string) {\r\n this.loadLanguage();\r\n this.loading = true;\r\n this.documentService.getProductDataSheetFile(productId, this.selectedLanguage).subscribe(\r\n data => {\r\n this.downloadPdfFile(data, `${productId}-pds`);\r\n this.loading = false;\r\n },\r\n () => {\r\n this.showNotification(productId, 'PDS');\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n\r\n onVocClick(urlFriendlyName: string) {\r\n this.loading = true;\r\n this.snackBar.open(this.translate.instant('ACTION.DOWNLOADING_DOCUMENT') + '...', '', {\r\n panelClass: 'snackbar-color'\r\n });\r\n this.documentService.getVocFile(urlFriendlyName).subscribe(\r\n data => {\r\n this.downloadPdfFile(data, `${urlFriendlyName}-voc`);\r\n this.loading = false;\r\n this.snackBar.dismiss();\r\n },\r\n () => {\r\n this.showNotificationVoCCoA('Please contact Milford Customer Service at pkgcustsvc@ppg.com for this document.');\r\n this.loading = false;\r\n this.snackBar.dismiss();\r\n }\r\n );\r\n }\r\n\r\n removeElement(lotNumber) {\r\n lotNumber.classList.remove('form-control-error');\r\n }\r\n\r\n onCoaClick(productId: string, lotNumber) {\r\n if (!lotNumber.value.trim()) {\r\n lotNumber.style.animationDuration = '0.5s';\r\n lotNumber.addEventListener('animationend', () => this.removeElement( lotNumber ));\r\n lotNumber.classList.add('form-control-error');\r\n return;\r\n }\r\n this.loading = true;\r\n this.snackBar.open( this.translate.instant('ACTION.DOWNLOADING_DOCUMENT') + '...', '', {\r\n panelClass: 'snackbar-color'\r\n });\r\n\r\n if (lotNumber.value.trim().startsWith('0812')) {\r\n\r\n alert('Please contact Milford Customer Service at pkgcustsvc@ppg.com for this CoA document');\r\n this.loading = false;\r\n this.snackBar.dismiss();\r\n\r\n } else {\r\n const productReplaced = productId.replace(/\\//g, '');\r\n this.documentService.getCoaFile(productReplaced, lotNumber.value.trim()).subscribe(\r\n data => {\r\n this.downloadPdfFile(data, `${productReplaced}-coa`);\r\n this.loading = false;\r\n this.snackBar.dismiss();\r\n },\r\n () => {\r\n this.showNotificationVoCCoA('Please contact Milford Customer Service at pkgcustsvc@ppg.com for this document.');\r\n this.loading = false;\r\n this.snackBar.dismiss();\r\n }\r\n );\r\n }\r\n }\r\n\r\n addToCartClick(product: ProductListItem, cartLink) {\r\n if (product.isObsolete) {\r\n return;\r\n }\r\n\r\n if (cartLink.textContent === addItemToCartIcon) {\r\n const oi = new OrderItems();\r\n oi.productId = product.localId;\r\n oi.quantity = 1;\r\n oi.productCode = product.name;\r\n\r\n if (!this.orderShell.orderId || this.orderShell.orderId === '') {\r\n this.orderShell.orderId = '00000000-0000-0000-0000-000000000000';\r\n this.orderShell.orderStatus = 'CART_CREATED';\r\n }\r\n this.orderShell.orderItems = new Array();\r\n this.orderShell.orderItems.push(oi);\r\n\r\n this.orderService.UpsertOrder(this.orderShell, 'ADD_ITEM').subscribe(\r\n data => {\r\n if (data.status.code === ResponseCode.Ok) {\r\n // we do not receive full order details after upsert. Do not replace order here.\r\n this.orderShell.orderId = data.order.orderId;\r\n this.orderShell.lineItemCount = data.order.lineItemCount;\r\n this.cartItemCount = data.order.lineItemCount;\r\n cartLink.id = data.order.orderItems[0].orderItemId;\r\n cartLink.textContent = removeItemFromCartIcon;\r\n }\r\n },\r\n err => {\r\n },\r\n () => {\r\n }\r\n );\r\n } else {\r\n this.orderShell.orderItems[0] = new OrderItems();\r\n this.orderShell.orderItems[0].orderItemId = cartLink.id;\r\n this.orderService.UpsertOrder(this.orderShell, 'DELETE_ITEM').subscribe(\r\n data => {\r\n if (data.status.code === ResponseCode.Ok) {\r\n this.orderShell.lineItemCount = data.order.lineItemCount;\r\n this.cartItemCount = data.order.lineItemCount;\r\n cartLink.removeAttribute('id');\r\n cartLink.textContent = addItemToCartIcon;\r\n }\r\n },\r\n err => {\r\n },\r\n () => {\r\n }\r\n );\r\n }\r\n }\r\n\r\n checkoutClick() {\r\n this.router.navigate(['/orders/checkout']);\r\n }\r\n\r\n private getProducts() {\r\n this.loading = true;\r\n const idOrDescription: string = this.searchFilter.getValue();\r\n if (this.productsLoaded) {\r\n this.isLoadingError = false;\r\n this.snackBar.open('Searching products...', '', {\r\n panelClass: 'snackbar-color'\r\n });\r\n } else {\r\n this.productsLoaded = true;\r\n }\r\n\r\n this.productService.getProductList(idOrDescription).subscribe(\r\n data => {\r\n console.log(data);\r\n if (data.status.code === ResponseCode.Ok) {\r\n this.products = data.productListItems;\r\n this.documentFileItems = [];\r\n this.runConditionsItems = [];\r\n this.products.forEach((product, index) => {\r\n product.index = index;\r\n this.documentFileItems.push(this.getDocumentFileItems(product));\r\n this.runConditionsItems.push(this.getRunConditionItems(product));\r\n product.cartOrderItemIdClient = 0;\r\n });\r\n this.tableDataSource = new MatTableDataSource(this.products);\r\n this.tableDataSource.sort = this.sort;\r\n this.tableDataSource.paginator = this.paginator;\r\n this.doneLoading = true;\r\n this.getUser();\r\n if (this.productsLoaded) {\r\n this.snackBar.dismiss();\r\n }\r\n } else {\r\n this.products = [];\r\n this.documentFileItems = [];\r\n this.runConditionsItems = [];\r\n this.isLoadingError = true;\r\n if (this.productsLoaded) {\r\n this.snackBar.dismiss();\r\n }\r\n }\r\n },\r\n error => {\r\n this.products = [];\r\n this.documentFileItems = [];\r\n this.runConditionsItems = [];\r\n this.isLoadingError = true;\r\n if (this.productsLoaded) {\r\n this.snackBar.dismiss();\r\n }\r\n }\r\n );\r\n }\r\n\r\n private getDocumentFileItems(product: ProductListItem): ActionDropdownItem[] {\r\n const documentFileItems: ActionDropdownItem[] = [];\r\n\r\n documentFileItems.push(\r\n { name: this.translate.instant('PRODUCT.END_USE'), action: () => { }}, // this.onProductItemClick(product.id); }},\r\n { name: this.translate.instant('PRODUCT.TDS'), action: () => { this.onTdsClick(product.id); }},\r\n { name: this.translate.instant('PRODUCT.SDS'), action: () => { this.onSdsClick(product.id, product.id); }},\r\n { name: this.translate.instant('PRODUCT.VOC'), action: () => { this.onVocClick(product.urlFriendlyName); } },\r\n { name: this.translate.instant('PRODUCT.SEE_MORE'), class: 'btn btn-primary drop-button',\r\n action: () => { this.onProductItemClick(product.id); } }\r\n );\r\n\r\n return documentFileItems;\r\n }\r\n\r\n getRunConditionItems(product: ProductListItem): ActionDropdownItem[] {\r\n const runConditionsItems: ActionDropdownItem[] = [];\r\n\r\n if (product.runConditions.length === 0) {\r\n runConditionsItems.push({name: product.name, action: () => {\r\n this.onTdsClick(product.id);\r\n }});\r\n }\r\n\r\n product.runConditions.forEach(element => {\r\n // if(element.name.substring(element.name.lastIndexOf(\"-\")+1) ){\r\n\r\n // }\r\n runConditionsItems.push({name: element.name, action: () => {\r\n this.onRunConditionsClick(product.id, element.id);\r\n }});\r\n });\r\n return runConditionsItems;\r\n }\r\n\r\n\r\n private downloadPdfFile(data: Blob, name?: string) {\r\n const blob = new Blob([data], { type: 'application/pdf' });\r\n const blobUrl = window.URL.createObjectURL(blob);\r\n\r\n if (isEdge) {\r\n window.navigator.msSaveOrOpenBlob(blob, `${name}.pdf`);\r\n } else if (isSafari) {\r\n const link = document.createElement('a');\r\n link.href = blobUrl;\r\n link.download = `${name}.pdf`;\r\n link.click();\r\n } else {\r\n window.open(blobUrl);\r\n }\r\n }\r\n\r\n private showNotification(productId: string, fileType: string) {\r\n this.toastr.error(`${this.translate.instant('OTHER.ERROR_DOWNLOADING_ID', {value: fileType})}: ${productId}`);\r\n }\r\n\r\n private showNotificationVoCCoA(message: string) {\r\n this.toastr.error(`${message}`);\r\n }\r\n\r\n private getOrder() {\r\n this.loading = true;\r\n this.orderService.GetOrder(this.orderSearch).subscribe(\r\n data => {\r\n if (data.status.code === ResponseCode.Ok) {\r\n this.orderShell = new Order();\r\n if (data.order && data.order.length > 0) {\r\n this.orderShell = data.order[0];\r\n this.setAllProductsOrderItemId();\r\n this.cartItemCount = this.orderShell.orderItems.length;\r\n }\r\n } else {\r\n this.orderShell = new Order();\r\n }\r\n },\r\n err => {\r\n },\r\n () => {\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n\r\n private setAllProductsOrderItemId() {\r\n this.products.forEach(product => {\r\n this.setProductOrderItemId(product);\r\n });\r\n }\r\n\r\n private setProductOrderItemId(product: ProductListItem) {\r\n if (product.cartOrderItemIdClient <= 0 && this.orderShell.orderItems.length > 0) {\r\n const oi = this.orderShell.orderItems.find(i => i.productCode === product.name);\r\n\r\n if (product.isObsolete) {\r\n product.cartOrderItemIdClient = 0;\r\n } else {\r\n product.cartOrderItemIdClient = oi != null ? oi.orderItemId : 0;\r\n }\r\n }\r\n }\r\n\r\n public displayCartFunction(cartOrderItemId: number) {\r\n if (cartOrderItemId > 0) {\r\n return removeItemFromCartIcon;\r\n } else {\r\n return addItemToCartIcon;\r\n }\r\n }\r\n\r\n private getUser() {\r\n this.userService.getUser().subscribe(\r\n data => {\r\n if (data) {\r\n this.canPlaceOrder = data.user.canPlaceOrders;\r\n if (data.user.userRegion === 1) {\r\n if (this.displayedColumns.indexOf('voc') < 0) {\r\n this.displayedColumns.push('voc');\r\n this.displayedColumns.push('coa');\r\n this.displayedGroup = true;\r\n }\r\n }\r\n if (this.canPlaceOrder) {\r\n this.orderSearch = new OrderSearch();\r\n this.orderShell = new Order();\r\n this.orderSearch.orderStatus = 'CART_CREATED';\r\n this.getOrder(); // find existing cart\r\n } else {\r\n this.loading = false;\r\n }\r\n }\r\n }\r\n );\r\n }\r\n\r\n setLanguage(language) {\r\n this.selectedLanguage = language;\r\n console.log(language);\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvcmVkaXJlY3QvcmVkaXJlY3QuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport { AuthService } from 'src/app/services/AuthService';\r\n\r\n@Component({\r\n selector: 'app-redirect',\r\n templateUrl: './redirect.component.html',\r\n styleUrls: ['./redirect.component.scss']\r\n})\r\nexport class RedirectComponent implements OnInit {\r\n constructor(private authService: AuthService) { }\r\n\r\n ngOnInit() {\r\n this.authService.authorizationCallback();\r\n }\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

{{ 'SCANNING.SCANNER_DATA_LOG' | translate }}

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\"","module.exports = \".drawingBuffer {\\n display: none !important; }\\n\\n.scan-wrapper {\\n padding-left: 20%;\\n padding-right: 20%;\\n height: 100%;\\n background-color: #e7ebed; }\\n\\n.scan-wrapper .scan-header {\\n color: #636c72; }\\n\\n.scan-wrapper .btn-scanner {\\n padding: 1rem; }\\n\\n.scan-wrapper-quagga {\\n padding-left: 20%;\\n padding-right: 20%;\\n height: 115%;\\n background-color: #e7ebed; }\\n\\n.scan-wrapper-quagga .scan-header {\\n color: #636c72; }\\n\\n.scan-wrapper-quagga .btn-scanner {\\n padding: 1rem; }\\n\\n.spinner {\\n margin-top: 20%; }\\n\\n/* mobile + tablet */\\n\\n@media only screen and (max-width: 969px) {\\n .scan-wrapper {\\n padding-left: 6%;\\n padding-right: 6%; }\\n .fix-right {\\n width: 100%;\\n float: right; }\\n .viewport {\\n display: flex;\\n width: 100%;\\n height: 50%;\\n -o-object-fit: cover;\\n object-fit: cover; } }\\n\\n/* desktop narrow */\\n\\n@media only screen and (min-width: 970px) and (max-width: 1169px) {\\n .scan-wrapper {\\n padding-left: 10%;\\n padding-right: 10%; }\\n .fix-right {\\n width: 40%;\\n float: right; } }\\n\\n.viewport::ng-deep video {\\n width: 100%;\\n height: auto;\\n -o-object-fit: cover;\\n object-fit: cover; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9zY2FubmluZy10ZXN0L0M6XFxQUEdSZXBvXFxQYWNrYWdpbmdURFNfTmV3XFxjbGllbnRcXFBhY2thZ2luZ1REUyBHVUkvc3JjXFxhcHBcXGNvbXBvbmVudHNcXHNjYW5uaW5nLXRlc3RcXHNjYW5uaW5nLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0Usd0JBQXdCLEVBQUE7O0FBRTFCO0VBQ0UsaUJBQWlCO0VBQ2pCLGtCQUFrQjtFQUNsQixZQUFZO0VBQ1oseUJBQW9DLEVBQUE7O0FBSnRDO0lBTUksY0FBYyxFQUFBOztBQU5sQjtJQVNJLGFBQWEsRUFBQTs7QUFHakI7RUFDRSxpQkFBaUI7RUFDakIsa0JBQWtCO0VBQ2xCLFlBQVk7RUFDWix5QkFBb0MsRUFBQTs7QUFKdEM7SUFNSSxjQUFjLEVBQUE7O0FBTmxCO0lBU0ksYUFBYSxFQUFBOztBQUdqQjtFQUNFLGVBQWUsRUFBQTs7QUFFakIsb0JBQUE7O0FBQ0E7RUFDRTtJQUNFLGdCQUFnQjtJQUNoQixpQkFBaUIsRUFBQTtFQUVuQjtJQUNFLFdBQVc7SUFDWCxZQUFZLEVBQUE7RUFFZDtJQUNFLGFBQWE7SUFDYixXQUFXO0lBQ1gsV0FBVztJQUNYLG9CQUFpQjtPQUFqQixpQkFBaUIsRUFBQSxFQUNsQjs7QUFJSCxtQkFBQTs7QUFDQTtFQUNFO0lBQ0UsaUJBQWlCO0lBQ2pCLGtCQUFrQixFQUFBO0VBRXBCO0lBQ0UsVUFBVTtJQUNWLFlBQVksRUFBQSxFQUNiOztBQUdIO0VBQ0UsV0FBVztFQUNYLFlBQVk7RUFDWixvQkFBaUI7S0FBakIsaUJBQWlCLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnRzL3NjYW5uaW5nLXRlc3Qvc2Nhbm5pbmcuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZHJhd2luZ0J1ZmZlcntcclxuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuLnNjYW4td3JhcHBlciB7XHJcbiAgcGFkZGluZy1sZWZ0OiAyMCU7XHJcbiAgcGFkZGluZy1yaWdodDogMjAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjMxLCAyMzUsIDIzNyk7XHJcbiAgJiAuc2Nhbi1oZWFkZXIge1xyXG4gICAgY29sb3I6ICM2MzZjNzI7XHJcbiAgfVxyXG4gICYgLmJ0bi1zY2FubmVyIHtcclxuICAgIHBhZGRpbmc6IDFyZW07XHJcbiAgfVxyXG59XHJcbi5zY2FuLXdyYXBwZXItcXVhZ2dhe1xyXG4gIHBhZGRpbmctbGVmdDogMjAlO1xyXG4gIHBhZGRpbmctcmlnaHQ6IDIwJTtcclxuICBoZWlnaHQ6IDExNSU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIzMSwgMjM1LCAyMzcpO1xyXG4gICYgLnNjYW4taGVhZGVyIHtcclxuICAgIGNvbG9yOiAjNjM2YzcyO1xyXG4gIH1cclxuICAmIC5idG4tc2Nhbm5lciB7XHJcbiAgICBwYWRkaW5nOiAxcmVtO1xyXG4gIH1cclxufVxyXG4uc3Bpbm5lciB7XHJcbiAgbWFyZ2luLXRvcDogMjAlO1xyXG59XHJcbi8qIG1vYmlsZSArIHRhYmxldCAqL1xyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2OXB4KSB7XHJcbiAgLnNjYW4td3JhcHBlciB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDYlO1xyXG4gICAgcGFkZGluZy1yaWdodDogNiU7XHJcbiAgfVxyXG4gIC5maXgtcmlnaHR7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICB9XHJcbiAgLnZpZXdwb3J0IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogNTAlO1xyXG4gICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuLyogZGVza3RvcCBuYXJyb3cgKi9cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NzBweCkgYW5kIChtYXgtd2lkdGg6IDExNjlweCkge1xyXG4gIC5zY2FuLXdyYXBwZXIge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxMCU7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMCU7XHJcbiAgfVxyXG4gIC5maXgtcmlnaHR7XHJcbiAgICB3aWR0aDogNDAlO1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gIH1cclxuXHJcbn1cclxuLnZpZXdwb3J0OjpuZy1kZWVwIHZpZGVvIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IGF1dG87XHJcbiAgb2JqZWN0LWZpdDogY292ZXI7XHJcbn1cclxuXHJcblxyXG4iXX0= */\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { ZXingScannerComponent } from '@zxing/ngx-scanner';\r\nimport { ProductService } from 'src/app/services/ProductService';\r\nimport { ResponseCode } from 'src/app/models/responses/ResponseCode';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { BarcodeFormat } from '@zxing/library';\r\nimport { StringMapWithRename } from '@angular/core/src/render3/jit/compiler_facade_interface';\r\n\r\ndeclare var Quagga: any;\r\n\r\n@Component({\r\n selector: 'app-scanning-test',\r\n templateUrl: './scanning.component.html',\r\n styleUrls: ['./scanning.component.scss']\r\n})\r\n\r\nexport class ScanningTestComponent implements OnInit {\r\n @ViewChild('scanner')\r\n private scanner: ZXingScannerComponent;\r\n private hasCameras = false;\r\n private hasPermission: boolean;\r\n\r\n public isScannerVisible = false;\r\n public selectedDevice: MediaDeviceInfo;\r\n public scannedCode: string = null;\r\n public scannedCodeQuagga: string = null;\r\n public showNoProductFoundError = false;\r\n public allowedFormats = [BarcodeFormat.QR_CODE, BarcodeFormat.CODE_128, BarcodeFormat.CODE_39];\r\n public checkScanner = true;\r\n public scannerDebugInfo = '';\r\n\r\n\r\n constructor(\r\n private productService: ProductService,\r\n private router: Router,\r\n private translate: TranslateService,\r\n private toastr: ToastrService\r\n ) {\r\n router.events.subscribe(event => {\r\n if (event instanceof NavigationEnd) {\r\n if (event.url === '/no-product') {\r\n this.router.navigate(['scan']);\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n Quagga.stop();\r\n // this.initializeScanner();\r\n this.initQuaggaScanner();\r\n }\r\n ngOnChange(): void {\r\n Quagga.stop();\r\n }\r\n clearDataScannerLog() {\r\n this.scannerDebugInfo = '';\r\n this.checkScanner = true;\r\n this.initQuaggaScanner();\r\n }\r\n\r\n addDataScannerLog(data: string) {\r\n if (this.scannerDebugInfo) {\r\n data = '
' + data;\r\n }\r\n this.scannerDebugInfo += data;\r\n }\r\n\r\n initializeScanner() {\r\n this.addDataScannerLog(this.translate.instant('SCANNING.SCANNER_INITILIZE'));\r\n this.scanner.camerasFound.subscribe((devices: MediaDeviceInfo[]) => {\r\n this.hasCameras = true;\r\n\r\n let deviceToBeSelected: MediaDeviceInfo = null;\r\n this.addDataScannerLog(this.translate.instant('SCANNING.ACCESING_CAMERA') + '...');\r\n // try to find back camera\r\n for (const device of devices) {\r\n if (/back|rear|environment/gi.test(device.label)) {\r\n deviceToBeSelected = device;\r\n this.addDataScannerLog('Back camera found.');\r\n break;\r\n }\r\n }\r\n\r\n // if back camera is not found take first camera\r\n if (!deviceToBeSelected) {\r\n this.addDataScannerLog(this.translate.instant('SCANNING.BACK_CAMERA_NOT_FOUND') + '...');\r\n for (const device of devices) {\r\n deviceToBeSelected = device;\r\n break;\r\n }\r\n }\r\n\r\n this.scanner.changeDevice(deviceToBeSelected);\r\n this.selectedDevice = deviceToBeSelected;\r\n this.openScanning();\r\n });\r\n\r\n this.scanner.permissionResponse.subscribe((answer: boolean) => {\r\n this.hasPermission = answer;\r\n });\r\n }\r\n initQuaggaScanner() {\r\n this.addDataScannerLog(this.translate.instant('SCANNING.SCANNER_INITILIZE'));\r\n this.addDataScannerLog(this.translate.instant('SCANNING.ACCESING_CAMERA') + '...');\r\n const that = this;\r\n Quagga.init({\r\n inputStream : {\r\n name : 'Live',\r\n type : 'LiveStream',\r\n target: document.querySelector('#interactive') // Or '#yourElement' (optional)\r\n },\r\n decoder : {\r\n readers : ['ean_reader', 'ean_5_reader', 'ean_2_reader', 'code_128_reader', 'code_39_reader']\r\n }\r\n }, function(err) {\r\n if (err) {\r\n console.log(err);\r\n this.addDataScannerLog(this.translate.instant('SCANNING.BACK_CAMERA_NOT_FOUND') + '...');\r\n return;\r\n }\r\n // console.log(\"Initialization finished. Ready to start\");\r\n Quagga.start();\r\n Quagga.onDetected((res) => {\r\n // window.alert(`code: ${res.codeResult.code}`);\r\n if (res.codeResult.code && that.checkScanner) {\r\n Quagga.stop();\r\n that.getScannedCode(res.codeResult.code);\r\n }\r\n });\r\n });\r\n }\r\n handleScannedCode(code: string) {\r\n // Remove prefix (labelling convention):\r\n this.addDataScannerLog('Code scanned: ' + code);\r\n if (code.startsWith('P')) {\r\n this.addDataScannerLog('First letter removed: P');\r\n }\r\n if (code.startsWith('T')) {\r\n this.addDataScannerLog('First letter removed: T');\r\n }\r\n if (code.startsWith('S')) {\r\n this.addDataScannerLog('First letter removed: S');\r\n }\r\n\r\n this.scannedCode = (code.startsWith('P') || code.startsWith('T') || code.startsWith('S'))\r\n ? code.substring(1)\r\n : code;\r\n\r\n // Remove text after the last / in the product code\r\n if (this.scannedCode.indexOf('/') > 0) {\r\n this.addDataScannerLog('Special char found \\'/\\' Removed: ' +\r\n this.scannedCode.substring(this.scannedCode.lastIndexOf('/'), this.scannedCode.length));\r\n this.scannedCode = this.scannedCode.substring(0, this.scannedCode.lastIndexOf('/'));\r\n }\r\n\r\n this.isScannerVisible = false;\r\n this.scanner.resetCodeReader();\r\n this.scanner.scannerEnabled = false;\r\n\r\n this.addDataScannerLog('Code to search: ' + this.scannedCode);\r\n this.productService.getProduct(this.scannedCode).subscribe(\r\n response => {\r\n if (response.status.code === ResponseCode.Ok && response.product.id !== null) {\r\n this.toastr.success(`${this.translate.instant('SCANNING.SCAN_OK')}: ${this.scannedCode}`);\r\n this.addDataScannerLog('Product found: ' + this.scannedCode);\r\n // this.router.navigate(['/product', this.scannedCode]);\r\n } else {\r\n this.toastr.error(`${this.translate.instant('SCANNING.NO_PRODUCT')}`);\r\n this.addDataScannerLog('Product Not Found: ' + this.scannedCode);\r\n if (response.status.code !== ResponseCode.Ok) {\r\n this.addDataScannerLog('Response from server is not Ok. Status Code: ' + response.status.code);\r\n }\r\n // this.router.navigate(['/no-product']);\r\n }\r\n this.isScannerVisible = true;\r\n this.scanner.scannerEnabled = true;\r\n this.scanner.restartScan();\r\n },\r\n (err) => {\r\n this.toastr.error(`${this.translate.instant('SCANNING.NO_PRODUCT')}`);\r\n this.addDataScannerLog('Product Not Found: ' + this.scannedCode);\r\n this.addDataScannerLog('Error: ' + err.message);\r\n this.isScannerVisible = true;\r\n this.scanner.scannerEnabled = true;\r\n this.scanner.restartScan();\r\n // this.router.navigate(['/no-product']);\r\n }\r\n );\r\n }\r\n getScannedCode(code: string) {\r\n this.checkScanner = false;\r\n this.scannedCode = (code.startsWith('P') || code.startsWith('T') || code.startsWith('S'))\r\n ? code.substring(1)\r\n : code;\r\n\r\n // Remove text after the last / in the product code\r\n if (this.scannedCode.indexOf('/') > 0) {\r\n this.scannedCode = this.scannedCode.substring(0, this.scannedCode.lastIndexOf('/'));\r\n }\r\n\r\n this.addDataScannerLog('Code to search: ' + this.scannedCode);\r\n\r\n this.productService.getProduct(this.scannedCode).subscribe(\r\n response => {\r\n if (response.status.code === ResponseCode.Ok && response.product.id !== null) {\r\n this.toastr.success(`${this.translate.instant('SCANNING.SCAN_OK')}: ${this.scannedCode}`);\r\n this.addDataScannerLog('Product found: ' + this.scannedCode);\r\n } else {\r\n this.toastr.error(`${this.translate.instant('SCANNING.NO_PRODUCT')}`);\r\n this.addDataScannerLog('Product Not Found: ' + this.scannedCode);\r\n if (response.status.code !== ResponseCode.Ok) {\r\n this.addDataScannerLog('Response from server is not Ok. Status Code: ' + response.status.code);\r\n }\r\n }\r\n },\r\n (err) => {\r\n this.toastr.error(`${this.translate.instant('SCANNING.NO_PRODUCT')}`);\r\n this.addDataScannerLog('Product Not Found: ' + this.scannedCode);\r\n this.addDataScannerLog('Error: ' + err.message);\r\n }\r\n );\r\n }\r\n\r\n onDeviceSelectChange(selectedValue: string) {\r\n this.selectedDevice = this.scanner.getDeviceById(selectedValue);\r\n }\r\n\r\n openScanning() {\r\n this.showNoProductFoundError = false;\r\n if (this.hasCameras && this.hasPermission && this.selectedDevice != null) {\r\n this.isScannerVisible = true;\r\n this.scanner.scannerEnabled = true;\r\n this.scanner.restartScan();\r\n }\r\n }\r\n}\r\n\r\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\"","module.exports = \".scan-wrapper {\\n padding-left: 20%;\\n padding-right: 20%;\\n height: 100%;\\n background-color: #e7ebed; }\\n .scan-wrapper .scan-header {\\n color: #636c72; }\\n .scan-wrapper .btn-scanner {\\n padding: 1rem; }\\n .scan-wrapper-quagga {\\n padding-right: 20%;\\n height: 50%;\\n background-color: #e7ebed; }\\n .scan-wrapper-quagga .scan-header {\\n color: #636c72; }\\n .scan-wrapper-quagga .btn-scanner {\\n padding: 1rem; }\\n .spinner {\\n margin-top: 20%; }\\n /* mobile + tablet */\\n @media only screen and (max-width: 969px) {\\n .scan-wrapper {\\n padding-left: 6%;\\n padding-right: 6%; }\\n .scan-wrapper-quagga {\\n padding-left: 20%;\\n padding-right: 20%; }\\n .viewport {\\n display: flex;\\n width: 100%;\\n height: 80%;\\n -o-object-fit: cover;\\n object-fit: cover; } }\\n /* desktop narrow */\\n @media only screen and (min-width: 970px) and (max-width: 1169px) {\\n .scan-wrapper {\\n padding-left: 10%;\\n padding-right: 10%; } }\\n .viewport::ng-deep video {\\n width: 100%;\\n height: auto;\\n -o-object-fit: cover;\\n object-fit: cover; }\\n .drawingBuffer {\\n display: none !important; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9zY2FubmluZy9DOlxcUFBHUmVwb1xcUGFja2FnaW5nVERTX05ld1xcY2xpZW50XFxQYWNrYWdpbmdURFMgR1VJL3NyY1xcYXBwXFxjb21wb25lbnRzXFxzY2FubmluZ1xcc2Nhbm5pbmcuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxpQkFBaUI7RUFDakIsa0JBQWtCO0VBQ2xCLFlBQVk7RUFDWix5QkFBb0MsRUFBQTtFQUp0QztJQU1JLGNBQWMsRUFBQTtFQU5sQjtJQVNJLGFBQWEsRUFBQTtFQUdqQjtFQUNFLGtCQUFrQjtFQUNsQixXQUFXO0VBQ1gseUJBQW9DLEVBQUE7RUFIdEM7SUFLSSxjQUFjLEVBQUE7RUFMbEI7SUFRSSxhQUFhLEVBQUE7RUFHakI7RUFDRSxlQUFlLEVBQUE7RUFFakIsb0JBQUE7RUFDQTtFQUNFO0lBQ0UsZ0JBQWdCO0lBQ2hCLGlCQUFpQixFQUFBO0VBRW5CO0lBQ0UsaUJBQWlCO0lBQ2pCLGtCQUFrQixFQUFBO0VBRXBCO0lBQ0UsYUFBYTtJQUNiLFdBQVc7SUFDWCxXQUFXO0lBQ1gsb0JBQWlCO09BQWpCLGlCQUFpQixFQUFBLEVBQ2xCO0VBR0gsbUJBQUE7RUFDQTtFQUNFO0lBQ0UsaUJBQWlCO0lBQ2pCLGtCQUFrQixFQUFBLEVBQ25CO0VBRUg7RUFDRSxXQUFXO0VBQ1gsWUFBWTtFQUNaLG9CQUFpQjtLQUFqQixpQkFBaUIsRUFBQTtFQUVuQjtFQUNFLHdCQUF3QixFQUFBIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50cy9zY2FubmluZy9zY2FubmluZy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5zY2FuLXdyYXBwZXIge1xyXG4gIHBhZGRpbmctbGVmdDogMjAlO1xyXG4gIHBhZGRpbmctcmlnaHQ6IDIwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIzMSwgMjM1LCAyMzcpO1xyXG4gICYgLnNjYW4taGVhZGVyIHtcclxuICAgIGNvbG9yOiAjNjM2YzcyO1xyXG4gIH1cclxuICAmIC5idG4tc2Nhbm5lciB7XHJcbiAgICBwYWRkaW5nOiAxcmVtO1xyXG4gIH1cclxufVxyXG4uc2Nhbi13cmFwcGVyLXF1YWdnYXtcclxuICBwYWRkaW5nLXJpZ2h0OiAyMCU7XHJcbiAgaGVpZ2h0OiA1MCU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIzMSwgMjM1LCAyMzcpO1xyXG4gICYgLnNjYW4taGVhZGVyIHtcclxuICAgIGNvbG9yOiAjNjM2YzcyO1xyXG4gIH1cclxuICAmIC5idG4tc2Nhbm5lciB7XHJcbiAgICBwYWRkaW5nOiAxcmVtO1xyXG4gIH1cclxufVxyXG4uc3Bpbm5lciB7XHJcbiAgbWFyZ2luLXRvcDogMjAlO1xyXG59XHJcbi8qIG1vYmlsZSArIHRhYmxldCAqL1xyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2OXB4KSB7XHJcbiAgLnNjYW4td3JhcHBlciB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDYlO1xyXG4gICAgcGFkZGluZy1yaWdodDogNiU7XHJcbiAgfVxyXG4gIC5zY2FuLXdyYXBwZXItcXVhZ2dhe1xyXG4gICAgcGFkZGluZy1sZWZ0OiAyMCU7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMCU7XHJcbiAgfVxyXG4gIC52aWV3cG9ydCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDgwJTtcclxuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gIH1cclxufVxyXG5cclxuLyogZGVza3RvcCBuYXJyb3cgKi9cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NzBweCkgYW5kIChtYXgtd2lkdGg6IDExNjlweCkge1xyXG4gIC5zY2FuLXdyYXBwZXIge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxMCU7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMCU7XHJcbiAgfVxyXG59XHJcbi52aWV3cG9ydDo6bmctZGVlcCB2aWRlbyB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG4gIG9iamVjdC1maXQ6IGNvdmVyO1xyXG59XHJcbi5kcmF3aW5nQnVmZmVye1xyXG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG4iXX0= */\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { ZXingScannerComponent } from '@zxing/ngx-scanner';\r\nimport { ProductService } from 'src/app/services/ProductService';\r\nimport { ResponseCode } from 'src/app/models/responses/ResponseCode';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { BarcodeFormat } from '@zxing/library';\r\n\r\ndeclare var Quagga: any;\r\n@Component({\r\n selector: 'app-scanning',\r\n templateUrl: './scanning.component.html',\r\n styleUrls: ['./scanning.component.scss']\r\n})\r\nexport class ScanningComponent implements OnInit {\r\n @ViewChild('scanner')\r\n private scanner: ZXingScannerComponent;\r\n private hasCameras = false;\r\n private hasPermission: boolean;\r\n\r\n public isScannerVisible = false;\r\n public selectedDevice: MediaDeviceInfo;\r\n public scannedCode: string = null;\r\n public showNoProductFoundError = false;\r\n public allowedFormats = [ BarcodeFormat.QR_CODE, BarcodeFormat.CODE_128, BarcodeFormat.CODE_39];\r\n public checkScanner = true;\r\n\r\n constructor(\r\n private productService: ProductService,\r\n private router: Router,\r\n private translate: TranslateService,\r\n private toastr: ToastrService\r\n ) {\r\n router.events.subscribe(event => {\r\n if (event instanceof NavigationEnd) {\r\n if (event.url === '/no-product') {\r\n this.router.navigate(['scan']);\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n Quagga.stop();\r\n // this.initializeScanner();\r\n this.initQuaggaScanner();\r\n }\r\n ngOnChange(): void {\r\n Quagga.stop();\r\n }\r\n // Init zxing scanner\r\n initializeScanner() {\r\n this.scanner.camerasFound.subscribe((devices: MediaDeviceInfo[]) => {\r\n this.hasCameras = true;\r\n\r\n let deviceToBeSelected: MediaDeviceInfo = null;\r\n\r\n // try to find back camera\r\n for (const device of devices) {\r\n if (/back|rear|environment/gi.test(device.label)) {\r\n deviceToBeSelected = device;\r\n break;\r\n }\r\n }\r\n\r\n // if back camera is not found take first camera\r\n if (!deviceToBeSelected) {\r\n for (const device of devices) {\r\n deviceToBeSelected = device;\r\n break;\r\n }\r\n }\r\n\r\n this.scanner.changeDevice(deviceToBeSelected);\r\n this.selectedDevice = deviceToBeSelected;\r\n this.openScanning();\r\n });\r\n\r\n this.scanner.permissionResponse.subscribe((answer: boolean) => {\r\n this.hasPermission = answer;\r\n });\r\n }\r\n initQuaggaScanner() {\r\n const that = this;\r\n Quagga.init({\r\n inputStream : {\r\n name : 'Live',\r\n type : 'LiveStream',\r\n target: document.querySelector('#interactive') // Or '#yourElement' (optional)\r\n },\r\n decoder : {\r\n readers : ['ean_reader', 'ean_5_reader', 'ean_2_reader', 'code_128_reader', 'code_39_reader']\r\n }\r\n }, (err) => {\r\n if (err) {\r\n return;\r\n }\r\n // console.log(\"Initialization finished. Ready to start\");\r\n Quagga.start();\r\n Quagga.onDetected((res) => {\r\n // window.alert(`code: ${res.codeResult.code}`);\r\n if (res.codeResult.code) {\r\n Quagga.stop();\r\n that.getScannedCode(res.codeResult.code);\r\n }\r\n });\r\n });\r\n }\r\n // Function for Zxing library and dont find any product because remove the first character\r\n handleScannedCode(code: string) {\r\n // Remove prefix (labelling convention):\r\n this.scannedCode = (code.startsWith('P') || code.startsWith('T') || code.startsWith('S'))\r\n ? code.substring(1)\r\n : code;\r\n\r\n // Remove text after the last / in the product code\r\n if (this.scannedCode.indexOf('/') > 0) {\r\n this.scannedCode = this.scannedCode.substring(0, this.scannedCode.lastIndexOf('/'));\r\n }\r\n\r\n this.isScannerVisible = false;\r\n this.scanner.resetCodeReader();\r\n this.scanner.scannerEnabled = false;\r\n\r\n this.productService.getProduct(this.scannedCode).subscribe(\r\n response => {\r\n if (response.status.code === ResponseCode.Ok && response.product.id !== null) {\r\n this.toastr.success(`${this.translate.instant('SCANNING.SCAN_OK')}: ${this.scannedCode}`);\r\n this.router.navigate(['/product', this.scannedCode]);\r\n } else {\r\n this.toastr.error(`${this.translate.instant('SCANNING.NO_PRODUCT')}`);\r\n this.router.navigate(['/no-product']);\r\n }\r\n },\r\n () => {\r\n this.toastr.error(`${this.translate.instant('SCANNING.NO_PRODUCT')}`);\r\n this.router.navigate(['/no-product']);\r\n }\r\n );\r\n }\r\n getScannedCode(code: string) {\r\n this.scannedCode = (code.startsWith('P') || code.startsWith('T') || code.startsWith('S'))\r\n ? code.substring(1)\r\n : code;\r\n\r\n // Remove text after the last / in the product code\r\n if (this.scannedCode.indexOf('/') > 0) {\r\n this.scannedCode = this.scannedCode.substring(0, this.scannedCode.lastIndexOf('/'));\r\n }\r\n\r\n this.productService.getProduct(this.scannedCode).subscribe(\r\n response => {\r\n if (response.status.code === ResponseCode.Ok && response.product.id !== null) {\r\n this.toastr.success(`${this.translate.instant('SCANNING.SCAN_OK')}: ${this.scannedCode}`);\r\n this.router.navigate(['/product', this.scannedCode]);\r\n } else {\r\n this.toastr.error(`${this.translate.instant('SCANNING.NO_PRODUCT')}`);\r\n this.router.navigate(['/no-product']);\r\n }\r\n },\r\n () => {\r\n this.toastr.error(`${this.translate.instant('SCANNING.NO_PRODUCT')}`);\r\n this.router.navigate(['/no-product']);\r\n }\r\n );\r\n }\r\n onDeviceSelectChange(selectedValue: string) {\r\n this.selectedDevice = this.scanner.getDeviceById(selectedValue);\r\n }\r\n\r\n openScanning() {\r\n this.showNoProductFoundError = false;\r\n if (this.hasCameras && this.hasPermission && this.selectedDevice != null) {\r\n this.isScannerVisible = true;\r\n this.scanner.scannerEnabled = true;\r\n this.scanner.restartScan();\r\n }\r\n }\r\n}\r\n","module.exports = \"
\\r\\n \\r\\n clear\\r\\n
\\r\\n\"","module.exports = \".search-field-wrapper {\\n position: relative; }\\n .search-field-wrapper .search-field {\\n width: 100%;\\n padding-right: 30px; }\\n .search-field-wrapper .clear-search-field {\\n position: absolute;\\n top: 6px;\\n right: 6px;\\n font-size: 28px;\\n color: #999999;\\n cursor: pointer; }\\n .search-field-wrapper input::-ms-clear {\\n display: none; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9zZWFyY2gtZmllbGQvQzpcXFBQR1JlcG9cXFBhY2thZ2luZ1REU19OZXdcXGNsaWVudFxcUGFja2FnaW5nVERTIEdVSS9zcmNcXGFwcFxcY29tcG9uZW50c1xcc2VhcmNoLWZpZWxkXFxzZWFyY2gtZmllbGQuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxrQkFBa0IsRUFBQTtFQURwQjtJQUlJLFdBQVc7SUFDWCxtQkFBbUIsRUFBQTtFQUx2QjtJQVNJLGtCQUFrQjtJQUNsQixRQUFRO0lBQ1IsVUFBVTtJQUNWLGVBQWU7SUFDZixjQUFjO0lBQ2QsZUFBZSxFQUFBO0VBZG5CO0lBa0JJLGFBQWEsRUFBQSIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvc2VhcmNoLWZpZWxkL3NlYXJjaC1maWVsZC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5zZWFyY2gtZmllbGQtd3JhcHBlciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAmIC5zZWFyY2gtZmllbGQge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xyXG4gIH1cclxuXHJcbiAgJiAuY2xlYXItc2VhcmNoLWZpZWxkIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNnB4O1xyXG4gICAgcmlnaHQ6IDZweDtcclxuICAgIGZvbnQtc2l6ZTogMjhweDtcclxuICAgIGNvbG9yOiAjOTk5OTk5O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIH1cclxuXHJcbiAgaW5wdXQ6Oi1tcy1jbGVhciB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxufVxyXG4iXX0= */\"","import { Component, Input, Output, EventEmitter, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, AbstractControl } from '../../../../node_modules/@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-search-field',\r\n templateUrl: './search-field.component.html',\r\n styleUrls: ['./search-field.component.scss']\r\n})\r\nexport class SearchFieldComponent implements OnInit {\r\n // 3 seconds as default\r\n @Input() timeoutMillis = 3000;\r\n @Output() typingEnded: EventEmitter = new EventEmitter();\r\n private call: any = null;\r\n public searchFieldGroup: FormGroup;\r\n private searchField: AbstractControl;\r\n\r\n constructor(private formBuilder: FormBuilder) {\r\n this.searchFieldGroup = this.formBuilder.group({\r\n search: ['']\r\n });\r\n this.searchField = this.searchFieldGroup.controls.search;\r\n }\r\n\r\n ngOnInit() { }\r\n\r\n private cancelCall() {\r\n if (this.call !== null) {\r\n clearTimeout(this.call);\r\n }\r\n }\r\n\r\n onKeyUp() {\r\n this.cancelCall();\r\n\r\n this.call = setTimeout(() => {\r\n this.typingEnded.emit([this.searchField.value]);\r\n this.call = null;\r\n }, this.timeoutMillis);\r\n }\r\n\r\n clearField() {\r\n this.cancelCall();\r\n\r\n if (this.searchField.value !== '') {\r\n this.searchField.setValue('');\r\n this.typingEnded.emit([this.searchField.value]);\r\n }\r\n }\r\n\r\n public getValue(): string {\r\n return this.searchField.value;\r\n }\r\n\r\n public setValue(value: string) {\r\n this.searchField.setValue(value);\r\n }\r\n}\r\n","module.exports = \"\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvc2lnbi1pbi9zaWduLWluLmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport { AuthService } from 'src/app/services/AuthService';\r\n\r\n@Component({\r\n selector: 'app-sign-in',\r\n templateUrl: './sign-in.component.html',\r\n styleUrls: ['./sign-in.component.scss']\r\n})\r\nexport class SignInComponent implements OnInit {\r\n\r\n constructor(private authService: AuthService) { }\r\n\r\n ngOnInit() {\r\n this.authService.signIn();\r\n }\r\n}\r\n","module.exports = \"
\"","module.exports = \".spinner-loading {\\n width: 75px;\\n height: 75px;\\n border-radius: 50%;\\n border: 5px solid #ddebf3;\\n border-left-color: #3c83af;\\n background: transparent;\\n -webkit-animation: rotate-spinner 0.8s linear infinite;\\n animation: rotate-spinner 0.8s linear infinite;\\n position: relative;\\n top: calc(50% - 39px);\\n left: calc(50% - 39px); }\\n\\n@-webkit-keyframes rotate-spinner {\\n from {\\n -webkit-transform: rotate(0);\\n transform: rotate(0); }\\n to {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg); } }\\n\\n@keyframes rotate-spinner {\\n from {\\n -webkit-transform: rotate(0);\\n transform: rotate(0); }\\n to {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg); } }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9zcGlubmVyL0M6XFxQUEdSZXBvXFxQYWNrYWdpbmdURFNfTmV3XFxjbGllbnRcXFBhY2thZ2luZ1REUyBHVUkvc3JjXFxhcHBcXGNvbXBvbmVudHNcXHNwaW5uZXJcXHNwaW5uZXIuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUE7RUFDRSxXQUhtQjtFQUluQixZQUptQjtFQUtuQixrQkFBa0I7RUFDbEIseUJBUDREO0VBUTVELDBCQVR1QztFQVV2Qyx1QkFBdUI7RUFDdkIsc0RBQThDO1VBQTlDLDhDQUE4QztFQUU5QyxrQkFBa0I7RUFDbEIscUJBQXFCO0VBQ3JCLHNCQUFzQixFQUFBOztBQUd4QjtFQUNFO0lBQ0UsNEJBQW9CO1lBQXBCLG9CQUFvQixFQUFBO0VBRXRCO0lBQ0UsaUNBQXlCO1lBQXpCLHlCQUF5QixFQUFBLEVBQUE7O0FBTDdCO0VBQ0U7SUFDRSw0QkFBb0I7WUFBcEIsb0JBQW9CLEVBQUE7RUFFdEI7SUFDRSxpQ0FBeUI7WUFBekIseUJBQXlCLEVBQUEsRUFBQSIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvc3Bpbm5lci9zcGlubmVyLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiJGNvbG9yLXNwaW5uZXItcHJpbWFyeTogcmdiKDYwLCAxMzEsIDE3NSk7XHJcbiRjb2xvci1zcGlubmVyLXNlY29uZGFyeTogbGlnaHRlbigkY29sb3Itc3Bpbm5lci1wcmltYXJ5LCA0NSUpO1xyXG4kcmFkaXVzLXNwaW5uZXI6IDc1cHg7XHJcblxyXG4uc3Bpbm5lci1sb2FkaW5nIHtcclxuICB3aWR0aDogJHJhZGl1cy1zcGlubmVyO1xyXG4gIGhlaWdodDogJHJhZGl1cy1zcGlubmVyO1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICBib3JkZXI6IDVweCBzb2xpZCAkY29sb3Itc3Bpbm5lci1zZWNvbmRhcnk7XHJcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICRjb2xvci1zcGlubmVyLXByaW1hcnk7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgYW5pbWF0aW9uOiByb3RhdGUtc3Bpbm5lciAwLjhzIGxpbmVhciBpbmZpbml0ZTtcclxuICAvL21hcmdpbjogNnJlbSBhdXRvO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB0b3A6IGNhbGMoNTAlIC0gMzlweCk7XHJcbiAgbGVmdDogY2FsYyg1MCUgLSAzOXB4KTtcclxufVxyXG5cclxuQGtleWZyYW1lcyByb3RhdGUtc3Bpbm5lciB7XHJcbiAgZnJvbSB7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcclxuICB9XHJcbiAgdG8ge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxuICB9XHJcbn1cclxuIl19 */\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-spinner',\r\n templateUrl: './spinner.component.html',\r\n styleUrls: ['./spinner.component.scss']\r\n})\r\nexport class SpinnerComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { Directive, Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator, FormControl } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[appMin][formControlName],[appMin][formControl],[appMin][ngModel]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: MinValidatorDirective, multi: true }]\r\n})\r\nexport class MinValidatorDirective {\r\n @Input()\r\n appMin: number;\r\n\r\n validate(c: FormControl): { [key: string]: any } {\r\n const v = c.value;\r\n return (v < this.appMin) ? { appMin: true } : null;\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router';\r\nimport { Observable, of } from 'rxjs';\r\nimport { tap, map } from 'rxjs/operators';\r\nimport { AuthService } from '../services/AuthService';\r\nimport { Environment } from 'src/environments/environment';\r\nimport { EnvironmentService } from '../services/EnvironmentService';\r\nimport { UserService } from '../services/UserService';\r\nimport { User } from '../models/User';\r\nimport { UserResponse } from '../models/responses/UserResponse';\r\n\r\n@Injectable()\r\nexport class AuthorizationGuard implements CanActivate {\r\n private route: ActivatedRouteSnapshot;\r\n\r\n constructor(\r\n private router: Router,\r\n private authService: AuthService,\r\n private environmentService: EnvironmentService,\r\n private userService: UserService) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\r\n this.route = route;\r\n return this.checkUser();\r\n }\r\n\r\n private checkUser(): Observable {\r\n return this.authService.getIsLoggedIn().pipe(\r\n tap((isAuthorized: boolean) => {\r\n if (!isAuthorized) {\r\n const environment: Environment = this.environmentService.getEnvironment();\r\n this.router.navigate([environment.authorizationConfig.common.unauthorizedRoute]);\r\n } else {\r\n this.checkOrderRole();\r\n }\r\n })\r\n );\r\n }\r\n\r\n private checkOrderRole() {\r\n if (this.route.data.role === 'order') {\r\n this.userService.getUser().subscribe(\r\n data => {\r\n if (data && data.user && !data.user.canPlaceOrders) {\r\n const environment: Environment = this.environmentService.getEnvironment();\r\n this.router.navigate([environment.authorizationConfig.common.unauthorizedRoute]);\r\n }\r\n },\r\n () => { }\r\n );\r\n }\r\n }\r\n}\r\n","import { HttpInterceptor, HttpHandler, HttpRequest, HttpEvent, HttpErrorResponse } from '@angular/common/http';\r\nimport { OidcSecurityService } from 'angular-auth-oidc-client';\r\nimport { Observable, of, throwError } from 'rxjs';\r\nimport { Injector, Injectable } from '@angular/core';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { EnvironmentService } from '../services/EnvironmentService';\r\nimport { Environment } from 'src/environments/environment';\r\n\r\n@Injectable()\r\nexport class AuthInterceptor implements HttpInterceptor {\r\n private oidcSecurityService: OidcSecurityService;\r\n\r\n constructor(\r\n private injector: Injector,\r\n private router: Router,\r\n private environmentService: EnvironmentService) { }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n let requestToForward = req;\r\n\r\n if (this.oidcSecurityService === undefined) {\r\n this.oidcSecurityService = this.injector.get(OidcSecurityService);\r\n }\r\n\r\n if (this.oidcSecurityService !== undefined) {\r\n const token = this.oidcSecurityService.getToken();\r\n if (token !== '') {\r\n requestToForward = req.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${token}`\r\n }\r\n });\r\n }\r\n }\r\n\r\n return next.handle(requestToForward).pipe(\r\n catchError((error: any) => {\r\n if (error instanceof HttpErrorResponse) {\r\n const environment: Environment = this.environmentService.getEnvironment();\r\n\r\n switch (error.status) {\r\n case 401:\r\n this.router.navigate([environment.authorizationConfig.common.unauthorizedRoute]);\r\n return of(error as any);\r\n case 403:\r\n this.router.navigate(\r\n [environment.authorizationConfig.common.forbiddenRoute],\r\n { state: { error: error.error } }\r\n );\r\n return of(error as any);\r\n }\r\n }\r\n\r\n return throwError(error);\r\n })\r\n );\r\n }\r\n}\r\n","export enum AuthorizationState {\r\n Unverified = 0,\r\n Active = 1,\r\n Disabled = 2\r\n}\r\n","export enum Languages {\r\n English = 'en-us',\r\n German = 'de-de',\r\n French = 'fr-fr',\r\n Italian = 'it-it',\r\n 'Spanish (Mexico)' = 'es-mx',\r\n 'Spanish (Spain)' = 'es-es',\r\n 'Portuguese (Brazil)' = 'pt-br',\r\n Russian = 'ru-ru',\r\n Polish = 'pl-pl',\r\n Chinese = 'zh-cn',\r\n 'Chinese (Traditional)' = 'zh-tw',\r\n Thai = 'th-th',\r\n 'Korean (South Korea)' = 'ko-kr',\r\n Indonesian = 'id-id',\r\n Vietnamese = 'vi-vn'\r\n}\r\n","import { OrderItems } from './OrderItems';\r\nimport { OrderAddress } from './OrderAddress';\r\n\r\nexport class Order {\r\n public orderId: string;\r\n\r\n public orderNumber: number;\r\n\r\n public customerId: number;\r\n\r\n public orderStatus: string;\r\n\r\n public createdByUserId: number;\r\n\r\n public lineItemCount: number;\r\n\r\n public orderItems: OrderItems[] = [];\r\n\r\n public orderDate: string;\r\n\r\n public requiredDate: string;\r\n\r\n public customerName: string;\r\n\r\n public poNumber: string;\r\n\r\n public address: OrderAddress;\r\n}\r\n","\r\nexport class OrderItems {\r\n public orderItemId: number;\r\n\r\n public productId: number;\r\n\r\n public productCode: string;\r\n\r\n public quantity: number;\r\n\r\n public price: number;\r\n\r\n public lineNumber: number;\r\n\r\n public extendedPriceClient: number;\r\n\r\n public uom: string;\r\n\r\n public customerProductCode: string;\r\n\r\n}\r\n","export class OrderSearch {\r\n public userId: number;\r\n\r\n public customerId: number;\r\n\r\n public orderId: string;\r\n\r\n public orderStatus: string;\r\n\r\n public orderCustomerId: number;\r\n\r\n public orderUserId: number;\r\n\r\n public orderNumber: number;\r\n}\r\n","import { Customer } from './Customer';\r\n\r\nexport class User {\r\n\r\n public emailAddress: string;\r\n\r\n public firstName: string;\r\n\r\n public lastName: string;\r\n\r\n public companyId: number;\r\n\r\n public customer: Customer;\r\n\r\n public isInternal: boolean;\r\n\r\n public canPlaceOrders: boolean;\r\n\r\n public userRegion: number;\r\n\r\n}\r\n","export enum ResponseCode {\r\n Ok = 0,\r\n InternalServerError = 1,\r\n ProductNotFound = 2\r\n}\r\n","import { OidcConfigService, OidcSecurityService, OpenIDImplicitFlowConfiguration, AuthWellKnownEndpoints } from 'angular-auth-oidc-client';\r\nimport { Injectable } from '@angular/core';\r\nimport { Subscription, Observable } from 'rxjs';\r\nimport { filter, take } from 'rxjs/operators';\r\nimport { EnvironmentService } from './EnvironmentService';\r\nimport { AuthConfig } from 'src/environments/AuthorizationSetting';\r\nimport { Environment } from 'src/environments/environment';\r\n\r\nexport enum AuthType {\r\n ADFS = 'ADFS',\r\n ADB2C = 'ADB2C'\r\n}\r\n\r\n@Injectable()\r\nexport class AuthService {\r\n private readonly authTypeStorageItemName: string = 'auth-type';\r\n private readonly adb2cResponseFragmentFirstArgumentName: string = 'state';\r\n private readonly adfsResponseFragmentFirstArgumentName: string = 'access_token';\r\n\r\n private isLoggedInSubscriptions: Subscription[] = [];\r\n\r\n constructor(\r\n private oidcConfigService: OidcConfigService,\r\n private oidcSecurityService: OidcSecurityService,\r\n private environmentService: EnvironmentService) { }\r\n\r\n authorizationCallback() {\r\n const type: AuthType = this.getType();\r\n const responseFragmentFirstArgumentName = this.getResponseFragmentFirstArgumentName(type);\r\n const hash = this.getTokenHash(responseFragmentFirstArgumentName);\r\n\r\n if (hash) {\r\n this.oidcSecurityService.authorizedImplicitFlowCallback(hash);\r\n }\r\n }\r\n\r\n configure(type?: AuthType) {\r\n if (!type) {\r\n type = this.getType();\r\n }\r\n\r\n if (type) {\r\n this.configure_internal(type);\r\n } else {\r\n // window.location.href = this.environmentService.getEnvironment().authorizationConfig.common.postLogoutRedirectUrl;\r\n this.configure_internal(AuthType.ADB2C);\r\n }\r\n }\r\n\r\n getIsLoggedIn(): Observable {\r\n return this.oidcSecurityService.getIsAuthorized();\r\n }\r\n\r\n signIn() {\r\n this.oidcSecurityService.getIsModuleSetup().pipe(\r\n filter((isModuleSetup: boolean) => isModuleSetup),\r\n take(1)\r\n ).subscribe(() => {\r\n const config = this.getConfig(this.getType());\r\n\r\n if (config.resourceId) {\r\n this.oidcSecurityService.setCustomRequestParameters({\r\n resource: config.resourceId\r\n });\r\n }\r\n\r\n this.oidcSecurityService.authorize();\r\n });\r\n }\r\n\r\n signOut() {\r\n this.clear();\r\n this.oidcSecurityService.logoff();\r\n }\r\n\r\n resetPassword() {\r\n const config: AuthConfig = this.getConfig(AuthType.ADB2C);\r\n\r\n window.location.href = `${config.passResetUrl}?p=${config.passResetPolicy}&client_id=${config.clientId}\r\n &nonce=defaultNonce&redirect_uri=${window.location.origin}\r\n &scope=${config.passResetScope}&response_type=${config.passResetResponseType}&prompt=login`;\r\n }\r\n\r\n private clear() {\r\n if (this.isLoggedInSubscriptions) {\r\n this.isLoggedInSubscriptions.forEach(subscription => {\r\n subscription.unsubscribe();\r\n });\r\n }\r\n\r\n this.isLoggedInSubscriptions = [];\r\n localStorage.removeItem(this.authTypeStorageItemName);\r\n sessionStorage.removeItem('user');\r\n }\r\n\r\n private configure_internal(type: AuthType) {\r\n this.setType(type);\r\n const config: AuthConfig = this.getConfig(type);\r\n\r\n this.oidcConfigService.load_using_custom_stsServer(config.metadataUrl);\r\n this.oidcConfigService.onConfigurationLoaded.subscribe(() => {\r\n const environment: Environment = this.environmentService.getEnvironment();\r\n const openIDImplicitFlowConfiguration = new OpenIDImplicitFlowConfiguration();\r\n openIDImplicitFlowConfiguration.stsServer = config.stsServerUrl;\r\n openIDImplicitFlowConfiguration.client_id = config.clientId;\r\n openIDImplicitFlowConfiguration.scope = config.scope;\r\n openIDImplicitFlowConfiguration.redirect_url = environment.authorizationConfig.common.redirectUrl;\r\n openIDImplicitFlowConfiguration.response_type = environment.authorizationConfig.common.responseType;\r\n openIDImplicitFlowConfiguration.post_logout_redirect_uri = environment.authorizationConfig.common.postLogoutRedirectUrl;\r\n openIDImplicitFlowConfiguration.post_login_route = environment.authorizationConfig.common.postLoginRoute;\r\n openIDImplicitFlowConfiguration.forbidden_route = environment.authorizationConfig.common.forbiddenRoute;\r\n openIDImplicitFlowConfiguration.unauthorized_route = environment.authorizationConfig.common.unauthorizedRoute;\r\n openIDImplicitFlowConfiguration.auto_userinfo = environment.authorizationConfig.common.autoUserInfo;\r\n openIDImplicitFlowConfiguration.log_console_warning_active = environment.authorizationConfig.common.enableLogs;\r\n openIDImplicitFlowConfiguration.log_console_debug_active = environment.authorizationConfig.common.enableLogs;\r\n openIDImplicitFlowConfiguration.max_id_token_iat_offset_allowed_in_seconds =\r\n environment.authorizationConfig.common.maxIdTokenIATOffsetAllowedInSeconds;\r\n openIDImplicitFlowConfiguration.storage = environment.authorizationConfig.common.storage;\r\n openIDImplicitFlowConfiguration.silent_renew = environment.authorizationConfig.common.renewToken;\r\n openIDImplicitFlowConfiguration.silent_renew_url = environment.authorizationConfig.common.renewTokenUrl;\r\n openIDImplicitFlowConfiguration.silent_renew_offset_in_seconds = config.renewTokenSecondsOffset;\r\n\r\n const authWellKnownEndpoints = new AuthWellKnownEndpoints();\r\n authWellKnownEndpoints.setWellKnownEndpoints(this.oidcConfigService.wellKnownEndpoints);\r\n\r\n this.oidcSecurityService.setupModule(openIDImplicitFlowConfiguration, authWellKnownEndpoints);\r\n });\r\n }\r\n\r\n private getConfig(type: AuthType) {\r\n const environment: Environment = this.environmentService.getEnvironment();\r\n switch (type) {\r\n case AuthType.ADB2C:\r\n case AuthType.ADFS:\r\n return environment.authorizationConfig.ADB2C;\r\n \r\n // return environment.authorizationConfig.ADFS;\r\n default:\r\n // return undefined;\r\n return environment.authorizationConfig.ADB2C;\r\n }\r\n }\r\n\r\n private getResponseFragmentFirstArgumentName(type: AuthType) {\r\n switch (type) {\r\n case AuthType.ADB2C:\r\n case AuthType.ADFS:\r\n return this.adb2cResponseFragmentFirstArgumentName;\r\n \r\n // return this.adfsResponseFragmentFirstArgumentName;\r\n default:\r\n return undefined;\r\n }\r\n }\r\n\r\n private getTokenHash(fragmentFirstParameterName: string) {\r\n if (typeof location !== undefined && window.location.hash) {\r\n const indexHash = window.location.hash.indexOf(fragmentFirstParameterName);\r\n return indexHash > -1 && window.location.hash.substr(indexHash);\r\n }\r\n }\r\n\r\n private getType() {\r\n const type = localStorage.getItem(this.authTypeStorageItemName);\r\n\r\n switch (type) {\r\n case AuthType.ADB2C.toString():\r\n case AuthType.ADFS.toString():\r\n return AuthType.ADB2C;\r\n \r\n //return AuthType.ADFS;\r\n default:\r\n return undefined;\r\n }\r\n }\r\n\r\n private setType(type: AuthType) {\r\n localStorage.setItem(this.authTypeStorageItemName, type.toString());\r\n }\r\n}\r\n","import { Injectable } from '../../../node_modules/@angular/core';\r\nimport { ServiceBase } from './ServiceBase';\r\nimport { Observable } from '../../../node_modules/rxjs';\r\nimport { EnvironmentService } from './EnvironmentService';\r\n\r\n@Injectable()\r\nexport class DocumentService {\r\n constructor(\r\n private serviceBase: ServiceBase,\r\n private environmentService: EnvironmentService,\r\n ) { }\r\n\r\n getApplicationDataSheetFile(productId: string, runConditionId: string, lang: string): Observable {\r\n return this.serviceBase.getBlob(`/document/ads/${productId}?runConditionId=${runConditionId}&lang=${lang}`);\r\n }\r\n\r\n getProductDataSheetFile(productId: string, lang: string): Observable {\r\n return this.serviceBase.getBlob(`/document/pds/${productId}?lang=${lang}`);\r\n }\r\n\r\n getSafetyDataSheetUrl(productId: string, lang: string) {\r\n let env: string;\r\n this.environmentService.getEnvironment().production ? env = '' : env = 'stg';\r\n const langCodes = lang.split('-');\r\n productId = productId.split(' ')[0];\r\n lang = `${langCodes[0]}-${langCodes[1].toUpperCase()}`;\r\n // tslint:disable-next-line:max-line-length\r\n return `https://${env}buyat.ppg.com/EHSDocumentManagerPublic/documentSearch.aspx?FolderID1=87&SearchAllPublicFolders=True&CodeCondition=BeginsWith&CodeValue=${productId}&SuppressSearchControls=True`;\r\n }\r\n\r\n getSafetyDataSheetUrlSDS(id: string, productId: string, lang: string) {\r\n let env: string;\r\n this.environmentService.getEnvironment().production ? env = '' : env = 'stg';\r\n const langCodes = lang.split('-');\r\n productId = productId.split(' ')[0];\r\n lang = `${langCodes[0]}-${langCodes[1].toUpperCase()}`;\r\n\r\n return this.serviceBase.get(`/product/ValidateSds/${id}`);\r\n }\r\n\r\n getEnvUrl() {\r\n let env: string;\r\n this.environmentService.getEnvironment().production ? env = '' : env = 'stg';\r\n\r\n return env;\r\n }\r\n\r\n getVocFile(productId: string): Observable {\r\n return this.serviceBase.getBlob(`/document/voc/${productId}`);\r\n }\r\n\r\n getCoaFile(parentItem: string, lotNumber: string): Observable {\r\n return this.serviceBase.getBlob(`/document/coa/${parentItem}?lotNumber=${lotNumber}`);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Environment } from 'src/environments/environment';\r\nimport { local, dev, test, prd } from 'src/environments/EnvironmentDefinitions';\r\n\r\n@Injectable()\r\nexport class EnvironmentService {\r\n constructor() {\r\n const hostname: string = window.location.hostname.toLowerCase().trim();\r\n this.environment = EnvironmentService.urlToEnvironment[hostname];\r\n }\r\n\r\n private static urlToEnvironment: {[key: string]: Environment} = {\r\n localhost: local,\r\n 'devpackagingtdsspa.z20.web.core.windows.net': dev,\r\n 'testpackagingtdsspa.z20.web.core.windows.net': test,\r\n 'packagingtdsspa.z20.web.core.windows.net': prd,\r\n 'packaging.ppg.com': prd,\r\n };\r\n\r\n private environment: Environment;\r\n\r\n getEnvironment(): Environment {\r\n return this.environment;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class InternalDataTransferService {\r\n private storage: any;\r\n public constructor() { }\r\n\r\n public setStorage(storage: any) {\r\n this.storage = storage;\r\n }\r\n\r\n public getStorage(): any {\r\n return this.storage;\r\n }\r\n}\r\n","import { Injectable } from '../../../node_modules/@angular/core';\r\nimport { ServiceBase } from './ServiceBase';\r\nimport { Observable } from '../../../node_modules/rxjs';\r\nimport { HttpHeaders, HttpParams } from '../../../node_modules/@angular/common/http';\r\nimport { OrderResponse } from '../models/responses/OrderResponse';\r\nimport { CopyOrderResponse } from '../models/responses/CopyOrderResponse';\r\nimport { UpsertOrderResponse } from '../models/responses/UpsertOrderResponse';\r\nimport { SubmitOrderResponse } from '../models/responses/SubmitOrderResponse';\r\nimport { GetOrderAddressResponse } from '../models/responses/GetOrderAddressResponse';\r\nimport { Order } from '../models/Order';\r\nimport { OrderSearch } from '../models/OrderSearch';\r\n\r\n@Injectable()\r\nexport class OrderService {\r\n constructor(private serviceBase: ServiceBase) { }\r\n\r\n UpsertOrder(orderReq: Order, cartFunc: string): Observable {\r\n let headers: HttpHeaders = new HttpHeaders();\r\n headers = headers.set('Content-Type', 'application/json');\r\n\r\n return this.serviceBase.postWithOptions(`/order/UpsertOrder?cartFunc=${cartFunc}`, JSON.stringify(orderReq), headers, null);\r\n }\r\n\r\n CopyOrder(orderReq: Order): Observable {\r\n let headers: HttpHeaders = new HttpHeaders();\r\n headers = headers.set('Content-Type', 'application/json');\r\n\r\n return this.serviceBase.postWithOptions('/order/CopyOrder', JSON.stringify(orderReq), headers, null);\r\n }\r\n\r\n SubmitOrder(orderId: string): Observable {\r\n let headers: HttpHeaders = new HttpHeaders();\r\n headers = headers.set('Content-Type', 'application/json');\r\n\r\n return this.serviceBase.postWithOptions(`/order/SubmitOrder/${orderId}`, null, headers, null);\r\n }\r\n\r\n GetOrder(orderSearch: OrderSearch): Observable {\r\n let headers: HttpHeaders = new HttpHeaders();\r\n headers = headers.set('Content-Type', 'application/json');\r\n return this.serviceBase.postWithOptions('/order/GetOrder', JSON.stringify(orderSearch), headers, null);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class PreviousRouteService {\r\n\r\n private previousUrl: string;\r\n private currentUrl: string;\r\n\r\n constructor(private router: Router) {\r\n this.currentUrl = this.router.url;\r\n router.events.subscribe(event => {\r\n if (event instanceof NavigationEnd) {\r\n this.previousUrl = this.currentUrl;\r\n this.currentUrl = event.url;\r\n }\r\n });\r\n }\r\n\r\n public getPreviousUrl() {\r\n return this.previousUrl;\r\n }\r\n}\r\n","import { Injectable } from '../../../node_modules/@angular/core';\r\nimport { ServiceBase } from './ServiceBase';\r\nimport { Observable } from '../../../node_modules/rxjs';\r\nimport { HttpParams } from '../../../node_modules/@angular/common/http';\r\nimport { GetProductListItemsResponse } from '../models/responses/GetProductListItemsResponse';\r\nimport { GetProductResponse } from '../models/responses/GetProductResponse';\r\n\r\n@Injectable()\r\nexport class ProductService {\r\n constructor(private serviceBase: ServiceBase) { }\r\n\r\n getProductList(idOrDescription: string): Observable {\r\n let params: HttpParams = new HttpParams();\r\n params = params.append('idOrDescription', idOrDescription);\r\n return this.serviceBase.get(`/product`, params);\r\n }\r\n\r\n getProduct(id: string): Observable {\r\n return this.serviceBase.get(`/product/${id}`);\r\n }\r\n}\r\n","import { Injectable } from '../../../node_modules/@angular/core';\r\nimport { Observable } from '../../../node_modules/rxjs';\r\nimport { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';\r\nimport { EnvironmentService } from './EnvironmentService';\r\nimport { Params } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class ServiceBase {\r\n private baseURL: string;\r\n\r\n constructor(private http: HttpClient, private environmentService: EnvironmentService) {\r\n this.baseURL = this.environmentService.getEnvironment().apiUrl;\r\n }\r\n\r\n public get(apiUrl: string, params?: HttpParams): Observable {\r\n return this.http.get(this.baseURL + apiUrl, {\r\n params\r\n });\r\n }\r\n\r\n public getBlob(apiUrl: string): Observable {\r\n return this.http.get(this.baseURL + apiUrl, {\r\n responseType: 'blob'\r\n });\r\n }\r\n\r\n public postWithOptions(apiUrl: string, body: T, h?: HttpHeaders, p?: Params): Observable {\r\n return this.http.post(this.baseURL + apiUrl, body, { headers: h, params: p });\r\n }\r\n\r\n public post(apiUrl: string, body: T): Observable {\r\n return this.http.post(this.baseURL + apiUrl, body);\r\n }\r\n}\r\n","import { Injectable } from '../../../node_modules/@angular/core';\r\nimport { ServiceBase } from './ServiceBase';\r\nimport { UserResponse } from '../models/responses/UserResponse';\r\nimport { ResponseCode } from '../models/responses/ResponseCode';\r\nimport { User } from '../models/User';\r\nimport { Observable, of } from '../../../node_modules/rxjs';\r\nimport { tap } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class UserService {\r\n constructor(private serviceBase: ServiceBase) { }\r\n\r\n getUser(): Observable {\r\n const user = sessionStorage.getItem('user');\r\n\r\n if (user) {\r\n console.log(user);\r\n return of(JSON.parse(user));\r\n } else {\r\n return this.serviceBase.get('/user').pipe(\r\n tap((u: UserResponse) => {\r\n if (u && u.user && u.user.customer) {\r\n u.user.canPlaceOrders = u.user.canPlaceOrders && (u.user.customer.canPlaceOrder ? u.user.customer.canPlaceOrder : false);\r\n } else {\r\n u.user.canPlaceOrders = false;\r\n }\r\n sessionStorage.setItem('user', JSON.stringify(u));\r\n })\r\n );\r\n }\r\n }\r\n SetLogOut(): Observable {\r\n const session = sessionStorage.getItem('user');\r\n if (session == null) return null;\r\n const object = JSON.parse(session);\r\n return this.serviceBase.get(`/event/SetLogOutDate/${object.user.emailAddress}`);\r\n }\r\n}\r\n","import { Environment } from './environment';\r\n\r\nexport const local: Environment = {\r\n production: false,\r\n apiUrl: 'https://localhost:44375/api',\r\n googleAnalyticsId: '',\r\n authorizationConfig: {\r\n ADFS: {\r\n metadataUrl: 'https://ppgadfsproxytest.azurewebsites.net/testsso4.ppg.com/adfs/.well-known/openid-configuration',\r\n stsServerUrl: 'https://testsso4.ppg.com/adfs/',\r\n clientId: 'https://devpackagingtdsspa.z20.web.core.windows.net/',\r\n scope: 'openid',\r\n resourceId: 'https://devpackagingtdsapi.azurewebsites.net/',\r\n renewTokenSecondsOffset: 3570,\r\n passResetUrl: '',\r\n passResetPolicy: '',\r\n passResetScope: '',\r\n passResetResponseType: ''\r\n },\r\n ADB2C: {\r\n metadataUrl: 'https://ppgindustriesincb2cdev.b2clogin.com/ppgindustriesincb2cdev.onmicrosoft.com/' +\r\n 'v2.0/.well-known/openid-configuration?p=B2C_1_PackagingTDS_SignUpSignIn_v2',\r\n stsServerUrl: 'https://ppgindustriesincb2cdev.b2clogin.com/ppgindustriesincb2cdev.onmicrosoft.com/',\r\n clientId: '038b3f6f-f63e-44d1-90c4-322dc6fcc4ae',\r\n scope: 'openid https://ppgindustriesincb2cdev.onmicrosoft.com/api/user_impersonation',\r\n resourceId: null,\r\n renewTokenSecondsOffset: 270,\r\n passResetUrl: 'https://ppgindustriesincb2cdev.b2clogin.com/ppgindustriesincb2cdev.onmicrosoft.com/oauth2/v2.0/authorize',\r\n passResetPolicy: 'B2C_1_PackagingTDS_Password_Reset_v2',\r\n passResetScope: 'openid',\r\n passResetResponseType: 'id_token'\r\n },\r\n common: {\r\n redirectUrl: window.location.origin,\r\n responseType: 'id_token token',\r\n postLogoutRedirectUrl: `${window.location.origin}/#/sign-in?authtype=b2c`,\r\n postLoginRoute: '/products',\r\n forbiddenRoute: '/error/forbidden',\r\n unauthorizedRoute: '/error/unauthorized',\r\n autoUserInfo: false,\r\n enableLogs: true,\r\n maxIdTokenIATOffsetAllowedInSeconds: 30,\r\n storage: localStorage,\r\n renewToken: true,\r\n renewTokenUrl: window.location.origin\r\n }\r\n }\r\n};\r\n\r\nexport const dev: Environment = {\r\n production: false,\r\n apiUrl: 'https://devpackagingtdsapi.azurewebsites.net/api',\r\n googleAnalyticsId: '',\r\n authorizationConfig: {\r\n ADFS: { \r\n //metadataUrl: 'https://testsso4.ppg.com/adfs/.well-known/openid-configuration',\r\n //stsServerUrl: 'https://testsso4.ppg.com/adfs/',\r\n metadataUrl: 'https://login.microsoftonline.com/9dfd1e5e-bb06-40df-8eeb-2a295fe4dda5/.well-known/openid-configuration',\r\n stsServerUrl: 'https://sts.windows.net/9dfd1e5e-bb06-40df-8eeb-2a295fe4dda5/',\r\n clientId: 'cdc58565-c3e9-421b-a589-2dc81505d6f7',\r\n scope: 'openid',\r\n resourceId: 'https://devpackagingtdsapi.azurewebsites.net/',\r\n renewTokenSecondsOffset: 3570,\r\n passResetUrl: '',\r\n passResetPolicy: '',\r\n passResetScope: '',\r\n passResetResponseType: ''\r\n \r\n //tenantName: 'PPGIndustriesInc'\r\n },\r\n ADB2C: {\r\n metadataUrl: 'https://ppgindustriesincb2cdev.b2clogin.com/ppgindustriesincb2cdev.onmicrosoft.com/' +\r\n 'v2.0/.well-known/openid-configuration?p=B2C_1_PackagingTDS_SignUpSignIn_v2',\r\n stsServerUrl: 'https://ppgindustriesincb2cdev.b2clogin.com/ppgindustriesincb2cdev.onmicrosoft.com/',\r\n clientId: '038b3f6f-f63e-44d1-90c4-322dc6fcc4ae',\r\n scope: 'openid https://ppgindustriesincb2cdev.onmicrosoft.com/api/user_impersonation',\r\n resourceId: null,\r\n renewTokenSecondsOffset: 270,\r\n passResetUrl: 'https://ppgindustriesincb2cdev.b2clogin.com/ppgindustriesincb2cdev.onmicrosoft.com/oauth2/v2.0/authorize',\r\n passResetPolicy: 'B2C_1_PackagingTDS_Password_Reset_v2',\r\n passResetScope: 'openid',\r\n passResetResponseType: 'id_token'\r\n },\r\n common: {\r\n redirectUrl: window.location.origin,\r\n responseType: 'id_token token',\r\n postLogoutRedirectUrl: `${window.location.origin}/#/sign-in?authtype=b2c`,\r\n postLoginRoute: '/products',\r\n forbiddenRoute: '/error/forbidden',\r\n unauthorizedRoute: '/error/unauthorized',\r\n autoUserInfo: false,\r\n enableLogs: true,\r\n maxIdTokenIATOffsetAllowedInSeconds: 30,\r\n storage: localStorage,\r\n renewToken: true,\r\n renewTokenUrl: window.location.origin\r\n }\r\n }\r\n};\r\n\r\nexport const test: Environment = {\r\n production: false,\r\n apiUrl: 'https://testpackagingtdsapi.azurewebsites.net/api',\r\n googleAnalyticsId: '',\r\n authorizationConfig: {\r\n ADFS: {\r\n metadataUrl: 'https://testsso4.ppg.com/adfs/.well-known/openid-configuration',\r\n stsServerUrl: 'https://testsso4.ppg.com/adfs/',\r\n clientId: 'https://testpackagingtdsspa.z20.web.core.windows.net/',\r\n scope: 'openid',\r\n resourceId: 'https://testpackagingtdsapi.azurewebsites.net/',\r\n renewTokenSecondsOffset: 3570,\r\n passResetUrl: '',\r\n passResetPolicy: '',\r\n passResetScope: '',\r\n passResetResponseType: ''\r\n },\r\n ADB2C: {\r\n metadataUrl: 'https://ppgindustriesincb2cdev.b2clogin.com/ppgindustriesincb2cdev.onmicrosoft.com/' +\r\n 'v2.0/.well-known/openid-configuration?p=B2C_1_PackagingTDS_SignUpSignIn_v2',\r\n stsServerUrl: 'https://ppgindustriesincb2cdev.b2clogin.com/ppgindustriesincb2cdev.onmicrosoft.com/',\r\n clientId: '038b3f6f-f63e-44d1-90c4-322dc6fcc4ae',\r\n scope: 'openid https://ppgindustriesincb2cdev.onmicrosoft.com/api/user_impersonation',\r\n resourceId: null,\r\n renewTokenSecondsOffset: 270,\r\n passResetUrl: 'https://ppgindustriesincb2cdev.b2clogin.com/ppgindustriesincb2cdev.onmicrosoft.com/oauth2/v2.0/authorize',\r\n passResetPolicy: 'B2C_1_PackagingTDS_Password_Reset_v2',\r\n passResetScope: 'openid',\r\n passResetResponseType: 'id_token'\r\n },\r\n common: {\r\n redirectUrl: window.location.origin,\r\n responseType: 'id_token token',\r\n postLogoutRedirectUrl: `${window.location.origin}/#/sign-in?authtype=b2c`,\r\n postLoginRoute: '/products',\r\n forbiddenRoute: '/error/forbidden',\r\n unauthorizedRoute: '/error/unauthorized',\r\n autoUserInfo: false,\r\n enableLogs: true,\r\n maxIdTokenIATOffsetAllowedInSeconds: 30,\r\n storage: localStorage,\r\n renewToken: true,\r\n renewTokenUrl: window.location.origin\r\n }\r\n }\r\n};\r\n\r\nexport const prd: Environment = {\r\n production: true,\r\n apiUrl: 'https://packagingtdsapi.azurewebsites.net/api',\r\n //googleAnalyticsId: 'UA-168212728-1',\r\n googleAnalyticsId: '',\r\n authorizationConfig: {\r\n ADFS: {\r\n metadataUrl: 'https://sso4.ppg.com/adfs/.well-known/openid-configuration',\r\n stsServerUrl: 'https://sso4.ppg.com/adfs/',\r\n clientId: 'https://packagingtdsspa.z20.web.core.windows.net/',\r\n scope: 'openid',\r\n resourceId: 'https://packagingtdsapi.azurewebsites.net/',\r\n renewTokenSecondsOffset: 0,\r\n passResetUrl: '',\r\n passResetPolicy: '',\r\n passResetScope: '',\r\n passResetResponseType: ''\r\n },\r\n ADB2C: {\r\n metadataUrl: 'https://ppgindustriesincb2cprod.b2clogin.com/ppgindustriesincb2cprod.onmicrosoft.com/' +\r\n 'v2.0/.well-known/openid-configuration?p=B2C_1_PackagingTDS_SignUpSignIn_v2',\r\n stsServerUrl: 'https://ppgindustriesincb2cprod.b2clogin.com/ppgindustriesincb2cprod.onmicrosoft.com/',\r\n clientId: 'b66a5c8c-6a54-4b80-a3cb-beadb0f04d09',\r\n scope: 'openid https://ppgindustriesincb2cprod.onmicrosoft.com/packagingtdsapi/user_impersonation',\r\n resourceId: null,\r\n renewTokenSecondsOffset: 270,\r\n passResetUrl: 'https://ppgindustriesincb2cprod.b2clogin.com/ppgindustriesincb2cprod.onmicrosoft.com/oauth2/v2.0/authorize',\r\n passResetPolicy: 'B2C_1_PackagingTDS_Password_Reset_v2',\r\n passResetScope: 'openid',\r\n passResetResponseType: 'id_token'\r\n },\r\n common: {\r\n redirectUrl: window.location.origin,\r\n responseType: 'id_token token',\r\n postLogoutRedirectUrl: `${window.location.origin}/#/sign-in?authtype=b2c`,\r\n postLoginRoute: '/products',\r\n forbiddenRoute: '/error/forbidden',\r\n unauthorizedRoute: '/error/unauthorized',\r\n autoUserInfo: false,\r\n enableLogs: true,\r\n maxIdTokenIATOffsetAllowedInSeconds: 30,\r\n storage: localStorage,\r\n renewToken: true,\r\n renewTokenUrl: window.location.origin\r\n }\r\n }\r\n};\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { EnvironmentService } from './app/services/EnvironmentService';\r\n\r\nif (new EnvironmentService().getEnvironment().production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n"],"sourceRoot":""}