{"version":3,"file":"main.js","mappings":"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","sources":["./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/layout/footer/footer.component.ts","./src/app/layout/footer/footer.component.html","./src/app/layout/menu/menu.component.ts","./src/app/layout/menu/menu.component.html","./src/app/layout/toolbar/toolbar.component.ts","./src/app/layout/toolbar/toolbar.component.html","./src/app/portfolio-configuration/portfolio-configuration.component.ts","./src/app/portfolio-configuration/portfolio-configuration.component.html","./src/app/shared/auth.guard.ts","./src/app/shared/auth.service.ts","./src/app/shared/config.service.ts","./src/app/shared/custom-error/custom-error.component.ts","./src/app/shared/custom-error/custom-error.component.html","./src/app/shared/data.service.ts","./src/app/shared/dialog-confirm/dialog-confirm.component.ts","./src/app/shared/dialog-confirm/dialog-confirm.component.html","./src/app/shared/dialog-confirm/dialog-confirm.service.ts","./src/app/shared/dialog-error/dialog-error.component.ts","./src/app/shared/dialog-error/dialog-error.component.html","./src/app/shared/dialog-warning/dialog-warning.component.ts","./src/app/shared/dialog-warning/dialog-warning.component.html","./src/app/shared/enums.ts","./src/app/shared/http.service.ts","./src/app/shared/loading-indicator.service.ts","./src/app/shared/loading/loading.component.ts","./src/app/shared/loading/loading.component.html","./src/app/shared/user.service.ts","./src/environments/environment.ts","./src/main.ts"],"sourcesContent":["import { Component, AfterViewInit, OnInit } from '@angular/core';\r\nimport { AuthService } from './shared/auth.service';\r\nimport * as $ from 'jquery';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss'],\r\n})\r\nexport class AppComponent implements OnInit, AfterViewInit {\r\n constructor(private authService: AuthService) { \r\n }\r\n\r\n ngOnInit(): void {\r\n this.authService.handleCallback();\r\n if (!this.authService.isAuthenticated) {\r\n this.authService.login();\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const handler = function () {\r\n const $this = $(this);\r\n\r\n if (this.offsetWidth < this.scrollWidth && !$this.attr('title')) {\r\n $this.attr('title', $this.text());\r\n }\r\n };\r\n $(document).on('mouseenter', 'mat-cell', handler);\r\n $(document).on('mouseenter', 'mat-header-cell', handler);\r\n } \r\n}\r\n","
\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 { BrowserModule } from '@angular/platform-browser';\r\nimport { APP_INITIALIZER, NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { RouterModule } from '@angular/router';\r\nimport { CdkTableModule } from '@angular/cdk/table';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatDividerModule } from '@angular/material/divider';\r\nimport {MatTabsModule} from '@angular/material/tabs';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport {MatCheckboxModule} from '@angular/material/checkbox';\r\nimport {MatListModule} from '@angular/material/list';\r\nimport {MatInputModule} from '@angular/material/input';\r\nimport {MatFormFieldModule} from '@angular/material/form-field';\r\nimport { MatSelectModule } from '@angular/material/select' ;\r\nimport { MatDialogModule } from '@angular/material/dialog' ;\r\nimport { ApplicationInsightsModule, AppInsightsService } from '@markpieszak/ng-application-insights';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatNativeDateModule } from '@angular/material/core';\r\n\r\nimport { AppComponent } from './app.component';\r\nimport { FooterComponent } from './layout/footer/footer.component';\r\nimport { MenuComponent } from './layout/menu/menu.component';\r\nimport { ToolbarComponent } from './layout/toolbar/toolbar.component';\r\nimport { PortfolioConfigurationComponent } from './portfolio-configuration/portfolio-configuration.component'\r\nimport { LoadingComponent } from './shared/loading/loading.component'\r\nimport { LoadingIndicatorService } from './shared/loading-indicator.service'\r\nimport { DialogConfirmService } from './shared/dialog-confirm/dialog-confirm.service';\r\nimport { ConfirmationDialog } from './shared/dialog-confirm/dialog-confirm.component';\r\nimport { WarningDialog } from './shared/dialog-warning/dialog-warning.component';\r\nimport { AppErrorDialog } from './shared/dialog-error/dialog-error.component';\r\nimport { ConfigService } from './shared/config.service';\r\nimport { DataService } from './shared/data.service';\r\nimport { Http } from './shared/http.service';\r\nimport { UserService } from './shared/user.service';\r\nimport {AuthHttpInterceptor, AuthService} from './shared/auth.service';\r\nimport {AuthenticationGuard} from \"./shared/auth.guard\";\r\nimport { CustomErrorComponent } from './shared/custom-error/custom-error.component';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { DatePipe } from '@angular/common';\r\n//import { MatSliderModule } from '@angular/material/slider';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\n\r\nexport function initConfig(configSrv: ConfigService) {\r\n return () => configSrv.initaliseConfig();\r\n}\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent, \r\n FooterComponent,\r\n MenuComponent,\r\n ToolbarComponent,\r\n PortfolioConfigurationComponent,\r\n LoadingComponent,\r\n ConfirmationDialog,\r\n WarningDialog,\r\n AppErrorDialog,\r\n CustomErrorComponent\r\n ],\r\n imports: [\r\n BrowserModule.withServerTransition({ appId: 'ng-cli-universal' }),\r\n HttpClientModule,\r\n FormsModule, ReactiveFormsModule,\r\n MatToolbarModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n CdkTableModule,\r\n MatCardModule,\r\n MatDividerModule,\r\n MatTabsModule,\r\n BrowserAnimationsModule,\r\n MatCheckboxModule,\r\n MatListModule,\r\n MatInputModule,\r\n MatFormFieldModule,\r\n MatSelectModule,\r\n MatDialogModule, MatAutocompleteModule, MatDatepickerModule, MatNativeDateModule, MatSlideToggleModule,\r\n ApplicationInsightsModule.forRoot({ \r\n //instrumentationKey: \"\",\r\n instrumentationKeySetlater: true\r\n }),\r\n RouterModule.forRoot([\r\n { path: '', redirectTo: '/portfolio', pathMatch: 'full' },\r\n {\r\n path: 'portfolio',\r\n component: PortfolioConfigurationComponent,\r\n data: { title: 'Portfolio Configuration' },\r\n canActivate: [AuthenticationGuard]\r\n },\r\n {\r\n path: 'accesserror',\r\n component: CustomErrorComponent,\r\n data: { title: 'Unauthorised user' }\r\n }\r\n], { relativeLinkResolution: 'legacy' })\r\n ],\r\n providers: [\r\n LoadingIndicatorService,\r\n DialogConfirmService,\r\n ConfigService,\r\n {provide: APP_INITIALIZER, useFactory: initConfig, deps: [ConfigService], multi: true},\r\n DataService,\r\n Http,\r\n UserService,\r\n AppInsightsService,\r\n {provide: HTTP_INTERCEPTORS, useClass: AuthHttpInterceptor, multi: true},\r\n AuthService,\r\n AuthenticationGuard, DatePipe\r\n \r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.scss']\r\n})\r\nexport class FooterComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","\r\n","import { Component, OnInit } from '@angular/core';\r\n//import { AdalService } from '../../shared/adal.service';\r\n//import { adal } from 'adal-angular';\r\nimport { Router, NavigationEnd, ActivatedRoute } from '@angular/router';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { filter, map, mergeMap } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-menu',\r\n templateUrl: './menu.component.html',\r\n styleUrls: ['./menu.component.scss'],\r\n})\r\nexport class MenuComponent implements OnInit { \r\n //user: adal.User;\r\n\r\n constructor(//private adalService: AdalService,\r\n private router: Router, private titleService: Title, private activatedRoute: ActivatedRoute) {\r\n this.router.events\r\n .pipe(\r\n filter((event) => event instanceof NavigationEnd),\r\n map(() => this.activatedRoute),\r\n map((route) => {\r\n while (route.firstChild) route = route.firstChild;\r\n return route;\r\n }),\r\n filter((route) => route.outlet === 'primary'),\r\n mergeMap(route => route.data))\r\n .subscribe((event) => this.titleService.setTitle('Likron - ' + event['title']));\r\n }\r\n\r\n ngOnInit() {\r\n //this.user = this.adalService.userInfo; \r\n }\r\n \r\n}\r\n","\r\n \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { AuthService } from '../../shared/auth.service';\r\n\r\n@Component({\r\n selector: 'app-toolbar',\r\n templateUrl: './toolbar.component.html',\r\n})\r\nexport class ToolbarComponent implements OnInit {\r\n constructor(private authService: AuthService\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n public logout() {\r\n this.authService.logout();\r\n }\r\n\r\n public toggleNavbar() {\r\n const classes = document.querySelector('body').classList;\r\n const className = 'mini-navbar';\r\n if (classes.contains(className)) {\r\n classes.remove(className);\r\n } else {\r\n classes.add(className);\r\n }\r\n }\r\n\r\n public get userName() { \r\n return this.authService.userInfo.profile.name;\r\n }\r\n}\r\n","\r\n Likron Web Platform\r\n \r\n\r\n \r\n \r\n Hello: {{userName}}\r\n   \r\n \r\n\r\n\r\n","import { Injectable, Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { WarningDialog } from '../shared/dialog-warning/dialog-warning.component';\r\nimport { ConfirmationDialog } from '../shared/dialog-confirm/dialog-confirm.component';\r\nimport { Operations } from '../shared/enums';\r\nimport { PortfolioGroupDto, PortfolioConfigurationDto, PortfolioConfigurationAuditCopyDto } from './Portfolio-model';\r\nimport { DataService } from '../shared/data.service';\r\nimport { UserService } from '../shared/user.service';\r\nimport { OrderType, Strategy, SmartType } from '../shared/models/standing-data.model';\r\nimport { FormControl, AbstractControl, ValidatorFn, Validators, FormBuilder, FormGroup } from '@angular/forms';\r\nimport { Observable } from 'rxjs';\r\nimport { map, startWith } from 'rxjs/operators';\r\nimport { DatePipe } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-portfolio-configuration',\r\n templateUrl: './portfolio-configuration.component.html',\r\n styleUrls: ['./portfolio-configuration.component.scss']\r\n})\r\n@Injectable()\r\nexport class PortfolioConfigurationComponent implements OnInit {\r\n myControl = new FormControl('');\r\n options: string[] = [];\r\n filteredOptions: Observable;\r\n isEnable: boolean = false;\r\n form = new FormGroup({\r\n details: new FormGroup({\r\n id: new FormControl(),\r\n likronPortfolioName: new FormControl(),\r\n strategy: new FormControl(),\r\n smartType: new FormControl(),\r\n orderType: new FormControl(),\r\n leadTimeStartH: new FormControl(''),\r\n leadTimeEndH: new FormControl(''),\r\n leadTimeStartQH: new FormControl('', [Validators.required]),\r\n leadTimeEndQH: new FormControl('', [Validators.required]),\r\n maxBuyPriceH: new FormControl('', [Validators.required]),\r\n maxBuyPriceQH: new FormControl('', [Validators.required]),\r\n maxSellPriceH: new FormControl('', [Validators.required]),\r\n maxSellPriceQH: new FormControl('', [Validators.required]),\r\n portfolioGroupId: new FormControl(),\r\n isActivated: new FormControl(),\r\n trader: new FormControl('')\r\n\r\n })\r\n });\r\n portfolioGroups: PortfolioGroupDto[];\r\n portfolioConfigurationDto: PortfolioConfigurationDto = {\r\n likronPortfolioName: '',\r\n strategy: 0,\r\n smartType: 0,\r\n orderType: 0,\r\n leadTimeStartH: 0,\r\n leadTimeEndH: 0,\r\n leadTimeStartQH: 0,\r\n leadTimeEndQH: 0,\r\n maxBuyPriceH: '',\r\n maxBuyPriceQH: '',\r\n maxSellPriceH: '',\r\n maxSellPriceQH: '',\r\n portfolioGroupId: 0,\r\n isActivated: false,\r\n inedit: false,\r\n trader: '',\r\n isArchive: false,\r\n timeToSwitch: new Date(),\r\n id:''\r\n \r\n };\r\n portfolioConfigurationDtoCopy: PortfolioConfigurationDto;\r\n selectedIndex: number = 0;\r\n selectedPortfoliotab: number = 0;\r\n editPermission = Operations.ReadWrite;\r\n readPermission = Operations.Read;\r\n canEdit = false;\r\n orderTypes: OrderType[];\r\n strategies: Strategy[];\r\n smartTypes: SmartType[];\r\n tabInfo: boolean = false;\r\n selDate: Date;\r\n //ELEMENT_DATA: PortfolioConfigurationDto[] = [];\r\n ELEMENT_DATA: PortfolioConfigurationAuditCopyDto[] = [];\r\n //dataSource: PortfolioConfigurationDto[];\r\n dataSource: PortfolioConfigurationAuditCopyDto[];\r\n portfolioDtls: PortfolioConfigurationAuditCopyDto[];\r\n i: number = 0;\r\n isEdit: boolean = false;\r\n private intervalId: any;\r\n currDate: string;\r\n color = 'accent';\r\n checked = false;\r\n selectedRow: number=-1;\r\n constructor(private dataService: DataService, private dialog: MatDialog, private user: UserService, private router: Router,\r\n fb: FormBuilder,\r\n private _formBuilder: FormBuilder, public datepipe: DatePipe) {\r\n this.myControl.setValidators(forbiddenNamesValidator(this.options));\r\n }\r\n \r\n\r\n\r\n ngOnInit(): void {\r\n\r\n this.dataService.checkAlgoTrader()\r\n .subscribe(response => {\r\n this.checked = response;\r\n });\r\n\r\n \r\n this.user.getADUsers()\r\n .subscribe(res => {\r\n console.log(\" traders \", res[0]);\r\n this.options = res;\r\n });\r\n\r\n this.user.isAuthorized(this.editPermission)\r\n .subscribe(res => {\r\n this.canEdit = res;\r\n });\r\n\r\n this.user.isAuthorizedReadOrWrite(this.readPermission, this.editPermission)\r\n .subscribe(res => {\r\n if (!res) {\r\n this.router.navigate(['/accesserror']);\r\n return;\r\n }\r\n })\r\n\r\n \r\n \r\n }\r\n \r\n ngOnDestroy(): void {\r\n clearInterval(this.intervalId);\r\n } \r\n \r\n \r\n\r\n \r\n \r\n changed() {\r\n // this.checked = !this.checked;\r\n console.log(this.checked);\r\n //let isSuccess;\r\n this.dataService.stopAlgoTrader(this.checked)\r\n .subscribe(response => {\r\n this.checked = response;\r\n });\r\n //return isSuccess;\r\n }\r\n \r\n}\r\n\r\nexport function forbiddenNamesValidator(names: string[]): ValidatorFn { \r\n return (control: AbstractControl): { [key: string]: any } | null => {\r\n // below findIndex will check if control.value is equal to one of our options or not\r\n //const index = names.findIndex(name => {\r\n // return (new RegExp('\\^' + name + '\\$')).test(control.value);\r\n //});\r\n return control.value === '' ? { 'forbiddenNames': { value: control.value } } : null;\r\n //return index < 0 ? { 'forbiddenNames': { value: control.value } } : null;\r\n };\r\n}\r\n","\r\n \r\n \r\n \r\n \r\n FC_Adj\r\n \r\n \r\n \r\n\r\n\r\n\r\n","import {Injectable} from '@angular/core';\r\nimport {ActivatedRouteSnapshot, CanActivate, NavigationExtras, Router, RouterStateSnapshot} from '@angular/router';\r\nimport {AuthService} from './auth.service';\r\n\r\n@Injectable()\r\n\r\nexport class AuthenticationGuard implements CanActivate {\r\n\r\n constructor(private router: Router, private authService: AuthService) {\r\n\r\n }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\r\n\r\n let navigationExtras: NavigationExtras = {\r\n queryParams: {'redirectUrl': route.url}\r\n };\r\n\r\n if (!this.authService.isAuthenticated) {\r\n this.router.navigate([''], navigationExtras);\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n}\r\n","/// \r\nimport {ConfigService} from './config.service';\r\nimport {Injectable} from '@angular/core';\r\n//import 'expose-loader?AuthenticationContext!../../../node_modules/adal-angular/lib/adal.js';\r\nimport {HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\r\nimport {AsyncSubject, BehaviorSubject, Observable} from \"rxjs\";\r\nimport {catchError, filter, switchMap, take} from \"rxjs/operators\";\r\nimport {Router} from '@angular/router';\r\nimport { throwError } from \"rxjs/internal/observable/throwError\";\r\nimport * as AuthenticationContext from \"adal-angular\";\r\nimport { ElementSchemaRegistry } from '@angular/compiler';\r\n\r\n\r\n@Injectable()\r\nexport class AuthService {\r\n static createAuthContextFn: adal.AuthenticationContextStatic = AuthenticationContext;\r\n\r\n private context: adal.AuthenticationContext;\r\n private;\r\n constructor(private configService: ConfigService) {\r\n this.context = new AuthService.createAuthContextFn(configService.getAdalConfig());\r\n }\r\n\r\n public get userInfo() {\r\n return this.context.getCachedUser();\r\n }\r\n\r\n public get isAuthenticated(): boolean {\r\n return this.userInfo && (this.getToken() !== null || this.getToken() !== undefined);\r\n }\r\n\r\n login() {\r\n this.context.login();\r\n }\r\n\r\n logout() {\r\n this.context.logOut();\r\n }\r\n\r\n handleCallback() {\r\n this.context.handleWindowCallback();\r\n this.context.getCachedUser();\r\n }\r\n\r\n public accessToken(): Observable {\r\n let tokenSubject = new AsyncSubject();\r\n this.context.acquireToken(this.configService.getAdalConfig().clientId, (msg, token) => {\r\n if (msg || !token) {\r\n console.log('ADAL Error Occurred: ' + msg);\r\n tokenSubject.error(msg);\r\n }\r\n tokenSubject.next(token);\r\n tokenSubject.complete();\r\n });\r\n\r\n return tokenSubject.asObservable();\r\n }\r\n\r\n public getToken(): string {\r\n return this.context.getCachedToken(this.configService.getAdalConfig().clientId);\r\n }\r\n\r\n}\r\n\r\n@Injectable()\r\nexport class AuthHttpInterceptor implements HttpInterceptor {\r\n\r\n isRefreshingToken: boolean = false;\r\n private tokenSubject: BehaviorSubject = new BehaviorSubject(null);\r\n\r\n constructor(private authService: AuthService, private router: Router) {\r\n }\r\n\r\n addToken(req: HttpRequest, token: string): HttpRequest {\r\n return req.clone({setHeaders: {Authorization: 'Bearer ' + token}})\r\n }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n // Get the auth token from the service.\r\n var token = this.authService.getToken();\r\n if(token) {\r\n return next.handle(this.addToken(req, this.authService.getToken()))\r\n .pipe(\r\n catchError(error => {\r\n if (error instanceof HttpErrorResponse) {\r\n switch ((error).status) {\r\n case 400:\r\n return this.handle400Error(error);\r\n case 401:\r\n return this.handle401Error(req, next);\r\n default:\r\n return throwError(error);\r\n }\r\n } else {\r\n return throwError(error);\r\n }\r\n })\r\n );\r\n }\r\n else {\r\n console.log(\"Refresh token\");\r\n return this.refreshToken(req, next)\r\n .pipe(\r\n catchError(error => {\r\n if (error instanceof HttpErrorResponse) {\r\n switch ((error).status) {\r\n case 400:\r\n return this.handle400Error(error);\r\n case 401:\r\n return this.handle401Error(req, next);\r\n default:\r\n return throwError(error);\r\n }\r\n } else {\r\n return throwError(error);\r\n }\r\n })\r\n );\r\n }\r\n\r\n }\r\n\r\n handle400Error(error) {\r\n if (error && error.status === 400 && error.error && error.error.error === 'invalid_grant') {\r\n // If we get a 400 and the error message is 'invalid_grant', the token is no longer valid so logout.\r\n console.log(\"Received a 400 stating the token is no longer valid. Logging user out. Error:\" + JSON.stringify(error));\r\n return this.logoutUser();\r\n }\r\n\r\n return throwError(error);\r\n }\r\n\r\n handle401Error(req: HttpRequest, next: HttpHandler) {\r\n return this.refreshToken(req, next);\r\n }\r\n\r\n refreshToken(req: HttpRequest, next: HttpHandler) {\r\n if (!this.isRefreshingToken) {\r\n this.isRefreshingToken = true;\r\n console.log(\"Received a 401 response attempting to refresh the token.\");\r\n // Reset here so that the following requests wait until the token\r\n // comes back from the refreshToken call.\r\n this.tokenSubject.next(null);\r\n\r\n return this.authService.accessToken()\r\n .pipe(\r\n switchMap((newToken: string) => {\r\n if (newToken) {\r\n console.log(\"Token refreshed successfully.\");\r\n this.tokenSubject.next(newToken);\r\n this.isRefreshingToken = false;\r\n return next.handle(this.addToken(req, newToken));\r\n }\r\n\r\n // If we don't get a new token, we are in trouble so logout.\r\n this.isRefreshingToken = false;\r\n console.log(\"Unable to refresh token, logging user out, Reason: We didn't receive a refresh token from Azure\");\r\n return this.logoutUser();\r\n\r\n }),\r\n catchError(error => {\r\n console.log(\"An error occurred while refreshing the token the user will be logged out. Error: \" + JSON.stringify(error));\r\n this.isRefreshingToken = false;\r\n return this.logoutUser();\r\n }),\r\n )\r\n\r\n } else {\r\n console.log(\"Trying to get latest refresh token.\");\r\n return this.tokenSubject.pipe(\r\n filter(token => token !== null),\r\n take(1),\r\n switchMap(token => {\r\n return next.handle(this.addToken(req, token));\r\n })\r\n );\r\n }\r\n }\r\n\r\n logoutUser() {\r\n console.log('Logging user out current url: ' + this.router.url);\r\n\r\n this.authService.logout();\r\n //this.router.navigate(['login']);\r\n return throwError(\"token expired logging user out\");\r\n }\r\n}\r\n","import {EventEmitter, Injectable, Output} from '@angular/core';\r\nimport { HttpBackend, HttpClient } from \"@angular/common/http\";\r\nimport { AuthService } from '../shared/auth.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ConfigService {\r\n\r\n private apiBase = 'api/'; \r\n private config: any;\r\n\r\n constructor(private handler: HttpBackend) {\r\n }\r\n\r\n initaliseConfig(): Promise {\r\n const http = new HttpClient(this.handler);\r\n return http.get(this.apiBase + 'configuration/get').toPromise().then(r => {\r\n this.config = r;\r\n });\r\n }\r\n\r\n getAdalConfig(): any {\r\n return {\r\n tenant: this.config.tenantId,\r\n clientId: this.config.clientId,\r\n redirectUri: window.location.origin + '/',\r\n postLogoutRedirectUri: window.location.origin + '/',\r\n cacheLocation: 'localStorage'\r\n //callback: () => {\r\n // this.authService.refreshDataFromCache();\r\n //},\r\n };\r\n\r\n }\r\n\r\n getAppInsightsConfig(): any {\r\n return {\r\n instrumentationKey: this.config.instrumentationKey\r\n };\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n\r\n","import { OnInit, Component, Inject } from '@angular/core';\r\nimport {MAT_DIALOG_DATA} from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: \"customErrorComponent\",\r\n templateUrl: './custom-error.component.html',\r\n styleUrls: ['./custom-error.component.scss']\r\n})\r\nexport class CustomErrorComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n console.log('customErrorComponent | ngOnInit...');\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

Sorry, you are not authorized to login. Please contact system administrator for access.

\r\n
\r\n
\r\n
\r\n","import {map} from 'rxjs/operators';\r\nimport { Observable } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport { Http } from '../shared/http.service';\r\nimport { environment } from '../../environments/environment';\r\nimport { PortfolioGroupDto, PortfolioConfigurationDto, PortfolioConfigurationAuditCopyDto } from '../portfolio-configuration/Portfolio-model';\r\nimport { StandingData } from './models/standing-data.model';\r\n\r\n@Injectable()\r\nexport class DataService {\r\n\r\nprivate apiBase = 'api/'; \r\nconstructor(private http: Http) {\r\n}\r\n\r\n public getPortfolio(): Observable {\r\n //const input = moment(tradeDate).format('YYYY-MM-DD');\r\n //const url = `${environment.backendUrl}/api/order/GetByTradedateAsync?tradeDate=${input}`;\r\n // const url = 'assets/testdata/orders.json';\r\n //return this.http.get(url)\r\n // .map(response => {\r\n // return response as OrderDto[];\r\n // });\r\n return this.http.get(`${this.apiBase}portfolio/Get`).pipe(\r\n map(response => {\r\n return response as PortfolioGroupDto[];\r\n }));\r\n }\r\n\r\n public updatePortfolioConfiguration(portfolioConfigurationDto: PortfolioConfigurationDto): Observable { \r\n return this.http.post(`${this.apiBase}portfolio/Update`, portfolioConfigurationDto).pipe(\r\n map(response => {\r\n return response as PortfolioGroupDto[];\r\n }));\r\n }\r\n\r\n public updateAutomatedPortfolio(changeStatus : any ): Observable {\r\n return this.http.post(`${this.apiBase}portfolio/Updatestatus`, changeStatus).pipe(\r\n map(response => {\r\n return response as PortfolioGroupDto[];\r\n }));\r\n }\r\n\r\n public cancelAllAutomatedPortfolio(): Observable {\r\n return this.http.post(`${this.apiBase}portfolio/Stopall`, null).pipe(\r\n map(response => {\r\n return response as PortfolioGroupDto[];\r\n }));\r\n }\r\n\r\n public getStandingdata(): Observable {\r\n return this.http.get(`${this.apiBase}standingdata/get`).pipe(\r\n map(response => {\r\n return response as StandingData;\r\n })\r\n )\r\n }\r\n\r\n public getPortfolioAuditCopy(): Observable {\r\n //const input = moment(tradeDate).format('YYYY-MM-DD');\r\n //const url = `${environment.backendUrl}/api/order/GetByTradedateAsync?tradeDate=${input}`;\r\n // const url = 'assets/testdata/orders.json';\r\n //return this.http.get(url)\r\n // .map(response => {\r\n // return response as OrderDto[];\r\n // });\r\n return this.http.get(`${this.apiBase}portfolio/Getaudits`).pipe(\r\n map(response => {\r\n return response as PortfolioConfigurationAuditCopyDto[];\r\n }));\r\n }\r\n\r\n public archivePortfolio(id:any): Observable {\r\n return this.http.delete(`${this.apiBase}portfolio/archive/${id}`);\r\n }\r\n public updateTimetoSwitchPortfolioConfiguration(portfolioConfigurationDto: PortfolioConfigurationDto): Observable {\r\n let timeToSwitch = portfolioConfigurationDto.timeToSwitch;\r\n return this.http.post(`${this.apiBase}portfolio/UpdateTimetoswitch`, { 'portfolioConfiguration': portfolioConfigurationDto, 'timeToSwitch': timeToSwitch }).pipe(\r\n map(response => {\r\n return response as PortfolioGroupDto[];\r\n }));\r\n }\r\n public stopAlgoTrader(status:any): Observable {\r\n return this.http.post(`${this.apiBase}portfolio/Stopalgotrader`, status).pipe(\r\n map(response => {\r\n return response;\r\n }));\r\n }\r\n public checkAlgoTrader(): Observable {\r\n return this.http.get(`${this.apiBase}portfolio/checkAlgoTrader`).pipe(\r\n map(response => {\r\n return response;\r\n }));\r\n }\r\n}\r\n","import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { Component, OnInit, Inject } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-dialog-confirm.component',\r\n templateUrl: './dialog-confirm.component.html',\r\n styleUrls: ['./dialog-confirm.component.scss']\r\n})\r\n// tslint:disable-next-line:component-class-suffix\r\nexport class ConfirmationDialog implements OnInit {\r\n title: string;\r\n message: string;\r\n\r\n constructor(public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) data: any) {\r\n this.message = data.message;\r\n this.title = data.title;\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n}\r\n","

{{title}}

\r\n\r\n warning {{message}}\r\n\r\n\r\n \r\n \r\n \r\n","\r\nimport {map} from 'rxjs/operators';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { Injectable } from '@angular/core';\r\nimport { ConfirmationDialog } from './dialog-confirm.component';\r\n\r\n@Injectable()\r\nexport class DialogConfirmService {\r\n dialogRef: MatDialogRef;\r\n constructor(public dialog: MatDialog, ) { }\r\n\r\n openDialog(title: string, message: string) {\r\n const config = {\r\n height: '170px',\r\n width: '500px',\r\n position: {\r\n top: '200px',\r\n left: '400px'\r\n },\r\n data: { message: message, title: title }\r\n };\r\n this.dialogRef = this.dialog.open(ConfirmationDialog, config);\r\n\r\n return this.dialogRef.afterClosed().pipe(\r\n map(response => {\r\n this.dialogRef = null;\r\n return response;\r\n }));\r\n }\r\n}\r\n","import { Component, Inject } from '@angular/core';\r\nimport {MAT_DIALOG_DATA} from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-error-dialog',\r\n templateUrl: './dialog-error.component.html',\r\n styleUrls: ['./dialog-error.component.scss']\r\n})\r\nexport class AppErrorDialog {\r\n\r\n constructor( @Inject(MAT_DIALOG_DATA) public errorMessage: string) { }\r\n\r\n onNavigateToRequest() {\r\n\r\n\r\n }\r\n}\r\n","

Backend Error

\r\n{{errorMessage}}\r\n","import { Component, Inject } from '@angular/core';\r\nimport {MAT_DIALOG_DATA} from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-warning-dialog',\r\n templateUrl: './dialog-warning.component.html',\r\n styleUrls: ['./dialog-warning.component.scss']\r\n})\r\n// tslint:disable-next-line:component-class-suffix\r\nexport class WarningDialog {\r\n\r\n constructor( @Inject(MAT_DIALOG_DATA) public errorMessage: string) { }\r\n\r\n onNavigateToRequest() {\r\n\r\n\r\n }\r\n}\r\n","

Validation Error

\r\n\r\n warning {{errorMessage}}\r\n\r\n\r\n \r\n","export class EnumModel {\r\n public id: string;\r\n public name: string;\r\n public value: any;\r\n \r\n static GetEnumObjects(enumReference): EnumModel[] {\r\n const result = [];\r\n for (const k in enumReference) {\r\n if (k.toString() === parseInt(k, 10).toString()) {\r\n result.push({ id: k, value: enumReference[k] });\r\n }\r\n }\r\n return result;\r\n }\r\n\r\n static GetEnumObjectsFromEnumstr(enumReference, enumStrReference): EnumModel[] {\r\n const result = [];\r\n for (const k in enumReference) {\r\n if (k.toString() === parseInt(k, 10).toString()) {\r\n result.push({ name: enumReference[k], value: enumStrReference[enumReference[k]] })\r\n //result.push({ id: k, value: enumReference[k] });\r\n } \r\n }\r\n return result;\r\n }\r\n}\r\n\r\nexport enum Operations {\r\n None = 0,\r\n // tslint:disable-next-line:no-bitwise\r\n Read = 1 << 0,\r\n // tslint:disable-next-line:no-bitwise\r\n ReadWrite = 1 << 1 \r\n}","import { Injectable } from '@angular/core';\r\n// import { AdalService, AuthHttp } from 'ng2-adal/dist/core';\r\n// import { Http as NgHttp, any, any } from '@angular/http';\r\nimport { HttpClient, HttpClientModule, HttpHeaders, HttpParams, HttpHandler } from '@angular/common/http'\r\nimport { LoadingIndicatorService } from './loading-indicator.service';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { AppErrorDialog } from './dialog-error/dialog-error.component';\r\nimport { environment } from '../../environments/environment';\r\nimport { timeout, finalize, catchError, mergeMap } from 'rxjs/operators';\r\nimport {\r\n Observable,\r\n Subject,\r\n asapScheduler,\r\n pipe,\r\n of,\r\n from,\r\n interval,\r\n merge,\r\n fromEvent\r\n} from \"rxjs\";\r\n\r\nimport { throwError } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class Http extends HttpClient {\r\n\r\n constructor(private httpHandler: HttpHandler, private loadingIndicatorService: LoadingIndicatorService, private dialog: MatDialog) {\r\n super(httpHandler);\r\n }\r\n\r\n get(url: string, options?: any): Observable {\r\n options = options || {};\r\n return this.augmentRequest(super.get.bind(this), url, options) as Observable;\r\n }\r\n\r\n post(url: string, body: any, options?: any, fireAndForget: boolean = false): Observable {\r\n options = options || {};\r\n if (fireAndForget) {\r\n return super.post(url, body, options);\r\n }\r\n return this.augmentRequestWithBody(super.post.bind(this), url, body, options) as Observable;\r\n }\r\n\r\n delete(url: string, options?: any): Observable {\r\n options = options || {};\r\n return this.augmentRequest(super.delete.bind(this), url, options) as Observable;\r\n }\r\n\r\n patch(url: string, body: any, options?: any): Observable {\r\n options = options || {};\r\n return this.augmentRequestWithBody(super.patch.bind(this), url, body, options) as Observable;\r\n }\r\n\r\n put(url: string, body: any, options?: any): Observable {\r\n options = options || {};\r\n return this.augmentRequestWithBody(super.put.bind(this), url, body, options) as Observable;\r\n }\r\n\r\n head(url: string, options?: any): Observable {\r\n options = options || {};\r\n return this.augmentRequest(super.head.bind(this), url, options) as Observable;\r\n }\r\n\r\n augmentRequest(call: (url: string, options: any) => Observable,\r\n url: string,\r\n options: any) {\r\n this.loadingIndicatorService.setLoading(true);\r\n return call(url, options)\r\n .pipe(\r\n timeout(environment.timeout * 60),\r\n catchError(this.handleErrors.bind(this)), \r\n finalize(() => this.loadingIndicatorService.setLoading(false)));\r\n }\r\n\r\n augmentRequestWithBody(call: (url: string, body: any, options: any) => Observable,\r\n url: string,\r\n body: any,\r\n options: any) {\r\n this.loadingIndicatorService.setLoading(true);\r\n return call(url, body, options)\r\n .pipe(\r\n timeout(environment.timeout * 60),\r\n catchError(this.handleErrors.bind(this)), \r\n finalize(() => this.loadingIndicatorService.setLoading(false)));\r\n }\r\n\r\n private handleErrors(error: any) {\r\n let errorMessage = `${error.statusText}: `;\r\n if (!error.statusText || error.statusText.length === 0) {\r\n switch (error.status) {\r\n case 0:\r\n errorMessage = 'Could not reach backend server. ';\r\n break;\r\n default:\r\n errorMessage = 'An unknown error occured. ';\r\n break;\r\n }\r\n }\r\n if (error.error) {\r\n const errorInfo = error.error;\r\n if (errorInfo && errorInfo.error) {\r\n errorMessage += errorInfo.error;\r\n } else if (errorInfo && errorInfo.message) {\r\n errorMessage += errorInfo.message;\r\n }\r\n }\r\n this.dialog.open(AppErrorDialog, {\r\n height: '400px',\r\n width: '600px',\r\n data: errorMessage,\r\n });\r\n return throwError(error);\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { Observer , Observable } from 'rxjs';\r\n\r\n\r\n\r\n@Injectable()\r\nexport class LoadingIndicatorService {\r\n private _observer: Observer;\r\n private _observable: Observable;\r\n private numberOfRequests = 0;\r\n\r\n constructor() {\r\n this._observable = Observable.create(observer => this._observer = observer);\r\n }\r\n\r\n setLoading(isLoading: boolean) {\r\n if (isLoading) {\r\n this.numberOfRequests++;\r\n } else {\r\n this.numberOfRequests--;\r\n }\r\n if (this.numberOfRequests < 0) {\r\n this.numberOfRequests = 0;\r\n }\r\n if (this._observer) {\r\n this._observer.next(this.numberOfRequests !== 0);\r\n }\r\n }\r\n\r\n getLoading() {\r\n return this._observable;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { LoadingIndicatorService } from '../loading-indicator.service';\r\n\r\n@Component({\r\n selector: 'app-loading',\r\n templateUrl: './loading.component.html',\r\n styleUrls: ['./loading.component.scss'],\r\n})\r\nexport class LoadingComponent implements OnInit {\r\n isLoading = false;\r\n\r\n constructor(private loadingIndicatorService: LoadingIndicatorService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.loadingIndicatorService.getLoading().subscribe(isLoading => {\r\n this.isLoading = isLoading;\r\n });\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","\r\nimport {map} from 'rxjs/operators';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { Operations } from './enums';\r\nimport { Http } from './http.service';\r\n\r\n@Injectable()\r\nexport class UserService {\r\n\r\n constructor(private http: Http) { }\r\n\r\n getOperations(): Observable {\r\n const url = 'api/user/get';\r\n return this.http.get(url).pipe(\r\n map(response => response as Operations));\r\n }\r\n\r\n isAuthorized(operation: Operations): Observable {\r\n return this.getOperations().pipe(\r\n map(result => (result & operation) === operation));\r\n }\r\n\r\n isAuthorizedReadOrWrite(readOperation: Operations, writeOperation: Operations): Observable {\r\n return this.getOperations().pipe(\r\n map(result => ((result & readOperation) === readOperation) ||\r\n ((result & writeOperation) === writeOperation)));\r\n }\r\n getADUsers(): Observable {\r\n const url = 'api/user/getADUsers';\r\n return this.http.get(url).pipe(\r\n map(response => response as string[]));\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 timeout: 60000, // in seconds\r\n};\r\n\r\n/*\r\n * In development mode, to ignore zone related error stack frames such as\r\n * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can\r\n * import the following file, but please comment it out in production mode\r\n * because it will have performance impact when throw error\r\n */\r\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\r\n","/***************************************************************************************************\r\n * Load `$localize` onto the global scope - used if i18n tags appear in Angular templates.\r\n */\r\nimport '@angular/localize/init';\r\nimport { 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\nexport function getBaseUrl() {\r\n return document.getElementsByTagName('base')[0].href;\r\n}\r\n\r\nconst providers = [\r\n { provide: 'BASE_URL', useFactory: getBaseUrl, deps: [] }\r\n];\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic(providers).bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n\r\n//export { renderModule, renderModuleFactory } from '@angular/platform-server';\r\n"],"names":[],"sourceRoot":"webpack:///"}