{"version":3,"sources":["./$_lazy_route_resource lazy namespace object","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/auth/auth-routing.module.ts","./src/app/auth/auth.module.ts","./src/app/auth/auth.service.ts","./src/app/auth/guards/admin.guard.ts","./src/app/auth/guards/office.guard.ts","./src/app/auth/guards/redirect.guard.ts","./src/app/auth/guards/report.guard.ts","./src/app/auth/guards/ticker-month.guard.ts","./src/app/auth/jwt-errors.interceptor.ts","./src/app/auth/jwt.interceptor.ts","./src/app/auth/policies.ts","./src/app/auth/sign-in/sign-in-model.ts","./src/app/auth/sign-in/sign-in.component.ts","./src/app/auth/sign-in/sign-in.component.html","./src/app/confirm-dialog/confirm-dialog.component.ts","./src/app/confirm-dialog/confirm-dialog.component.html","./src/app/directives/phone-mask.directive.ts","./src/app/material-module.ts","./src/app/models/query-page-model.ts","./src/app/models/sales/add-sale-model.ts","./src/app/models/sales/filter-sale-model.ts","./src/app/models/spends/add-spend-model.ts","./src/app/notifications/notification.interceptor.ts","./src/app/notifications/notification.ts","./src/app/notifications/notifications.store.ts","./src/app/office/office-routing.module.ts","./src/app/office/office-sales/office-sales.component.ts","./src/app/office/office-sales/office-sales.component.html","./src/app/office/office.module.ts","./src/app/office/office/office.component.ts","./src/app/office/office/office.component.html","./src/app/office/spend-popup/spend-popup.component.ts","./src/app/office/spend-popup/spend-popup.component.html","./src/app/services/office.service.ts","./src/app/services/sales.service.ts","./src/app/services/source.service.ts","./src/app/services/spends.serice.ts","./src/app/services/state.service.ts","./src/app/services/theme.service.ts","./src/app/services/ticker-month.service.ts","./src/app/services/ticker.service.ts","./src/app/shared/style-shared-service.ts","./src/app/ticker/components/ticker-item/ticker-item.component.ts","./src/app/ticker/components/ticker-item/ticker-item.component.html","./src/app/ticker/ticker-month/ticker-month.component.ts","./src/app/ticker/ticker-month/ticker-month.component.html","./src/app/ticker/ticker-routing.module.ts","./src/app/ticker/ticker.module.ts","./src/app/ticker/ticker/ticker.component.ts","./src/app/ticker/ticker/ticker.component.html","./src/environments/environment.ts","./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 = \"./$$_lazy_route_resource lazy recursive\";","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { RedirectGuard } from './auth/guards/redirect.guard';\r\nimport { AdminGuard } from './auth/guards/admin.guard';\r\n\r\nconst routes: Routes = [\r\n { path: '', pathMatch: 'full', children: [], canActivate: [RedirectGuard] },\r\n {\r\n path: 'admin',\r\n loadChildren: () => import('./admin/admin.module').then(m => m.AdminModule),\r\n canLoad: [AdminGuard]\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes, {\r\n onSameUrlNavigation: 'reload'\r\n })],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","import { Component, ElementRef, OnInit } from '@angular/core';\r\nimport { environment } from 'src/environments/environment';\r\n\r\nimport { AuthService } from './auth/auth.service';\r\nimport { Router } from '@angular/router';\r\nimport { StyleSharedService } from './shared/style-shared-service';\r\nimport { IOfficeTheme } from './interfaces/offices/office-theme';\r\n\r\n@Component({\r\n selector: 'ast-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss']\r\n})\r\nexport class AppComponent implements OnInit {\r\n\r\n public title: string;\r\n public color:string = 'blue';\r\n\r\n constructor(\r\n public authService: AuthService,\r\n private router: Router,\r\n private styleSharedService:StyleSharedService,\r\n private elementRef:ElementRef,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.title = environment.projectName;\r\n\r\n this.styleSharedService.styleChanges.subscribe((data:IOfficeTheme[]) => {\r\n data.forEach(item => {\r\n this.elementRef.nativeElement.style.setProperty(`--${item.name}`, item.value);\r\n });\r\n });\r\n\r\n }\r\n\r\n public showLogin() {\r\n let curUrl = this.router.url;\r\n if(curUrl.includes('ticker'))\r\n {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Hello, {{authService.getName()}}\r\n \r\n\r\n\r\n \r\n Sign Out\r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n Sign Out\r\n \r\n\r\n \r\n \r\n\r\n\r\n\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule, APP_INITIALIZER, Injector } from '@angular/core';\r\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\r\n\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\n\r\nimport { MaterialModule } from './material-module';\r\nimport { AuthModule } from './auth/auth.module';\r\nimport { OfficeModule } from './office/office.module';\r\nimport { TickerModule } from './ticker/ticker.module';\r\nimport { JwtInterceptor } from './auth/jwt.interceptor';\r\nimport { JwtErrorsInterceptor } from './auth/jwt-errors.interceptor';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { NotificationStore } from './notifications/notifications.store';\r\nimport { NotificationHttpInterceptor } from './notifications/notification.interceptor';\r\nimport { Router } from '@angular/router';\r\nimport { ConfirmDialogComponent } from './confirm-dialog/confirm-dialog.component';\r\nimport { NgxChartsModule } from '@swimlane/ngx-charts';\r\nimport { StyleSharedService } from './shared/style-shared-service';\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n ConfirmDialogComponent,\r\n ],\r\n imports: [\r\n BrowserModule,\r\n AppRoutingModule,\r\n BrowserAnimationsModule,\r\n MaterialModule,\r\n AuthModule,\r\n OfficeModule,\r\n TickerModule\r\n ],\r\n providers: [\r\n StyleSharedService,\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: (store: NotificationStore, injector: Injector) => () => {\r\n store.getStream().subscribe(notification => {\r\n \r\n const matSnackBar = injector.get(MatSnackBar);\r\n \r\n matSnackBar.open(notification.text, 'x', {\r\n duration: 5000,\r\n panelClass: ['error-snackbar'],\r\n horizontalPosition: 'center'\r\n });\r\n });\r\n },\r\n multi: true,\r\n deps: [NotificationStore, Injector]\r\n },\r\n { provide: HTTP_INTERCEPTORS, useClass: JwtInterceptor, multi: true },\r\n { provide: HTTP_INTERCEPTORS, useClass: JwtErrorsInterceptor, multi: true },\r\n { provide: HTTP_INTERCEPTORS, useClass: NotificationHttpInterceptor, multi: true, deps: [NotificationStore, Router] }\r\n ],\r\n bootstrap: [\r\n AppComponent\r\n ]\r\n})\r\n\r\nexport class AppModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { SignInComponent } from './sign-in/sign-in.component';\r\n\r\nconst routes: Routes = [\r\n { path: 'signin', component: SignInComponent }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class AuthRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { AuthRoutingModule } from './auth-routing.module';\r\nimport { SignInComponent } from './sign-in/sign-in.component';\r\nimport { MaterialModule } from '../material-module';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule } from '@angular/common/http';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n SignInComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n ReactiveFormsModule,\r\n HttpClientModule,\r\n AuthRoutingModule,\r\n MaterialModule\r\n ]\r\n})\r\nexport class AuthModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { environment } from 'src/environments/environment';\r\nimport { SignInModel } from './sign-in/sign-in-model';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { IAccount } from 'src/app/interfaces/auth/account';\r\nimport { Router } from '@angular/router';\r\nimport { Policies } from './policies';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthService {\r\n\r\n private readonly accountKey: string = 'account';\r\n\r\n private apiAuth = environment.apiUrl + 'auth/';\r\n private account: IAccount;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private router: Router\r\n ) {\r\n this.account = JSON.parse(localStorage.getItem(this.accountKey));\r\n }\r\n\r\n getName(): string {\r\n if (this.isSignedIn()) {\r\n return this.account.name;\r\n }\r\n else {\r\n return null;\r\n }\r\n }\r\n\r\n getEmail(): string {\r\n if (this.isSignedIn()) {\r\n return this.account.email;\r\n }\r\n else {\r\n return null;\r\n }\r\n }\r\n\r\n getRole(): string {\r\n if (this.isSignedIn()) {\r\n return this.account.role;\r\n }\r\n else {\r\n return null;\r\n }\r\n }\r\n\r\n getOfficeId(): string {\r\n if (this.isSignedIn()) {\r\n return this.account.officeId;\r\n }\r\n else {\r\n return null;\r\n }\r\n }\r\n\r\n getOffice(): string {\r\n if (this.isSignedIn()) {\r\n return this.account.office;\r\n }\r\n else {\r\n return null;\r\n }\r\n }\r\n\r\n getToken(): string {\r\n if (this.isSignedIn()) {\r\n return this.account.token;\r\n }\r\n else {\r\n return null;\r\n }\r\n }\r\n\r\n isSignedIn(): boolean {\r\n return this.account != null;\r\n }\r\n\r\n signin(model: SignInModel): Observable {\r\n var headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n return this.http.post(this.apiAuth + 'signin', JSON.stringify(model), { headers: headers })\r\n .pipe(map(account => {\r\n localStorage.setItem(this.accountKey, JSON.stringify(account));\r\n this.account = account;\r\n return account;\r\n }));\r\n }\r\n\r\n signout(): void {\r\n localStorage.removeItem(this.accountKey);\r\n this.account = null;\r\n //this.router.navigate(['/signin']);\r\n window.location.reload();\r\n }\r\n\r\n navigateToHome(): void {\r\n let path: string = '/signin';\r\n if (this.isSignedIn()) {\r\n switch (this.getRole()) {\r\n case Policies.Admin:\r\n path = '/admin/sales';\r\n break;\r\n case Policies.Office:\r\n if (this.getOfficeId() != null) {\r\n path = \"/office\";\r\n }\r\n // else {\r\n // path = \"/ticker\";\r\n // }\r\n break;\r\n case Policies.Report:\r\n path = \"/ticker\";\r\n break;\r\n\r\n case Policies.TickerMonth:\r\n path = \"/ticker_month\";\r\n break;\r\n }\r\n // if (this.router.isActive(path, false)) {\r\n // return;\r\n // }\r\n }\r\n this.router.navigate([path]);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, CanActivateChild, CanDeactivate, CanLoad, Route, UrlSegment, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { AuthService } from '../auth.service';\r\nimport { Policies } from '../policies';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AdminGuard implements CanActivate, CanActivateChild, CanDeactivate, CanLoad {\r\n constructor(\r\n private authService: AuthService\r\n ) { }\r\n\r\n canActivate(\r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\r\n return this.checkSignin();\r\n }\r\n\r\n canActivateChild(\r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\r\n return this.canActivate(next, state);\r\n }\r\n\r\n canDeactivate(\r\n component: unknown,\r\n currentRoute: ActivatedRouteSnapshot,\r\n currentState: RouterStateSnapshot,\r\n nextState?: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\r\n return true;\r\n }\r\n\r\n canLoad(\r\n route: Route,\r\n segments: UrlSegment[]): Observable | Promise | boolean {\r\n return this.checkSignin();\r\n }\r\n\r\n private checkSignin(): boolean {\r\n if (this.authService.isSignedIn()) {\r\n if (this.authService.getRole() == Policies.Admin) {\r\n return true;\r\n }\r\n }\r\n this.authService.navigateToHome();\r\n return false;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, CanActivateChild, CanDeactivate, CanLoad, Route, UrlSegment, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { AuthService } from '../auth.service';\r\nimport { Policies } from '../policies';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OfficeGuard implements CanActivate, CanActivateChild, CanDeactivate, CanLoad {\r\n constructor(\r\n private authService: AuthService\r\n ) { }\r\n\r\n canActivate(\r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\r\n return this.checkSignin();\r\n }\r\n\r\n canActivateChild(\r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\r\n return this.canActivate(next, state);\r\n }\r\n\r\n canDeactivate(\r\n component: unknown,\r\n currentRoute: ActivatedRouteSnapshot,\r\n currentState: RouterStateSnapshot,\r\n nextState?: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\r\n return true;\r\n }\r\n\r\n canLoad(\r\n route: Route,\r\n segments: UrlSegment[]): Observable | Promise | boolean {\r\n return this.checkSignin();\r\n }\r\n\r\n private checkSignin(): boolean {\r\n if (this.authService.isSignedIn()) {\r\n if (this.authService.getRole() == Policies.Office && this.authService.getOfficeId() != null) {\r\n return true;\r\n }\r\n }\r\n this.authService.navigateToHome();\r\n return false;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { AuthService } from '../auth.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RedirectGuard implements CanActivate {\r\n\r\n constructor(\r\n private authService: AuthService\r\n ) { }\r\n\r\n canActivate(\r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\r\n this.authService.navigateToHome();\r\n return false;\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, CanActivateChild, CanDeactivate, CanLoad, Route, UrlSegment, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { AuthService } from '../auth.service';\r\nimport { Policies } from '../policies';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ReportGuard implements CanActivate, CanActivateChild, CanDeactivate, CanLoad {\r\n constructor(\r\n private authService: AuthService\r\n ) { }\r\n\r\n canActivate(\r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\r\n return this.checkSignin();\r\n }\r\n\r\n canActivateChild(\r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\r\n return this.canActivate(next, state);\r\n }\r\n\r\n canDeactivate(\r\n component: unknown,\r\n currentRoute: ActivatedRouteSnapshot,\r\n currentState: RouterStateSnapshot,\r\n nextState?: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\r\n return true;\r\n }\r\n\r\n canLoad(\r\n route: Route,\r\n segments: UrlSegment[]): Observable | Promise | boolean {\r\n return this.checkSignin();\r\n }\r\n\r\n private checkSignin(): boolean {\r\n if (this.authService.isSignedIn()) {\r\n if (this.authService.getRole() == Policies.Report) {\r\n return true;\r\n }\r\n }\r\n this.authService.navigateToHome();\r\n return false;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, CanActivateChild, CanDeactivate, CanLoad, Route, UrlSegment } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { AuthService } from '../auth.service';\r\nimport { Policies } from '../policies';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TickerMonthGuard implements CanActivate, CanActivateChild, CanDeactivate, CanLoad {\r\n constructor(\r\n private authService: AuthService\r\n ) { }\r\n\r\n canActivate(\r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\r\n return this.checkSignin();\r\n }\r\n\r\n canActivateChild(\r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\r\n return this.canActivate(next, state);\r\n }\r\n\r\n canDeactivate(\r\n component: unknown,\r\n currentRoute: ActivatedRouteSnapshot,\r\n currentState: RouterStateSnapshot,\r\n nextState?: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\r\n return true;\r\n }\r\n\r\n canLoad(\r\n route: Route,\r\n segments: UrlSegment[]): Observable | Promise | boolean {\r\n return this.checkSignin();\r\n }\r\n\r\n private checkSignin(): boolean {\r\n if (this.authService.isSignedIn()) {\r\n if (this.authService.getRole() == Policies.TickerMonth) {\r\n return true;\r\n }\r\n }\r\n this.authService.navigateToHome();\r\n return false;\r\n }\r\n \r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor,\r\n HttpErrorResponse\r\n} from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { NotificationStore } from '../notifications/notifications.store';\r\nimport { Notification, NotificationLevel } from \"../notifications/notification\";\r\nimport { tap } from 'rxjs/operators';\r\nimport { IBadRequest } from '../interfaces/bad-request';\r\nimport { AuthService } from './auth.service';\r\n\r\n@Injectable()\r\nexport class JwtErrorsInterceptor implements HttpInterceptor {\r\n\r\n constructor(\r\n private notificationStore: NotificationStore,\r\n private authService: AuthService\r\n ) { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n return next.handle(request).pipe(tap(\r\n event => {\r\n },\r\n error => {\r\n if (error instanceof HttpErrorResponse && error.status == 401) {\r\n var badRequest = error.error as IBadRequest;\r\n if(badRequest != null) {\r\n badRequest.errors.forEach((e) => {\r\n this.notificationStore.push(new Notification(e, NotificationLevel.Error));\r\n });\r\n }\r\n else {\r\n let errorMessage = error.message;\r\n this.notificationStore.push(new Notification(errorMessage, NotificationLevel.Error));\r\n }\r\n this.authService.signout();\r\n }\r\n }\r\n ));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor\r\n} from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { AuthService } from './auth.service';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable()\r\nexport class JwtInterceptor implements HttpInterceptor {\r\n\r\n constructor(\r\n private authService: AuthService\r\n ) { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n if (this.authService.isSignedIn() && request.url.startsWith(environment.apiUrl)) {\r\n request = request.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${this.authService.getToken()}`\r\n }\r\n });\r\n }\r\n return next.handle(request);\r\n }\r\n}\r\n","export class Policies {\r\n public static readonly Admin: string = 'Admin';\r\n public static readonly Office: string = 'Office';\r\n public static readonly Report: string = 'Report';\r\n public static readonly TickerMonth: string = 'TickerMonth'\r\n}\r\n","import { FormGroup } from '@angular/forms';\r\n\r\nexport class SignInModel {\r\n email: string;\r\n password: string;\r\n\r\n populateFromFormGroup(formGroup: FormGroup): void {\r\n this.email = formGroup.get('email').value;\r\n this.password = formGroup.get('password').value;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { Title } from '@angular/platform-browser';\r\n\r\nimport { environment } from 'src/environments/environment';\r\n\r\nimport { SignInModel } from './sign-in-model';\r\nimport { AuthService } from '../auth.service';\r\nimport { IBadRequest } from 'src/app/interfaces/bad-request';\r\n\r\n@Component({\r\n selector: 'ast-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 private model: SignInModel = new SignInModel();\r\n\r\n public signinForm: FormGroup;\r\n public badRequest: IBadRequest;\r\n public isPasswordHidden: boolean = true;\r\n public isLoading: boolean = false;\r\n\r\n constructor(\r\n private titleService: Title,\r\n private authService: AuthService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(environment.projectName + \": Sign In\");\r\n this.signinForm = new FormGroup({\r\n 'email': new FormControl(this.model.email, [\r\n Validators.required,\r\n Validators.email\r\n ]),\r\n 'password': new FormControl(this.model.password, Validators.required)\r\n });\r\n }\r\n\r\n get email() { return this.signinForm.get('email'); }\r\n get password() { return this.signinForm.get('password'); }\r\n\r\n signin(): void {\r\n if (this.signinForm.invalid) {\r\n return;\r\n }\r\n this.badRequest = null;\r\n this.StartLoading();\r\n this.model.populateFromFormGroup(this.signinForm);\r\n this.authService.signin(this.model).subscribe(\r\n account => {\r\n if (this.badRequest) {\r\n this.badRequest = null;\r\n }\r\n this.authService.navigateToHome();\r\n },\r\n error => {\r\n this.badRequest = error.error;\r\n this.StopLoading();\r\n },\r\n () => {\r\n this.StopLoading();\r\n }\r\n );\r\n }\r\n\r\n private StartLoading() {\r\n this.isLoading = true;\r\n this.signinForm.disable();\r\n }\r\n\r\n private StopLoading() {\r\n this.isLoading = false;\r\n this.signinForm.enable();\r\n }\r\n\r\n}\r\n","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Email is not valid\r\n \r\n \r\n Email can not be empty\r\n \r\n \r\n \r\n \r\n \r\n {{isPasswordHidden ? 'visibility_off' : 'visibility'}}\r\n \r\n \r\n Password can not be empty\r\n \r\n \r\n \r\n \r\n {{ error }}\r\n \r\n \r\n \r\n \r\n Sign In\r\n \r\n \r\n \r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'ast-confirm-dialog',\r\n templateUrl: './confirm-dialog.component.html',\r\n styleUrls: ['./confirm-dialog.component.scss']\r\n})\r\nexport class ConfirmDialogComponent implements OnInit {\r\n title: string;\r\n message: string;\r\n\r\n constructor(public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","{{data.title}}\r\n\r\n {{data.message}}\r\n\r\n\r\n Confirm\r\n Cancel\r\n\r\n","import { Directive, ElementRef, Input, OnInit, OnDestroy,Renderer2 } from '@angular/core';\r\nimport { FormGroup,FormBuilder,AbstractControl,Validators } from '@angular/forms';\r\nimport { Subscription } from 'rxjs/internal/Subscription';\r\n\r\n@Directive({\r\n selector: '[phoneMask]'\r\n})\r\nexport class PhoneMaskDirective implements OnInit, OnDestroy{\r\n\r\n private _phoneControl:AbstractControl;\r\n private _preValue:string;\r\n\r\n @Input() \r\n set phoneControl(control:AbstractControl){\r\n this._phoneControl = control;\r\n }\r\n @Input() \r\n set preValue(value:string){\r\n this._preValue = value;\r\n }\r\n \r\n private sub:Subscription;\r\n\r\n constructor(private el: ElementRef,private renderer:Renderer2) {}\r\n\r\n ngOnInit(){\r\n this.phoneValidate();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.sub.unsubscribe(); \r\n }\r\n\r\n phoneValidate(){\r\n\r\n this.sub = this._phoneControl.valueChanges.subscribe(data => {\r\n \r\n let preInputValue:string = this._preValue;\r\n\r\n if(preInputValue == null)\r\n return;\r\n\r\n var lastChar:string = preInputValue.substr(preInputValue.length - 1);\r\n \r\n var newVal = data.replace(/\\D/g, '');\r\n\r\n let start = this.renderer.selectRootElement('#tel').selectionStart;\r\n let end = this.renderer.selectRootElement('#tel').selectionEnd;\r\n \r\n if (data.length < preInputValue.length) {\r\n if(preInputValue.length < start){\r\n if(lastChar == ')'){\r\n newVal = newVal.substr(0,newVal.length-1); \r\n }\r\n }\r\n\r\n if (newVal.length == 0) {\r\n newVal = '';\r\n } \r\n else if (newVal.length <= 3) {\r\n newVal = newVal.replace(/^(\\d{0,3})/, '($1');\r\n } else if (newVal.length <= 6) {\r\n newVal = newVal.replace(/^(\\d{0,3})(\\d{0,3})/, '($1) $2');\r\n } else {\r\n newVal = newVal.replace(/^(\\d{0,3})(\\d{0,3})(.*)/, '($1) $2-$3');\r\n }\r\n \r\n this._phoneControl.setValue(newVal,{emitEvent: false});\r\n //keep cursor the normal position after setting the input above.\r\n this.renderer.selectRootElement('#tel').setSelectionRange(start,end);\r\n //when typed value in input\r\n } else{\r\n // this.message = 'Typing...'; //Just console\r\n var removedD = data.charAt(start);\r\n // don't show braces for empty value\r\n if (newVal.length == 0) {\r\n newVal = '';\r\n } \r\n // don't show braces for empty groups at the end\r\n else if (newVal.length <= 3) {\r\n newVal = newVal.replace(/^(\\d{0,3})/, '($1)');\r\n } else if (newVal.length <= 6) {\r\n newVal = newVal.replace(/^(\\d{0,3})(\\d{0,3})/, '($1) $2');\r\n } else {\r\n newVal = newVal.replace(/^(\\d{0,3})(\\d{0,3})(.*)/, '($1) $2-$3');\r\n }\r\n //check typing whether in middle or not\r\n //in the following case, you are typing in the middle\r\n if(preInputValue.length >= start){\r\n //change cursor according to special chars.\r\n // console.log(start+removedD);\r\n if(removedD == '('){\r\n start = start +1;\r\n end = end +1;\r\n }\r\n if(removedD == ')'){\r\n start = start +2; // +2 so there is also space char after ')'.\r\n end = end +2;\r\n }\r\n if(removedD == '-'){\r\n start = start +1;\r\n end = end +1;\r\n }\r\n if(removedD == \" \"){\r\n start = start +1;\r\n end = end +1;\r\n }\r\n this._phoneControl.setValue(newVal,{emitEvent: false});\r\n this.renderer.selectRootElement('#tel').setSelectionRange(start,end);\r\n } else{\r\n this._phoneControl.setValue(newVal,{emitEvent: false});\r\n this.renderer.selectRootElement('#tel').setSelectionRange(start+2,end+2); // +2 because of wanting standard typing\r\n }\r\n }\r\n });\r\n }\r\n}","import { NgModule } from '@angular/core';\r\nimport { A11yModule } from '@angular/cdk/a11y';\r\nimport { ClipboardModule } from '@angular/cdk/clipboard';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { PortalModule } from '@angular/cdk/portal';\r\nimport { ScrollingModule } from '@angular/cdk/scrolling';\r\nimport { CdkStepperModule } from '@angular/cdk/stepper';\r\nimport { CdkTableModule } from '@angular/cdk/table';\r\nimport { CdkTreeModule } from '@angular/cdk/tree';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatBadgeModule } from '@angular/material/badge';\r\nimport { MatBottomSheetModule } from '@angular/material/bottom-sheet';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatDividerModule } from '@angular/material/divider';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatNativeDateModule, MatRippleModule } from '@angular/material/core';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatSliderModule } from '@angular/material/slider';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\n\r\n@NgModule({\r\n exports: [\r\n A11yModule,\r\n ClipboardModule,\r\n CdkStepperModule,\r\n CdkTableModule,\r\n CdkTreeModule,\r\n DragDropModule,\r\n MatAutocompleteModule,\r\n MatBadgeModule,\r\n MatBottomSheetModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatStepperModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatDividerModule,\r\n MatExpansionModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatNativeDateModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatTreeModule,\r\n OverlayModule,\r\n PortalModule,\r\n ScrollingModule,\r\n ]\r\n})\r\nexport class MaterialModule { }","export class QueryPageModel {\r\n pageNumber: number;\r\n pageSize: number;\r\n orderBy: string;\r\n isAscending: boolean;\r\n}\r\n","import { FormGroup } from '@angular/forms';\r\n\r\nexport class AddSaleModel {\r\n phone: string;\r\n email: string;\r\n stateId: string;\r\n sourceId: string;\r\n officeId: string;\r\n\r\n populateFromFormGroup(formGroup: FormGroup): void {\r\n this.phone = formGroup.get('phone').value;\r\n this.email = formGroup.get('email').value;\r\n this.stateId = formGroup.get('state').value;\r\n this.sourceId = formGroup.get('source').value;\r\n this.officeId = formGroup.get('office').value;\r\n }\r\n}\r\n","import { FormGroup } from '@angular/forms';\r\nimport { QueryPageModel } from '../query-page-model';\r\n\r\nexport class FilterSaleModel extends QueryPageModel {\r\n startDate: Date;\r\n endDate: Date;\r\n officeId: string;\r\n sourceId: string;\r\n stateId: string = null;\r\n\r\n timeZoneOffset: number;\r\n\r\n populateFromFormGroup(formGroup: FormGroup): void {\r\n this.startDate = formGroup.get('startDate').value;\r\n this.endDate = formGroup.get('endDate').value;\r\n this.officeId = formGroup.get('office').value == '' ? null : formGroup.get('office').value;\r\n this.sourceId = formGroup.get('source').value == '' ? null : formGroup.get('source').value;\r\n this.stateId = formGroup.get('state').value == '' ? null : formGroup.get('state').value;\r\n \r\n this.timeZoneOffset = new Date().getTimezoneOffset();\r\n }\r\n}\r\n","import { FormGroup } from '@angular/forms';\r\n\r\n\r\nexport class AddSpendModel {\r\n officeId: string;\r\n totalSpend: number;\r\n totalUnited: number;\r\n totalACA: number;\r\n\r\n populateFromFormGroup(formGroup: FormGroup, officeId:string): void {\r\n this.totalSpend = Number(formGroup.get('totalSpend').value);\r\n this.totalUnited = Number(formGroup.get('totalUnited').value);\r\n this.totalACA = Number(formGroup.get('totalACA').value);\r\n this.officeId = officeId;\r\n }\r\n\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { Router } from '@angular/router';\r\nimport { tap } from 'rxjs/operators';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpInterceptor,\r\n HttpRequest,\r\n HttpEvent,\r\n HttpHandler,\r\n HttpErrorResponse } from '@angular/common/http';\r\nimport { NotificationStore } from './notifications.store';\r\nimport { Notification, NotificationLevel } from \"./notification\";\r\n\r\n\r\n@Injectable()\r\nexport class NotificationHttpInterceptor implements HttpInterceptor {\r\n \r\n constructor(\r\n private notificationStore: NotificationStore,\r\n private router: Router) { }\r\n \r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n return next.handle(request).pipe(tap(\r\n event => {\r\n },\r\n\r\n err => {\r\n if (err instanceof HttpErrorResponse && (err.status == 500 || err.status == 0 || err.status == 401)) { \r\n let errorMessage = err.message;\r\n \r\n if(err.error.Errors)\r\n {\r\n err.error.Errors.forEach((e) => {\r\n this.notificationStore.push(new Notification(e, NotificationLevel.Error));\r\n });\r\n }\r\n else\r\n {\r\n this.notificationStore.push(new Notification(errorMessage, NotificationLevel.Error));\r\n }\r\n }\r\n }\r\n ));\r\n }\r\n}\r\n","export enum NotificationLevel {\r\n Info = 0,\r\n Error = 1\r\n}\r\n \r\nexport class Notification {\r\n constructor(\r\n public readonly text: string,\r\n public readonly level: NotificationLevel) { }\r\n}","import { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { Notification } from './notification';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class NotificationStore {\r\n private _subject = new Subject();\r\n\r\n push(notification: Notification) {\r\n this._subject.next(notification);\r\n }\r\n \r\n getStream(): Observable {\r\n return this._subject.asObservable();\r\n }\r\n}\r\n\r\n\r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { OfficeComponent } from './office/office.component';\r\nimport { OfficeGuard } from '../auth/guards/office.guard';\r\nimport { OfficeSalesComponent } from './office-sales/office-sales.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: 'office',\r\n component: OfficeComponent,\r\n canActivate: [OfficeGuard]\r\n },\r\n {\r\n path: 'office-sales', \r\n component: OfficeSalesComponent,\r\n canActivate: [OfficeGuard]\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class OfficeRoutingModule { }\r\n","import { DatePipe } from '@angular/common';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { PageEvent } from '@angular/material/paginator';\r\nimport { Sort } from '@angular/material/sort';\r\nimport { AuthService } from 'src/app/auth/auth.service';\r\nimport { IOfficeList } from 'src/app/interfaces/offices/office-list';\r\nimport { ISalesList } from 'src/app/interfaces/sales/sales-list';\r\nimport { ISourceList } from 'src/app/interfaces/sources/source-list';\r\nimport { IState } from 'src/app/interfaces/states/state';\r\nimport { FilterSaleModel } from 'src/app/models/sales/filter-sale-model';\r\nimport { OfficeService } from 'src/app/services/office.service';\r\nimport { SalesService } from 'src/app/services/sales.service';\r\nimport { SourceService } from 'src/app/services/source.service';\r\nimport { StateService } from 'src/app/services/state.service';\r\n\r\n@Component({\r\n selector: 'ast-office-sales',\r\n templateUrl: './office-sales.component.html',\r\n styleUrls: ['./office-sales.component.scss', '../../admin/scss/table.component.scss']\r\n})\r\nexport class OfficeSalesComponent implements OnInit {\r\n\r\n public displayedColumns: string[] = ['phone', 'office', 'source', 'email', 'state', 'date'];\r\n public dataSource: ISalesList[];\r\n public count: number;\r\n\r\n public offices:IOfficeList[];\r\n public sources:ISourceList[];\r\n public states:IState[];\r\n public isLoading: boolean = false;\r\n public valueAll: string = '';\r\n\r\n public model: FilterSaleModel = new FilterSaleModel();\r\n public total: number;\r\n public pageSizeOptions: number[] = [25, 50, 100];\r\n\r\n public filtersForm:FormGroup;\r\n\r\n constructor( \r\n private salesService: SalesService,\r\n private sourceService: SourceService,\r\n private officeService: OfficeService,\r\n private authService: AuthService,\r\n private stateService: StateService) { }\r\n\r\n ngOnInit(): void {\r\n this.initFilterModel();\r\n this.initForm();\r\n \r\n this.loadSales();\r\n this.loadCount();\r\n\r\n // this.loadOffices();\r\n // this.loadSources();\r\n // this.loadStates();\r\n }\r\n \r\n initForm() {\r\n this.filtersForm = new FormGroup({\r\n 'startDate': new FormControl(this.model.startDate, Validators.required),\r\n 'endDate': new FormControl(this.model.endDate, Validators.required),\r\n 'office': new FormControl(this.model.officeId),\r\n 'source': new FormControl(this.model.sourceId),\r\n 'state': new FormControl(this.model.stateId),\r\n });\r\n\r\n this.filtersForm.controls['office'].setValue(this.valueAll);\r\n this.filtersForm.controls['source'].setValue(this.valueAll);\r\n this.filtersForm.controls['state'].setValue(this.valueAll);\r\n }\r\n\r\n private initFilterModel(): void {\r\n this.model.startDate = new Date(new Date().toDateString());\r\n this.model.endDate = new Date(new Date().toDateString());\r\n \r\n this.model.pageNumber = 1;\r\n this.model.pageSize = this.pageSizeOptions[0];\r\n this.model.orderBy = 'created';\r\n this.model.isAscending = true;\r\n }\r\n\r\n private loadSales(): void {\r\n if (this.filtersForm.invalid) {\r\n return;\r\n }\r\n \r\n this.startLoading();\r\n \r\n this.model.populateFromFormGroup(this.filtersForm);\r\n this.model.officeId = this.authService.getOfficeId();\r\n\r\n this.salesService.getPage(this.model).subscribe(\r\n result => {\r\n this.dataSource = result.data;\r\n this.total = result.total;\r\n\r\n this.stopLoading;\r\n },\r\n error => {\r\n this.stopLoading;\r\n },\r\n () => {\r\n this.stopLoading();\r\n }\r\n );\r\n }\r\n\r\n private loadCount(): void {\r\n this.startLoading();\r\n this.salesService.countAll(this.authService.getOfficeId()).subscribe(\r\n result => {\r\n this.count = result;\r\n this.stopLoading;\r\n },\r\n error => {\r\n this.stopLoading;\r\n }\r\n );\r\n }\r\n\r\n private loadOffices(): void {\r\n this.startLoading();\r\n this.officeService.getAll().subscribe(\r\n result => {\r\n this.offices = result;\r\n this.stopLoading;\r\n },\r\n error => {\r\n this.stopLoading;\r\n }\r\n );\r\n }\r\n\r\n private loadSources(): void {\r\n this.startLoading();\r\n this.sourceService.getAll().subscribe(\r\n result => {\r\n this.sources = result;\r\n this.stopLoading;\r\n },\r\n error => {\r\n this.stopLoading;\r\n }\r\n );\r\n }\r\n\r\n private loadStates(): void {\r\n this.startLoading();\r\n this.stateService.getAll().subscribe(\r\n result => {\r\n this.states = result;\r\n this.stopLoading;\r\n },\r\n error => {\r\n this.stopLoading;\r\n }\r\n );\r\n }\r\n\r\n private startLoading() {\r\n this.isLoading = true;\r\n this.filtersForm.disable();\r\n }\r\n\r\n private stopLoading() {\r\n this.isLoading = false;\r\n this.filtersForm.enable();\r\n }\r\n\r\n public onPageChange(pageEvent: PageEvent) {\r\n this.model.pageNumber = pageEvent.pageIndex + 1;\r\n this.model.pageSize = pageEvent.pageSize;\r\n this.loadSales();\r\n }\r\n\r\n public onSortChange(sort: Sort) {\r\n this.model.pageNumber = 1;\r\n this.model.orderBy = sort.active;\r\n this.model.isAscending = sort.direction == 'asc';\r\n this.loadSales();\r\n }\r\n\r\n onFilter() {\r\n this.loadSales();\r\n } \r\n}\r\n","\r\n Sales\r\n \r\n {{count}}\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n Start date\r\n \r\n \r\n \r\n \r\n \r\n \r\n End date\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n Phone \r\n {{sale.phone}} \r\n \r\n \r\n \r\n Office \r\n {{sale.office}} \r\n \r\n \r\n Source \r\n {{sale.source}} \r\n \r\n \r\n Email \r\n {{sale.email}} \r\n \r\n \r\n State \r\n {{sale.state}} \r\n \r\n \r\n Date \r\n {{ sale.created | date: 'MM/dd/yyyy h:mm a' : 'EST'}} \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { OfficeRoutingModule } from './office-routing.module';\r\nimport { OfficeComponent } from './office/office.component';\r\nimport { MaterialModule } from '../material-module';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { PhoneMaskDirective } from '../directives/phone-mask.directive';\r\nimport { SpendPopupComponent } from './spend-popup/spend-popup.component';\r\nimport { OfficeSalesComponent } from './office-sales/office-sales.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [OfficeComponent, PhoneMaskDirective, SpendPopupComponent, OfficeSalesComponent],\r\n imports: [\r\n CommonModule,\r\n OfficeRoutingModule,\r\n MaterialModule,\r\n ReactiveFormsModule\r\n ]\r\n})\r\nexport class OfficeModule { }\r\n","import { Component, ElementRef, EventEmitter, OnInit, Output } from '@angular/core';\r\nimport { AuthService } from 'src/app/auth/auth.service';\r\nimport { FormControl, Validators, FormGroup } from '@angular/forms';\r\nimport { ISource } from 'src/app/interfaces/sources/source';\r\nimport { AddSaleModel } from 'src/app/models/sales/add-sale-model';\r\nimport { SourceService } from 'src/app/services/source.service';\r\nimport { SalesService } from 'src/app/services/sales.service';\r\nimport { StateService } from 'src/app/services/state.service';\r\nimport { IBadRequest } from 'src/app/interfaces/bad-request';\r\nimport { IState } from 'src/app/interfaces/states/state';\r\nimport { Router } from '@angular/router';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { SpendPopupComponent } from '../spend-popup/spend-popup.component';\r\nimport { SpendsService } from 'src/app/services/spends.serice';\r\nimport { interval, timer } from 'rxjs';\r\nimport { finalize, takeUntil } from 'rxjs/operators';\r\nimport { TickerService } from 'src/app/services/ticker.service';\r\nimport { IOfficeTicker } from 'src/app/interfaces/offices/office-ticker';\r\nimport { IBabyTickerData } from 'src/app/interfaces/offices/baby-ticker';\r\nimport { ILastTimeData } from 'src/app/interfaces/offices/last-time-data';\r\nimport { OfficeService } from 'src/app/services/office.service';\r\nimport { OfficeThemeModel } from 'src/app/models/offices/office-theme-model';\r\nimport { IOfficeTheme } from 'src/app/interfaces/offices/office-theme';\r\nimport { StyleSharedService } from 'src/app/shared/style-shared-service';\r\n\r\n@Component({\r\n selector: 'ast-office',\r\n templateUrl: './office.component.html',\r\n styleUrls: ['./office.component.scss']\r\n})\r\nexport class OfficeComponent implements OnInit {\r\n\r\n private model: AddSaleModel = new AddSaleModel();\r\n\r\n public addForm: FormGroup;\r\n\r\n public userName: string = '';\r\n public officeName: string = '';\r\n\r\n public salesToday: number = 0;\r\n public salesAll: number;\r\n public isLoading: boolean = false;\r\n public isTickerLoading:boolean = false;\r\n\r\n\r\n public states: IState[] = [];\r\n public sources: ISource[] = [];\r\n\r\n public badRequest: IBadRequest;\r\n private dialogRef:any;\r\n\r\n private dataEventSubscription = null;\r\n private updateEventSubscription = null;\r\n\r\n public tickerData: IBabyTickerData[];\r\n private topSaleDate:Date;\r\n //public lastTimeData:ILastTimeData = null;\r\n public lastTimeData:string = '0:00:00';\r\n\r\n\r\n\r\n constructor(\r\n private router: Router,\r\n private dialog:MatDialog,\r\n private authService: AuthService,\r\n private sourceService: SourceService,\r\n private salesService: SalesService,\r\n private stateService: StateService,\r\n private spendsService:SpendsService,\r\n private tickerService: TickerService,\r\n private officeService: OfficeService,\r\n private elementRef:ElementRef,\r\n private styleSharedService:StyleSharedService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.userName = this.authService.getName();\r\n this.officeName = this.authService.getOffice()\r\n\r\n this.isTickerLoading = true;\r\n\r\n this.initForm();\r\n\r\n this.getPopupFlag();\r\n\r\n this.getSalesCount();\r\n this.getStates();\r\n this.getSources();\r\n this.initPopupTimer();\r\n this.getStyles();\r\n\r\n this.dataEventSubscription = this.tickerService.dataRecievedEvent.subscribe(() => {\r\n //this.data = this.tickerService.data;\r\n this.setTickerData();\r\n //this.getLastSaleTime();\r\n });\r\n \r\n this.updateEventSubscription = this.tickerService.updateRecievedEvent.subscribe(() => {\r\n this.setTickerData()\r\n });\r\n\r\n this.tickerService.startConnection();\r\n this.tickerService.addTickerListener();\r\n\r\n timer(1000, 1000).subscribe(val => {\r\n this.getLastSaleTime();\r\n });\r\n\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.dataEventSubscription) {\r\n this.dataEventSubscription.unsubscribe();\r\n }\r\n if (this.updateEventSubscription) {\r\n this.updateEventSubscription.unsubscribe();\r\n }\r\n this.tickerService.stopConnection();\r\n }\r\n\r\n\r\n public showSales() {\r\n let url = 'office-sales';\r\n window.open(url, \"_blank\");\r\n }\r\n\r\n private setTickerData() {\r\n let sources = this.tickerService.data.sources.sort((a, b) => b.value - a.value).slice(0, 3);\r\n let offices = this.tickerService.data.tickerData.sort((a, b) => b.dailySalesCount - a.dailySalesCount).slice(0, 3);\r\n\r\n this.topSaleDate = this.tickerService.data.topSaleDate;\r\n \r\n this.tickerData = [];\r\n\r\n offices.forEach((element, index) => {\r\n let item:IBabyTickerData = {\r\n name: element.name,\r\n source : sources[index].name,\r\n sales: element.dailySalesCount\r\n };\r\n\r\n this.tickerData.push(item);\r\n });\r\n\r\n this.isTickerLoading = false;\r\n }\r\n \r\n\r\n private getLastSaleTime()\r\n {\r\n if(this.topSaleDate == undefined || this.tickerData == null)\r\n return;\r\n \r\n let today = new Date().getTime();\r\n let lastSaleDate = new Date(this.topSaleDate);\r\n\r\n let diff = today - lastSaleDate.getTime();\r\n\r\n let days = Math.floor(diff / (1000 * 60 * 60 * 24));\r\n let hours = Math.floor((diff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));\r\n let minutes = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60));\r\n //let seconds = Math.floor((diff % (1000 * 60)) / 1000);\r\n\r\n\r\n this.lastTimeData = days.toString() + ':' + (\"0\" + hours).slice(-2) + ':' + (\"0\" + minutes).slice(-2); \r\n }\r\n\r\n private getPopupFlag():void {\r\n \r\n this.badRequest = null;\r\n var officeId = this.authService.getOfficeId();\r\n this.spendsService.showPopup(officeId).subscribe(\r\n result => {\r\n \r\n if(result)\r\n this.showPopup();\r\n\r\n if (this.badRequest) {\r\n this.badRequest = null;\r\n }\r\n },\r\n error => {\r\n this.badRequest = error.error;\r\n \r\n },\r\n () => {\r\n \r\n }\r\n );\r\n }\r\n\r\n private initPopupTimer():void {\r\n timer(1000, 60*60*1000).subscribe(() => {\r\n \r\n const currentDate = new Date();\r\n \r\n let day = currentDate.getDay();\r\n let hours = currentDate.getHours();\r\n\r\n\r\n if(day != 1 || hours > 6)\r\n return;\r\n \r\n this.getPopupFlag();\r\n })\r\n\r\n }\r\n\r\n private showPopup():void {\r\n if (this.dialogRef) \r\n return;\r\n \r\n this.dialogRef = this.dialog.open(SpendPopupComponent, {\r\n disableClose: true,\r\n width: '800px',\r\n height: '250px',\r\n data: {officeId: this.authService.getOfficeId()},\r\n });\r\n\r\n this.dialogRef.afterClosed().subscribe(() => {\r\n this.dialogRef = undefined;\r\n });\r\n\r\n \r\n }\r\n\r\n private initForm() {\r\n this.addForm = new FormGroup({\r\n 'phone': new FormControl(null,\r\n [\r\n this.phoneValidator,\r\n Validators.required\r\n ]),\r\n 'email': new FormControl(null, [\r\n Validators.required,\r\n Validators.email\r\n ]),\r\n 'state': new FormControl(null, Validators.required),\r\n 'source': new FormControl(null, Validators.required),\r\n 'office': new FormControl(this.authService.getOfficeId(), Validators.required),\r\n });\r\n }\r\n\r\n private phoneValidator(control: FormControl) {\r\n var regex = new RegExp(/\\(?([0-9]{3})\\)?([ .-]?)([0-9]{3})\\2([0-9]{4})/i);\r\n let valid = regex.test(control.value);\r\n return valid ? null : {\"phone\": control.value};\r\n }\r\n\r\n private getStyles():void {\r\n this.startLoading();\r\n this.badRequest = null;\r\n var officeId = this.authService.getOfficeId();\r\n\r\n this.officeService.getStyles(officeId).subscribe(\r\n result => {\r\n //this.salesToday = result;\r\n\r\n this.setStyles(result);\r\n\r\n\r\n if (this.badRequest) {\r\n this.badRequest = null;\r\n }\r\n },\r\n error => {\r\n this.badRequest = error.error;\r\n this.stopLoading();\r\n },\r\n () => {\r\n this.stopLoading();\r\n }\r\n );\r\n }\r\n\r\n \r\n private setStyles(styles:IOfficeTheme[]):void {\r\n styles.forEach(item => {\r\n this.elementRef.nativeElement.style.setProperty(`--${item.name}`, item.value);\r\n });\r\n\r\n //this.elementRef.nativeElement.style.setProperty('--fontSize', '50vm');\r\n\r\n this.styleSharedService.updateStyle(styles.filter(item => item.name.includes('logo') ));\r\n }\r\n\r\n private getSalesCount() {\r\n this.startLoading();\r\n this.badRequest = null;\r\n var officeId = this.authService.getOfficeId();\r\n this.salesService.countToday(officeId).subscribe(\r\n result => {\r\n this.salesToday = result;\r\n\r\n if (this.badRequest) {\r\n this.badRequest = null;\r\n }\r\n },\r\n error => {\r\n this.badRequest = error.error;\r\n this.stopLoading();\r\n },\r\n () => {\r\n this.stopLoading();\r\n }\r\n );\r\n\r\n this.salesService.countAll(officeId).subscribe(\r\n result => {\r\n this.salesAll = result;\r\n\r\n if (this.badRequest) {\r\n this.badRequest = null;\r\n }\r\n },\r\n error => {\r\n this.badRequest = error.error;\r\n this.stopLoading();\r\n },\r\n () => {\r\n this.stopLoading();\r\n }\r\n );\r\n }\r\n\r\n private getSources() {\r\n this.startLoading();\r\n this.badRequest = null;\r\n\r\n this.sourceService.getByOffice(this.authService.getOfficeId()).subscribe(\r\n result => {\r\n this.sources = [...result];\r\n\r\n if (this.badRequest) {\r\n this.badRequest = null;\r\n }\r\n },\r\n error => {\r\n this.badRequest = error.error;\r\n this.stopLoading();\r\n },\r\n () => {\r\n this.stopLoading();\r\n }\r\n );\r\n }\r\n\r\n\r\n\r\n private getStates() {\r\n this.startLoading();\r\n this.badRequest = null;\r\n\r\n this.stateService.getByOffice(this.authService.getOfficeId()).subscribe(\r\n result => {\r\n this.states = [...result];\r\n\r\n if (this.badRequest) {\r\n this.badRequest = null;\r\n }\r\n },\r\n error => {\r\n this.badRequest = error.error;\r\n this.stopLoading();\r\n },\r\n () => {\r\n this.stopLoading();\r\n }\r\n );\r\n }\r\n\r\n get phone() { return this.addForm.get('phone'); }\r\n get email() { return this.addForm.get('email'); }\r\n get state() { return this.addForm.get('state'); }\r\n get source() { return this.addForm.get('source'); }\r\n get office() { return this.addForm.get('office'); }\r\n\r\n private cleanForm() {\r\n this.addForm.reset();\r\n this.office.setValue(this.authService.getOfficeId());\r\n //this.router.navigate(['']);\r\n }\r\n\r\n private startLoading() {\r\n this.isLoading = true;\r\n this.addForm.disable();\r\n }\r\n\r\n private stopLoading() {\r\n this.isLoading = false;\r\n this.addForm.enable();\r\n }\r\n\r\n add(): void {\r\n if (this.addForm.invalid) {\r\n return;\r\n }\r\n\r\n this.badRequest = null;\r\n this.startLoading();\r\n this.model.populateFromFormGroup(this.addForm);\r\n\r\n this.salesService.add(this.model).subscribe(\r\n result => {\r\n if (this.badRequest) {\r\n this.badRequest = null;\r\n }\r\n this.getSalesCount();\r\n },\r\n error => {\r\n this.stopLoading();\r\n if(error.status == 406)\r\n {\r\n this.showPopup();\r\n return;\r\n }\r\n\r\n this.badRequest = error.error;\r\n \r\n },\r\n () => {\r\n this.stopLoading();\r\n this.cleanForm();\r\n }\r\n );\r\n }\r\n\r\n}\r\n","\r\n \r\n\r\n\r\n \r\n \r\n \r\n\r\n \r\n Show sales\r\n \r\n \r\n {{officeName}}\r\n \r\n \r\n \r\n {{salesToday}}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n {{item.name}}\r\n {{item.sales}}\r\n {{item.source}}\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Submit a Sale\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Phone\r\n \r\n \r\n \r\n \r\n \r\n \r\n Phone can not be empty\r\n \r\n \r\n \r\n Please enter a valid phone\r\n \r\n \r\n \r\n \r\n \r\n Email\r\n \r\n \r\n Please enter a valid email address\r\n \r\n \r\n Email can not be empty\r\n \r\n \r\n \r\n State\r\n \r\n \r\n {{state.name}}\r\n \r\n \r\n \r\n State can not be empty\r\n \r\n \r\n \r\n Source\r\n \r\n \r\n {{source.name}}\r\n \r\n \r\n \r\n Source can not be empty\r\n \r\n \r\n \r\n \r\n \r\n {{ error }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Submit\r\n \r\n \r\n \r\n\r\n \r\n Time Since Last Sale: {{lastTimeData}}\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { IBadRequest } from 'src/app/interfaces/bad-request';\r\nimport { AddSpendModel } from 'src/app/models/spends/add-spend-model';\r\nimport { SpendsService } from 'src/app/services/spends.serice';\r\n\r\nexport interface DialogData {\r\n officeId: string;\r\n}\r\n\r\n@Component({\r\n selector: 'ast-spend-popup',\r\n templateUrl: './spend-popup.component.html',\r\n styleUrls: ['./spend-popup.component.scss']\r\n})\r\nexport class SpendPopupComponent implements OnInit {\r\n\r\n public spendForm: FormGroup;\r\n private model: AddSpendModel = new AddSpendModel();\r\n public badRequest: IBadRequest = {\r\n errors: []\r\n };\r\n \r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\r\n private spendService: SpendsService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.spendForm = new FormGroup({\r\n 'totalSpend': new FormControl(null, [Validators.required, Validators.pattern(\"^\\[0-9]+(\\.[0-9][0-9])?$\")]),\r\n 'totalUnited': new FormControl(null, [Validators.required, Validators.pattern(\"^[0-9]*$\")]),\r\n 'totalACA': new FormControl(null, [Validators.required, Validators.pattern(\"^[0-9]*$\")]),\r\n });\r\n\r\n \r\n }\r\n\r\n submit():void {\r\n \r\n \r\n if(!this.spendForm.valid)\r\n return;\r\n\r\n this.model.populateFromFormGroup(this.spendForm, this.data.officeId);\r\n\r\n this.spendService.add(this.model).subscribe(\r\n result => {\r\n if (this.badRequest) {\r\n this.badRequest = null;\r\n }\r\n \r\n this.dialogRef.close();\r\n\r\n },\r\n error => {\r\n \r\n \r\n },\r\n () => {\r\n \r\n }\r\n );\r\n \r\n //\r\n }\r\n\r\n}\r\n","Last Week's Spend\r\n\r\n\r\n \r\n Total Spend\r\n \r\n \r\n\r\n \r\n Total United\r\n \r\n \r\n\r\n \r\n Total ACA\r\n \r\n \r\n\r\n \r\n\r\n\r\n\r\n \r\n {{ error }}\r\n \r\n\r\n\r\n\r\n Submit\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { IOfficeList } from '../interfaces/offices/office-list';\r\nimport { IOfficeDetails } from '../interfaces/offices/office-details';\r\nimport { IIdResult } from '../interfaces/id-result';\r\nimport { AddOfficeModel } from '../models/offices/add-office-model';\r\nimport { ISelectResult } from '../interfaces/select-result';\r\nimport { IOfficeEdit } from '../interfaces/offices/office-edit';\r\nimport { OfficeSourcesModel } from '../models/offices/office-sources-model';\r\nimport { IOfficeSources } from '../interfaces/offices/office-sources';\r\nimport { IPage } from '../interfaces/page';\r\nimport { QueryPageModel } from '../models/query-page-model';\r\nimport { OfficeModel } from '../models/offices/office-model';\r\nimport { IOffice } from '../interfaces/offices/office';\r\nimport { IOfficeTheme } from '../interfaces/offices/office-theme';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OfficeService {\r\n\r\n private apiPath = environment.apiUrl + 'offices/';\r\n\r\n constructor(\r\n private http: HttpClient\r\n ) { }\r\n\r\n getAll(): Observable {\r\n return this.http.get(this.apiPath)\r\n .pipe(map(result => {\r\n return result;\r\n }));\r\n }\r\n\r\n get(id: string): Observable {\r\n return this.http.get(this.apiPath + id)\r\n .pipe(map(result => {\r\n return result;\r\n }));\r\n }\r\n\r\n getStyles(officeId: string): Observable {\r\n return this.http.get(this.apiPath + `get-styles/${officeId}`)\r\n .pipe(map(result => {\r\n return result;\r\n }));\r\n }\r\n\r\n getSources(id: string): Observable {\r\n return this.http.get(this.apiPath + id + '/sources')\r\n .pipe(map(result => {\r\n return result;\r\n }));\r\n }\r\n\r\n update(id: string, model: OfficeModel): Observable {\r\n var headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n return this.http.put(this.apiPath + id, JSON.stringify(model), { headers: headers })\r\n .pipe(map(result => {\r\n return result;\r\n }));\r\n }\r\n\r\n updateSources(id: string, model: OfficeSourcesModel): Observable {\r\n var headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n return this.http.put(this.apiPath + id + '/sources', JSON.stringify(model), { headers: headers })\r\n .pipe(map(result => {\r\n return result;\r\n }));\r\n }\r\n\r\n delete(id: string): Observable {\r\n return this.http.delete(this.apiPath + id)\r\n .pipe(map(result => {\r\n return result;\r\n }));\r\n }\r\n\r\n count(): Observable {\r\n return this.http.get(this.apiPath + 'count')\r\n .pipe(map(result => {\r\n return result;\r\n }));\r\n }\r\n\r\n add(model: AddOfficeModel): Observable {\r\n var headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n return this.http.post(this.apiPath, JSON.stringify(model), { headers: headers })\r\n .pipe(map(result => {\r\n return result;\r\n }));\r\n }\r\n\r\n getPage(model: QueryPageModel): Observable> {\r\n var headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n return this.http.post>(this.apiPath + 'page', JSON.stringify(model), { headers: headers })\r\n .pipe(map(result => {\r\n return result;\r\n }));\r\n }\r\n\r\n getForUserWithoutCurrentAssignee(): Observable {\r\n return this.http.get(this.apiPath + 'for-user')\r\n .pipe(map(result => {\r\n return result;\r\n }));\r\n }\r\n\r\n getForUserWithCurrentAssignee(assignToId: string): Observable {\r\n return this.http.get(this.apiPath + 'for-user/' + assignToId)\r\n .pipe(map(result => {\r\n return result;\r\n }));\r\n }\r\n\r\n isNameTaken(name: string): Observable {\r\n var headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n });\r\n var model = {\r\n key: 'name',\r\n value: name\r\n };\r\n return this.http.post(this.apiPath + 'is-name-taken', JSON.stringify(model), { headers: headers })\r\n .pipe(map(result => {\r\n return result;\r\n }));\r\n }\r\n}\r\n","import { environment } from 'src/environments/environment';\r\nimport { HttpClient, HttpHeaders, HttpResponse } from '@angular/common/http';\r\nimport { AddSaleModel } from '../models/sales/add-sale-model';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { ISalesList } from '../interfaces/sales/sales-list';\r\nimport { FilterSaleModel } from '../models/sales/filter-sale-model';\r\nimport { IPage } from '../interfaces/page';\r\nimport { ISaleEdit } from '../interfaces/sales/sale-edit';\r\nimport { EditSaleComponent } from '../admin/sales/edit-sale/edit-sale.component';\r\nimport { EditSaleModel } from '../models/sales/edit-sale-model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class SalesService {\r\n private apiPath = environment.apiUrl + 'sales/';\r\n\r\n constructor(\r\n private http: HttpClient\r\n ) { }\r\n\r\n add(model: AddSaleModel): Observable {\r\n var headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n return this.http.post(this.apiPath, JSON.stringify(model), { headers: headers })\r\n .pipe(map(result => {\r\n return result;\r\n }));\r\n }\r\n\r\n countToday(officeId: string): Observable {\r\n return this.http.get(this.apiPath + `count-today/${officeId}`)\r\n .pipe(map(result => {\r\n return result;\r\n }));\r\n }\r\n\r\n countAll(officeId: string): Observable {\r\n return this.http.get(this.apiPath + `count-all/${officeId}`)\r\n .pipe(map(result => {\r\n return result;\r\n }));\r\n }\r\n\r\n getAll(): Observable {\r\n return this.http.get(this.apiPath)\r\n .pipe(map(result => {\r\n return result;\r\n }));\r\n }\r\n\r\n getPage(model: FilterSaleModel): Observable> {\r\n var headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n return this.http.post>(this.apiPath + 'page', JSON.stringify(model), { headers: headers })\r\n .pipe(map(result => {\r\n return result;\r\n }));\r\n }\r\n\r\n exportFile(model: FilterSaleModel): Observable> {\r\n var headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n });\r\n \r\n var result = this.http.post(this.apiPath + 'export-file', JSON.stringify(model), {observe: 'response', headers: headers, responseType: 'blob' })\r\n .pipe(\r\n map(result => {\r\n return result; \r\n }));\r\n\r\n return result;\r\n }\r\n\r\n count(): Observable {\r\n return this.http.get(this.apiPath + 'count')\r\n .pipe(map(result => {\r\n return result;\r\n }));\r\n }\r\n\r\n delete(id: string): Observable {\r\n return this.http.delete(this.apiPath + id)\r\n .pipe(map(result => {\r\n return result;\r\n }));\r\n }\r\n\r\n update(id: string, model: EditSaleModel): Observable {\r\n var headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n return this.http.put(this.apiPath + id, JSON.stringify(model), { headers: headers })\r\n .pipe(map(result => {\r\n return result;\r\n }));\r\n }\r\n\r\n get(id: string): Observable {\r\n return this.http.get(this.apiPath + id)\r\n .pipe(map(result => {\r\n return result;\r\n }));\r\n }\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { environment } from 'src/environments/environment';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { Injectable } from '@angular/core';\r\nimport { ISource } from '../interfaces/sources/source';\r\nimport { ISourceList } from 'src/app/interfaces/sources/source-list';\r\nimport { AddSourceModel } from '../models/sources/add-source-model';\r\nimport { IIdResult } from '../interfaces/id-result';\r\nimport { EditSourceModel } from '../models/sources/edit-source-model';\r\nimport { ISourceEdit } from '../interfaces/sources/source-edit';\r\nimport { ISelectResult } from '../interfaces/select-result';\r\nimport { IPage } from '../interfaces/page';\r\nimport { QueryPageModel } from '../models/query-page-model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class SourceService {\r\n private apiPath = environment.apiUrl + 'sources/';\r\n\r\n constructor(\r\n private http: HttpClient\r\n ) { }\r\n\r\n getByOffice(officeId: string): Observable {\r\n return this.http.get(this.apiPath + `by-office/${officeId}`)\r\n .pipe(map(result => {\r\n return result;\r\n }));\r\n }\r\n\r\n count(): Observable {\r\n return this.http.get(this.apiPath + 'count')\r\n .pipe(map(result => {\r\n return result;\r\n }));\r\n }\r\n\r\n getAll(): Observable {\r\n return this.http.get(this.apiPath)\r\n .pipe(map(result => {\r\n return result;\r\n }));\r\n }\r\n\r\n getPage(model: QueryPageModel): Observable> {\r\n var headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n return this.http.post>(this.apiPath + 'page', JSON.stringify(model), { headers: headers })\r\n .pipe(map(result => {\r\n return result;\r\n }));\r\n }\r\n\r\n add(model: AddSourceModel): Observable {\r\n var headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n return this.http.post(this.apiPath, JSON.stringify(model), { headers: headers })\r\n .pipe(map(result => {\r\n return result;\r\n }));\r\n }\r\n\r\n update(id: string, model: EditSourceModel): Observable {\r\n var headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n return this.http.put(this.apiPath + id, JSON.stringify(model), { headers: headers })\r\n .pipe(map(result => {\r\n return result;\r\n }));\r\n }\r\n\r\n delete(id: string): Observable {\r\n return this.http.delete(this.apiPath + id)\r\n .pipe(map(result => {\r\n return result;\r\n }));\r\n }\r\n\r\n get(id: string): Observable {\r\n return this.http.get(this.apiPath + id)\r\n .pipe(map(result => {\r\n return result;\r\n }));\r\n }\r\n\r\n getForSelection(): Observable {\r\n return this.http.get(this.apiPath + 'for-selection')\r\n .pipe(map(result => {\r\n return result;\r\n }));\r\n }\r\n\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { environment } from 'src/environments/environment';\r\nimport { HttpClient, HttpHeaders, HttpResponse } from '@angular/common/http';\r\nimport { AddSpendModel } from \"../models/spends/add-spend-model\";\r\nimport { Observable } from \"rxjs\";\r\nimport { map } from 'rxjs/operators';\r\nimport { QueryPageModel } from \"../models/query-page-model\";\r\nimport { IPage } from \"../interfaces/page\";\r\nimport { ISpendList } from \"../interfaces/spends/spend-list\";\r\nimport { IUserEdit } from \"../interfaces/users/user-edit\";\r\nimport { ISpendEdit } from \"../interfaces/spends/spend-edit\";\r\nimport { EditSpendModel } from \"../models/spends/edit-spend-model\";\r\nimport { FilterSpendModel } from \"../models/spends/filter-spend-model\";\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n })\r\n \r\nexport class SpendsService {\r\n private apiPath = environment.apiUrl + 'spends/';\r\n\r\n constructor(\r\n private http: HttpClient\r\n ) { }\r\n\r\n add(model: AddSpendModel): Observable {\r\n var headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n return this.http.post(this.apiPath, JSON.stringify(model), { headers: headers })\r\n .pipe(map(result => {\r\n return result;\r\n }));\r\n }\r\n\r\n getPage(model: QueryPageModel): Observable> {\r\n var headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n return this.http.post>(this.apiPath + 'page', JSON.stringify(model), { headers: headers })\r\n .pipe(map(result => {\r\n return result;\r\n }));\r\n }\r\n\r\n showPopup(id: string): Observable {\r\n return this.http.get(this.apiPath + 'popup/' + id)\r\n .pipe(map(result => {\r\n return result;\r\n }));\r\n }\r\n\r\n get(id: string): Observable {\r\n return this.http.get(this.apiPath + id)\r\n .pipe(map(result => {\r\n return result;\r\n }));\r\n }\r\n\r\n update(id: string, model: EditSpendModel): Observable {\r\n var headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n return this.http.put(this.apiPath + id, JSON.stringify(model), { headers: headers })\r\n .pipe(map(result => {\r\n return result;\r\n }));\r\n }\r\n\r\n delete(id: string): Observable {\r\n return this.http.delete(this.apiPath + id)\r\n .pipe(map(result => {\r\n return result;\r\n }));\r\n }\r\n\r\n exportFile(model: FilterSpendModel): Observable> {\r\n var headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n });\r\n \r\n var result = this.http.post(this.apiPath + 'export-file', JSON.stringify(model), {observe: 'response', headers: headers, responseType: 'blob' })\r\n .pipe(\r\n map(result => {\r\n return result; \r\n }));\r\n \r\n return result;\r\n }\r\n}","import { environment } from 'src/environments/environment';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { ISelectResult } from '../interfaces/select-result';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class StateService {\r\n private apiPath = environment.apiUrl + 'states/';\r\n\r\n constructor(\r\n private http: HttpClient\r\n ) { }\r\n\r\n getAll(): Observable {\r\n return this.http.get(this.apiPath)\r\n .pipe(map(result => {\r\n return result;\r\n }));\r\n }\r\n\r\n getByOffice(officeId: string): Observable {\r\n return this.http.get(this.apiPath + `by-office/${officeId}`)\r\n .pipe(map(result => {\r\n return result;\r\n }));\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs/internal/Observable';\r\nimport { environment } from 'src/environments/environment';\r\nimport { IOfficeTheme } from '../interfaces/offices/office-theme';\r\nimport { map } from 'rxjs/operators';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { OfficeThemeModel } from '../models/offices/office-theme-model';\r\nimport { IIdResult } from '../interfaces/id-result';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class ThemeService {\r\n private apiPath = environment.apiUrl + 'theme/';\r\n\r\n constructor(\r\n private http: HttpClient\r\n ) { \r\n \r\n }\r\n \r\n getTickerStyles(type: number): Observable {\r\n return this.http.get(this.apiPath + 'get-ticker-styles/' + type)\r\n .pipe(map(result => {\r\n return result;\r\n }));\r\n }\r\n\r\n setTickerStyles(models: OfficeThemeModel[]): Observable {\r\n var headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n return this.http.post(this.apiPath + 'set-ticker-styles', JSON.stringify(models), { headers: headers })\r\n .pipe(map(result => {\r\n return result;\r\n }));\r\n }\r\n}","import { Injectable, EventEmitter } from '@angular/core';\r\n\r\nimport { HubConnection, HubConnectionBuilder } from \"@aspnet/signalr\";\r\n\r\nimport { environment } from 'src/environments/environment';\r\nimport { AuthService } from '../auth/auth.service';\r\n\r\nimport { IOfficeTicker } from '../interfaces/offices/office-ticker';\r\nimport { IIdResult } from '../interfaces/id-result';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TickerMonthService {\r\n\r\n private tickerPath = environment.hubUrl + 'ticker_month';\r\n \r\n\r\n private hubConnection: HubConnection;\r\n intervalId: any;\r\n\r\n public data: IOfficeTicker[];\r\n public dataRecievedEvent: EventEmitter = new EventEmitter();\r\n public updateRecievedEvent: EventEmitter = new EventEmitter();\r\n private TIME_INTERVAL: number = 60;\r\n\r\n constructor(\r\n private authService: AuthService\r\n ) { }\r\n\r\n public get total(): number {\r\n if (this.data) {\r\n return this.data.reduce((sum, current) => sum + current.monthlySalesCount, 0);\r\n }\r\n return 0;\r\n }\r\n\r\n public startConnection(): void {\r\n this.hubConnection = new HubConnectionBuilder()\r\n .withUrl(this.tickerPath, { accessTokenFactory: () => this.authService.getToken() })\r\n .build();\r\n\r\n this.start();\r\n\r\n this.hubConnection.onclose(() => {\r\n\r\n this.intervalId = setInterval(() => {\r\n\r\n if (this.hubConnection.state == 0) {\r\n this.start();\r\n } else {\r\n clearInterval(this.intervalId);\r\n }\r\n }, 1 * this.TIME_INTERVAL * 1000)\r\n });\r\n }\r\n\r\n private start() {\r\n try {\r\n this.hubConnection.start();\r\n } catch (error) {\r\n console.log('Failure to connect to Hub');\r\n }\r\n }\r\n\r\n public stopConnection(): void {\r\n this.hubConnection.stop();\r\n }\r\n\r\n public addTickerListener(): void {\r\n this.hubConnection.on('data', (data: IOfficeTicker[]) => {\r\n this.data = data;\r\n this.dataRecievedEvent.emit();\r\n \r\n });\r\n this.hubConnection.on('update', (update: IIdResult) => {\r\n this.data.find(x => x.id == update.id).monthlySalesCount++;\r\n this.updateRecievedEvent.emit(update.id);\r\n });\r\n }\r\n}\r\n","import { Injectable, EventEmitter } from '@angular/core';\r\n\r\nimport { HubConnection, HubConnectionBuilder } from \"@aspnet/signalr\";\r\n\r\nimport { environment } from 'src/environments/environment';\r\nimport { AuthService } from '../auth/auth.service';\r\n\r\nimport { IOfficeTicker } from '../interfaces/offices/office-ticker';\r\nimport { IOfficeTickerData } from '../interfaces/offices/office-ticker-data';\r\nimport { IIdResult } from '../interfaces/id-result';\r\nimport * as signalR from '@aspnet/signalr';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TickerService {\r\n\r\n private tickerPath = environment.hubUrl + 'ticker';\r\n\r\n private hubConnection: HubConnection;\r\n intervalId: any;\r\n\r\n public data: IOfficeTickerData;\r\n public dataRecievedEvent: EventEmitter = new EventEmitter();\r\n public updateRecievedEvent: EventEmitter = new EventEmitter();\r\n private TIME_INTERVAL: number = 60;\r\n\r\n constructor(\r\n private authService: AuthService\r\n ) { }\r\n\r\n // public get total(): number {\r\n // if (this.data) {\r\n // return this.data.tickerData.reduce((sum, current) => sum + current.sales, 0);\r\n // }\r\n // return 0;\r\n // }\r\n\r\n public startConnection(): void {\r\n this.hubConnection = new HubConnectionBuilder()\r\n .withUrl(this.tickerPath, { accessTokenFactory: () => this.authService.getToken() })\r\n .build();\r\n\r\n this.start();\r\n\r\n this.hubConnection.onclose(() => {\r\n\r\n this.intervalId = setInterval(() => {\r\n\r\n if (this.hubConnection.state == 0) {\r\n this.start();\r\n } else {\r\n clearInterval(this.intervalId);\r\n }\r\n }, 1 * this.TIME_INTERVAL * 1000)\r\n });\r\n }\r\n\r\n private start() {\r\n try {\r\n this.hubConnection.start();\r\n } catch (error) {\r\n console.log('Failure to connect to Hub');\r\n }\r\n }\r\n\r\n public stopConnection(): void {\r\n this.hubConnection.stop();\r\n }\r\n\r\n public addTickerListener(): void {\r\n \r\n this.hubConnection.on('data', (data: IOfficeTickerData) => {\r\n this.data = data;\r\n this.dataRecievedEvent.emit();\r\n \r\n });\r\n\r\n // this.hubConnection.on('update', (update: IIdResult) => {\r\n // this.data.find(x => x.id == update.id).sales++;\r\n // this.updateRecievedEvent.emit(update.id);\r\n // });\r\n\r\n this.hubConnection.on('update', (data: IOfficeTickerData) => {\r\n this.data = data;\r\n this.updateRecievedEvent.emit();\r\n });\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\"\r\nimport { BehaviorSubject, Subject } from \"rxjs\"\r\nimport { IOfficeTheme } from \"../interfaces/offices/office-theme\";\r\n\r\n@Injectable()\r\nexport class StyleSharedService {\r\n \r\n \r\n val:IOfficeTheme[] = [];\r\n styleChanges = new BehaviorSubject([]);\r\n\r\n updateStyle(val:IOfficeTheme[]) {\r\n this.val = val;\r\n this.styleChanges.next(val);\r\n }\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { IOfficeTicker } from 'src/app/interfaces/offices/office-ticker';\r\n\r\n@Component({\r\n selector: 'ast-ticker-item',\r\n templateUrl: './ticker-item.component.html',\r\n styleUrls: ['./ticker-item.component.scss']\r\n})\r\nexport class TickerItemComponent implements OnInit {\r\n\r\n @Input() item: IOfficeTicker;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","\r\n \r\n {{item.name}}\r\n \r\n \r\n {{item.sales}}\r\n \r\n","import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\r\nimport { Component, ElementRef, OnDestroy, OnInit } from '@angular/core';\r\nimport { IOfficeTheme } from 'src/app/interfaces/offices/office-theme';\r\nimport { IOfficeTicker } from 'src/app/interfaces/offices/office-ticker';\r\nimport { ThemeService } from 'src/app/services/theme.service';\r\nimport { TickerMonthService } from 'src/app/services/ticker-month.service';\r\nimport { StyleSharedService } from 'src/app/shared/style-shared-service';\r\n\r\n@Component({\r\n selector: 'ast-ticker-month',\r\n templateUrl: './ticker-month.component.html',\r\n styleUrls: ['./ticker-month.component.scss']\r\n})\r\nexport class TickerMonthComponent implements OnInit, OnDestroy {\r\n\r\n private readonly size: number = 2;\r\n\r\n private dataEventSubscription = null;\r\n private updateEventSubscription = null;\r\n\r\n public data: IOfficeTicker[];\r\n public columns: number = 1;\r\n\r\n public isLoading:boolean = false;\r\n \r\n constructor(\r\n public tickerService: TickerMonthService,\r\n private breakpointObserver: BreakpointObserver,\r\n private styleSharedService:StyleSharedService,\r\n private elementRef:ElementRef,\r\n private themeService:ThemeService\r\n ) { \r\n breakpointObserver.observe([\r\n Breakpoints.HandsetPortrait\r\n ]).subscribe(result => {\r\n if (result.matches) {\r\n this.columns = 2;\r\n }\r\n });\r\n\r\n breakpointObserver.observe([\r\n Breakpoints.HandsetLandscape,\r\n Breakpoints.TabletLandscape,\r\n Breakpoints.TabletPortrait,\r\n Breakpoints.WebPortrait\r\n ]).subscribe(result => {\r\n if (result.matches) {\r\n this.columns = 2;\r\n }\r\n });\r\n\r\n breakpointObserver.observe([\r\n Breakpoints.WebLandscape\r\n ]).subscribe(result => {\r\n if (result.matches) {\r\n this.columns = 2;\r\n }\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n \r\n this.isLoading = true;\r\n \r\n this.dataEventSubscription = this.tickerService.dataRecievedEvent.subscribe(() => {\r\n var length = this.tickerService.data.length < this.size ? this.tickerService.data.length : this.size;\r\n \r\n this.data = this.tickerService.data.sort((a, b) => b.monthlySalesCount - a.monthlySalesCount).slice(0, length);\r\n \r\n \r\n this.isLoading = false;\r\n });\r\n\r\n this.updateEventSubscription = this.tickerService.updateRecievedEvent.subscribe(() => {\r\n var length = this.tickerService.data.length < this.size ? this.tickerService.data.length : this.size;\r\n this.data = this.tickerService.data.sort((a, b) => b.monthlySalesCount - a.monthlySalesCount).slice(0, length);\r\n });\r\n\r\n this.tickerService.startConnection();\r\n this.tickerService.addTickerListener();\r\n\r\n this.themeService.getTickerStyles(2).subscribe(\r\n result => {\r\n this.setStyles(result)\r\n },\r\n error => {\r\n \r\n },\r\n () => {\r\n \r\n }\r\n );\r\n }\r\n\r\n private setStyles(styles:IOfficeTheme[]):void {\r\n styles.forEach(item => {\r\n this.elementRef.nativeElement.style.setProperty(`--${item.name}`, item.value);\r\n });\r\n\r\n\r\n \r\n this.styleSharedService.updateStyle(styles.filter(item => item.name.includes('logo') ));\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.dataEventSubscription) {\r\n this.dataEventSubscription.unsubscribe();\r\n }\r\n if (this.updateEventSubscription) {\r\n this.updateEventSubscription.unsubscribe();\r\n }\r\n this.tickerService.stopConnection();\r\n }\r\n\r\n}\r\n","\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { TickerComponent } from './ticker/ticker.component';\r\nimport { ReportGuard } from '../auth/guards/report.guard';\r\nimport { TickerMonthGuard } from '../auth/guards/ticker-month.guard';\r\nimport { TickerMonthComponent } from './ticker-month/ticker-month.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: 'ticker',\r\n component: TickerComponent,\r\n canActivate: [ReportGuard]\r\n },\r\n {\r\n path: 'ticker_month',\r\n component: TickerMonthComponent,\r\n canActivate: [TickerMonthGuard]\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class TickerRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { TickerRoutingModule } from './ticker-routing.module';\r\nimport { TickerComponent } from './ticker/ticker.component';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { MaterialModule } from '../material-module';\r\nimport { TickerItemComponent } from './components/ticker-item/ticker-item.component';\r\nimport { TickerMonthComponent } from './ticker-month/ticker-month.component';\r\nimport { NgxChartsModule } from '@swimlane/ngx-charts';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TickerComponent,\r\n TickerItemComponent,\r\n TickerMonthComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n TickerRoutingModule,\r\n BrowserAnimationsModule,\r\n MaterialModule,\r\n NgxChartsModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ]\r\n})\r\nexport class TickerModule { }\r\n","import { Component, OnInit, OnDestroy, AfterContentInit, ViewChild, ElementRef } from '@angular/core';\r\n\r\nimport { IOfficeTicker } from 'src/app/interfaces/offices/office-ticker';\r\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\r\nimport { TickerService } from 'src/app/services/ticker.service';\r\nimport { ThemeService } from 'src/app/services/theme.service';\r\nimport { IOfficeTickerData } from 'src/app/interfaces/offices/office-ticker-data';\r\nimport { NgxChartsModule } from '@swimlane/ngx-charts';\r\nimport { FormControl } from '@angular/forms';\r\nimport { IOfficeTheme } from 'src/app/interfaces/offices/office-theme';\r\nimport ShadeGenerator, { Shade } from 'shade-generator';\r\nimport { StyleSharedService } from 'src/app/shared/style-shared-service';\r\n\r\n@Component({\r\n selector: 'ast-ticker',\r\n templateUrl: './ticker.component.html',\r\n styleUrls: ['./ticker.component.scss'],\r\n})\r\nexport class TickerComponent implements OnInit, OnDestroy, AfterContentInit {\r\n\r\n private readonly size: number = 16;\r\n\r\n private dataEventSubscription = null;\r\n private updateEventSubscription = null;\r\n\r\n public total:number = 0;\r\n\r\n public viewControl = new FormControl('daily');\r\n\r\n public sourcesColors :any = [];\r\n public statesColors :any = [];\r\n\r\n private firstColor:string = '#1565C0';\r\n private secondColor:string = '#e65100';\r\n\r\n // private blueColors: string[] = ['#1565C0', '#1976D2', '#1d47f3'];\r\n // private orangeColors:string[] = ['#e65100', '#FF5722', '#E65100', ]\r\n\r\n private svgStyle: CSSStyleDeclaration;\r\n\r\n public color:string = 'red';\r\n\r\n\r\n // @ViewChild('svgImage', { static: true })\r\n // private svgImageRef: ElementRef {\r\n if (result.matches) {\r\n this.columns = 2;\r\n }\r\n });\r\n\r\n breakpointObserver.observe([\r\n Breakpoints.HandsetLandscape,\r\n Breakpoints.TabletLandscape,\r\n Breakpoints.TabletPortrait,\r\n Breakpoints.WebPortrait\r\n ]).subscribe(result => {\r\n if (result.matches) {\r\n this.columns = 3;\r\n }\r\n });\r\n\r\n breakpointObserver.observe([\r\n Breakpoints.WebLandscape\r\n ]).subscribe(result => {\r\n if (result.matches) {\r\n this.columns = 4;\r\n }\r\n });\r\n }\r\n ngAfterContentInit(): void {\r\n\r\n \r\n }\r\n\r\n\r\n\r\n\r\n public chatFormat(value:number):string\r\n {\r\n if (value % 1 === 0) {\r\n return value.toString();\r\n } else {\r\n return '';\r\n }\r\n\r\n }\r\n\r\n public getPerHourClass():string {\r\n if(this.data)\r\n {\r\n switch(this.data.salesPerHourState)\r\n {\r\n case 0:\r\n return 'per-hour-none';\r\n case 1:\r\n return 'per-hour-up'\r\n case 2:\r\n return 'per-hour-down'\r\n default: return '';\r\n }\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.isLoading = true;\r\n console.log(screen.width);\r\n console.log(window.innerWidth);\r\n this.viewControl.disable();\r\n\r\n this.themeService.getTickerStyles(1).subscribe(\r\n result => {\r\n this.setStyles(result)\r\n },\r\n error => {\r\n \r\n },\r\n () => {\r\n \r\n }\r\n );\r\n\r\n this.view = screen.width > 650 ? undefined : [screen.width,0];\r\n this.showXAxisLabel = screen.width > 650;\r\n this.showYAxisLabel = screen.width > 650;\r\n \r\n this.dataEventSubscription = this.tickerService.dataRecievedEvent.subscribe(() => {\r\n this.setTickerData();\r\n this.data = this.tickerService.data;\r\n this.isLoading = false;\r\n this.viewControl.enable();\r\n this.setChartColors();\r\n });\r\n \r\n this.updateEventSubscription = this.tickerService.updateRecievedEvent.subscribe(() => {\r\n this.setTickerData();\r\n this.data = this.tickerService.data;\r\n this.setChartColors();\r\n\r\n });\r\n\r\n this.tickerService.startConnection();\r\n this.tickerService.addTickerListener();\r\n\r\n this.viewControl.valueChanges.subscribe(val => {\r\n this.setTickerData();\r\n })\r\n }\r\n\r\n private setStyles(styles:IOfficeTheme[]):void {\r\n styles.forEach(item => {\r\n this.elementRef.nativeElement.style.setProperty(`--${item.name}`, item.value);\r\n });\r\n\r\n\r\n this.firstColor = styles.find(x => x.name == \"chartBarColor1\").value;\r\n this.secondColor = styles.find(x => x.name == \"chartBarColor2\").value;\r\n\r\n this.setChartColors();\r\n this.styleSharedService.updateStyle(styles.filter(item => item.name.includes('logo') ));\r\n }\r\n\r\n private setTickerData() {\r\n let view = this.viewControl.value;\r\n var length = this.tickerService.data.tickerData.length < this.size ? this.tickerService.data.tickerData.length : this.size;\r\n \r\n\r\n switch(view)\r\n {\r\n case \"daily\": {\r\n this.tickerData = this.tickerService.data.tickerData\r\n .sort((a, b) => b.dailySalesCount - a.dailySalesCount)\r\n .slice(0, length);\r\n\r\n this.tickerData.forEach(element => {\r\n element.sales = element.dailySalesCount\r\n });\r\n\r\n break;\r\n }\r\n\r\n case \"weekly\": {\r\n this.tickerData = this.tickerService.data.tickerData\r\n .sort((a, b) => b.weeklySalesCount - a.weeklySalesCount)\r\n .slice(0, length);\r\n\r\n this.tickerData.forEach(element => {\r\n element.sales = element.weeklySalesCount\r\n });\r\n break;\r\n }\r\n\r\n case \"monthly\": {\r\n this.tickerData = this.tickerService.data.tickerData\r\n .sort((a, b) => b.monthlySalesCount - a.monthlySalesCount)\r\n .slice(0, length);\r\n\r\n this.tickerData.forEach(element => {\r\n element.sales = element.monthlySalesCount\r\n });\r\n break;\r\n }\r\n\r\n \r\n }\r\n\r\n let total = this.data.tickerData.reduce((sum, current) => sum + current.sales, 0);\r\n if(isNaN(total))\r\n return 0;\r\n\r\n this.total = total;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.dataEventSubscription) {\r\n this.dataEventSubscription.unsubscribe();\r\n }\r\n if (this.updateEventSubscription) {\r\n this.updateEventSubscription.unsubscribe();\r\n }\r\n this.tickerService.stopConnection();\r\n }\r\n\r\n\r\n\r\n\r\n private getRandomInt(value):number {\r\n return Math.floor(Math.random() * value);\r\n }\r\n\r\n setChartColors() {\r\n let result: any[] = [];\r\n \r\n for (let i = 0; i < this.data.sources.length; i++) {\r\n if(i % 2 == 0) {\r\n result.push({\"name\": this.data.sources[i].name, \"value\": ShadeGenerator.hue(this.firstColor).shade(\"90\").hex()});\r\n } else {\r\n result.push({\"name\": this.data.sources[i].name, \"value\": ShadeGenerator.hue(this.secondColor).shade(\"200\").hex()});\r\n } \r\n }\r\n\r\n for (let i = 0; i < this.data.states.length; i++) {\r\n if(i % 2 == 0) {\r\n result.push({\"name\": this.data.states[i].name, \"value\": ShadeGenerator.hue(this.firstColor).shade(\"90\").hex()});\r\n } else {\r\n result.push({\"name\": this.data.states[i].name, \"value\": ShadeGenerator.hue(this.secondColor).shade(\"200\").hex()});\r\n } \r\n }\r\n\r\n this.sourcesColors = result;\r\n this.statesColors = result;\r\n }\r\n \r\n // width:number = screen.width > 650 ? 0 : screen.width;\r\n //view: any[] = [this.width, 0];\r\n view:any[];\r\n\r\n \r\n\r\n // options for the chart\r\n showXAxis = true;\r\n showYAxis = true;\r\n gradient = false;\r\n showLegend = false;\r\n showXAxisLabel = false;\r\n xAxisLabel = 'Sources';\r\n showYAxisLabel = false;\r\n yAxisLabel = 'Sales';\r\n timeline = true;\r\n\r\n\r\n\r\n \r\n //pie\r\n showLabels = true;\r\n\r\n \r\n\r\n}\r\n","\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Choose a view\r\n \r\n Daily\r\n Weekly\r\n Monthly\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {{total}}\r\n \r\n\r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Sales Per Hour:{{data.salesPerHour}}\r\n \r\n \r\n \r\n Most Deal This Hour:{{data.mostDealThisHour}}\r\n \r\n\r\n \r\n Top Source This Hour:{{data.topSourceThisHour}}\r\n \r\n \r\n \r\n\r\n \r\n Top 3 Sources This Week:\r\n \r\n \r\n {{i+1}}) {{item}}\r\n \r\n \r\n\r\n \r\n Top 3 Sources This Month:\r\n \r\n \r\n {{i+1}}) {{item}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false,\r\n projectName: \"True Dynamics\",\r\n apiUrl: 'https://truedynamicsconsulting.com/api/',\r\n hubUrl: 'https://truedynamicsconsulting.com/hub/'\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n"],"sourceRoot":"webpack:///"}