{"version":3,"file":"main-es2015.js","mappings":"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","sources":["./$_lazy_route_resources|lazy|groupOptions: {}|namespace object","./src/app/app-routing/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/feature-flag/feature-flag-data.service.ts","./src/app/feature-flag/feature-flag-detail/feature-flag-detail.component.ts","./src/app/feature-flag/feature-flag-detail/feature-flag-detail.component.html","./src/app/feature-flag/feature-flag-list/feature-flag-list-filter.component.ts","./src/app/feature-flag/feature-flag-list/feature-flag-list.component.ts","./src/app/feature-flag/feature-flag-list/feature-flag-list.component.html","./src/app/feature-flag/feature-flag.module.ts","./src/app/http-error.interceptor.ts","./src/app/instance/instance.service.ts","./src/app/instance/novi-instance.ts","./src/app/jobs/heartbeat-list/heartbeat-list.component.ts","./src/app/jobs/heartbeat-list/heartbeat-list.component.html","./src/app/jobs/job-data.service.ts","./src/app/jobs/job-home/job-home.component.ts","./src/app/jobs/job-home/job-home.component.html","./src/app/jobs/job.module.ts","./src/app/jobs/queue-list/queue-list.component.ts","./src/app/jobs/queue-list/queue-list.component.html","./src/app/shared/loading-indicator/loading-indicator.component.ts","./src/app/shared/loading-indicator/loading-indicator.component.html","./src/app/shared/loading.service.ts","./src/app/shared/shared.module.ts","./src/app/tenant/novi-login/novi-login.component.ts","./src/app/tenant/novi-login/novi-login.component.html","./src/app/tenant/tenant-data.service.ts","./src/app/tenant/tenant-detail/tenant-detail.component.ts","./src/app/tenant/tenant-detail/tenant-detail.component.html","./src/app/tenant/tenant-list/tenant-list-filter.component.ts","./src/app/tenant/tenant-list/tenant-list.component.ts","./src/app/tenant/tenant-list/tenant-list.component.html","./src/app/tenant/tenant-site-context.ts","./src/app/tenant/tenant.module.ts","./src/environments/environment.ts","./src/main.ts"],"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;\nwebpackEmptyAsyncContext.id = 98255;\nmodule.exports = webpackEmptyAsyncContext;","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { TenantListComponent } from '../tenant/tenant-list/tenant-list.component';\r\nimport { MsalGuard } from '@azure/msal-angular';\r\nimport { JobHomeComponent } from '../jobs/job-home/job-home.component';\r\nimport { NoviLoginComponent } from '../tenant/novi-login/novi-login.component';\r\n//import { FeatureFlagListComponent} from '../feature-flag/feature-flag-list/feature-flag-list.component'\r\nconst routes: Routes = [\r\n {\r\n path: 'sites',\r\n component: TenantListComponent,\r\n canActivate: [MsalGuard]\r\n },\r\n {\r\n path: '',\r\n redirectTo: 'sites',\r\n pathMatch: 'full'\r\n },\r\n {\r\n path: 'jobs',\r\n component: JobHomeComponent,\r\n canActivate: [MsalGuard]\r\n },\r\n {\r\n path: 'novi-login',\r\n component: NoviLoginComponent,\r\n canActivate: [MsalGuard]\r\n }\r\n // {\r\n // path: 'features',\r\n // component: FeatureFlagListComponent,\r\n // canActivate: [AuthenticationGuard]\r\n // },\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forRoot(routes)\r\n ],\r\n exports: [\r\n RouterModule\r\n ],\r\n declarations: []\r\n})\r\nexport class AppRoutingModule { }","import { Component } from '@angular/core';\r\nimport { NoviInstance } from './instance/novi-instance'\r\nimport { InstanceService } from './instance/instance.service'\r\nimport { MsalService } from '@azure/msal-angular';\r\n\r\n@Component({\r\n selector: 'mc-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css']\r\n})\r\nexport class AppComponent {\r\n title = 'Mission Control';\r\n instances: NoviInstance[];\r\n selectedInstance: NoviInstance;\r\n\r\n ngOnInit(): void {\r\n this.instances = this.instanceService.allInstances;\r\n this.instanceService.currentInstance.subscribe(instance => this.selectedInstance = instance);\r\n }\r\n\r\n constructor(\r\n private instanceService: InstanceService,\r\n private msalService : MsalService\r\n ) {\r\n \r\n }\r\n\r\n onInstanceChange($event) {\r\n this.instanceService.SetCurrentInstance(this.selectedInstance);\r\n }\r\n\r\n logout() {\r\n this.msalService.logout();\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 \"Waco, we have a problem\"
\r\n Copyright 2019 Novi AMS

\r\n
\r\n
\r\n\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { NgJsonEditorModule } from 'ang-jsoneditor' \r\nimport { TenantModule } from './tenant/tenant.module';\r\nimport { FeatureFlagModule } from './feature-flag/feature-flag.module';\r\nimport { AppRoutingModule } from './app-routing/app-routing.module';\r\nimport { SharedModule } from './shared/shared.module';\r\nimport { JobModule } from './jobs/job.module';\r\nimport { AppComponent } from './app.component';\r\nimport { InstanceService } from './instance/instance.service';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { MsalModule, MsalService, MsalGuard, MsalInterceptor, MsalBroadcastService, MsalRedirectComponent, MsalGuardConfiguration, MsalInterceptorConfiguration, MSAL_GUARD_CONFIG, MSAL_INSTANCE, MSAL_INTERCEPTOR_CONFIG } from \"@azure/msal-angular\";\r\nimport { PublicClientApplication, BrowserCacheLocation, InteractionType, IPublicClientApplication, LogLevel } from '@azure/msal-browser';\r\nimport { HttpErrorInterceptor } from './http-error.interceptor';\r\nimport { ToastrModule } from 'ngx-toastr';\r\n\r\nexport function loggerCallback(logLevel: LogLevel, message: string) {\r\n console.log(message);\r\n}\r\n\r\nexport function MSALInstanceFactory(): IPublicClientApplication {\r\n return new PublicClientApplication({\r\n auth: {\r\n clientId: 'd2574002-4665-4004-8c64-2783bee06f64',\r\n authority: 'https://login.microsoftonline.com/ae9cb7e7-dbbd-4181-905c-bb3a7f5fecc0',\r\n redirectUri: window.location.origin,\r\n postLogoutRedirectUri: ''\r\n },\r\n cache: {\r\n cacheLocation: BrowserCacheLocation.LocalStorage,\r\n },\r\n system: {\r\n loggerOptions: {\r\n loggerCallback,\r\n logLevel: LogLevel.Info,\r\n piiLoggingEnabled: false\r\n }\r\n }\r\n });\r\n}\r\n\r\nexport function MSALInterceptorConfigFactory(): MsalInterceptorConfiguration {\r\n const protectedResourceMap = new Map>();\r\n protectedResourceMap.set('https://localhost:44300', ['https://traffic2revenue.com/2ddce4a8-3e08-4b56-8204-4f5d669f5fd0/user_impersonation']);\r\n protectedResourceMap.set('https://app-novi-test-east-001.azurewebsites.net', ['https://traffic2revenue.com/2ddce4a8-3e08-4b56-8204-4f5d669f5fd0/user_impersonation']);\r\n protectedResourceMap.set('https://app-novi-test-east-feature.azurewebsites.net', ['https://traffic2revenue.com/2ddce4a8-3e08-4b56-8204-4f5d669f5fd0/user_impersonation']);\r\n protectedResourceMap.set('https://noviprod1east.azurewebsites.net', ['https://traffic2revenue.com/f8535f55-fe1f-48e6-b7d9-f5bdebe7c27a/user_impersonation']);\r\n protectedResourceMap.set('https://app-novi-prod-east-002.azurewebsites.net/', ['https://traffic2revenue.com/f8535f55-fe1f-48e6-b7d9-f5bdebe7c27a/user_impersonation']);\r\n protectedResourceMap.set('https://app-novi-prod-east-003.azurewebsites.net/', ['https://traffic2revenue.com/f8535f55-fe1f-48e6-b7d9-f5bdebe7c27a/user_impersonation']);\r\n protectedResourceMap.set('https://app-novi-prod-east-internal.azurewebsites.net/', ['https://traffic2revenue.com/f8535f55-fe1f-48e6-b7d9-f5bdebe7c27a/user_impersonation']);\r\n protectedResourceMap.set('https://app-novi-onboarding-001.azurewebsites.net', ['https://traffic2revenue.com/f8535f55-fe1f-48e6-b7d9-f5bdebe7c27a/user_impersonation']);\r\n\r\n return {\r\n interactionType: InteractionType.Redirect,\r\n protectedResourceMap\r\n };\r\n}\r\n\r\nexport function MSALGuardConfigFactory(): MsalGuardConfiguration {\r\n return { \r\n interactionType: InteractionType.Redirect,\r\n authRequest: {\r\n scopes: ['user.read']\r\n },\r\n loginFailedRoute: '/home'\r\n };\r\n}\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent\r\n ],\r\n imports: [\r\n BrowserModule,\r\n AppRoutingModule,\r\n TenantModule,\r\n FeatureFlagModule,\r\n JobModule,\r\n FormsModule,\r\n SharedModule,\r\n NgJsonEditorModule,\r\n HttpClientModule,\r\n MsalModule,\r\n ToastrModule.forRoot()\r\n ],\r\n providers: [\r\n InstanceService,\r\n CookieService,\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: MsalInterceptor,\r\n multi: true\r\n },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: HttpErrorInterceptor,\r\n multi: true\r\n },\r\n {\r\n provide: MSAL_INSTANCE,\r\n useFactory: MSALInstanceFactory\r\n },\r\n {\r\n provide: MSAL_GUARD_CONFIG,\r\n useFactory: MSALGuardConfigFactory\r\n },\r\n {\r\n provide: MSAL_INTERCEPTOR_CONFIG,\r\n useFactory: MSALInterceptorConfigFactory\r\n },\r\n MsalService,\r\n MsalGuard,\r\n MsalBroadcastService\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { FeatureFlag } from './feature-flag';\r\nimport { InstanceService } from '../instance/instance.service';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n\r\n@Injectable()\r\nexport class FeatureFlagDataService {\r\n constructor(private httpClient: HttpClient,\r\n private instanceService: InstanceService\r\n ) { }\r\n\r\n getFeatureFlag(key: string): Observable {\r\n return this.httpClient.get(this.buildUrl('api/featureflag/GetFeatureFlag?key=' + key));\r\n }\r\n\r\n getFeatureFlags(): Observable {\r\n return this.httpClient.get(this.buildUrl('api/featureflag/GetAllFeatureFlags'));\r\n }\r\n\r\n toggleFeature(key: string, active: boolean): Observable {\r\n return this.httpClient.post(this.buildUrl('api/featureflag/ToggleFeatureActive?key='+ key + '&active=' + active), null);\r\n }\r\n\r\n saveFeature(flag: FeatureFlag): Observable {\r\n return this.httpClient.post(this.buildUrl('api/featureflag/Save'), flag);\r\n }\r\n\r\n private buildUrl(apiPath): string {\r\n return this.instanceService.currentInstance.value.RootUrl + apiPath;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute, ParamMap } from '@angular/router';\r\nimport { switchMap } from 'rxjs/operators';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { FeatureFlag } from '../feature-flag'\r\nimport { FeatureFlagDataService } from '../feature-flag-data.service'\r\nimport { InstanceService } from '../../instance/instance.service'\r\nimport { TenantSiteContext } from '../../tenant/tenant-site-context';\r\nimport { TenantDataService } from '../../tenant/tenant-data.service';\r\nimport { ToastrIconClasses, ToastrService } from 'ngx-toastr';\r\n\r\n\r\n@Component({\r\n selector: 'app-feature-flag-detail',\r\n templateUrl: './feature-flag-detail.component.html',\r\n styleUrls: ['./feature-flag-detail.component.css']\r\n})\r\nexport class FeatureFlagDetailComponent implements OnInit {\r\n\r\n editingFeatureFlag$: Observable;\r\n tenants$: Observable;\r\n selectedTenants: TenantSiteContext[];\r\n tenantConfig: any = {\r\n highlight: false,\r\n create: false,\r\n persist: true,\r\n labelField: 'Name',\r\n valueField: 'TenantId',\r\n searchField: ['Name', 'TenantId']\r\n };\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private featureFlagDataService: FeatureFlagDataService,\r\n private instanceService: InstanceService,\r\n private tenantDataService : TenantDataService,\r\n private toastrService: ToastrService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.editingFeatureFlag$ = this.route.paramMap.pipe(\r\n switchMap((params: ParamMap) =>\r\n this.featureFlagDataService.getFeatureFlag(params.get('key')))\r\n );\r\n this.tenants$ = this.tenantDataService.getTenants();\r\n\r\n this.instanceService.currentInstance.subscribe(instance => this.loadTenants());\r\n }\r\n \r\n loadTenants() {\r\n \r\n }\r\n\r\n onSubmit(flag: FeatureFlag) {\r\n this.featureFlagDataService.saveFeature(flag).subscribe(tenant => this.toastrService.success(\"Feature flag save complete.\"));;\r\n \r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

{{ flag.Name }}

\r\n
{{ flag.FeatureKey }}
\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
","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { FeatureFlag } from '../feature-flag';\r\n@Pipe({\r\n name: 'featureFlagFilter'\r\n})\r\nexport class FeatureFlagListFilterPipe implements PipeTransform {\r\n transform(items: FeatureFlag[], searchText: string): any[] {\r\n if(!items) return [];\r\n if(!searchText) return items;\r\n searchText = searchText.toLowerCase();\r\nreturn items.filter( it => {\r\n return it.Name.toLowerCase().includes(searchText) || it.FeatureKey.toLowerCase().includes(searchText) || it.Description.toLowerCase().includes(searchText);\r\n });\r\n }\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { FeatureFlag } from '../feature-flag'\r\nimport { FeatureFlagDataService } from '../feature-flag-data.service'\r\nimport { InstanceService } from '../../instance/instance.service'\r\n\r\n@Component({\r\n selector: 'mc-feature-flag-list',\r\n templateUrl: './feature-flag-list.component.html',\r\n styleUrls: ['./feature-flag-list.component.css']\r\n})\r\nexport class FeatureFlagListComponent implements OnInit {\r\n featureFlags: FeatureFlag[];\r\n\r\n constructor(private featureFlagDataService: FeatureFlagDataService,\r\n private instanceService: InstanceService) { }\r\n\r\n ngOnInit() {\r\n this.instanceService.currentInstance.subscribe(instance => this.loadFeatureFlags());\r\n }\r\n\r\n private loadFeatureFlags() {\r\n this.featureFlagDataService.getFeatureFlags().subscribe(\r\n featureFlags => this.featureFlags = featureFlags);\r\n }\r\n\r\n public onToggleChange(key: string, active: boolean) {\r\n this.featureFlagDataService.toggleFeature(key, active).subscribe();\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 {{featureFlag.Name}}
\r\n {{featureFlag.Description}}\r\n
\r\n
\r\n {{featureFlag.FeatureKey}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
    \r\n
","//Core\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes, Router } from '@angular/router';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n//Third Party\r\nimport { NgSwitcheryModule } from 'angular-switchery-ios';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\n\r\n//Novi MC\r\nimport { FeatureFlagListComponent } from './feature-flag-list/feature-flag-list.component';\r\nimport { FeatureFlagDataService } from './feature-flag-data.service'\r\nimport { FeatureFlagListFilterPipe } from './feature-flag-list/feature-flag-list-filter.component';\r\nimport { FeatureFlagDetailComponent } from './feature-flag-detail/feature-flag-detail.component';\r\nimport { MsalGuard } from '@azure/msal-angular';\r\n\r\nconst featureRoutes: Routes = [\r\n { path: 'features', component: FeatureFlagListComponent, canActivate: [MsalGuard] },\r\n { path: 'feature/:key', component: FeatureFlagDetailComponent, canActivate: [MsalGuard] }\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n NgSwitcheryModule,\r\n NgSelectModule,\r\n RouterModule.forChild(featureRoutes)\r\n ],\r\n exports: [RouterModule],\r\n declarations: [FeatureFlagListComponent, FeatureFlagListFilterPipe, FeatureFlagDetailComponent],\r\n providers: [FeatureFlagDataService]\r\n})\r\nexport class FeatureFlagModule { }\r\n","import {\r\n HttpEvent,\r\n HttpInterceptor,\r\n HttpHandler,\r\n HttpRequest,\r\n HttpResponse,\r\n HttpErrorResponse\r\n} from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { bindCallback, Observable, throwError } from 'rxjs';\r\nimport { retry, catchError, tap, map } from 'rxjs/operators';\r\nimport { LoadingIndicatorService } from './shared/loading.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Injectable()\r\nexport class HttpErrorInterceptor implements HttpInterceptor {\r\n constructor(\r\n private loadingIndicatorService: LoadingIndicatorService,\r\n private toastrService: ToastrService\r\n ) { }\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n this.loadingIndicatorService.show();\r\n return next.handle(request)\r\n .pipe(\r\n retry(1),\r\n catchError((error: HttpErrorResponse) => {\r\n let errorMessage = '';\r\n if (error.error instanceof ErrorEvent) {\r\n // client-side error\r\n errorMessage = `Error: ${error.error.message}`;\r\n } else {\r\n // server-side error\r\n errorMessage = `Error Code: ${error.status}\\nMessage: ${error.message}`;\r\n }\r\n \r\n this.toastrService.error(errorMessage);\r\n this.loadingIndicatorService.hide();\r\n return throwError(errorMessage);\r\n }),\r\n tap(e => {\r\n if (e instanceof HttpResponse) {\r\n this.loadingIndicatorService.hide();\r\n }\r\n return e;\r\n })\r\n )\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { NoviInstance } from './novi-instance';\r\n\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\n\r\n@Injectable()\r\n\r\nexport class InstanceService {\r\n\r\n\r\n allInstances = [\r\n new NoviInstance(\"Local\", \"https://localhost:44300/\"),\r\n new NoviInstance(\"Testing\", \"https://app-novi-test-east-001.azurewebsites.net/\"),\r\n new NoviInstance(\"Testing-Feature\", \"https://app-novi-test-east-feature.azurewebsites.net/\"),\r\n new NoviInstance(\"Production\", \"https://noviprod1east.azurewebsites.net/\"),\r\n new NoviInstance(\"Production-002\", \"https://app-novi-prod-east-002.azurewebsites.net/\"),\r\n new NoviInstance(\"Production-Internal\", \"https://app-novi-prod-east-internal.azurewebsites.net/\"),\r\n new NoviInstance(\"Staging\", \"https://app-novi-onboarding-001.azurewebsites.net/\")\r\n ];\r\n public currentInstance = new BehaviorSubject(this.allInstances[1]);\r\n\r\n // get currentInstance() {\r\n // return this._currentInstance.asObservable().share();\r\n // }\r\n\r\n constructor() {\r\n\r\n }\r\n\r\n\r\n public SetCurrentInstance(newInstance: NoviInstance) {\r\n this.currentInstance.next(newInstance);\r\n }\r\n}\r\n","export class NoviInstance {\r\n constructor(\r\n public Name: string,\r\n public RootUrl: string) { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { DatePipe } from '@angular/common';\r\n\r\nimport { JobDataService } from '../job-data.service';\r\nimport { InstanceService } from '../../instance/instance.service';\r\n\r\nimport {JobHeartbeat} from '../job-heartbeat';\r\n\r\n@Component({\r\n selector: 'mc-heartbeat-list',\r\n templateUrl: './heartbeat-list.component.html',\r\n styleUrls: ['./heartbeat-list.component.css']\r\n})\r\nexport class HeartbeatListComponent implements OnInit {\r\n jobHeartbeats: JobHeartbeat[];\r\n oneDayAgo: Date;\r\n\r\n constructor(private jobDataService : JobDataService, private instanceService : InstanceService) { \r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.oneDayAgo = new Date();\r\n this.oneDayAgo.setDate( this.oneDayAgo.getDate() - 1 );\r\n this.instanceService.currentInstance.subscribe(instance => this.loadJobHeartbeats());\r\n }\r\n\r\n loadJobHeartbeats() {\r\n this.jobDataService.getJobHeartbeats().subscribe(\r\n jobHeartbeats => this.jobHeartbeats = jobHeartbeats);\r\n }\r\n\r\n}\r\n","

\r\n Heartbeats\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
Job NameMachine NameLast Run Time
{{heartbeat.JobName}}{{heartbeat.MachineName}}\r\n {{heartbeat.LastRunTimeUTC | date:'short'}}\r\n \r\n
","\r\nimport {map} from 'rxjs/operators';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, Subject, ReplaySubject } from 'rxjs';\r\nimport { InstanceService } from '../instance/instance.service';\r\nimport { JobHeartbeat } from './job-heartbeat';\r\nimport { Queue } from './queue';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n@Injectable()\r\nexport class JobDataService {\r\n\r\n private getAllQueuesSubject: Subject;\r\n private getAllQueuesRequest: Observable;\r\n\r\n constructor(private httpClient: HttpClient,\r\n private instanceService: InstanceService\r\n ) { \r\n this.getAllQueuesSubject = new ReplaySubject(1);\r\n }\r\n\r\n getJobHeartbeats(): Observable {\r\n return this.httpClient.get(this.buildUrl('api/job/GetJobHeartbeats')).pipe(map(hbArray => { \r\n return hbArray.map(hb => { \r\n hb.LastRunTimeUTC = new Date(hb.LastRunTimeUTC);\r\n return hb;\r\n });\r\n }));\r\n }\r\n\r\n getAvailableBackgroundTasks(): Observable {\r\n return this.httpClient.get(this.buildUrl('api/job/GetAvailableBackgroundTasks'));\r\n }\r\n\r\n queueBackgroundTask(tenantId: string, taskName: string): Observable {\r\n return this.httpClient.post(this.buildUrl('api/job/QueueBackgroundTask?tenantId='+tenantId+'&taskName='+taskName), null);\r\n } \r\n\r\n queueBackgroundTaskForAllTenants(taskName: string): Observable {\r\n return this.httpClient.post(this.buildUrl('api/job/QueueBackgroundTaskForAllTenants?taskName='+taskName), null);\r\n } \r\n\r\n getAllQueues(refresh: boolean = false): Observable {\r\n if (refresh || !this.getAllQueuesRequest) {\r\n this.getAllQueuesRequest = this.httpClient.post(this.buildUrl('api/job/GetAllQueues'), null);\r\n\r\n this.getAllQueuesRequest.subscribe(\r\n result => this.getAllQueuesSubject.next(result),\r\n err => this.getAllQueuesSubject.error(err)\r\n );\r\n }\r\n\r\n return this.getAllQueuesSubject.asObservable();\r\n } \r\n moveQueueMessages(sourceQueueName: string, targetQueueName: string, numberOfMessages : number): Observable {\r\n return this.httpClient.post(this.buildUrl('api/job/MoveQueueMessages?sourceQueueName='+sourceQueueName+'&targetQueueName='+targetQueueName+'&numberOfMessages='+numberOfMessages), null);\r\n } \r\n\r\n private buildUrl(apiPath): string {\r\n return this.instanceService.currentInstance.value.RootUrl + apiPath;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\nimport { TenantSiteContext } from '../../tenant/tenant-site-context';\r\nimport { TenantDataService } from '../../tenant/tenant-data.service';\r\nimport { JobDataService } from '../job-data.service';\r\nimport { InstanceService } from '../../instance/instance.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'app-job-home',\r\n templateUrl: './job-home.component.html',\r\n styleUrls: ['./job-home.component.css']\r\n})\r\nexport class JobHomeComponent implements OnInit {\r\n\r\n readonly AllTenants: TenantSiteContext = {\r\n TenantID: \"\",\r\n Name: \"All Tenants\",\r\n Domain: \"\",\r\n CssUrl: \"\",\r\n PageViewMapDefinition: \"\",\r\n Offline: false\r\n }\r\n\r\n tenants: TenantSiteContext[];\r\n tasks: string[];\r\n selectedTenant: TenantSiteContext = null;\r\n selectedTask: string = null;\r\n\r\n constructor(private tenantDataService: TenantDataService,\r\n private jobDataService: JobDataService,\r\n private instanceService: InstanceService,\r\n private toastrService: ToastrService) { }\r\n\r\n ngOnInit() {\r\n this.instanceService.currentInstance.subscribe(instance => this.loadTasks());\r\n this.instanceService.currentInstance.subscribe(instance => this.loadTenants());\r\n }\r\n\r\n loadTenants() {\r\n this.tenantDataService.getTenants().subscribe(\r\n tenants => {\r\n this.tenants = tenants;\r\n this.tenants.push(this.AllTenants);\r\n }\r\n )\r\n }\r\n\r\n loadTasks() {\r\n this.jobDataService.getAvailableBackgroundTasks().subscribe(\r\n tasks => this.tasks = tasks\r\n )\r\n }\r\n\r\n queueTask() {\r\n if (this.selectedTenant == null)\r\n this.toastrService.warning(\"Please select a tenant!\");\r\n if (this.selectedTask == null)\r\n this.toastrService.warning(\"Please select a task!\");\r\n\r\n if (this.selectedTenant.Name == \"All Tenants\") {\r\n if (confirm(\"I confirm that I want to run this job for all tenants.\")) {\r\n this.jobDataService.queueBackgroundTaskForAllTenants(this.selectedTask)\r\n .subscribe(() => this.toastrService.success(\"Task queued for all tenants\"));\r\n }\r\n } else {\r\n this.jobDataService.queueBackgroundTask(this.selectedTenant.TenantID, this.selectedTask)\r\n .subscribe(() => this.toastrService.success(\"Task queued\"));\r\n }\r\n }\r\n\r\n}\r\n","

Queue Tenant Background Task

\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\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\n\r\nimport { HeartbeatListComponent } from './heartbeat-list/heartbeat-list.component';\r\nimport { JobDataService } from './job-data.service';\r\nimport { JobHomeComponent } from './job-home/job-home.component';\r\nimport { QueueListComponent } from './queue-list/queue-list.component'\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n NgSelectModule\r\n ],\r\n declarations: [HeartbeatListComponent, JobHomeComponent, QueueListComponent],\r\n providers: [JobDataService]\r\n})\r\nexport class JobModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { Queue } from '../queue';\r\nimport { JobDataService } from '../job-data.service';\r\nimport { InstanceService } from 'app/instance/instance.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'mc-queue-list',\r\n templateUrl: './queue-list.component.html',\r\n styleUrls: ['./queue-list.component.css']\r\n})\r\nexport class QueueListComponent implements OnInit {\r\n queues$: Observable;\r\n selectedSourceQueue: Queue = null;\r\n selectedTargetQueue: Queue = null;\r\n numberOfMessages: number;\r\n\r\n constructor(private jobDataService : JobDataService, \r\n private instanceService : InstanceService,\r\n private toastrService : ToastrService) { \r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.queues$ = this.jobDataService.getAllQueues();\r\n this.instanceService.currentInstance.subscribe(instance => this.loadQueueList());\r\n }\r\n \r\n loadQueueList() {\r\n this.jobDataService.getAllQueues(true);\r\n }\r\n\r\n moveQueueMessagesClicked() {\r\n if (this.selectedSourceQueue == null || this.selectedTargetQueue == null || !this.numberOfMessages) {\r\n this.toastrService.warning (\"Please validate your entries\");\r\n return;\r\n }\r\n\r\n this.jobDataService.moveQueueMessages(this.selectedSourceQueue.Name, this.selectedTargetQueue.Name, this.numberOfMessages).subscribe(tenant => {\r\n this.toastrService.success(\"Message move complete.\");\r\n this.loadQueueList();\r\n });\r\n }\r\n\r\n retryPoisonQueueMessages(poisonQueueName: string, numberOfMessages: number) {\r\n\r\n var sourceQueueName = poisonQueueName;\r\n var targetQueueName = poisonQueueName.substring(0, poisonQueueName.lastIndexOf(\"-poison\"));\r\n this.jobDataService.moveQueueMessages(sourceQueueName, targetQueueName, numberOfMessages).subscribe(tenant => { \r\n this.toastrService.success(\"Poison queue messages sent for retry.\");\r\n this.loadQueueList();\r\n }); \r\n }\r\n\r\n}\r\n","

\r\n Queues\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
Queue NameMessage CountActions
{{queue.Name}}= 10}\">\r\n {{queue.MessageCount}}\r\n = 10\"\r\n class=\"pull-right text-danger glyphicon glyphicon-exclamation-sign\">\r\n \r\n
0 && queue.Name.endsWith('poison')\">\r\n Retry 10 | Retry All\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","import { Component, OnInit } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { LoadingIndicatorService } from '../loading.service';\r\n\r\n@Component({\r\n selector: 'app-loading-indicator',\r\n templateUrl: './loading-indicator.component.html',\r\n styleUrls: ['./loading-indicator.component.css']\r\n})\r\nexport class LoadingIndicatorComponent implements OnInit {\r\n\r\n show : boolean = false;\r\n private subscription:Subscription;\r\n constructor(private loadingIndicatorService: LoadingIndicatorService) { \r\n \r\n }\r\n\r\n ngOnInit() {\r\n this.subscription = this.loadingIndicatorService.currentState\r\n .subscribe(newState => { \r\n this.show = newState\r\n });\r\n }\r\n\r\n}\r\n","
","import { Injectable } from '@angular/core';\r\nimport { Observable , Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class LoadingIndicatorService {\r\n\r\n private loadingSubject = new Subject();\r\n constructor() { }\r\n\r\n currentState = this.loadingSubject.asObservable();\r\n\r\n show() {\r\n this.loadingSubject.next(true);\r\n }\r\n\r\n hide() {\r\n this.loadingSubject.next(false);\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LoadingIndicatorComponent } from './loading-indicator/loading-indicator.component';\r\nimport { LoadingIndicatorService } from './loading.service';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [LoadingIndicatorComponent],\r\n providers: [LoadingIndicatorService],\r\n exports: [LoadingIndicatorComponent]\r\n})\r\nexport class SharedModule { }\r\n","import {Router, ActivatedRoute, Params} from '@angular/router';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { TenantSiteContext } from '../tenant-site-context'\r\nimport { TenantDataService } from '../tenant-data.service'\r\nimport { InstanceService } from '../../instance/instance.service'\r\n\r\n@Component({\r\n selector: 'app-novi-login',\r\n templateUrl: './novi-login.component.html',\r\n styleUrls: ['./novi-login.component.css']\r\n})\r\nexport class NoviLoginComponent implements OnInit {\r\n\r\n public error : string;\r\n\r\n constructor(private route: ActivatedRoute, \r\n private instanceService: InstanceService,\r\n private tenantDataService: TenantDataService,\r\n private router : Router) {}\r\n\r\n ngOnInit() {\r\n this.route.queryParams.subscribe(params => {\r\n const tenantId = params['tenantid'];\r\n const environment = params['environment'];\r\n const returnUrl = params['returnurl'];\r\n const loginRoot = params['loginroot'];\r\n \r\n const instanceForEnvironment = this.instanceService.allInstances.find(i => i.Name.toLowerCase() == environment.toLowerCase());\r\n \r\n if (!instanceForEnvironment) {\r\n this.error = \"Cannot find environment. Please double check the request.\";\r\n return;\r\n }\r\n \r\n this.instanceService.SetCurrentInstance(instanceForEnvironment);\r\n\r\n this.tenantDataService.getTenants().subscribe(allTenants => {\r\n const matchingTenant = allTenants.find(t => t.TenantID.toLowerCase() == tenantId.toLowerCase());\r\n\r\n if (!matchingTenant) {\r\n this.error = \"Cannot find tenant. Please double check the request.\";\r\n return;\r\n }\r\n\r\n this.tenantDataService.getNoviAdminAuthCode(matchingTenant.TenantID).subscribe(code => {\r\n\r\n //We use the specified tenantroot here instead of parsing it ourselves from the tenant domain because we might have a cookie override\r\n window.location.href = loginRoot + \"/account/noviadminlogin?code=\" + code + \"&returnurl=\" + returnUrl;\r\n });\r\n });\r\n });\r\n }\r\n\r\n}\r\n","

\r\n Logging you in...\r\n

\r\n

\r\n {{ error }}\r\n

\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { Observable } from 'rxjs';\r\n\r\n\r\nimport {HttpClient, HttpHeaders} from '@angular/common/http';\r\nimport { TenantSiteContext } from './tenant-site-context';\r\nimport { InstanceService } from '../instance/instance.service';\r\n\r\n\r\n@Injectable()\r\nexport class TenantDataService {\r\n constructor(private instanceService: InstanceService,\r\n private httpClient: HttpClient\r\n ) { }\r\n\r\n getTenants(): Observable {\r\n return this.httpClient.get(this.buildUrl('api/tenant/GetAllTenants'));\r\n }\r\n\r\n saveTenant(tenant: TenantSiteContext): Observable {\r\n return this.httpClient.post(this.buildUrl('api/tenant/SaveTenant'), tenant);\r\n }\r\n\r\n populateSeedData(tenantId: string): Observable {\r\n return this.httpClient.post(this.buildUrl('api/tenant/SeedTenant?tenantId='+tenantId), null);\r\n }\r\n\r\n populateSampleData(tenantId: string): Observable {\r\n return this.httpClient.post(this.buildUrl('api/tenant/PopulateSampleData?tenantId='+tenantId), null);\r\n }\r\n\r\n copySampleSite(tenantId: string): Observable {\r\n return this.httpClient.post(this.buildUrl('api/tenant/CopySampleSite?tenantId=' + tenantId), null);\r\n }\r\n\r\n removeSampleData(tenantId: string): Observable {\r\n return this.httpClient.post(this.buildUrl('api/tenant/RemoveSampleData?tenantId='+tenantId), null);\r\n }\r\n\r\n getNoviAdminAuthCode(tenantId: string): Observable {\r\n return this.httpClient.post(this.buildUrl('account/GenerateNoviAdminAuthCode?tenantId='+tenantId), null);\r\n }\r\n\r\n private buildUrl(apiPath): string {\r\n return this.instanceService.currentInstance.value.RootUrl + apiPath;\r\n }\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter, OnChanges, SimpleChanges, ViewChild, KeyValueDiffers } from '@angular/core';\r\nimport * as _ from 'lodash';\r\nimport { JsonEditorComponent, JsonEditorOptions } from 'ang-jsoneditor';\r\n\r\nimport { TenantSiteContext } from '../tenant-site-context'\r\nimport { TenantDataService } from '../tenant-data.service'\r\nimport { ToastrService } from 'ngx-toastr';\r\n//import { KeyValueDiffers } from '@angular/core/src/change_detection/differs/keyvalue_differs';\r\n\r\n@Component({\r\n selector: 'mc-tenant-detail',\r\n templateUrl: './tenant-detail.component.html',\r\n styleUrls: ['./tenant-detail.component.css']\r\n})\r\nexport class TenantDetailComponent implements OnInit, OnChanges {\r\n public editorOptions: JsonEditorOptions;\r\n public data: any;\r\n @ViewChild(JsonEditorComponent) editor: JsonEditorComponent;\r\n\r\n @Input() tenant: TenantSiteContext;\r\n editingTenant: TenantSiteContext;\r\n\r\n @Output() tenantSave = new EventEmitter();\r\n @Output() cancel = new EventEmitter();\r\n\r\n private _differ: any;\r\n\r\n constructor(private tenantDataService: TenantDataService, \r\n private toastrService: ToastrService,\r\n private differs: KeyValueDiffers) {\r\n this._differ = differs.find({}).create();\r\n this.editorOptions = new JsonEditorOptions();\r\n this.editorOptions.modes = ['code', 'text', 'tree', 'view'];\r\n this.editorOptions.mode = 'code';\r\n this.data = {};\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.tenant) {\r\n this.editingTenant = _.cloneDeep(changes.tenant.currentValue);\r\n this.data = changes.tenant.currentValue && changes.tenant.currentValue.PageViewMapDefinition ? JSON.parse( changes.tenant.currentValue.PageViewMapDefinition) : {};\r\n }\r\n }\r\n\r\n ngDoCheck(){\r\n const changes = this._differ.diff(this.editingTenant);\r\n \r\n if(changes && changes.isDirty && this.editingTenant && this.editingTenant.TenantID){\r\n this.editingTenant.TenantID = this.editingTenant.TenantID.toLowerCase();\r\n }\r\n }\r\n\r\n onSaveClick() {\r\n const validationMsg = this.validateTenant(this.editingTenant);\r\n if (validationMsg.length > 0) {\r\n this.toastrService.warning(validationMsg);\r\n return;\r\n }\r\n this.editingTenant.PageViewMapDefinition = this.editor.getText();\r\n this.tenantDataService.saveTenant(this.editingTenant)\r\n .subscribe(tenant => {\r\n this.tenantSave.emit(tenant);\r\n this.toastrService.success(\"Tenant saved successfully.\");\r\n });\r\n }\r\n\r\n onSeedDataClick() {\r\n if (!this.editingTenant.TenantID)\r\n return;\r\n\r\n this.tenantDataService.populateSeedData(this.editingTenant.TenantID)\r\n .subscribe(tenant => this.toastrService.success(\"Seed data population complete.\"));\r\n }\r\n\r\n onPopulateSampleDataClick() {\r\n if (!this.editingTenant.TenantID)\r\n return;\r\n\r\n this.tenantDataService.populateSampleData(this.editingTenant.TenantID)\r\n .subscribe(tenant => this.toastrService.success(\"Sample data population complete.\"));\r\n }\r\n\r\n onCopySampleSite() {\r\n if (!this.editingTenant.TenantID)\r\n return;\r\n\r\n this.tenantDataService.copySampleSite(this.editingTenant.TenantID)\r\n .subscribe(tenant => this.toastrService.success(\"Sample site copying queued.\"));\r\n }\r\n\r\n onRemoveSampleDataClick() {\r\n if (!this.editingTenant.TenantID)\r\n return;\r\n\r\n this.tenantDataService.removeSampleData(this.editingTenant.TenantID)\r\n .subscribe(tenant => this.toastrService.success(\"Sample data removal complete.\"));\r\n }\r\n\r\n onCancelClick() {\r\n this.tenant = null;\r\n this.cancel.emit();\r\n }\r\n\r\n private validateTenant(tenant: TenantSiteContext): string {\r\n let result = '';\r\n\r\n if (!tenant.TenantID || tenant.TenantID.length === 0) {\r\n result += 'Please enter a tenant id.';\r\n }\r\n if (!tenant.Name || tenant.Name.length === 0) {\r\n result += 'Please enter a tenant name.';\r\n }\r\n\r\n return result;\r\n }\r\n\r\n}\r\n","
\r\n
\r\n \r\n {{tenant.TenantID}}\r\n \r\n
\r\n
\r\n \r\n \r\n

Reminder: Should match the name of the customer in Novi HQ.

\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 (Data will only be inserted if it doesn't already exist. You shouldn't run this if this tenant is for a 1.5 migration.)
\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","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { TenantSiteContext } from '../tenant-site-context';\r\n@Pipe({\r\n name: 'tenantFilter'\r\n})\r\nexport class TenantListFilterPipe implements PipeTransform {\r\n transform(items: TenantSiteContext[], searchText: string): any[] {\r\n if(!items) return [];\r\n if(!searchText) return items;\r\n searchText = searchText.toLowerCase();\r\nreturn items.filter( it => {\r\n return it.Name.toLowerCase().includes(searchText) || it.TenantID.toLowerCase().includes(searchText);\r\n });\r\n }\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { TenantSiteContext } from '../tenant-site-context'\r\nimport { TenantDataService } from '../tenant-data.service'\r\nimport { InstanceService } from '../../instance/instance.service'\r\nimport { NoviInstance } from 'app/instance/novi-instance';\r\nimport { CookieService } from 'ngx-cookie-service';\r\n\r\n@Component({\r\n selector: 'mc-tenant-list',\r\n templateUrl: './tenant-list.component.html',\r\n styleUrls: ['./tenant-list.component.css']\r\n})\r\nexport class TenantListComponent implements OnInit {\r\n tenants: TenantSiteContext[];\r\n selectedTenant: TenantSiteContext;\r\n instance : NoviInstance;\r\n\r\n constructor(private tenantDataService: TenantDataService,\r\n private instanceService: InstanceService,\r\n private cookieService: CookieService) { }\r\n\r\n ngOnInit() {\r\n //this.loadTenants();\r\n\r\n this.instanceService.currentInstance.subscribe(instance => {\r\n this.instance = instance;\r\n this.loadTenants()\r\n });\r\n\r\n this.cookieService.set(\"mc-been-there\", \"true\", 7, undefined, undefined, true, \"None\");\r\n }\r\n\r\n onTenantClick(tenant) {\r\n this.selectedTenant = tenant;\r\n }\r\n\r\n onTenantLoginClick(tenant: TenantSiteContext) {\r\n var safariWindow = window.open(\"\", \"_blank\");\r\n this.tenantDataService.getNoviAdminAuthCode(tenant.TenantID).subscribe(code => {\r\n var url = \"https://\" + tenant.Domain + \"/account/noviadminlogin?code=\" + code;\r\n safariWindow.location.href = url;\r\n });\r\n }\r\n\r\n onTenantVisitClick(tenant: TenantSiteContext) {\r\n window.open(\"https://\" + tenant.Domain, \"_blank\");\r\n }\r\n\r\n onAddTenantClick() {\r\n this.selectedTenant = new TenantSiteContext();\r\n }\r\n\r\n onTenantSave() {\r\n this.loadTenants();\r\n this.selectedTenant = null;\r\n }\r\n\r\n onTenantDetailCancel() {\r\n this.selectedTenant = null;\r\n }\r\n\r\n private loadTenants() {\r\n this.tenantDataService.getTenants().subscribe(\r\n tenants => this.tenants = tenants);\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
AbbreviationNameDomainActions
{{tenant.TenantID}}{{tenant.Name}}{{tenant.Domain}}\r\n \r\n Login\r\n \r\n \r\n Edit\r\n \r\n \r\n Visit\r\n \r\n
\r\n\r\n\r\n","export class TenantSiteContext {\r\n TenantID: string;\r\n Name: string;\r\n Domain: string;\r\n CssUrl: string;\r\n PageViewMapDefinition: string;\r\n Offline: boolean;\r\n\r\n constructor() {};\r\n\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { TenantListComponent } from './tenant-list/tenant-list.component';\r\nimport { TenantDataService } from './tenant-data.service'\r\nimport { TenantDetailComponent } from './tenant-detail/tenant-detail.component';\r\nimport { TenantListFilterPipe } from './tenant-list/tenant-list-filter.component';\r\nimport { NoviLoginComponent } from './novi-login/novi-login.component';\r\nimport { NgJsonEditorModule } from 'ang-jsoneditor';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n NgJsonEditorModule\r\n ],\r\n exports: [TenantListComponent],\r\n declarations: [TenantListComponent, TenantDetailComponent, TenantListFilterPipe, NoviLoginComponent],\r\n providers: [TenantDataService]\r\n})\r\nexport class TenantModule { }\r\n","// The file contents for the current environment will overwrite these during build.\r\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\r\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\r\n// The list of which env maps to which file can be found in `.angular-cli.json`.\r\n\r\nexport const environment = {\r\n production: false\r\n};\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from 'app/app.module'\r\nimport { environment } from 'environments/environment'\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule);\r\n"],"names":[],"sourceRoot":"webpack:///"}