{"version":3,"file":"main.js","mappings":"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","sources":["./src/app/admin-dealer/admin-dealer.component.ts","./src/app/admin-dealer/admin-dealer.component.html","./src/app/admin-home/admin-home.component.ts","./src/app/admin-home/admin-home.component.html","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/auto-login/auto-login.component.ts","./src/app/auto-login/auto-login.component.html","./src/app/cancel-confirm/cancel-confirm.component.ts","./src/app/cancel-confirm/cancel-confirm.component.html","./src/app/cancel/cancel.component.ts","./src/app/cancel/cancel.component.html","./src/app/contact/contact.component.ts","./src/app/contact/contact.component.html","./src/app/data/customer.ts","./src/app/data/dealer.ts","./src/app/data/tiers.ts","./src/app/enroll-confirm/enroll-confirm.component.ts","./src/app/enroll-confirm/enroll-confirm.component.html","./src/app/enroll/enroll.component.ts","./src/app/enroll/enroll.component.html","./src/app/faq/faq.component.ts","./src/app/faq/faq.component.html","./src/app/home/home.component.ts","./src/app/home/home.component.html","./src/app/report-enrolled/report-enrolled.component.ts","./src/app/report-enrolled/report-enrolled.component.html","./src/app/report-monthly-revenue/report-monthly-revenue.component.ts","./src/app/report-monthly-revenue/report-monthly-revenue.component.html","./src/app/report-tiers/report-tiers.component.ts","./src/app/report-tiers/report-tiers.component.html","./src/app/reports/reports.component.ts","./src/app/reports/reports.component.html","./src/app/services/customer.service.ts","./src/app/services/dealer.service.ts","./src/app/services/ford.service.ts","./src/app/services/funcs.service.ts","./src/app/services/report.service.ts","./src/app/status-enrolled/status-enrolled.component.ts","./src/app/status-enrolled/status-enrolled.component.html","./src/environments/environment.development.ts","./src/main.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { Dealer, DEALERS, DealerCurrent } from '../data/dealer';\nimport { Router } from '@angular/router';\nimport { DealerService } from '../services/dealer.service';\nimport { FuncsService } from '../services/funcs.service';\n\n@Component({\n selector: 'app-admin-dealer',\n templateUrl: './admin-dealer.component.html',\n styleUrls: ['./admin-dealer.component.css']\n})\n\nexport class AdminDealerComponent {\n public loading = \"\";\n dealers = DEALERS;\n displayedDealers = this.dealers;\n search = \"\";\n\n constructor(\n private dealerService: DealerService,\n private router: Router,\n private funcs: FuncsService\n ) {}\n\n ngOnInit(): void {\n this.funcs.checkAdmin();\n this.loading = \"Loading...\";\n\n this.dealerService.getDealers().subscribe(dealers => {\n this.dealers = dealers;\n this.displayedDealers = this.dealers;\n this.loading = \"\";\n });\n this.dealers = this.filterDealers();\n }\n\n ngAfterViewInit(): void {\n document.getElementById(\"admin-dealer\")?.focus();\n }\n\n displayDealers() {\n this.displayedDealers = this.filterDealers();\n }\n\n private filterDealers = () => {\n return this.dealers.filter(this.isDealer);\n };\n\n private isDealer = (d: Dealer) => {\n var ciSearch = this.search.toLowerCase();\n var ciName = d.name.toLowerCase();\n return (d.pa_code.indexOf(ciSearch) > -1 || ciName.indexOf(ciSearch) > -1) || !ciSearch;\n };\n \n fly(d: Dealer) {\n // DealerCurrent.pa_code = d.pa_code;\n // DealerCurrent.name = d.name;\n // DealerCurrent.tech_count = d.tech_count;\n // DealerCurrent.subscribed = d.subscribed;\n // DealerCurrent.active = d.active;\n\n // // persist data\n // var dealerStore = {\n // pa_code: DealerCurrent.pa_code,\n // name: DealerCurrent.name,\n // tech_count: DealerCurrent.tech_count,\n // subscribed: DealerCurrent.subscribed,\n // active: DealerCurrent.active\n // };\n // window.localStorage.setItem(\"dealer\", JSON.stringify(dealerStore));\n this.funcs.setDealer(d);\n this.router.navigateByUrl('/status-enrolled');\n };\n}\n","

Admin - Log in as User

\n\n
\n

\n
\n\n
\n

{{loading}}

\n \n \n \n \n \n \n \n \n \n \n
PA CodeNameTechs
{{dealer.pa_code}}{{dealer.name}}{{dealer.tech_count}}
\n
\n","import { Component } from '@angular/core';\nimport { FuncsService } from '../services/funcs.service';\n\n@Component({\n selector: 'app-home-reports',\n templateUrl: './admin-home.component.html',\n styleUrls: ['./admin-home.component.css']\n})\nexport class AdminHomeComponent {\n constructor(\n private funcs: FuncsService\n ) {}\n\n ngOnInit() {\n this.funcs.checkAdmin();\n }\n\n logOut() {\n this.funcs.logOutCustomer();\n }\n}\n","

Admin

\n\n
\n

Log in as Dealer

\n
\n\n
\n

Reports

\n

Enrolled Dealers

\n

Unenrolled Dealers

\n

Monthly Revenue

\n

Dealers in Tiers

\n
\n\n
\n

\n
","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { HomeComponent } from './home/home.component';\nimport { StatusEnrolledComponent } from './status-enrolled/status-enrolled.component';\nimport { AdminDealerComponent } from './admin-dealer/admin-dealer.component';\nimport { AdminHomeComponent } from './admin-home/admin-home.component';\nimport { CancelComponent } from './cancel/cancel.component';\nimport { CancelConfirmComponent } from './cancel-confirm/cancel-confirm.component';\nimport { ContactComponent } from './contact/contact.component';\nimport { EnrollComponent } from './enroll/enroll.component';\nimport { EnrollConfirmComponent } from './enroll-confirm/enroll-confirm.component';\nimport { FaqComponent } from './faq/faq.component';\nimport { ReportsComponent } from './reports/reports.component';\nimport { ReportTiersComponent } from './report-tiers/report-tiers.component';\nimport { ReportMonthlyRevenueComponent } from './report-monthly-revenue/report-monthly-revenue.component';\nimport { ReportEnrolledComponent } from './report-enrolled/report-enrolled.component';\nimport { AutoLoginComponent } from './auto-login/auto-login.component';\n\nconst routes: Routes = [\n {path: '', redirectTo: '/home', pathMatch: 'full'},\n {path: 'home', component: HomeComponent},\n {path: 'status-enrolled', component: StatusEnrolledComponent},\n {path: 'admin-dealer', component: AdminDealerComponent},\n {path: 'admin-home', component: AdminHomeComponent},\n {path: 'cancel', component: CancelComponent},\n {path: 'cancel-confirm', component: CancelConfirmComponent},\n {path: 'contact', component: ContactComponent},\n {path: 'enroll', component: EnrollComponent},\n {path: 'enroll-confirm', component: EnrollConfirmComponent},\n {path: 'faq', component: FaqComponent},\n {path: 'reports', component: ReportsComponent},\n {path: 'report-tiers', component: ReportTiersComponent},\n {path: 'report-monthly-revenue', component: ReportMonthlyRevenueComponent},\n {path: 'report-enrolled', component: ReportEnrolledComponent},\n {path: 'auto-login', component: AutoLoginComponent}\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }","import { Component } from '@angular/core';\nimport { FuncsService } from './services/funcs.service';\nimport { Customer, CustomerCurrent } from './data/customer';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.css']\n})\nexport class AppComponent {\n title = 'IDS Enrollment';\n user_name = \"\";\n\n constructor(\n private funcs: FuncsService\n ) {}\n\n ngOnInit() {\n this.funcs.currentCustomer(CustomerCurrent);\n if (CustomerCurrent) {\n this.user_name = CustomerCurrent.name;\n }\n }\n\n logout(): void {\n this.funcs.logOutCustomer();\n }\n}","
\n
\n
\n

{{title}}

\n

{{user_name}}

\n
\n
\n\n
\n\n
\n\n\n
\n","import { NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { HttpClientModule } from '@angular/common/http';\nimport { FormsModule } from '@angular/forms';\n\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport {MatIconModule} from '@angular/material/icon';\nimport { HomeComponent } from './home/home.component';\nimport { AdminDealerComponent } from './admin-dealer/admin-dealer.component';\nimport { AdminHomeComponent } from './admin-home/admin-home.component';\nimport { CancelComponent } from './cancel/cancel.component';\nimport { CancelConfirmComponent } from './cancel-confirm/cancel-confirm.component';\nimport { ContactComponent } from './contact/contact.component';\nimport { EnrollComponent } from './enroll/enroll.component';\nimport { EnrollConfirmComponent } from './enroll-confirm/enroll-confirm.component';\nimport { FaqComponent } from './faq/faq.component';\nimport { ReportsComponent } from './reports/reports.component';\nimport { StatusEnrolledComponent } from './status-enrolled/status-enrolled.component';\nimport { ReportTiersComponent } from './report-tiers/report-tiers.component';\nimport { ReportMonthlyRevenueComponent } from './report-monthly-revenue/report-monthly-revenue.component';\nimport { ReportEnrolledComponent } from './report-enrolled/report-enrolled.component';\nimport { AutoLoginComponent } from './auto-login/auto-login.component';\n\n@NgModule({\n declarations: [\n AppComponent,\n HomeComponent,\n AdminDealerComponent,\n AdminHomeComponent,\n CancelComponent,\n CancelConfirmComponent,\n ContactComponent,\n EnrollComponent,\n EnrollConfirmComponent,\n FaqComponent,\n ReportsComponent,\n StatusEnrolledComponent,\n ReportTiersComponent,\n ReportMonthlyRevenueComponent,\n ReportEnrolledComponent,\n AutoLoginComponent\n ],\n imports: [\n BrowserModule,\n AppRoutingModule,\n MatIconModule,\n HttpClientModule,\n FormsModule\n ],\n providers: [],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","import { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'app-auto-login',\n templateUrl: './auto-login.component.html',\n styleUrls: ['./auto-login.component.css']\n})\nexport class AutoLoginComponent {\n dealer = \"\";\n key = \"\";\n\n constructor(\n private route: ActivatedRoute\n ) {}\n\n ngOnInit(): void {\n this.dealer = this.route.snapshot.queryParamMap.get('dealer') || '';\n this.key = this.route.snapshot.queryParamMap.get('key') || '';\n\n console.log(this.dealer, this.key);\n\n // if ([\"E\", \"U\", \"A\"].indexOf(this.queryEnrolled) > -1) {\n // this.enrolled = this.queryEnrolled;\n // }\n // this.dealerService.getDealers().subscribe(dealers => {\n // this.dealers = dealers;\n // this.loading = \"\";\n // this.displayDealers();\n // });\n }\n}\n","

Login

\n\n
\n

Authenticating from Ford site...

\n
\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-cancel-confirm',\n templateUrl: './cancel-confirm.component.html',\n styleUrls: ['./cancel-confirm.component.css']\n})\nexport class CancelConfirmComponent {\n\n}\n","

Enrollment Cancelled

\n\n
\n

You have been removed from enrollment. If you change your, you can easily re-enroll.\n

Re-enroll Now\n

(Alert Ryan by email or other way?)\n

\n","import { Component } from '@angular/core';\nimport { FordService } from '../services/ford.service';\nimport { Router } from '@angular/router';\nimport { DealerCurrent } from '../data/dealer';\n\n@Component({\n selector: 'app-cancel',\n templateUrl: './cancel.component.html',\n styleUrls: ['./cancel.component.css']\n})\nexport class CancelComponent {\n constructor(\n private fordService: FordService,\n private _router: Router\n ) {}\n\n cancelSubscription(): void {\n var dealerCode = `${DealerCurrent.country3}${DealerCurrent.pa_code}`;\n this.fordService.deleteSubscription(dealerCode).subscribe(\n () => this._router.navigateByUrl('/status-enrolled')\n );\n }\n}\n","

Cancel Enrollment

\n\n
\n

If you cancel, you won't be able to do the thing.\n

\n

\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-contact',\n templateUrl: './contact.component.html',\n styleUrls: ['./contact.component.css']\n})\nexport class ContactComponent {\n\n}\n","

Customer Service

\n\n
\n

For IDS Software License Inquiries: 1-800-ROTUNDA (800-768-8632), option 1\n

To purchase IDS Hardware: 1-800-ROTUNDA (800-768-8632), option 2\n\n

\n","export interface Customer {\n username: string;\n pa_code: \"\";\n type: string;\n name: string;\n country: string;\n country3: string;\n role: string;\n active: string;\n reported_terminated: string;\n authenticated: string;\n}\n\nexport const Customers: Customer[] = [];\nexport const CustomerCurrent: Customer = {\n username: \"\",\n pa_code: \"\",\n type: \"\",\n name: \"\",\n country: \"\",\n country3: \"\",\n role: \"\",\n active: \"\",\n reported_terminated: \"\",\n authenticated: \"N\"\n};\n","export interface Dealer {\n pa_code: string;\n name: string;\n tech_count: number;\n country: string;\n country3: string;\n subscribed: string;\n active: string;\n}\n\nexport const DEALERS: Dealer[] = [];\nexport const DealerCurrent: Dealer =\n {pa_code: \"\", name: \"\", tech_count: 0, country: \"US\", country3: \"USA\", subscribed: \"N\", active: \"N\"}\n;","import { Tier } from './tier';\n\nexport const Tiers: Tier[] = [\n {min: 0, max: 0, price: 0},\n {min: 1, max: 9, price: 405},\n {min: 10, max: 24, price: 340},\n {min: 25, max: 49, price: 305},\n {min: 50, max: Infinity, price: 290}\n];\n\nexport const TiersUsa: Tier[] = [\n {min: 0, max: 0, price: 0},\n {min: 1, max: 9, price: 405},\n {min: 10, max: 24, price: 340},\n {min: 25, max: 49, price: 305},\n {min: 50, max: Infinity, price: 290}\n];\n\nexport const TiersCan: Tier[] = [\n {min: 0, max: 0, price: 0},\n {min: 1, max: 9, price: 535},\n {min: 10, max: 24, price: 450},\n {min: 25, max: 49, price: 400},\n {min: 50, max: Infinity, price: 380}\n];\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-enroll-confirm',\n templateUrl: './enroll-confirm.component.html',\n styleUrls: ['./enroll-confirm.component.css']\n})\nexport class EnrollConfirmComponent {\n\n}\n","

Enrolled

\n\n
\n

You have been successfully enrolled.\n

Enrollment Details\n

\n","import { Component } from '@angular/core';\nimport { Subscription } from '../data/subscription';\nimport { FordService } from '../services/ford.service';\nimport { Dealer, DealerCurrent } from '../data/dealer';\nimport { Price } from '../data/price';\nimport { Router } from '@angular/router';\nimport { FuncsService } from '../services/funcs.service';\n\n@Component({\n selector: 'app-enroll',\n templateUrl: './enroll.component.html',\n styleUrls: ['./enroll.component.css']\n})\nexport class EnrollComponent {\n constructor(\n private fordService: FordService,\n private _router: Router,\n private funcs: FuncsService\n ) {}\n\n sub: Subscription = {\n createdAt: \"\",\n siteCode: \"3333\",\n maxAllowedSessions: 119,\n concurrentSessions: 12,\n expiresAt: \"\",\n status: 0\n };\n\n prices: Price = {\n per_tech: 0,\n monthly: 0\n };\n\n public price = 0;\n public monthly = 0;\n public expires = \"\";\n dealer: Dealer = DealerCurrent;\n \n ngOnInit(): void {\n this.funcs.currentDealer(this.dealer);\n this.prices = this.funcs.priceByTier(this.dealer.tech_count, this.dealer.country3);\n\n this.sub.createdAt = \"\";\n this.sub.siteCode = `${this.dealer.country3}${this.dealer.pa_code}`;\n this.sub.maxAllowedSessions = this.dealer.tech_count * 3;\n this.sub.concurrentSessions = this.dealer.tech_count;\n this.expires = (new Date('2123-01-01')).toISOString();\n this.sub.expiresAt = this.expires;\n }\n \n addSubscription(): void {\n this.fordService.addSubscription(this.sub).subscribe(\n () => this._router.navigateByUrl('/status-enrolled')\n );\n }\n}\n","

Enroll

\n\n
\n

Clicking \"Enroll Now\" below will subscribe you to the Ford Diagnostic Enrollment Program.\n

\n

\n

\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-faq',\n templateUrl: './faq.component.html',\n styleUrls: ['./faq.component.css']\n})\nexport class FaqComponent {\n\n}\n","

Frequently Asked Questions

\n\n
\n
\n
How does the new subscription model differ from the old way?\n
You won't need to enroll every year any more. \n
\n
\n","import { Component } from '@angular/core';\nimport { Customer, CustomerCurrent } from '../data/customer';\nimport { CustomerService } from '../services/customer.service';\nimport { DealerService } from '../services/dealer.service';\nimport { FuncsService } from '../services/funcs.service';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-home',\n templateUrl: './home.component.html',\n styleUrls: ['./home.component.css']\n})\nexport class HomeComponent {\n username = \"\";\n password = \"\";\n message = \"\";\n\n constructor(\n private customerService: CustomerService,\n private dealerService: DealerService,\n private funcs: FuncsService,\n private router: Router\n ) {}\n\n ngOnInit() {\n this.funcs.currentCustomer(CustomerCurrent);\n if (CustomerCurrent.authenticated === \"Y\" && CustomerCurrent.role === \"ADM\") {\n this.router.navigateByUrl('/admin-home');\n return;\n }\n if (CustomerCurrent.authenticated === \"Y\") {\n this.router.navigateByUrl('/status-enrolled');\n return;\n }\n }\n\n checkPw(): void {\n this.message = \"\";\n this.customerService.getCustomerAuth(this.username, this.password).subscribe(customer => {\n if (customer && customer.authenticated === \"Y\") {\n this.funcs.setCustomer(customer);\n if (CustomerCurrent.role === \"DEALER\") {\n this.dealerService.getDealer(CustomerCurrent.pa_code).subscribe(dealer => {\n this.funcs.setDealer(dealer);\n this.router.navigateByUrl('/status-enrolled');\n });\n }\n if (CustomerCurrent.role === \"ADM\") {\n this.router.navigateByUrl('/admin-home');\n }\n } else {\n this.message = \"Incorrect username or password.\";\n }\n });\n }\n}\n","

Login

\n\n
\n

\n

\n

{{message}}

\n

\n

\n","import { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { Dealer, DEALERS, DealerCurrent } from '../data/dealer';\nimport { FuncsService } from '../services/funcs.service';\nimport { Router } from '@angular/router';\nimport { DealerService } from '../services/dealer.service';\n\n@Component({\n selector: 'app-report-enrolled',\n templateUrl: './report-enrolled.component.html',\n styleUrls: ['./report-enrolled.component.css']\n})\n\nexport class ReportEnrolledComponent {\n public loading = \"Loading...\";\n dealers = DEALERS;\n displayedDealers = this.dealers;\n search = \"\";\n enrolled = \"E\";\n queryEnrolled: string = \"\";\n\n constructor(\n private dealerService: DealerService,\n private router: Router,\n private route: ActivatedRoute,\n private funcs: FuncsService\n ) {}\n\n ngOnInit(): void {\n this.funcs.checkAdmin();\n this.loading = \"Loading...\";\n\n this.queryEnrolled = this.route.snapshot.queryParamMap.get('enrolled') || '';\n if ([\"E\", \"U\", \"A\"].indexOf(this.queryEnrolled) > -1) {\n this.enrolled = this.queryEnrolled;\n }\n this.dealerService.getDealers().subscribe(dealers => {\n this.dealers = dealers;\n this.loading = \"\";\n this.displayDealers();\n });\n }\n\n ngAfterViewInit(): void {\n document.getElementById(\"admin-dealer\")?.focus();\n }\n\n changeRadio(eventEnroll: Event) {\n this.enrolled = (eventEnroll.target as HTMLInputElement).value;\n this.displayDealers();\n }\n\n displayDealers() {\n this.displayedDealers = this.filterDealers();\n }\n\n private filterDealers = () => {\n return this.dealers.filter(this.isDealer);\n };\n\n private isDealer = (d: Dealer) => {\n var ciSearch = this.search.toLowerCase();\n var ciName = d.name.toLowerCase();\n return (d.pa_code.indexOf(ciSearch) > -1 || ciName.indexOf(ciSearch) > -1) && this.isEnrolled(d);\n };\n\n private isEnrolled = (d: Dealer) => {\n if (this.enrolled === \"E\" && d.subscribed === \"Y\") {\n return true;\n }\n if (this.enrolled === \"U\" && d.subscribed === \"N\") {\n return true;\n }\n if (this.enrolled === \"A\") {\n return true;\n }\n return false;\n };\n\n fly(d: Dealer) {\n DealerCurrent.pa_code = d.pa_code;\n DealerCurrent.name = d.name;\n DealerCurrent.tech_count = d.tech_count;\n DealerCurrent.subscribed = d.subscribed;\n DealerCurrent.active = d.active;\n\n // persist data\n var dealerStore = {\n pa_code: DealerCurrent.pa_code,\n name: DealerCurrent.name,\n tech_count: DealerCurrent.tech_count,\n subscribed: DealerCurrent.subscribed,\n active: DealerCurrent.active\n };\n window.localStorage.setItem(\"dealer\", JSON.stringify(dealerStore));\n this.router.navigateByUrl('/status-enrolled');\n };\n}\n","

Admin - Dealers

\n\n
\n

\n

\n \n \n \n

\n
\n\n
\n

{{loading}}

\n \n \n \n \n \n \n \n \n \n \n
PA CodeNameTechs
{{dealer.pa_code}}{{dealer.name}}{{dealer.tech_count}}
\n
\n","import { Component } from '@angular/core';\nimport { ReportService } from '../services/report.service';\nimport { Revenue } from '../data/revenue';\nimport { FuncsService } from '../services/funcs.service';\n\n@Component({\n selector: 'app-report-monthly-revenue',\n templateUrl: './report-monthly-revenue.component.html',\n styleUrls: ['./report-monthly-revenue.component.css']\n})\nexport class ReportMonthlyRevenueComponent {\n public loading = \"Loading...\";\n report: Revenue[] = [];\n\n constructor(\n private reportService: ReportService,\n private funcs: FuncsService\n ) {}\n \n ngOnInit(): void {\n this.funcs.checkAdmin();\n this.loading = \"Loading...\";\n \n this.reportService.getMonthlyRevenue().subscribe(report => {\n this.report = report;\n this.loading = \"\";\n });\n }\n}\n","

Admin - Revenue by Month

\n\n
\n

{{loading}}

\n \n \n \n \n \n \n \n
MonthRevenue
{{row.year}}-{{row.month}}${{row.revenue.toFixed(2)}}
\n
\n","import { Component } from '@angular/core';\nimport { ReportService } from '../services/report.service';\nimport { Revenue } from '../data/revenue';\nimport { FuncsService } from '../services/funcs.service';\n\n@Component({\n selector: 'app-report-tiers',\n templateUrl: './report-tiers.component.html',\n styleUrls: ['./report-tiers.component.css']\n})\nexport class ReportTiersComponent {\n public loading = true;\n report: Revenue[] = [];\n\n constructor(\n private reportService: ReportService,\n private funcs: FuncsService\n ) {}\n\n ngOnInit(): void {\n this.funcs.checkAdmin();\n \n this.reportService.getDealerTiers().subscribe(report => {\n this.report = report;\n this.loading = false;\n });\n }\n}\n","

Admin - Total Dealers by Tier

\n\n
\n \n \n \n \n \n \n \n
TierDealers
{{row.date}}{{row.revenue.toFixed(0)}}
\n
\n","import { Component } from '@angular/core';\nimport { FuncsService } from '../services/funcs.service';\n\n@Component({\n selector: 'app-reports',\n templateUrl: './reports.component.html',\n styleUrls: ['./reports.component.css']\n})\nexport class ReportsComponent {\n constructor(\n private funcs: FuncsService\n ) {}\n\n ngOnInit() {\n this.funcs.checkAdmin();\n }\n}\n","

Reports

\n\n
\n

Revenue by Month\n

Enrolled Dealers\n

Unenrolled Dealers\n

Total Dealers by Tier\n

\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\n\nimport { Observable, of } from 'rxjs';\nimport { catchError, map, tap } from 'rxjs/operators';\n\nimport { environment } from '../../environments/environment';\nimport { Customer } from '../data/customer';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CustomerService {\n private customerUrl = `${environment.apiUrl}/api/Customers`;\n\n constructor(private http: HttpClient) { }\n\n getCustomer(username: string): Observable {\n const url = `${this.customerUrl}/${username}`;\n return this.http.get(url)\n .pipe(\n tap(_ => this.log('fetched customer')),\n catchError(this.handleError('getCustomer'))\n );\n }\n\n getCustomerAuth(username: string, password: string): Observable {\n const url = `${this.customerUrl}/${username}`;\n return this.http.post(url, {password: password})\n .pipe(\n tap(_ => this.log('fetched customer auth')),\n catchError(this.handleError('getCustomerAuth'))\n );\n }\n\n private handleError(operation = 'operation', result?: T) {\n return (error: any): Observable => {\n\n // TODO: send the error to remote logging infrastructure\n console.error(error); // log to console instead\n\n // TODO: better job of transforming error for user consumption\n this.log(`${operation} failed: ${error.message}`);\n\n // Let the app keep running by returning an empty result.\n return of(result as T);\n };\n }\n\n private log(message: string) {\n console.log(message);\n }\n}","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\n\nimport { Observable, of } from 'rxjs';\nimport { catchError, map, tap } from 'rxjs/operators';\n\nimport { environment } from '../../environments/environment';\nimport { Dealer } from '../data/dealer';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DealerService {\n private dealerUrl = `${environment.apiUrl}/api/Dealers`;\n\n constructor(private http: HttpClient) { }\n\n getDealers(): Observable {\n const url = `${this.dealerUrl}/`;\n return this.http.get(url)\n .pipe(\n tap(_ => this.log('fetched dealers')),\n catchError(this.handleError('getDealers'))\n );\n }\n\n getDealer(pa_code: string): Observable {\n const url = `${this.dealerUrl}/FCT${pa_code}`;\n return this.http.get(url)\n .pipe(\n tap(_ => this.log('fetched dealers')),\n catchError(this.handleError('getDealer'))\n );\n }\n\n private handleError(operation = 'operation', result?: T) {\n return (error: any): Observable => {\n\n // TODO: send the error to remote logging infrastructure\n console.error(error); // log to console instead\n\n // TODO: better job of transforming error for user consumption\n this.log(`${operation} failed: ${error.message}`);\n\n // Let the app keep running by returning an empty result.\n return of(result as T);\n };\n }\n\n private log(message: string) {\n console.log(message);\n }\n}","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\n\nimport { Observable, of } from 'rxjs';\nimport { catchError, map, tap } from 'rxjs/operators';\n\nimport { environment } from '../../environments/environment';\nimport { Subscription } from '../data/subscription';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FordService {\n private fordUrl = `${environment.apiUrl}/api/SubscriptionItems`;\n\n constructor(private http: HttpClient) { }\n\n getSubscription(id: string): Observable {\n const url = `${this.fordUrl}/${id}`;\n return this.http.get(url)\n .pipe(\n tap(_ => this.log('fetched subscription')),\n catchError(this.handleError('getSubscription'))\n );\n }\n\n cancelSubscription(id: string): Observable {\n const url = `${this.fordUrl}/${id}`;\n return this.http.delete(url)\n .pipe(\n tap(_ => this.log('cancelled subscription')),\n catchError(this.handleError('getSubscription'))\n );\n }\n\n addSubscription(sub: Subscription): Observable {\n const url = `${this.fordUrl}/${sub.siteCode}`;\n return this.http.post(url, sub)\n .pipe(\n tap(_ => this.log('cancelled subscription')),\n catchError(this.handleError('getSubscription'))\n );\n }\n\n private handleError(operation = 'operation', result?: T) {\n return (error: any): Observable => {\n\n // TODO: send the error to remote logging infrastructure\n console.error(error); // log to console instead\n\n // TODO: better job of transforming error for user consumption\n this.log(`${operation} failed: ${error.message}`);\n\n // Let the app keep running by returning an empty result.\n return of(result as T);\n };\n }\n\n deleteSubscription(id: string): Observable {\n const url = `${this.fordUrl}/${id}`;\n\n return this.http.delete(url).pipe(\n tap(_ => this.log(`deleted subscription id=${id}`)),\n catchError(this.handleError('deleteHero'))\n );\n }\n\n private log(message: string) {\n console.log(message);\n }\n}","import { Injectable } from '@angular/core';\nimport { Price } from '../data/price';\nimport { TiersUsa, TiersCan } from '../data/tiers';\nimport { Dealer, DealerCurrent } from '../data/dealer';\nimport { Router } from '@angular/router';\nimport { Customer, CustomerCurrent } from '../data/customer';\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class FuncsService {\n constructor(private router: Router) { }\n \n priceByTier(tech_count: number, country: string): Price {\n var prices = {\n per_tech: 0,\n monthly: 0\n };\n if (country === 'CAN') {\n TiersCan.forEach(t => {\n if (tech_count > t.min) {\n prices.per_tech = t.price;\n }\n });\n } else {\n TiersUsa.forEach(t => {\n if (tech_count > t.min) {\n prices.per_tech = t.price;\n }\n });\n }\n\n prices.monthly = prices.per_tech * tech_count / 12;\n return prices;\n }\n\n currentDealer(dealer: Dealer): void {\n var d;\n if (!dealer || !dealer.pa_code) {\n d = window.localStorage.getItem(\"dealer\");\n if (!d) {\n // or really, redirect \n this.router.navigateByUrl('/home');\n return;\n }\n d = JSON.parse(d);\n if (!d.pa_code) {\n this.router.navigateByUrl('/home');\n return;\n }\n\n DealerCurrent.pa_code = d.pa_code;\n DealerCurrent.name = d.name;\n DealerCurrent.country = dealer.country;\n DealerCurrent.country3 = dealer.country3;\n DealerCurrent.tech_count = d.tech_count;\n DealerCurrent.subscribed = d.subscribed;\n DealerCurrent.active = d.active;\n }\n }\n\n setDealer(dealer: Dealer): void {\n DealerCurrent.pa_code = dealer.pa_code;\n DealerCurrent.name = dealer.name;\n DealerCurrent.country = dealer.country;\n DealerCurrent.country3 = dealer.country3;\n DealerCurrent.tech_count = dealer.tech_count;\n DealerCurrent.subscribed = dealer.subscribed;\n DealerCurrent.active = dealer.active;\n\n // persist data\n var dealerStore = {\n pa_code: DealerCurrent.pa_code,\n name: DealerCurrent.name,\n country: DealerCurrent.country,\n country3: DealerCurrent.country3,\n tech_count: DealerCurrent.tech_count,\n subscribed: DealerCurrent.subscribed,\n active: DealerCurrent.active\n };\n window.localStorage.setItem(\"dealer\", JSON.stringify(dealerStore));\n }\n\n setCustomer(customer: Customer): void {\n CustomerCurrent.username = customer.username;\n CustomerCurrent.pa_code = customer.pa_code;\n CustomerCurrent.type = customer.type;\n CustomerCurrent.name = customer.name;\n CustomerCurrent.country = customer.country;\n CustomerCurrent.role = customer.role;\n CustomerCurrent.active = customer.active;\n CustomerCurrent.reported_terminated = customer.reported_terminated;\n CustomerCurrent.authenticated = customer.authenticated;\n\n // persist data\n var customerStore = {\n username: CustomerCurrent.username,\n pa_code: CustomerCurrent.pa_code,\n type: CustomerCurrent.type,\n name: CustomerCurrent.name,\n country: CustomerCurrent.country,\n role: CustomerCurrent.role,\n active: CustomerCurrent.active,\n reported_terminated: CustomerCurrent.reported_terminated,\n authenticated: CustomerCurrent.authenticated\n };\n window.localStorage.setItem(\"customer\", JSON.stringify(customerStore));\n\n if (customer.role === \"DEALER\") {\n //set dealer\n }\n }\n\n currentCustomer(customer: Customer): void {\n var c;\n if (!customer || !customer.authenticated || customer.authenticated === \"N\") {\n c = window.localStorage.getItem(\"customer\");\n\n if (!c) {\n // or really, redirect \n this.router.navigateByUrl('/home');\n return;\n }\n c = JSON.parse(c);\n if (!c.pa_code && c.role !== \"ADM\") {\n this.router.navigateByUrl('/home');\n return;\n }\n\n CustomerCurrent.username = c.username;\n CustomerCurrent.pa_code = c.pa_code;\n CustomerCurrent.type = c.type;\n CustomerCurrent.name = c.name;\n CustomerCurrent.country = c.country;\n CustomerCurrent.role = c.role;\n CustomerCurrent.active = c.active;\n CustomerCurrent.reported_terminated = c.reported_terminated;\n CustomerCurrent.authenticated = c.authenticated;\n }\n }\n\n logOutCustomer(): void {\n window.localStorage.setItem(\"customer\", \"{}\");\n\n CustomerCurrent.username = \"\";\n CustomerCurrent.pa_code = \"\";\n CustomerCurrent.type = \"\";\n CustomerCurrent.name = \"\";\n CustomerCurrent.country = \"\";\n CustomerCurrent.role = \"\";\n CustomerCurrent.active = \"\";\n CustomerCurrent.reported_terminated = \"\";\n CustomerCurrent.authenticated = \"\";\n\n // clear dealer as well\n DealerCurrent.pa_code = \"\";\n DealerCurrent.name = \"\";\n DealerCurrent.tech_count = 0;\n DealerCurrent.subscribed = \"\";\n DealerCurrent.active = \"\";\n\n // persist data\n var dealerStore = {\n pa_code: \"\",\n name: \"\",\n tech_count: 0,\n subscribed: \"\",\n active: \"DealerCurrent.active\"\n };\n window.localStorage.setItem(\"dealer\", JSON.stringify(dealerStore));\n\n this.router.navigateByUrl('/home');\n }\n\n checkAdmin(): void {\n this.currentCustomer(CustomerCurrent);\n if (CustomerCurrent.authenticated !== \"Y\") {\n this.router.navigateByUrl('/home');\n }\n if (CustomerCurrent.role === \"DEALER\") {\n this.router.navigateByUrl('/status-enrolled');\n }\n if (CustomerCurrent.role !== \"ADM\") {\n this.router.navigateByUrl('/home');\n }\n }\n\n now(): string {\n var timeNow = new Date();\n var hour = String(timeNow.getHours()).padStart(2, \"0\");\n var min = String(timeNow.getMinutes()).padStart(2, \"0\");\n\n // this.previousSibling.value = `${hour}:${min}`;\n return `${hour}:${min}`;\n }\n\n dateFormat(dateString: string): string {\n var months = [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"];\n if (!dateString) {\n return \"\";\n }\n \n var d = new Date(dateString);\n if (d instanceof Date) {\n return `${months[d.getMonth()]} ${d.getDate()}, ${d.getFullYear()}`;\n }\n return \"\";\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\n\nimport { Observable, of } from 'rxjs';\nimport { catchError, map, tap } from 'rxjs/operators';\n\nimport { environment } from '../../environments/environment';\nimport { Revenue } from '../data/revenue';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ReportService {\n private dealerUrl = `${environment.apiUrl}/api/Dealers`;\n\n constructor(private http: HttpClient) { }\n\n getMonthlyRevenue(): Observable {\n const url = `${this.dealerUrl}/monthly_revenue`;\n return this.http.get(url)\n .pipe(\n tap(_ => this.log('fetched monthly revenue')),\n catchError(this.handleError('getMonthlyRevenue'))\n );\n }\n\n getDealerTiers(): Observable {\n const url = `${this.dealerUrl}/dealer_tiers`;\n return this.http.get(url)\n .pipe(\n tap(_ => this.log('fetched dealer tiers')),\n catchError(this.handleError('getDealerTiers'))\n );\n }\n\n private handleError(operation = 'operation', result?: T) {\n return (error: any): Observable => {\n\n // TODO: send the error to remote logging infrastructure\n console.error(error); // log to console instead\n\n // TODO: better job of transforming error for user consumption\n this.log(`${operation} failed: ${error.message}`);\n\n // Let the app keep running by returning an empty result.\n return of(result as T);\n };\n }\n\n private log(message: string) {\n console.log(message);\n }\n}","import { Component } from '@angular/core';\nimport { Subscription } from '../data/subscription';\nimport { FordService } from '../services/ford.service';\n// import { DealerService } from '../services/dealer.service';\nimport { Dealer, DealerCurrent } from '../data/dealer';\nimport { Price } from '../data/price';\nimport { FuncsService } from '../services/funcs.service';\n// import { Customer, CustomerCurrent } from '../data/customer';\n\n@Component({\n selector: 'app-status-enrolled',\n templateUrl: './status-enrolled.component.html',\n styleUrls: ['./status-enrolled.component.css']\n})\nexport class StatusEnrolledComponent {\n sub: Subscription = {\n createdAt: \"\",\n siteCode: \"\",\n maxAllowedSessions: 0,\n concurrentSessions: 0,\n expiresAt: \"\",\n status: 200\n };\n\n prices: Price = {\n per_tech: 0,\n monthly: 0\n };\n\n public loading = true;\n public price = 0;\n public monthly = 0;\n public enrolled = \"\";\n dealer: Dealer = DealerCurrent;\n // customer: Customer = CustomerCurrent;\n\n constructor(\n private fordService: FordService,\n // private dealerService: DealerService,\n private funcs: FuncsService\n ) {}\n\n async ngOnInit(): Promise {\n // this.funcs.currentCustomer(CustomerCurrent);\n this.funcs.currentDealer(this.dealer);\n // if (!DealerCurrent || DealerCurrent.pa_code) {\n // await this.dealerService.getDealer(CustomerCurrent.pa_code);\n // this.funcs.setDealer(this.dealer);\n // }\n this.getSubscription();\n this.loading = true;\n }\n\n // async getDealer(): Promise {\n // this.fordService.getSubscription(DealerCurrent.pa_code).subscribe(sub => {\n // this.sub = sub;\n // this.prices = this.funcs.priceByTier(DealerCurrent.tech_count);\n\n // this.loading = false;\n // this.enrolled = new Date(this.sub.createdAt).toDateString();\n // });\n // }\n\n getSubscription(): void {\n this.fordService.getSubscription(`${this.dealer.country3}${this.dealer.pa_code}`).subscribe(sub => {\n this.sub = sub;\n this.prices = this.funcs.priceByTier(this.dealer.tech_count, this.dealer.country3);\n\n this.loading = false;\n this.enrolled = new Date(this.sub.createdAt).toDateString();\n });\n }\n}\n","

Dealer Status Page - Not Enrolled

\n\n\n
\n

Getting subscription information...

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

You are enrolled!

\n
    \n
  • Enrolled On: {{enrolled}}\n
  • PA Code: {{sub.siteCode}}\n \n
  • Technicians: {{dealer.tech_count}}\n
  • Cost/technician: ${{prices.per_tech.toFixed(2)}}\n
  • Monthly charges: ${{prices.monthly.toFixed(2)}}\n
\n

\n

\n
\n\n\n
\n

You not are enrolled! You won't be able to use your thing.

\n

\n

\n
\n","export const environment = {\n production: false,\n apiUrl: \"https://forddiag-api.dev.helm.com\"\n};\n","import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\n\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n"],"names":["DEALERS","i0","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵlistener","AdminDealerComponent_tr_22_Template_button_click_8_listener","restoredCtx","ɵɵrestoreView","_r3","dealer_r1","$implicit","ctx_r2","ɵɵnextContext","ɵɵresetView","fly","ɵɵadvance","ɵɵtextInterpolate","pa_code","name","tech_count","ɵɵtextInterpolate1","AdminDealerComponent","constructor","dealerService","router","funcs","loading","dealers","displayedDealers","search","filterDealers","filter","isDealer","d","ciSearch","toLowerCase","ciName","indexOf","ngOnInit","checkAdmin","getDealers","subscribe","ngAfterViewInit","document","getElementById","focus","displayDealers","setDealer","navigateByUrl","_","ɵɵdirectiveInject","i1","DealerService","i2","Router","i3","FuncsService","_2","selectors","decls","vars","consts","template","AdminDealerComponent_Template","rf","ctx","AdminDealerComponent_Template_input_ngModelChange_8_listener","$event","AdminDealerComponent_Template_input_keyup_8_listener","ɵɵtemplate","AdminDealerComponent_tr_22_Template","ɵɵproperty","AdminHomeComponent","logOut","logOutCustomer","AdminHomeComponent_Template","AdminHomeComponent_Template_button_click_23_listener","RouterModule","HomeComponent","StatusEnrolledComponent","CancelComponent","CancelConfirmComponent","ContactComponent","EnrollComponent","EnrollConfirmComponent","FaqComponent","ReportsComponent","ReportTiersComponent","ReportMonthlyRevenueComponent","ReportEnrolledComponent","AutoLoginComponent","routes","path","redirectTo","pathMatch","component","AppRoutingModule","_3","forRoot","imports","exports","CustomerCurrent","AppComponent","title","user_name","currentCustomer","logout","AppComponent_Template","AppComponent_Template_a_click_7_listener","ɵɵelement","BrowserModule","HttpClientModule","FormsModule","MatIconModule","AppModule","bootstrap","declarations","route","dealer","key","snapshot","queryParamMap","get","console","log","ActivatedRoute","AutoLoginComponent_Template","CancelConfirmComponent_Template","DealerCurrent","fordService","_router","cancelSubscription","dealerCode","country3","deleteSubscription","FordService","CancelComponent_Template","CancelComponent_Template_button_click_6_listener","ContactComponent_Template","Customers","username","type","country","role","active","reported_terminated","authenticated","subscribed","Tiers","min","max","price","Infinity","TiersUsa","TiersCan","EnrollConfirmComponent_Template","sub","createdAt","siteCode","maxAllowedSessions","concurrentSessions","expiresAt","status","prices","per_tech","monthly","expires","currentDealer","priceByTier","Date","toISOString","addSubscription","EnrollComponent_Template","EnrollComponent_Template_button_click_19_listener","toFixed","FaqComponent_Template","customerService","password","message","checkPw","getCustomerAuth","customer","setCustomer","getDealer","CustomerService","i4","HomeComponent_Template","HomeComponent_Template_input_ngModelChange_6_listener","HomeComponent_Template_input_ngModelChange_10_listener","HomeComponent_Template_button_click_14_listener","ReportEnrolledComponent_tr_32_Template_button_click_8_listener","enrolled","queryEnrolled","isEnrolled","changeRadio","eventEnroll","target","value","dealerStore","window","localStorage","setItem","JSON","stringify","ReportEnrolledComponent_Template","ReportEnrolledComponent_Template_input_ngModelChange_8_listener","ReportEnrolledComponent_Template_input_keyup_8_listener","ReportEnrolledComponent_Template_input_click_11_listener","ReportEnrolledComponent_Template_input_click_14_listener","ReportEnrolledComponent_Template_input_click_17_listener","ReportEnrolledComponent_tr_32_Template","ɵɵtextInterpolate2","row_r1","year","month","revenue","reportService","report","getMonthlyRevenue","ReportService","ReportMonthlyRevenueComponent_Template","ReportMonthlyRevenueComponent_tr_15_Template","date","getDealerTiers","ReportTiersComponent_Template","ReportTiersComponent_tr_13_Template","ReportsComponent_Template","of","catchError","tap","environment","http","customerUrl","apiUrl","getCustomer","url","pipe","handleError","post","operation","result","error","ɵɵinject","HttpClient","factory","ɵfac","providedIn","dealerUrl","fordUrl","getSubscription","id","delete","forEach","t","getItem","parse","customerStore","c","now","timeNow","hour","String","getHours","padStart","getMinutes","dateFormat","dateString","months","getMonth","getDate","getFullYear","ɵɵpureFunction0","_c0","_c1","_this","_asyncToGenerator","toDateString","StatusEnrolledComponent_Template","StatusEnrolledComponent_span_2_Template","StatusEnrolledComponent_ng_template_4_Template","StatusEnrolledComponent_ng_template_5_Template","StatusEnrolledComponent_ng_template_6_Template","production","__NgCli_bootstrap_1","platformBrowser","bootstrapModule","catch","err"],"sourceRoot":"webpack:///","x_google_ignoreList":[]}