{"version":3,"sources":["./$_lazy_route_resource lazy namespace object","./src/app/app-routing.module.ts","./src/app/app-skin.service.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.const.ts","./src/app/app.module.ts","./src/app/auth/auth.service.ts","./src/app/config/app-config.default.ts","./src/app/config/app-config.service.ts","./src/app/config/domains-skin.const.ts","./src/app/errors/api-error.interceptor.ts","./src/app/errors/dummy-error-helper.service.ts","./src/app/errors/sentry-error-handler.service.ts","./src/app/errors/sentry-scope-helper.service.ts","./src/app/errors/studio-error-handler.service.ts","./src/app/errors/studio-errors.model.ts","./src/app/landing/landing.component.ts","./src/app/landing/landing.component.html","./src/app/lang/lang-validator.guard.ts","./src/app/lang/lang.resolver.ts","./src/app/lang/lang.service.ts","./src/app/lang/missing-translation.service.ts","./src/app/lang/transloco-root.module.ts","./src/app/shared/api/api-http-params.encoder.ts","./src/app/shared/api/index.ts","./src/app/shared/api/studio-api-error.model.ts","./src/app/shared/api/studio-api.service.ts","./src/app/shared/api/studio3-api.utils.ts","./src/app/shared/components/address/address.component.ts","./src/app/shared/components/address/address.component.html","./src/app/shared/components/api-error/api-error.component.ts","./src/app/shared/components/api-error/api-error.component.html","./src/app/shared/components/basic-message/basic-message.component.ts","./src/app/shared/components/basic-message/basic-message.component.html","./src/app/shared/components/empty/empty.component.ts","./src/app/shared/components/landing-container/landing-container.component.ts","./src/app/shared/components/landing-container/landing-container.component.html","./src/app/shared/components/list/list.component.ts","./src/app/shared/components/list/list.component.html","./src/app/shared/components/loading/loading.component.ts","./src/app/shared/components/modal-route/modal-route.component.ts","./src/app/shared/components/pagination/pagination.component.ts","./src/app/shared/components/pagination/pagination.component.html","./src/app/shared/components/period-selector/period-selector.component.ts","./src/app/shared/components/period-selector/period-selector.component.html","./src/app/shared/components/psswd-input/psswd-input.component.ts","./src/app/shared/components/psswd-input/psswd-input.component.html","./src/app/shared/components/smart-select/smart-select.component.ts","./src/app/shared/components/smart-select/smart-select.component.html","./src/app/shared/components/timezone-selector/timezone-selector.component.ts","./src/app/shared/components/timezone-selector/timezone-selector.component.html","./src/app/shared/directives/disable-delay.directive.ts","./src/app/shared/directives/input-password.directive.ts","./src/app/shared/directives/responsive-tabs.directive.ts","./src/app/shared/directives/smart-link.directive.ts","./src/app/shared/forms/error/error.component.ts","./src/app/shared/forms/form-control-validate/form-control-validate.directive.ts","./src/app/shared/forms/form-control-validate/form-group-error/form-group-error.component.ts","./src/app/shared/forms/form-control-validate/form-group-error/form-group-error.component.html","./src/app/shared/forms/form-control-validate/form-group/form-group.component.ts","./src/app/shared/forms/form-control-validate/form-group/form-group.interface.ts","./src/app/shared/forms/forms.const.ts","./src/app/shared/forms/forms.module.ts","./src/app/shared/guards/authenticated.guard.ts","./src/app/shared/guards/maintenance.guard.ts","./src/app/shared/modals/modal-confirm/modal-confirm.component.ts","./src/app/shared/modals/modal-confirm/modal-confirm.component.html","./src/app/shared/pipes/domain.pipe.ts","./src/app/shared/pipes/duration.pipe.ts","./src/app/shared/pipes/encode-uri.pipe.ts","./src/app/shared/pipes/phone-number.pipe.ts","./src/app/shared/pipes/phone-or-ext.pipe.ts","./src/app/shared/services/auth.interceptor.ts","./src/app/shared/services/maintenance.interceptor.ts","./src/app/shared/services/title.service.ts","./src/app/shared/shared.const.ts","./src/app/shared/shared.module.ts","./src/app/shared/state/auth/auth.actions.ts","./src/app/shared/state/auth/auth.state.ts","./src/app/shared/state/core/core.actions.ts","./src/app/shared/state/core/core.state.ts","./src/app/shared/state/period/period.actions.ts","./src/app/shared/state/period/period.state.ts","./src/app/shared/state/tabs-bus/tabs-bus.actions.ts","./src/app/shared/state/tabs-bus/tabs-bus.state.ts","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":"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","file":"main-es2015.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';\nimport { RouterModule, Routes } from '@angular/router';\n// import { PERMISSIONS } from './config/permissions.const';\nimport { LandingComponent } from './landing/landing.component';\nimport { LangValidatorGuard } from './lang/lang-validator.guard';\nimport { LangResolver } from './lang/lang.resolver';\nimport { BasicMessageComponent } from './shared/components/basic-message/basic-message.component';\nimport { AuthenticatedGuard } from './shared/guards/authenticated.guard';\nimport { MaintenanceGuard } from './shared/guards/maintenance.guard';\nimport { PermsGuard } from './shared/guards/perms.guard';\n\nconst routes: Routes = [\n {\n path: 'maintenance',\n loadChildren: () => import('./maintenance/maintenance.module').then(m => m.MaintenanceModule),\n canActivate: [MaintenanceGuard],\n canActivateChild: [MaintenanceGuard],\n data: {\n is_maintenance: true\n }\n },\n // {\n // path: 'client-info',\n // loadChildren: () => import('./private/client-info/client-info.module').then(m => m.ClientInfoModule),\n // canActivateChild: [PermsGuard, MaintenanceGuard],\n // outlet: 'modal',\n // data: {\n // permissions: PERMISSIONS.client_info_window_view\n // }\n // },\n {\n path: 'notifications',\n loadChildren: () => import('./private/notif-sidebar/notif-sidebar.module').then(m => m.NotifSidebarModule),\n canActivateChild: [AuthenticatedGuard, MaintenanceGuard],\n outlet: 'modal',\n },\n {\n path: '',\n // redirectTo: 'fr/login',\n pathMatch: 'full',\n component: LandingComponent,\n resolve: {\n lang: LangResolver\n },\n // canActivate: [AnonymousGuard]\n // canActivate: [LangSelectorGuard],\n // component: EmptyComponent\n },\n {\n path: '',\n loadChildren: () => import('./auth/auth.module').then(m => m.IndigoAuthModule),\n },\n {\n path: ':lang',\n canActivate: [LangValidatorGuard],\n canActivateChild: [LangValidatorGuard],\n children: [\n // {\n // path: 'signout',\n // canActivate: [SignoutGuard],\n // component: EmptyComponent\n // },\n // {\n // path: '',\n // loadChildren: () => import('./auth/auth.module').then(m => m.IndigoAuthModule),\n // },\n {\n path: 'app',\n loadChildren: () => import('./private/private.module').then(m => m.PrivateModule),\n canActivateChild: [AuthenticatedGuard, MaintenanceGuard],\n }\n ]\n },\n {\n path: '**',\n component: BasicMessageComponent,\n data: {\n basic_msg: {\n title: 'not-found.title',\n msg: 'not-found.msg',\n container_class: 'alert alert-warning',\n icon: 'fas fa-exclamation-circle pull-right'\n }\n }\n // redirectTo: 'account/' + ROUTE_ACCOUNT_PLACEHOLDER,\n // pathMatch: 'full'\n }\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, {\n paramsInheritanceStrategy: 'always',\n onSameUrlNavigation: 'reload',\n relativeLinkResolution: 'corrected',\n scrollPositionRestoration: 'enabled',\n // enableTracing: !environment.production\n })],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","import { DOCUMENT } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { AppConfigService } from './config/app-config.service';\nimport { IDomainConfig } from './config/domains-skin.model';\nimport { DomainConfigs } from './config/domains-skin.const';\n\nconst elId = 'studio-theme';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AppSkinService {\n // FRO\n // static readonly themes = ['ubity', 'xittel', 'telox', 'telenet', 'cooptel', 'vocem', 'ordinacoeur', 'nanaimo', 'quebec'];\n\n static readonly themes = ['ubity'];\n\n // FRO\n // static readonly ubityDomains = ['ubity', 'nanaimo', 'quebec'];\n static readonly ubityDomains = ['ubity'];\n\n static readonly substitution = {\n ubity: 'indigo'\n };\n\n protected theme: string;\n\n constructor(\n protected config: AppConfigService,\n @Inject(DOCUMENT) private document: Document,\n ) {\n this.switchTheme();\n }\n\n\n\n // If it is needed to know the current theme eventually outside of the service\n // tslint:disable-next-line: variable-name\n protected _theme$ = new ReplaySubject();\n\n get theme$() {\n return this._theme$.asObservable();\n }\n\n get domainConfig$(): Observable {\n return this.theme$.pipe(\n map(t => this.domainConfig),\n );\n }\n\n get domainConfig(): IDomainConfig {\n // const realTheme = this.theme === 'default' ? this.config.getDefaultTheme() : this.theme;\n const realTheme = this.theme;\n return {\n name: realTheme, footer: [],\n // status_page: DomainConfigs.ubity.status_page,\n ...DomainConfigs[realTheme]\n };\n }\n\n get defaultStatusPage() { return DomainConfigs.ubity.status_page; }\n\n switchTheme(newTheme?: string) {\n if (!newTheme || newTheme === 'default' || AppSkinService.themes.indexOf(newTheme) === -1) {\n newTheme = this.config.getDefaultTheme();\n }\n\n if (newTheme !== this.theme) {\n\n this.theme = newTheme;\n this._theme$.next(newTheme);\n const realTheme = AppSkinService.substitution[newTheme] ? AppSkinService.substitution[newTheme] : newTheme;\n // const realTheme = newTheme === 'default' ? this.config.getDefaultTheme() : newTheme;\n\n this.loadStyle(`assets/themes/${realTheme}/theme.css?v=` + this.config.getAppVersion());\n }\n }\n\n\n protected loadStyle(styleName: string) {\n const head = this.document.getElementsByTagName('head')[0];\n\n const themeLink = this.document.getElementById(\n elId\n ) as HTMLLinkElement;\n if (themeLink) {\n themeLink.href = styleName;\n } else {\n const style = this.document.createElement('link');\n style.id = elId;\n style.rel = 'stylesheet';\n style.href = `${styleName}`;\n\n head.appendChild(style);\n }\n this.switchFavicon();\n }\n\n protected switchFavicon() {\n const favicon = this.domainConfig.favicon || 'favicon.ico';\n this.document.getElementById('appFavicon').setAttribute('href', favicon);\n\n\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { Component, HostBinding, Inject, OnInit } from '@angular/core';\nimport { TranslocoService } from '@ngneat/transloco';\nimport { OidcConfigService, OidcSecurityService } from 'angular-auth-oidc-client';\nimport { format, utcToZonedTime } from 'date-fns-tz';\nimport { filter, map, take } from 'rxjs/operators';\nimport { AppSkinService } from './app-skin.service';\nimport { IndigoAuthService } from './auth/auth.service';\nimport { AppConfigService } from './config/app-config.service';\nimport { TitleService } from './shared/services/title.service';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { environment } from 'src/environments/environment';\n\ndeclare let gtag: Function;\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent implements OnInit {\n\n\n @HostBinding('class.lang-fr')\n isFr = false;\n\n today = new Date();\n constructor(\n @Inject(DOCUMENT) private document: any,\n private transloco: TranslocoService,\n public skinService: AppSkinService,\n protected title: TitleService,\n protected oidcConfigService: OidcConfigService,\n protected appConfig: AppConfigService,\n protected authService: IndigoAuthService,\n protected router: Router\n ){\n this.appConfig.isReady$.pipe(\n filter(r => r),\n // map(() => oidcConfigService.withConfig(appConfig.getOIDC())),\n take(1)\n ).subscribe(() => {\n oidcConfigService.withConfig(appConfig.getOIDC());\n this.authService.isAuthenticated$.subscribe();\n });\n this.authService.isAuthenticated$.subscribe();\n }\n\n setUpAnalytics() {\n this.router.events.pipe(filter(event => event instanceof NavigationEnd))\n .subscribe((event: NavigationEnd) => {\n gtag('config', environment.production ? 'G-PKT9RBLQNT' : 'G-07K8113XBF',\n {\n page_path: event.urlAfterRedirects\n }\n );\n });\n }\n\n\n ngOnInit(){\n this.setUpAnalytics();\n this.setLang();\n this.transloco.langChanges$.subscribe(l => {\n this.setLang();\n });\n\n\n // // TODO Set title for each page\n // this.skinService.domainConfig$.subscribe((c) => {\n // this.title.setTitle(`${c.name} Control Panel`);\n // });\n }\n setLang() {\n this.isFr = this.transloco.getActiveLang() === 'fr';\n }\n\n}\n","\n\n","// Used as a placeholder for routes when we don't know yet to which account we should redirect\nexport const ROUTE_ACCOUNT_PLACEHOLDER = '__';\n// Sent by control2 when (All Customers) is selected\nexport const ROUTE_ACCOUNT_ALL = 'ALL';\n// Sent by control2 when (Unassigned)) is selected\nexport const ROUTE_ACCOUNT_UNASSIGNED = 'unassigned';\n\nexport const BANNED_ACCOUNT_CODES = [\n ROUTE_ACCOUNT_PLACEHOLDER,\n ROUTE_ACCOUNT_ALL,\n ROUTE_ACCOUNT_UNASSIGNED,\n // The following will cause an invalid route as accountcodes are used in URI\n '.',\n '..'\n];\n","import { HttpClientModule, HttpParams, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { APP_INITIALIZER, ErrorHandler, NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { TranslocoService } from '@ngneat/transloco';\nimport { TranslocoLocaleModule } from '@ngneat/transloco-locale';\nimport { NgxsReduxDevtoolsPluginModule } from '@ngxs/devtools-plugin';\nimport { NgxsStoragePluginModule, StorageOption } from '@ngxs/storage-plugin';\nimport { NgxsModule } from '@ngxs/store';\nimport { AuthModule, EventTypes, OidcConfigService, PublicEventsService } from 'angular-auth-oidc-client';\nimport { AlertModule } from 'ngx-bootstrap/alert';\nimport { CollapseModule } from 'ngx-bootstrap/collapse';\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\nimport { ModalModule } from 'ngx-bootstrap/modal';\nimport { PopoverModule } from 'ngx-bootstrap/popover';\nimport { ProgressbarModule } from 'ngx-bootstrap/progressbar';\nimport { TabsModule } from 'ngx-bootstrap/tabs';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\nimport { ngxLoadingAnimationTypes, NgxLoadingModule } from 'ngx-loading';\nimport { VirtualScrollerModule } from 'ngx-virtual-scroller';\nimport { NgxsResetPluginModule } from 'ngxs-reset-plugin';\nimport { filter, map, take } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { AppConfigService } from './config/app-config.service';\nimport { ApiErrorInterceptor } from './errors/api-error.interceptor';\nimport { DummyErrorHelperService } from './errors/dummy-error-helper.service';\nimport { SentryErrorHandlerService } from './errors/sentry-error-handler.service';\nimport { SentryScopeHelperService } from './errors/sentry-scope-helper.service';\nimport { StudioErrorHandlerService } from './errors/studio-error-handler.service';\nimport { LandingComponent } from './landing/landing.component';\nimport { TranslocoRootModule } from './lang/transloco-root.module';\nimport { StudioFormsModule } from './shared/forms/forms.module';\nimport { AuthInterceptor } from './shared/services/auth.interceptor';\nimport { MaintenanceInterceptor } from './shared/services/maintenance.interceptor';\nimport { SharedModule } from './shared/shared.module';\nimport { AuthState } from './shared/state/auth/auth.state';\nimport { CoreState } from './shared/state/core/core.state';\n// import { FlashState } from './shared/state/flash/flash.state';\nimport { PeriodState } from './shared/state/period/period.state';\nimport { defineLocale } from 'ngx-bootstrap/chronos';\nimport { frLocale } from 'ngx-bootstrap/locale';\nimport { TabsBusState } from './shared/state/tabs-bus/tabs-bus.state';\n\ndefineLocale('fr', frLocale);\n\nconst initializerConfigFn = (appConfig: AppConfigService) => {\n return () => {\n return appConfig.loadAppConfig();\n };\n};\n\nfunction configureAuth(\n oidcConfigService: OidcConfigService,\n appConfig: AppConfigService, transloco: TranslocoService) {\n return () => {\n return appConfig.isReady$.pipe(\n filter(r => r),\n map(() => oidcConfigService.withConfig(appConfig.getOIDC())),\n take(1)\n ).toPromise();\n };\n}\n\n\n\n@NgModule({\n declarations: [\n AppComponent,\n LandingComponent\n ],\n imports: [\n SharedModule,\n BrowserModule,\n AppRoutingModule,\n BrowserAnimationsModule,\n HttpClientModule,\n TranslocoRootModule,\n TranslocoLocaleModule.init({\n langToLocaleMapping: {\n en: 'en-CA',\n fr: 'fr-CA'\n }\n }),\n CollapseModule.forRoot(), // from ngx-bootstrap\n BsDropdownModule.forRoot(), // from ngx-bootstrap\n TooltipModule.forRoot(), // from ngx-bootstrap\n ModalModule.forRoot(), // from ngx-bootstrap\n AlertModule.forRoot(), // from ngx-bootstrap\n TabsModule.forRoot(), // from ngx-bootstrap\n ProgressbarModule.forRoot(), // from ngx-bootstrap\n PopoverModule.forRoot(), // from ngx-bootstrap\n StudioFormsModule, // from shared/forms\n VirtualScrollerModule, // from ngx-virtual-scroller\n SharedModule, // tons of shared\n CollapseModule.forRoot(), // from ngx-bootstrap\n BsDatepickerModule.forRoot(), // from ngx-bootstrap\n\n NgxLoadingModule.forRoot({\n animationType: ngxLoadingAnimationTypes.circle,\n primaryColour: '#fff',\n secondaryColour: 'rgba(255,255,255,0.2)',\n backdropBackgroundColour: 'rgba(37, 39, 56, 0.2)'\n }),\n\n // NGXS\n NgxsModule.forRoot([\n AuthState,\n CoreState,\n // FlashState,\n PeriodState,\n TabsBusState\n ], {\n developmentMode: !environment.production,\n selectorOptions: {\n suppressErrors: false,\n injectContainerState: false\n }\n }),\n // Storage should be the first ngxs plugin\n // DISABLE WHILE NOT IN PRODUCTION AND A LOT OF CHANGES ARE HAPPENING\n NgxsStoragePluginModule.forRoot({\n key: [\n // AuthState,\n // CoreState\n // PeriodState\n ],\n storage: StorageOption.SessionStorage\n }),\n NgxsResetPluginModule.forRoot(),\n // ReduxDevTools should be last ngxs plugin\n NgxsReduxDevtoolsPluginModule.forRoot({\n disabled: environment.production\n }),\n\n AuthModule.forRoot({\n // storage:\n })\n ],\n providers: [\n // va executer en tout premier\n {\n provide: APP_INITIALIZER,\n useFactory: initializerConfigFn,\n multi: true,\n deps: [AppConfigService],\n },\n\n { provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true },\n { provide: HTTP_INTERCEPTORS, useClass: ApiErrorInterceptor, multi: true },\n { provide: HTTP_INTERCEPTORS, useClass: MaintenanceInterceptor, multi: true },\n\n // TODO: TEST HOW THIS INTERACTS WITH OIDC\n // {\n // provide: NGXS_PLUGINS,\n // useValue: tabsBusPlugin,\n // multi: true\n // },\n\n {\n provide: ErrorHandler,\n useClass: environment.production ? SentryErrorHandlerService : StudioErrorHandlerService,\n },\n {\n provide: 'ErrorHelper',\n useClass: environment.production ? SentryScopeHelperService : DummyErrorHelperService\n },\n OidcConfigService,\n {\n provide: APP_INITIALIZER,\n useFactory: configureAuth,\n deps: [OidcConfigService, AppConfigService, TranslocoService],\n multi: true,\n }\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule {\n constructor(private readonly eventService: PublicEventsService) {\n this.eventService\n .registerForEvents()\n .pipe(filter((notification) => notification.type === EventTypes.ConfigLoaded))\n .subscribe((config) => {\n // console.log('ConfigLoaded', config);\n });\n }\n}\n\n\n// Fix for http params as\n// https://github.com/angular/angular/issues/19071\nHttpParams.prototype.toString = function() {\n // tslint:disable-next-line: variable-name\n const _this = this;\n this.init();\n return this.keys()\n // tslint:disable-next-line: only-arrow-functions\n .map(function(key) {\n let eKey = _this.encoder.encodeKey(key);\n const values = _this.map.get(key);\n if (values.length > 1) {\n eKey += '[]';\n }\n // tslint:disable-next-line: only-arrow-functions\n return values.map(function(value) { return eKey + '=' + _this.encoder.encodeValue(value); })\n .join('&');\n })\n .join('&');\n};\n","import { Location } from '@angular/common';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { OidcSecurityService } from 'angular-auth-oidc-client';\nimport { of, ReplaySubject } from 'rxjs';\nimport { catchError, map, switchMap, tap } from 'rxjs/operators';\nimport { WhoAmi } from '../shared/state/auth/auth.actions';\nimport { AuthState } from '../shared/state/auth/auth.state';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class IndigoAuthService {\n\n protected authenticated$ = new ReplaySubject();\n\n get isAuthenticated$() {\n return this.authenticated$.asObservable().pipe(\n );\n }\n get isAnonymous$() {\n return this.authenticated$.asObservable().pipe(\n map(a => !a));\n }\n\n checkingWhoAmi = false;\n protected whoAmI$;\n\n get isFullyAuthenticated$() {\n // Used in authenticated.guard since state is no longer stored\n return this.isAuthenticated$.pipe(\n switchMap((authenticated) => {\n if (!authenticated) {\n return of(authenticated);\n }\n // If i'm authenticated then\n if (this.store.selectSnapshot(AuthState.getUser)) {\n return of(authenticated);\n } else {\n return this.getWhoAmI().pipe(\n catchError(e => {\n return of(false);\n }),\n map((whoamiAnswer) => {\n return whoamiAnswer;\n })\n );\n }\n })\n );\n }\n constructor(\n protected oidcSecurityService: OidcSecurityService,\n private location: Location,\n protected store: Store\n ) {\n this.oidcSecurityService.checkAuth().subscribe((authenticated) => {\n this.authenticated$.next(authenticated);\n });\n }\n\n\n protected getWhoAmI() {\n if (!this.checkingWhoAmi) {\n this.checkingWhoAmi = true;\n this.whoAmI$ = new ReplaySubject();\n this.store.dispatch(new WhoAmi()).pipe(\n catchError(e => {\n this.checkingWhoAmi = false;\n this.whoAmI$.next(false);\n return of(null);\n })\n ).subscribe((state) => {\n this.checkingWhoAmi = false;\n this.whoAmI$.next(Boolean(state));\n });\n }\n return this.whoAmI$;\n }\n setPostoginUrl(url: string) {\n const niceUrl = this.location.prepareExternalUrl(url);\n if (!niceUrl.startsWith('/login') && !niceUrl.startsWith('/logout')) {\n localStorage.setItem('postLogin', niceUrl);\n } else {\n localStorage.removeItem('postLogin');\n }\n }\n\n getPostLoginUrl() {\n let newRoute = localStorage.getItem('postLogin');\n if (newRoute) {\n localStorage.removeItem('postLogin');\n if (newRoute.startsWith('/login') || newRoute.startsWith('/logout')) {\n newRoute = undefined;\n }\n }\n if (!newRoute) {\n newRoute = '/__/app/account';\n }\n return newRoute;\n }\n\n authorize(postLoginUrl: string, lang: string) {\n if (postLoginUrl) {\n this.setPostoginUrl(postLoginUrl);\n }\n // console.log(\"Languge is: \", lang);\n return this.oidcSecurityService.authorize({\n // urlHandler,\n customParams: {\n acr_values: 'Multi_Factor Single_Factor',\n ui_locales: lang,\n }\n });\n }\n\n getUserData$() {\n return this.oidcSecurityService.userData$;\n }\n}\n","import { IIndigoConfig } from './app-config.model';\n\nexport const DEFAULT_INDIGO_CONFIG: Partial = {\n theme: 'ubity',\n oidc: {\n url: 'gocob2c.onmicrosoft.com/9a28ed30-7a37-4753-a113-b65651b58633/v2.0/',\n client_id: 'b4ede085-e0cc-42f7-abf4-1ac28afd8681', // indigo_ng_app\n signupSigninPolicy: 'B2C_1_sign_in',\n tenantName: 'gocob2c',\n response_type: 'code', // Soufiane avait code id_token ...authorization code AND id token\n auto_userinfo: false,\n header_prefix: \"Bearer-az2\",\n scope: 'https://gocob2c.onmicrosoft.com/b4ede085-e0cc-42f7-abf4-1ac28afd8681/access_as_user openid profile', // indigo_ng_app\n well_known_endpoint: 'https://gocob2c.b2clogin.com/gocob2c.onmicrosoft.com/B2C_1_sign_in/v2.0/.well-known/openid-configuration',\n }\n};\n\n// production\n\n// export const DEFAULT_INDIGO_CONFIG: Partial = {\n// theme: 'ubity',\n// oidc: {\n// url: 'gocob2c.onmicrosoft.com/9a28ed30-7a37-4753-a113-b65651b58633/v2.0/',\n// client_id: 'b4ede085-e0cc-42f7-abf4-1ac28afd8681', // indigo_ng_app\n// signupSigninPolicy: 'B2C_1_sign_in',\n// tenantName: 'gocob2c',\n// response_type: 'code', // Soufiane avait code id_token ...authorization code AND id token\n// auto_userinfo: false,\n// header_prefix: \"Bearer-az2\",\n// scope: 'https://gocob2c.onmicrosoft.com/b4ede085-e0cc-42f7-abf4-1ac28afd8681/access_as_user openid profile', // indigo_ng_app\n// well_known_endpoint: 'https://gocob2c.b2clogin.com/gocob2c.onmicrosoft.com/B2C_1_sign_in/v2.0/.well-known/openid-configuration',\n// }\n// };\n\n// Production\n\n// - oidc.url (tenant ID) \n\n// https://gocob2c.onmicrosoft.com/9a28ed30-7a37-4753-a113-b65651b58633 \n\n// - oidc.client_id \n\n// f340a38c-1191-4395-ba0f-61105b1e6175 \n\n// - oidc.signupSigninPolicy\t \n\n// B2C_1_sign_in \n\n// - oidc.tenantName \n\n// gocob2c \n\n// - oidc.scope \n\n// https://gocob2c.onmicrosoft.com/f340a38c-1191-4395-ba0f-61105b1e6175/access_as_user \n\n// - oidc.well_known_endpoint \n\n// https://gocob2c.b2clogin.com/gocob2c.onmicrosoft.com/B2C_1_sign_in/v2.0/.well-known/openid-configuration \n\n\n\n\n\n// staging\n\n// export const DEFAULT_INDIGO_CONFIG: Partial = {\n// theme: 'ubity',\n// oidc: {\n// url: 'https://gocob2cdev.b2clogin.com/8f70c1ad-9357-4fe5-9a60-2df469edebc2/v2.0/',\n// client_id: '9c726916-7efd-4e6c-9d9f-727c29859192', // indigo_ng_app\n// signupSigninPolicy: 'B2C_1_sign_in',\n// tenantName: 'GoCoB2CDEV',\n// response_type: 'code', // Soufiane avait code id_token ...authorization code AND id token\n// auto_userinfo: false,\n// header_prefix: \"Bearer-az2\",\n// scope: 'https://GoCoB2CDEV.onmicrosoft.com/9c726916-7efd-4e6c-9d9f-727c29859192/access_as_user openid profile', // indigo_ng_app\n// well_known_endpoint: 'https://GoCoB2CDEV.b2clogin.com/GoCoB2CDEV.onmicrosoft.com/b2c_1_sign_in/v2.0/.well-known/openid-configuration',\n// }\n// };\n\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { ReplaySubject } from 'rxjs';\nimport { environment } from 'src/environments/environment';\nimport { IIndigoConfig, IIndigoLandingConfig } from './app-config.model';\nimport { OpenIdConfiguration, LogLevel } from 'angular-auth-oidc-client';\nimport { merge } from 'lodash';\nimport { DEFAULT_INDIGO_CONFIG } from './app-config.default';\n\nexport const CONFIG_FILE_URL = 'assets/config/config.json';\nexport const CONFIG_API_ERROR = 'Missing api_uri in dynamic config';\n@Injectable({\n providedIn: 'root'\n})\nexport class AppConfigService {\n protected appConfig: IIndigoConfig;\n protected readonly ready = new ReplaySubject();\n\n constructor(private http: HttpClient) {\n this.ready.next(false);\n }\n\n loadAppConfig() {\n return this.http\n .get(CONFIG_FILE_URL)\n .toPromise()\n .then((data: IIndigoConfig) => {\n this.appConfig = merge(DEFAULT_INDIGO_CONFIG, data);\n if (!this.appConfig.api_uri) {\n throw new Error(CONFIG_API_ERROR);\n }\n if (this.appConfig.api_uri.endsWith('/')) {\n this.appConfig.api_uri = this.appConfig.api_uri.substr(0, this.appConfig.api_uri.length - 1);\n }\n this.ready.next(true);\n });\n }\n\n get isReady$() { return this.ready.asObservable(); }\n getDefaultTheme() {\n return this.appConfig ? this.appConfig.theme : DEFAULT_INDIGO_CONFIG.theme;\n }\n\n getAppVersion() {\n return environment.version;\n }\n\n getDebug() {\n return this.appConfig.debug || !environment.production;\n }\n\n getProdMode() {\n return environment.production;\n }\n\n getEnvironment() {\n return this.appConfig ? this.appConfig.environment : undefined;\n }\n\n getApiUri() {\n return this.appConfig.api_uri;\n }\n\n getAppConfig(): IIndigoConfig {\n return this.appConfig;\n }\n getOIDCConf() {\n return this.appConfig.oidc;\n }\n\n getAuthPrefix() {\n return this.appConfig.oidc.header_prefix;\n }\n getOIDC(): OpenIdConfiguration {\n const conf = this.appConfig.oidc;\n // console.log(\"CONF: \", conf);\n const oidcConf: OpenIdConfiguration = {\n stsServer: conf.url,\n authWellknownEndpoint: conf.well_known_endpoint,\n redirectUrl: window.location.origin + '/login',\n postLogoutRedirectUri: window.location.origin + '/',\n clientId: conf.client_id,\n scope: conf.scope || 'openid',\n responseType: conf.response_type, // was 'code',\n logLevel: (environment.production ? LogLevel.None : LogLevel.Warn),\n storage: localStorage,\n triggerAuthorizationResultEvent: true,\n disableIatOffsetValidation: true,\n autoUserinfo: false, // was false\n };\n if (conf.well_known_endpoint) {\n oidcConf.authWellknownEndpoint = conf.well_known_endpoint;\n }\n switch (null) {// a valider\n case LogLevel.None:\n case 'None':\n oidcConf.logLevel = LogLevel.None;\n break;\n case LogLevel.Error:\n case 'Error':\n oidcConf.logLevel = LogLevel.Error;\n break;\n case LogLevel.Warn:\n case 'Warn':\n oidcConf.logLevel = LogLevel.Warn;\n break;\n case LogLevel.Debug:\n case 'Debug':\n oidcConf.logLevel = LogLevel.Debug;\n break;\n }\n\n return oidcConf;\n }\n\n\n\n getExperimentalModules(): string[] {\n return this.appConfig.experimental_modules || [];\n }\n\n getLandingConfig(): IIndigoLandingConfig {\n return this.appConfig.landing;\n }\n\n\n}\n","import { IDomainConfig } from './domains-skin.model';\nimport { ShowNotifs } from '../private/states/notifs/notif.actions';\n\nconst UbityDomain: IDomainConfig = {\n name: 'GoCo', favicon: 'assets/themes/ubity/favicon.ico',\n footer: [\n\n\n // {\n // title: { fr: 'Assistance tĂ©lĂ©phonique', en: 'Helpline' },\n // items: [\n // {\n // type: 'phone', number: '877-439-4626',\n // label: { fr: 'NUMÉRO SANS FRAIS', en: 'CALL US - TOLL FREE' }\n // }\n // ]\n // },\n\n // Was removed lot's of code starting here\n\n\n // {\n // title: { fr: 'Assistance', en: 'Support' },\n // items: [\n // {\n // type: 'menu',\n // items: [\n // {\n // url: { fr: 'https://support.ubity.com/tech/', en: 'https://support.ubity.com/tech/en/' },\n // label: { fr: 'Centre d\\'aide', en: 'Help center' }\n // },\n // {\n // action: new ShowNotifs('updates'),\n // label: { fr: 'Mise Ă  jour rĂ©centes', en: 'Recent updates' }\n // },\n // ]\n // }\n // ]\n // },\n\n\n // 1\n {\n title: { fr: 'Ă€ propos de nous', en: 'About us' },\n items: [\n {\n type: 'menu',\n items: [\n {\n url: {\n fr: 'https://www.goco.ca/fr/', en: 'https://goco.ca',\n fr_staging: 'https://www.goco.ca/fr/', en_staging: 'https://goco.ca',\n },\n label: { fr: 'Goco.ca', en: 'Goco.ca' }\n },\n // {\n // // url: { fr: 'https://www.ubity.com/fr/carri%C3%A8res', en: 'https://www.ubity.com/careers' },\n // label: { fr: 'Mise-Ă -jour rĂ©cente', en: 'Recent updates' }\n // },\n {\n url: {\n fr: 'https://www.goco.ca/fr/carrieres/', en: 'https://www.goco.ca/careers/',\n fr_staging: 'https://www.goco.ca/fr/carrieres/', en_staging: 'https://www.goco.ca/careers/',\n },\n label: { fr: 'Carrières', en: 'Careers' }\n }\n ]\n }\n ]\n },\n\n// 2\n{\n title: { fr: 'Assistance', en: 'Support' },\n items: [\n {\n type: 'menu',\n items: [\n {\n url: {\n fr: 'https://goco.service-now.com/csm',\n en: 'https://goco.service-now.com/csm',\n fr_staging: 'https://goco.service-now.com/csm',\n en_staging: 'https://goco.service-now.com/csm',\n },\n label: { fr: \"Portail du service client\", en: 'Customer care portal' }\n },\n {\n url: {\n fr: 'https://goco.service-now.com/csm?id=csm_my_lists&table=sn_customerservice_case&view=csp&target_page_id=csm_ticket&filter=null&sel=all',\n en: 'https://goco.service-now.com/csm?id=csm_my_lists&table=sn_customerservice_case&view=csp&target_page_id=csm_ticket&filter=null&sel=all',\n fr_staging: 'https://goco.service-now.com/csm?id=csm_my_lists&table=sn_customerservice_case&view=csp&target_page_id=csm_ticket&filter=null&sel=all',\n en_staging: 'https://goco.service-now.com/csm?id=csm_my_lists&table=sn_customerservice_case&view=csp&target_page_id=csm_ticket&filter=null&sel=all',\n },\n label: { fr: 'Mes cas et requĂªtes', en: 'My cases & requests' }\n }\n ]\n }\n ]\n},\n\n// 3\n{\n title: { fr: 'Assistance tĂ©lĂ©phonique', en: 'Helpline' },\n items: [\n {\n type: 'menu',\n items: [\n {\n // url: { fr: '', en: '' },\n label: { fr: '+1 877 439 4626', en: '+1 877 439 4626' }\n }\n ]\n }\n ]\n},\n\n// 4\n{\n title: { fr: 'Contactez-nous', en: 'Contact' },\n items: [\n {\n type: 'menu',\n items: [\n {\n url: {\n fr: 'mailto:soutien-donnees@goco.ca', en: 'mailto:data-support@goco.ca',\n fr_staging: 'mailto:soutien-donnees@goco.ca', en_staging: 'mailto:data-support@goco.ca',\n },\n label: { fr: 'soutien-donnees@goco.ca', en: 'data-support@goco.ca' }\n },\n {\n url: {\n fr: 'mailto:soutien-voix@goco.ca', en: 'mailto:voice-support@goco.ca',\n fr_staging: 'mailto:soutien-voix@goco.ca', en_staging: 'mailto:voice-support@goco.ca',\n },\n label: { fr: 'soutien-voix@goco.ca', en: 'voice-support@goco.ca' }\n }\n ]\n }\n ]\n},\n\n\n\n\n // {\n // title: { fr: 'Parrainez une entreprise', en: 'Refer a business' },\n // items: [\n // {\n // type: 'refer', url: '/refer-a-business', img: 'assets/themes/indigo/speaker_sm.svg',\n // label: { fr: 'RĂ©fĂ©rez une entreprise Ă  GoCo
et recevez 500 $', en: 'Refer a business to GoCo
and receive 500 $' }\n // }\n // ]\n // }\n\n\n\n\n\n\n // to there\n\n\n ],\n site_uri: {\n fr: 'https://my.goco.ca/fr/app/account/__/dashboard', en: '// https://my.goco.ca/en/app/account/__/dashboard'\n },\n help_uri: {\n fr: 'https://goco.service-now.com/csm', en: 'https://goco.service-now.com/csm',\n fr_staging: 'https://goco.service-now.com/csm', en_staging: 'https://goco.service-now.com/csm'\n },\n // voice_uri: { // Introduced in Dec 2021 by Fro\n // fr: 'https://goco.myossbss.com/customers/sp-summary/?ljs=fr', en: 'https://goco.myossbss.com/',\n // fr_staging: 'https://beta-goco.myossbss.com/social/login/azureb2c/', en_staging: 'https://beta-goco.myossbss.com/social/login/azureb2c/'\n // },\n // voice_uri: { // Introduced in Dec 2021 by Fro\n // fr: 'https://goco.myossbss.com/social/login/azureb2c/', en: 'https://goco.myossbss.com/social/login/azureb2c/',\n // fr_staging: 'https://beta-goco.myossbss.com/social/login/azureb2c/', en_staging: 'https://beta-goco.myossbss.com/social/login/azureb2c/'\n // },\n\n voice_uri: { // Introduced in May 10th 2022 by Fro\n fr: 'https://voice.goco.ca/social/login/azureb2c/', en: 'https://voice.goco.ca/social/login/azureb2c/',\n fr_staging: 'https://voice.goco.ca/social/login/azureb2c/', en_staging: 'https://voice.goco.ca/social/login/azureb2c/'\n },\n\n maintenance_uri: {\n fr: 'https://goco.service-now.com/csm?id=services_status', en: 'https://goco.service-now.com/csm?id=services_status'\n },\n case_requests_uri: {\n fr: 'https://goco.service-now.com/csm?id=csm_my_lists&table=sn_customerservice_case&view=csp&target_page_id=csm_ticket&filter=null&sel=all',\n en: 'https://goco.service-now.com/csm?id=csm_my_lists&table=sn_customerservice_case&view=csp&target_page_id=csm_ticket&filter=null&sel=all',\n fr_staging: 'https://goco.service-now.com/csm?id=csm_my_lists&table=sn_customerservice_case&view=csp&target_page_id=csm_ticket&filter=null&sel=all',\n en_staging: 'https://goco.service-now.com/csm?id=csm_my_lists&table=sn_customerservice_case&view=csp&target_page_id=csm_ticket&filter=null&sel=all',\n },\n status_page: 'z92x1bh5z7c4',\n // maintenance_endpoint: 'https://z92x1bh5z7c4.statuspage.io/api/v2/scheduled-maintenances/upcoming.json',\n // status_uri: 'https://z92x1bh5z7c4.statuspage.io/api/v2/status.json',\n refer: {\n uri: '/refer-a-business',\n label: {\n en: 'Refer a business to GoCo and receive 500$',\n fr: 'RĂ©fĂ©rez une entreprise Ă  GoCo et recevez 500$'\n }\n },\n copyright: {\n fr: 'GoCo Technologie, S.E.C',\n en: 'GoCo Technology LP'\n }\n};\n\nconst UbityIndigo: IDomainConfig = {\n ...UbityDomain,\n favicon: 'assets/themes/indigo/favicon_io/favicon.ico',\n};\n\nexport const DomainConfigs: { [theme: string]: IDomainConfig } = {\n // cooptel: {\n // name: 'Cooptel', favicon: 'assets/themes/cooptel/favicon.ico',\n // footer: [\n // {\n // title: { fr: 'Services', en: 'Services' },\n // items: [\n // {\n // type: 'menu', items: [\n // {\n // url: { fr: 'https://www.cooptel.ca/', en: 'https://www.cooptel.ca/' },\n // label: { fr: 'RĂ©sidentiel', en: 'Residential services' }\n // },\n // {\n // url: { fr: 'https://www.cooptel.ca/', en: 'https://www.cooptel.ca/commercial/' },\n // label: { fr: 'Affaires', en: 'Business services' }\n // },\n // {\n // url: { fr: 'https://www.cooptel.ca/', en: 'https://secure.coopmail.coop/' },\n // label: { fr: 'CoopMail', en: 'CoopMail' }\n // }\n // ]\n // }\n // ]\n // },\n // {\n // title: { fr: 'Ă€ propos', en: 'About' },\n // items: [\n // {\n // type: 'menu', items: [\n // {\n // url: { fr: 'https://www.cooptel.ca/contact/', en: 'https://www.cooptel.ca/contact/' },\n // label: { fr: 'Contactez-nous', en: 'Contact us' }\n // }\n // ]\n // }\n // ]\n // }\n // ]\n // },\n\n\n\n ubity: UbityIndigo,\n // namaio: UbityIndigo,\n // quebec: UbityIndigo,\n // xittel: {\n // name: 'Maskatel', favicon: 'assets/themes/xittel/favicon.ico',\n // footer: [\n // {\n // title: { fr: 'Support technique', en: 'Helpline' },\n // items: [\n // {\n // type: 'phone', number: '877-627-5283',\n // label: { fr: 'NUMÉRO SANS FRAIS', en: 'CALL US - TOLL FREE' }\n // },\n // {\n // type: 'menu',\n // items: [\n // {\n // url: { fr: 'https://maskatel.ca/services-residentiels/nous-joindre/', en: 'https://maskatel.ca/services-residentiels/nous-joindre/' },\n // label: { fr: 'Voir nos coordonnĂ©es complètes', en: 'See our full details' }\n // }\n // ]\n // }\n // ]\n // },\n // {\n // title: { fr: 'Maskatel', en: 'Maskatel' },\n // items: [\n // {\n // type: 'menu',\n // items: [\n // {\n // url: { fr: 'https://maskatel.ca/services-residentiels/internet/', en: 'https://maskatel.ca/en/residential-services/internet/' },\n // label: { fr: 'RĂ©sidentiel', en: 'Residential' }\n // },\n // {\n // url: { fr: 'https://maskatel.ca/services-affaires/', en: 'https://maskatel.ca/en/business-solutions/' },\n // label: { fr: 'Affaires', en: 'Business' }\n // },\n // {\n // url: { fr: 'https://maskatel.ca/services-affaires/termes-et-conditions/', en: 'https://maskatel.ca/en/business-solutions/terms-and-conditions/' },\n // label: { fr: 'Termes et conditions', en: 'Terms and conditions' }\n // }\n // ]\n // }\n // ]\n // },\n // {\n // title: { fr: 'Services Ă©voluĂ©s d\\'affaires', en: 'Enhanced business solutions' },\n // items: [\n // {\n // type: 'menu',\n // items: [\n // {\n // url: { fr: 'https://maskatel.ca/services-affaires/services-evolues/', en: 'https://maskatel.ca/en/business-solutions/enhanced-services/' },\n // label: { fr: 'Service de colocation', en: 'Colocation service' }\n // },\n // {\n // url: { fr: 'https://maskatel.ca/services-affaires/services-evolues/', en: 'https://maskatel.ca/en/business-solutions/enhanced-services/' },\n // label: { fr: 'Extension de rĂ©seau local', en: 'Extension of the local network' }\n // },\n // {\n // url: { fr: 'https://maskatel.ca/services-affaires/services-evolues/', en: 'https://maskatel.ca/en/business-solutions/enhanced-services/' },\n // label: { fr: 'Solution infonuagique', en: 'Cloud-based solutions' }\n // }\n // ]\n // }\n // ]\n // },\n // {\n // title: { fr: '', en: '' },\n // items: [\n // {\n // type: 'menu',\n // items: [\n // {\n // url: { fr: 'https://maskatel.ca/services-affaires/services-evolues/', en: 'https://maskatel.ca/en/business-solutions/enhanced-services/' },\n // label: { fr: 'Lien de relĂªve sans-fil', en: 'Wireless link' }\n // },\n // {\n // url: { fr: 'https://maskatel.ca/services-affaires/services-evolues/', en: 'https://maskatel.ca/en/business-solutions/enhanced-services/' },\n // label: { fr: 'Internet dĂ©diĂ© sur fibre', en: 'Dedicated Fibre Optic' }\n // },\n // {\n // url: { fr: 'https://maskatel.ca/services-affaires/nous-joindre/#contact', en: 'https://maskatel.ca/en/business-solutions/contact-us/#contact' },\n // label: { fr: 'Solutions sur mesure', en: 'Tailored solutions and personalized support' }\n // }\n // ]\n // }\n // ]\n // }\n // ]\n // },\n\n\n\n\n // telox: {\n // name: 'TelOX',\n // footer: [\n // {\n // title: { fr: 'Soutien TelOX', en: 'TelOX support' },\n // items: [\n // {\n // type: 'phone', number: '514-666-4357',\n // label: { fr: 'NUMÉRO SANS FRAIS', en: 'CALL US - TOLL FREE' }\n // }\n // ]\n // },\n // {\n // title: { fr: 'Nous contacter', en: 'Contact us' },\n // items: [\n // {\n // type: 'menu',\n // items: [\n // {\n // url: { fr: 'mailto:support@helpox.com', en: 'mailto:support@helpox.com' },\n // label: { fr: 'support@helpox.com', en: 'support@helpox.com' }\n // }\n // ]\n // }\n // ]\n // }\n // ]\n // },\n\n\n\n\n // telenet: {\n // name: 'Telenet', favicon: 'assets/themes/telenet/favicon.ico',\n // footer: [\n // {\n // title: { fr: 'Liens rapides', en: 'Quick links' },\n // items: [\n // {\n // type: 'menu',\n // items: [\n // {\n // url: { fr: 'http://www.telenetinfo.com/telenet/services/support-technique', en: 'http://www.telenetinfo.com/telenet/services/support-technique' },\n // label: { fr: 'Support technique', en: 'Technical Support' }\n // },\n // {\n // url: { fr: 'https://exchange.telenetinfo.com/owa/auth/', en: 'https://exchange.telenetinfo.com/owa/auth/' },\n // label: { fr: 'Zone employĂ©s', en: 'Employee Zone' }\n // },\n // {\n // url: { fr: 'https://exchange.telenetinfo.net/owa/auth/logon.aspx?replaceCurrent=1&url=https%%3a%%2f%%2fexchange.telenetinfo.net%%2fowa', en: 'https://exchange.telenetinfo.net/owa/auth/logon.aspx?replaceCurrent=1&url=https%%3a%%2f%%2fexchange.telenetinfo.net%%2fowa' },\n // label: { fr: 'Exchange clients', en: 'Exchange clients' }\n // }\n // ]\n // }\n // ]\n // },\n // {\n // title: { fr: 'Ă€ propos', en: 'About' },\n // items: [\n // {\n // type: 'menu',\n // items: [\n // {\n // url: { fr: 'http://www.telenetinfo.com/telenet/info/nos-certifications', en: 'http://www.telenetinfo.com/telenet/info/nos-certifications' },\n // label: { fr: 'Nos certifications', en: 'Our certifications' }\n // },\n // {\n // url: { fr: 'http://www.telenetinfo.com/telenet/info/a-propos', en: 'http://www.telenetinfo.com/telenet/info/a-propos' },\n // label: { fr: 'Ă€ propos', en: 'About' }\n // }\n // ]\n // }\n // ]\n // },\n // {\n // title: { fr: 'Partenaires technologiques', en: 'Technology partners' },\n // items: [\n // {\n // type: 'partners',\n // imgs: [\n // { src: 'assets/themes/telenet/logo_footer-01.svg', style: 'height: 25px;' },\n // { src: 'assets/themes/telenet/logo_footer-02.svg', style: 'height: 25px;' },\n // { src: 'assets/themes/telenet/logo_footer-03.svg', style: 'height: 15px;' },\n // { src: 'assets/themes/telenet/logo_footer-04.svg', style: 'height:12px; margin-top: 2px;' },\n // { src: 'assets/themes/telenet/logo_footer-05.svg', style: 'height: 20px; margin-top: 2px;' },\n // ],\n // all_label: { fr: 'Voir tous les partenaires', en: 'See all partners' },\n // all_url: { fr: 'http://www.telenetinfo.com/telenet/info/partenaires', en: 'http://www.telenetinfo.com/telenet/info/partenaires' },\n // }\n // ]\n // }\n // ]\n // },\n\n\n\n\n // vocem: {\n // name: 'Decibel', favicon: 'assets/themes/vocem/favicon.ico',\n // footer: [\n // {\n // title: { fr: 'Support technique', en: 'Helpline' },\n // items: [\n // {\n // type: 'phone', number: '844-922-1822',\n // label: { fr: 'NUMÉRO SANS FRAIS', en: 'CALL US - TOLL FREE' }\n // }\n // ]\n // },\n // {\n // title: { fr: 'Nous contacter', en: 'Contact us' },\n // items: [\n // {\n // type: 'menu', items: [\n // {\n // label: { fr: 'ventes@vocem.biz', en: 'ventes@vocem.biz' },\n // url: { fr: 'mailto:ventes@vocem.biz', en: 'mailto:ventes@vocem.biz' }\n // }\n // ]\n\n // }\n // ]\n // }\n // ]\n // },\n\n\n\n // ordinacoeur: {\n // name: 'Ordinacoeur', favicon: 'assets/themes/ordinacoeur/favicon.ico',\n // footer: [\n // {\n // title: { fr: 'Support technique', en: 'Helpline' },\n // items: [\n // {\n // type: 'phone', number: '514-861-2344',\n // label: { fr: 'NUMÉRO SANS FRAIS', en: 'CALL US - TOLL FREE' }\n // },\n // {\n // type: 'menu', items: [\n // {\n // label: { fr: 'Voir nos coordonnĂ©es complètes', en: 'See our full details' },\n // url: { fr: 'http://ordinacoeurrt.ca/nous-joindre/', en: 'http://ordinacoeurrt.ca/nous-joindre/' }\n // }\n // ]\n\n // }\n // ]\n // },\n // {\n // title: { fr: 'Heures d\\'ouverture', en: 'Business hours' },\n // items: [\n // {\n // type: 'menu', items: [\n // { label: { fr: 'Lundi au jeudi : 8h Ă  17 h', en: 'Monday to Thursday: 8 am to 5 pm' } },\n // { label: { fr: 'Vendredi : 8 h Ă  15 h', en: 'Friday: 8 am to 3 pm' } }\n // ]\n\n // }\n // ]\n // },\n // {\n // title: { fr: 'Nous contacter', en: 'Contact us' },\n // items: [\n // {\n // type: 'menu', items: [\n // {\n // label: { fr: 'info@ort360.ca', en: 'info@ort360.ca' },\n // url: { fr: 'mailto:info@ort360.ca', en: 'mailto:info@ort360.ca' }\n // }\n // ]\n\n // }\n // ]\n // }\n // ]\n // }\n\n\n};\n","import { Injectable } from '@angular/core';\nimport {\n HttpRequest,\n HttpHandler,\n HttpEvent,\n HttpInterceptor\n} from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { AppConfigService } from '../config/app-config.service';\nimport { Studio3ApiError } from '../shared/api';\nimport { catchError, filter, take, tap } from 'rxjs/operators';\n\n@Injectable()\nexport class ApiErrorInterceptor implements HttpInterceptor {\n baseUri;\n ready = false;\n constructor(\n public config: AppConfigService\n ) {\n this.config.isReady$.pipe(\n filter(r => r),\n tap((r) => { this.ready = r; this.baseUri = this.config.getApiUri(); }),\n take(1)\n ).subscribe();\n }\n\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n if (this.ready && request.url.startsWith(this.baseUri)) {\n return next.handle(request).pipe(\n catchError(error => {\n if (error instanceof Studio3ApiError) {\n throw error;\n }\n throw new Studio3ApiError(error);\n })\n );\n }\n return next.handle(request);\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DummyErrorHelperService {\n\n constructor() { }\n}\n","import { HttpErrorResponse } from '@angular/common/http';\nimport { CATCH_ERROR_VAR } from '@angular/compiler/src/output/output_ast';\nimport { ErrorHandler, forwardRef, Inject, Injectable, Injector } from '@angular/core';\nimport * as Sentry from '@sentry/browser';\nimport { ReplaySubject } from 'rxjs';\nimport { filter, take } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { AppConfigService } from '../config/app-config.service';\nimport { LangService } from '../lang/lang.service';\nimport { Studio3ApiError, Studio3ApiUnknownError } from '../shared/api';\n\n\nconst sentryDsn = 'https://7c3a7a63950f49228fda6cd23a4c1797@o423479.ingest.sentry.io/5353786';\n\n\n@Injectable()\nexport class SentryErrorHandlerService implements ErrorHandler {\n debug = !environment.production;\n sentryReady = false;\n postponedEvents: any[] = [];\n ready$ = new ReplaySubject();\n loading = false;\n constructor(\n private injector: Injector\n // @Inject(forwardRef(() => AppConfigService)) protected appConfig: AppConfigService,\n\n // @Inject(forwardRef(() => LangService)) protected langService: LangService\n ) {\n // this.appConfig.isReady$.pipe(\n // filter(r => r),\n // take(1)\n // ).subscribe(() => {\n // this.debug = this.appConfig.getDebug();\n // this.initSentry();\n // });\n }\n\n loadAll(){\n this.loading = true;\n try {\n const appConfig = this.injector.get(AppConfigService);\n const langService = this.injector.get(LangService);\n appConfig.isReady$.pipe(\n filter(r => r),\n take(1)\n ).subscribe(() => {\n this.debug = appConfig.getDebug();\n this.initSentry(appConfig, langService);\n this.loading = false;\n });\n } catch (e){\n this.loading = false;\n }\n }\n\n\n\n initSentry(appConfig: AppConfigService, langService: LangService) {\n if (this.sentryReady) {\n return;\n }\n\n\n\n Sentry.init({\n dsn: sentryDsn,\n // TryCatch has to be configured to disable XMLHttpRequest wrapping, as we are going to handle\n // http module exceptions manually in Angular's ErrorHandler and we don't want it to capture the same error twice.\n // Please note that TryCatch configuration requires at least @sentry/browser v5.16.0.\n integrations: [new Sentry.Integrations.TryCatch({\n XMLHttpRequest: false,\n })],\n\n release: 'studio3-ng@' + appConfig.getAppVersion(),\n environment: appConfig.getEnvironment()\n });\n\n this.sentryReady = true;\n\n\n\n\n while (this.postponedEvents.length) {\n const event = this.postponedEvents.shift();\n Sentry.captureException(event.error, event.context);\n }\n\n this.ready$.next(true);\n\n\n langService.lang$.subscribe(l => {\n Sentry.configureScope((scope) => {\n scope.setTag('lang', l);\n });\n });\n }\n\n extractError(error) {\n // Try to unwrap zone.js error.\n // https://github.com/angular/angular/blob/master/packages/core/src/util/errors.ts\n if (error && error.ngOriginalError) {\n error = error.ngOriginalError;\n }\n\n // // Studio3ApiError\n // if (error instanceof Studio3ApiError){\n // return error;\n // }\n if (error && error.originalError) {\n error = error.originalError;\n }\n // We can handle messages and Error objects directly.\n if (typeof error === 'string' || error instanceof Error) {\n return error;\n }\n\n // If it's http module error, extract as much information from it as we can.\n if (error instanceof HttpErrorResponse) {\n // The `error` property of http exception can be either an `Error` object, which we can use directly...\n if (error.error instanceof Error) {\n return error.error;\n }\n\n // ... or an`ErrorEvent`, which can provide us with the message but no stack...\n if (error.error instanceof ErrorEvent) {\n return error.error.message;\n }\n\n // ...or the request body itself, which we can use as a message instead.\n if (typeof error.error === 'string') {\n return `Server returned code ${error.status} with body \"${error.error}\"`;\n }\n\n // If we don't have any detailed information, fallback to the request message itself.\n return error.message;\n }\n\n // Skip if there's no error, and let user decide what to do with it.\n return null;\n }\n\n\n\n handleError(error: any) {\n if (error && error.isSilent) {\n\n if (this.debug) {\n console.error('A Silent ERROR Occured (will not be thrown in production)!', error);\n throw error;\n }\n return;\n }\n\n\n\n const extractedError = this.extractError(error) || 'Handled unknown error';\n const context: any = { tags: {}, context: {} };\n if (error instanceof Studio3ApiError) {\n context.tags.api_error = error.error;\n context.context.error_data = error.data;\n }\n if (error instanceof Studio3ApiUnknownError){\n\n }\n if (!this.sentryReady && !this.loading) {\n this.loadAll();\n }\n if (this.sentryReady) {\n\n const eventId = Sentry.captureException(extractedError, context);\n } else {\n this.postponedEvents.push({\n error: extractedError, context,\n });\n }\n\n\n\n console.error('An error occured', error, extractedError);\n\n // Make sure to rethrow the error so Angular can pick it up\n // throw error;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { SentryErrorHandlerService } from './sentry-error-handler.service';\nimport { filter, take } from 'rxjs/operators';\nimport * as Sentry from '@sentry/browser';\nimport { Store } from '@ngxs/store';\nimport { AuthState } from '../shared/state/auth/auth.state';\nimport { CoreState } from '../shared/state/core/core.state';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SentryScopeHelperService {\n\n constructor(\n protected errorHandler: SentryErrorHandlerService,\n protected store: Store,\n ) {\n this.errorHandler.ready$.pipe(\n filter(r => r),\n take(1)\n ).subscribe(() => {\n this.setup();\n });\n // console.log('SentryScopeHelperService');\n }\n\n setup() {\n this.store.select(AuthState.getUser).subscribe(user => {\n Sentry.configureScope((scope) => {\n if (user && user.id) {\n scope.setUser({ id: String(user.id), email: user.email });\n } else {\n scope.setUser({});\n }\n\n });\n });\n\n this.store.select(CoreState.getCurrentAccountCode).subscribe(ac => {\n Sentry.configureScope((scope) => {\n scope.setTag('accountcode', ac);\n });\n });\n }\n}\n","import { Injectable, ErrorHandler } from '@angular/core';\nimport { environment } from 'src/environments/environment';\nimport { AppConfigService } from '../config/app-config.service';\nimport { filter, take } from 'rxjs/operators';\n\n@Injectable()\nexport class StudioErrorHandlerService implements ErrorHandler {\n debug = !environment.production;\n constructor(protected appConfig: AppConfigService){\n this.appConfig.isReady$.pipe(\n filter(r => r),\n take(1)\n ).subscribe(() => {\n this.debug = this.appConfig.getDebug();\n });\n }\n handleError(error: any) {\n if (error && error.isSilent ){\n\n if (this.debug){\n console.error('A Silent ERROR Occured (will not be thrown in production)!', error);\n throw error;\n }\n return ;\n }\n\n console.error('An error occured', error);\n\n // Make sure to rethrow the error so Angular can pick it up\n throw error;\n }\n}\n","export interface ISilentError {\n isSilent?: boolean;\n}\nexport class SilentError extends Error implements ISilentError{\n readonly isSilent = true;\n constructor(message?: string) {\n super(message);\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { OnDestroyMixin, untilComponentDestroyed } from '@w11k/ngx-componentdestroyed';\nimport { IndigoAuthService } from '../auth/auth.service';\nimport { IIndigoLandingConfig } from '../config/app-config.model';\nimport { AppConfigService } from '../config/app-config.service';\nimport { LangService } from '../lang/lang.service';\nimport { TitleService } from '../shared/services/title.service';\n\n/*\n\nWhen opening the page you get a big \"Goco Control Panel\" sign in dialog box.\n\n*/\n\n\n@Component({\n selector: 'app-landing',\n templateUrl: './landing.component.html',\n styleUrls: ['./landing.component.scss'],\n\n})\nexport class LandingComponent extends OnDestroyMixin implements OnInit {\n\n pageTitle$ = this.title.currentTitle$;\n cfg: IIndigoLandingConfig = this.appConfig.getLandingConfig();\n lang = this.langService.lang;\n\n constructor(\n public title: TitleService,\n protected authService: IndigoAuthService,\n protected appConfig: AppConfigService,\n protected langService: LangService\n ) {\n super();\n this.langService.lang$.pipe(\n untilComponentDestroyed(this)\n ).subscribe(l => {\n this.lang = l;\n });\n }\n\n ngOnInit(): void {\n // 9/9/21 Fro - auto sign in\n // changed again on Sept 16th to play with languages urls\n\n this.authService.authorize(null, this.lang);\n }\n\n login(){\n // is associated with sign in button\n this.authService.authorize(null, this.lang);\n }\n\n}\n","\n\n \n\n
\n\n

{{cfg.subtitle[lang]}}

\n\n \n
\n\n \n\n
\n
\n","import { Injectable } from '@angular/core';\nimport { CanActivateChild, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, Router, CanActivate } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { TranslocoService } from '@ngneat/transloco';\nimport { LangService } from './lang.service';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LangValidatorGuard implements CanActivateChild, CanActivate {\n\n\n constructor(\n protected router: Router,\n protected langService: LangService\n ) {\n }\n\n\n validateLang(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\n let newLang = route.params.lang;\n const valid = this.langService.langs.indexOf(newLang) > -1 ? true : false;\n if (!valid) {\n newLang = this.langService.getBestLang();\n this.langService.setLang(newLang);\n return this.router.parseUrl('/' + newLang + state.url.substr(route.params.lang.length + 1));\n }\n if (this.langService.lang !== newLang) {\n this.langService.setLang(newLang);\n }\n return true;\n }\n canActivateChild(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\n return this.validateLang(next, state);\n }\n\n canActivate(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): boolean | UrlTree | Observable | Promise {\n if (next.firstChild) {\n return true;\n }\n return this.router.createUrlTree(['/']);\n }\n\n\n\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { LangService } from './lang.service';\n\n@Injectable({providedIn: 'root'})\nexport class LangResolver implements Resolve {\n constructor(private langService: LangService){\n\n }\n resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): string | Observable | Promise {\n const lang = this.langService.getBestLang();\n this.langService.setLang(lang);\n return lang;\n }\n\n}\n","import { ErrorHandler, Inject, Injectable } from '@angular/core';\nimport { TranslocoService, TRANSLOCO_MISSING_HANDLER } from '@ngneat/transloco';\nimport { Store } from '@ngxs/store';\nimport { combineLatest, ReplaySubject } from 'rxjs';\nimport { filter, map, tap } from 'rxjs/operators';\nimport { AuthState } from '../shared/state/auth/auth.state';\nimport { MissingTranslationService } from './missing-translation.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LangService {\n\n readonly langs: string[] = (this.transloco.getAvailableLangs() as {\n id: string;\n label: string;\n }[])\n .map(l => l.id);\n\n protected loadedScopes: {\n [lang: string]: string[]\n } = {};\n\n // tslint:disable-next-line: variable-name\n protected _scopes = new ReplaySubject<{\n [lang: string]: string[]\n }>();\n\n protected currentLang = new ReplaySubject();\n\n loading = false;\n\n get lang(): string { return this.transloco.getActiveLang(); }\n\n get scopes$() { return this._scopes.asObservable(); }\n\n get changes$() {\n return combineLatest([\n this.scopes$,\n this.lang$\n ]);\n }\n constructor(\n public transloco: TranslocoService,\n protected store: Store,\n @Inject(TRANSLOCO_MISSING_HANDLER) protected missingTranslationHandler: MissingTranslationService,\n protected errorHandler: ErrorHandler\n ) {\n this.currentLang.next(this.transloco.getActiveLang());\n\n \n this.missingTranslationHandler.getMisses().pipe(\n // tap((miss) => console.log(' -- missing translation', miss, this.loadedScopes)),\n \n filter((miss) => {\n // Don't handle error when scopes are loading\n if (this.loadedScopes[miss.lang]){\n const otherLang = miss.lang === 'fr' ? 'en' : 'fr';\n return !this.loadedScopes[otherLang] || this.loadedScopes[miss.lang].length === this.loadedScopes[otherLang].length;\n }\n return false;\n })\n ).subscribe(miss => {\n try {\n this.errorHandler.handleError(new Error(`Missing Translation ${miss.key} (${miss.lang})`));\n } catch (e) {\n\n }\n\n });\n\n this._scopes.next(this.loadedScopes);\n this.transloco.langChanges$.subscribe(l => {\n this.currentLang.next(l);\n });\n this.transloco.events$.pipe(\n filter(e => e.type === 'translationLoadSuccess'),\n map(e => e.payload)\n )\n .subscribe((payload) => {\n if (!this.loadedScopes[payload.langName]) {\n this.loadedScopes[payload.langName] = [];\n }\n this.loadedScopes[payload.langName].push(payload.scope);\n this._scopes.next(this.loadedScopes);\n this.currentLang.next(this.transloco.getActiveLang());\n });\n }\n\n get lang$() { return this.currentLang.asObservable(); }\n\n getLangSuffix$(enSuffix = '') {\n return this.currentLang.asObservable().pipe(\n map(l => l === 'fr' ? '_fr' : enSuffix)\n );\n }\n\n getLangFromBrowser() {\n let newLang = this.transloco.getDefaultLang();\n if (navigator && navigator.languages && navigator.languages.length) {\n const fromBrowser = navigator.languages.find(l => {\n const nl = l.substr(0, 2);\n if (this.langs.indexOf(nl) > -1) {\n newLang = nl;\n return true;\n }\n });\n }\n return newLang;\n }\n\n setLang(lang: string) {\n this.transloco.setActiveLang(lang);\n localStorage.setItem('indigo_lang', lang);\n }\n\n getBestLang() {\n let lang: string; // this.store.selectSnapshot(AuthState.getUserLang);\n\n // TODO check if we have a user and send to default account\n const authState = this.store.selectSnapshot((state) => state.auth || {});\n\n if (authState.user && authState.preferences.lang) {\n lang = authState.preferences.lang;\n } else {\n const fromStorage = localStorage.getItem('indigo_lang');\n if (this.langs.indexOf(fromStorage) > -1) {\n lang = fromStorage;\n }\n }\n if (!lang) {\n lang = this.getLangFromBrowser();\n }\n return lang;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HashMap, TranslocoMissingHandler, TranslocoMissingHandlerData } from '@ngneat/transloco';\nimport { ReplaySubject, Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MissingTranslationService implements TranslocoMissingHandler{\n\n protected misses = new Subject<{key: string, lang: string}>();\n constructor(\n // protected errorHandler: ErrorHandler\n ) {\n }\n\n handle(key: string, data: TranslocoMissingHandlerData, params?: HashMap) {\n if (key.startsWith('country.') || key.startsWith('province.')){\n return key.substr(key.lastIndexOf('.') + 1);\n }\n if (key.startsWith('error.')){\n return key.substr('error.'.length);\n }\n this.misses.next({\n key, lang: data.activeLang\n });\n // this.errorHandler.handleError(new Error(`Missing Translation ${key}`));\n\n return key;\n }\n\n getMisses(){\n return this.misses.asObservable();\n }\n\n\n}\n","import { HttpClient } from '@angular/common/http';\nimport {\n TRANSLOCO_LOADER,\n Translation,\n TranslocoLoader,\n TRANSLOCO_CONFIG,\n translocoConfig,\n TranslocoModule, TRANSLOCO_MISSING_HANDLER, TRANSLOCO_LOADING_TEMPLATE\n} from '@ngneat/transloco';\nimport { Injectable, NgModule } from '@angular/core';\nimport { environment } from '../../environments/environment';\nimport { TranslocoLocaleModule } from '@ngneat/transloco-locale';\nimport { MissingTranslationService } from './missing-translation.service';\n\n\n@Injectable({ providedIn: 'root' })\nexport class TranslocoHttpLoader implements TranslocoLoader {\n constructor(private http: HttpClient) { }\n\n getTranslation(lang: string) {\n const idx = lang.indexOf('/');\n let path = lang;\n let scope = '';\n if (idx > -1){\n scope = lang.substr(0, idx);\n path = lang.replace('/', `/${scope}-`);\n }\n return this.http.get(`assets/i18n/${path}.json?v=${environment.version}`);\n }\n}\n\n@NgModule({\n exports: [TranslocoModule],\n imports: [\n TranslocoLocaleModule.init({\n // langToLocaleMapping: {\n // en: 'en-CA',\n // fr: 'fr-CA'\n // }\n })\n ],\n providers: [\n {\n provide: TRANSLOCO_CONFIG,\n useValue: translocoConfig({\n availableLangs: [\n { id: 'en', label: 'English' },\n { id: 'fr', label: 'français' }\n ],\n defaultLang: 'en',\n // Remove this option if your application doesn't support changing language in runtime.\n reRenderOnLangChange: true,\n prodMode: environment.production,\n fallbackLang: 'en',\n missingHandler: {\n // It will use the first language set in the `fallbackLang` property\n useFallbackTranslation: false // If true when lang is FR both lang files will be fetched\n },\n flatten: {\n aot: environment.production\n }\n\n })\n },\n { provide: TRANSLOCO_LOADER, useClass: TranslocoHttpLoader },\n { provide: TRANSLOCO_MISSING_HANDLER, useClass: MissingTranslationService }\n ],\n declarations: []\n})\nexport class TranslocoRootModule { }\n","import { HttpParameterCodec } from '@angular/common/http';\nexport class StudioHttpParamEncoder implements HttpParameterCodec {\n encodeKey(key: string): string {\n return encodeURIComponent(key);\n }\n encodeValue(value: string): string {\n return encodeURIComponent(value);\n }\n decodeKey(key: string): string {\n return decodeURIComponent(key);\n }\n decodeValue(value: string): string {\n return decodeURIComponent(value);\n }\n}\n","export * from './api-http-params.encoder';\nexport * from './studio-api.service';\nexport * from './studio-api-error.model';\nexport * from './studio3-api.utils';\n","import { HttpErrorResponse } from '@angular/common/http';\nimport { ISilentError } from 'src/app/errors/studio-errors.model';\n\nexport interface IStudioErrorData {\n prop?: string | string[];\n val?: any;\n msg?: string;\n}\n\nexport interface IStudio3ApiError {\n status: number;\n data?: IStudioErrorData;\n error: string;\n}\n\nconst FIX_ERROR = {\n enum: 'validation.enum'\n};\n\n\n// Treat Studio3 Api Error from HttpErrorReponse\nexport class Studio3ApiError implements IStudio3ApiError, ISilentError {\n status: number;\n data: IStudioErrorData;\n error = 'api.unknown';\n\n constructor(public originalError?: Error | any, public isSilent = false) {\n console.warn('Original Error is ', originalError);\n if (originalError && originalError instanceof HttpErrorResponse) {\n this.status = originalError.status;\n if (originalError.error){\n if (typeof originalError.error === 'object'){\n if (originalError.error.error){\n // console.log(' --- Error shoud be ', originalError.error.error, this.error);\n this.error = originalError.error.error || 'api.unknown';\n }\n this.data = originalError.error.error_data;\n // console.log(' --- Error is now ', originalError.error.error, this.error);\n } else {\n console.error('Unknown error type', originalError);\n }\n }\n }\n switch (this.status){\n case 0:\n this.error = 'api.unreachable';\n break;\n case 500:\n case 401:\n case 403:\n this.error = `api.${String(this.status)}`;\n }\n\n if (!this.error){\n this.error = 'api.unknown';\n }\n\n if (FIX_ERROR[this.error]){\n this.error = FIX_ERROR[this.error];\n }\n\n }\n\n static getApiError(originalError: Error, isSilent = false){\n if (originalError instanceof Studio3ApiError){\n return originalError;\n }\n return new Studio3ApiError(originalError, isSilent);\n }\n\n\n}\n\nexport interface IStudioUnknownErrorData extends IStudioErrorData{\n request?: { url?: string, method?: string, query?: any, body?: any};\n response: any;\n}\n// Treat unexpected data returned by api without Http Error Code\nexport class Studio3ApiUnknownError extends Studio3ApiError {\n data: IStudioUnknownErrorData;\n constructor(response: any, request?: { url?: string, method?: string, query?: any, body?: any}){\n super(new Error('Studio3UnknownError'));\n\n this.data = {request, response};\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { AppConfigService } from 'src/app/config/app-config.service';\nimport { filter, tap, take } from 'rxjs/operators';\nimport { Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class StudioApiService {\n\n baseUri;\n ready = false;\n constructor(\n protected http: HttpClient,\n public config: AppConfigService,\n ) {\n\n this.config.isReady$.pipe(\n filter(r => r),\n tap((r) => { this.ready = r; this.baseUri = this.config.getApiUri(); }),\n take(1)\n ).subscribe();\n }\n\n\n _getUrl(uri: string, version?: string) {\n return this.baseUri + (uri.startsWith('/') ? uri : '/' + uri);\n }\n\n get(uri: string, options?: {\n headers?: HttpHeaders | {\n [header: string]: string | string[];\n };\n observe?: 'body';\n params?: HttpParams | {\n [param: string]: string | string[];\n };\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n }) {\n return this.http.get(\n this._getUrl(uri),\n options\n );\n }\n\n post(uri: string, body: any | null, options?: {\n headers?: HttpHeaders | {\n [header: string]: string | string[];\n };\n observe?: 'body';\n params?: HttpParams | {\n [param: string]: string | string[];\n };\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n }) {\n return this.http.post(\n this._getUrl(uri),\n body, options\n );\n }\n\n put(uri: string, body: any, options?: {\n headers?: HttpHeaders | {\n [header: string]: string | string[];\n };\n observe: 'body';\n responseType?: 'json';\n withCredentials?: boolean;\n }) {\n return this.http.put(\n this._getUrl(uri),\n body,\n options\n );\n }\n\n patch(uri: string, body: any, options?: {\n headers?: HttpHeaders | {\n [header: string]: string | string[];\n };\n observe: 'events';\n params?: HttpParams | {\n [param: string]: string | string[];\n };\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n }) {\n return this.http.patch(\n this._getUrl(uri),\n body,\n options,\n );\n }\n\n\n delete(uri: string, options?: {\n headers?: HttpHeaders | {\n [header: string]: string | string[];\n };\n observe: 'events';\n params?: HttpParams | {\n [param: string]: string | string[];\n };\n reportProgress?: boolean;\n responseType?: 'json';\n withCredentials?: boolean;\n }) {\n return this.http.delete(\n this._getUrl(uri),\n options\n );\n }\n\n}\n","import { HttpErrorResponse, HttpParams } from '@angular/common/http';\nimport { IGenericQuery } from '../models';\nimport { StudioHttpParamEncoder } from './api-http-params.encoder';\n\nexport interface StudioError {\n code: number;\n body: any;\n msg: string;\n}\n\nexport function getApiErrorFromHTTP(error: Error): string{\n\n let msg = 'api.unknown';\n if (error instanceof HttpErrorResponse){\n switch (error.status){\n case 0:\n msg = 'api.unreachable';\n case 500:\n msg = 'api.500';\n case 401:\n }\n }\n return msg;\n}\n\nexport function cleanListResponseQuery(q: IGenericQuery): IGenericQuery{\n const newQ = {...q};\n // console.warn('Query is ', q, q._order );\n if (q){\n\n if (q._order && !q._order.startsWith('-') && !q._order.startsWith('+')){\n newQ._order = `+${q._order}`;\n }\n }\n\n delete (newQ as any).resource;\n\n // console.warn('CLEANED QUERY', q, newQ, newQ._order );\n return newQ;\n}\n\nexport function queryToParams(query: IGenericQuery): HttpParams {\n let params = new HttpParams({\n encoder: new StudioHttpParamEncoder()\n });\n if (query) {\n Object.keys(query).forEach(k => {\n if (k !== 'ressource' && k !== 'resource'\n && query[k] !== null && query[k] !== undefined\n && query[k] !== '') {\n if (!Array.isArray(query[k]) || query[k].length) {\n // params = params.append(k, encodeURIComponent(query[k]));\n params = params.append(k, query[k]);\n }\n\n }\n });\n }\n\n return params;\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { TRANSLOCO_SCOPE } from '@ngneat/transloco';\nimport { IAddress } from '../../models';\n\n@Component({\n selector: 'app-address',\n templateUrl: './address.component.html',\n styleUrls: ['./address.component.scss'],\n providers: [\n { provide: TRANSLOCO_SCOPE, useValue: 'country', multi: true },\n { provide: TRANSLOCO_SCOPE, useValue: 'province', multi: true }\n ]\n})\nexport class AddressComponent implements OnInit {\n\n @Input() address: IAddress;\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\n
{{address.address1}}
\n
{{address.address2}}
\n
\n {{address.city}}\n {{\n 'province.'+address.country+'.'+address.province | transloco\n }}\n {{address.postalcode | uppercase}}\n
\n
{{'country.'+address.country | transloco}}
\n
","import { Component, OnInit, Input, Output, EventEmitter, OnChanges, SimpleChanges, ChangeDetectorRef, ChangeDetectionStrategy, HostBinding } from '@angular/core';\nimport { Studio3ApiError } from '../../api';\nimport { LangService } from 'src/app/lang/lang.service';\nimport { OnDestroyMixin, componentDestroyed } from '@w11k/ngx-componentdestroyed';\nimport { takeUntil } from 'rxjs/operators';\n\nconst icons = {\n danger: 'fa fa-exclamation-triangle',\n warning: 'fa fa-exclamation-triangle',\n info: 'fa fa-info-circle',\n success: 'fa fa-check'\n};\n@Component({\n selector: 'goco-studio-error',\n templateUrl: './api-error.component.html',\n styleUrls: ['./api-error.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ApiErrorComponent extends OnDestroyMixin implements OnInit, OnChanges {\n\n\n get icon() { return icons[this.type]; }\n\n constructor(\n protected langService: LangService,\n protected cd: ChangeDetectorRef\n ) {\n super();\n\n }\n\n @Input() errorClass: string;\n @Input() error: Studio3ApiError;\n @Input() dismissible = false;\n @Input() type: 'danger' | 'warning' | 'info' | 'success' = 'danger';\n\n @Input() specialStatuses: { [status: number]: string } = {};\n\n @Input() specialPrefix: { [error: string]: string } = {};\n\n @Input() startsWithPrefix: { [error: string]: string } = {};\n\n @Input() fields: { [field: string]: string } = {};\n\n // tslint:disable-next-line: no-output-on-prefix\n @Output() onClose = new EventEmitter();\n\n errorKey: string;\n\n show = true;\n\n getData(t: (x: string, v?: any) => any) {\n let field = '';\n if (this.error.data && this.error.data.prop) {\n if (Array.isArray(this.error.data.prop)) {\n field = this.error.data.prop.map(f => this.fields[f] ? t(this.fields[f]) : null).filter(f => f).join(', ');\n } else {\n field = t(this.fields[this.error.data.prop]);\n }\n }\n return {\n ...this.error.data,\n field\n };\n }\n\n ngOnInit(): void {\n this.langService.changes$.pipe(\n takeUntil(componentDestroyed(this))\n ).subscribe(() => {\n this.cd.detectChanges();\n });\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.error) {\n this.show = true;\n this.setupError();\n }\n }\n\n setupError() {\n if (!this.error) {\n this.errorKey = null;\n return;\n }\n if (this.specialStatuses && this.specialStatuses[this.error.status]) {\n this.errorKey = this.specialStatuses[this.error.status];\n } else {\n let prefix = 'error.';\n if (this.specialPrefix && this.specialPrefix[this.error.error]) {\n prefix = this.specialPrefix[this.error.error];\n } else if (this.startsWithPrefix) {\n const newP = Object.keys(this.startsWithPrefix).find(p => this.error.error.startsWith(p));\n if (newP) {\n prefix = newP;\n }\n }\n let cleanedError = this.error.error;\n switch (this.error.error) {\n case 'validation.format':\n cleanedError = this.error.error + '.' + this.error.data.val;\n break;\n }\n this.errorKey = prefix + cleanedError;\n }\n\n }\n\n dismiss() {\n this.show = false;\n this.onClose.emit();\n }\n}\n","\n \n
\n \n
\n \n \n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nexport interface BasicMessageConfig {\n title?: string;\n msg?: string;\n transVars?: {};\n container_class?: string;\n title_class?: string;\n icon?: string;\n msg_class?: string;\n}\n\n@Component({\n selector: 'app-basic-message',\n templateUrl: './basic-message.component.html',\n styleUrls: ['./basic-message.component.scss']\n})\nexport class BasicMessageComponent implements OnInit {\n\n config$: Observable;\n constructor(\n protected activatedRoute: ActivatedRoute\n ) { }\n\n\n ngOnInit(): void {\n this.config$ = this.activatedRoute.data.pipe(\n map(d => d.basic_msg || {})\n );\n }\n\n}\n","\n \n
\n

\n \n \n

\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-empty',\n template: ``,\n styles: [\n ]\n})\nexport class EmptyComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { LangService } from 'src/app/lang/lang.service';\n\n@Component({\n selector: 'goco-landing-container',\n templateUrl: './landing-container.component.html',\n styleUrls: ['./landing-container.component.scss']\n})\nexport class LandingContainerComponent implements OnInit {\n\n @Input() title: string;\n constructor(\n public langService: LangService,\n protected router: Router\n ) { }\n\n ngOnInit(): void {\n }\n\n switchLang(lang: string) {\n const isRoute = this.langService.langs.findIndex((l) => {\n return this.router.url.startsWith(`/${l}/`);\n }) > -1;\n if (isRoute){\n this.router.navigateByUrl('/' + lang + this.router.url.substr(3));\n } else {\n this.langService.setLang(lang);\n }\n\n }\n\n brandClick() {\n // TODO: Go to vendor website\n }\n}\n","
\n \n
\n\n
\n

{{title}}

\n \n\n \n
\n \n\n \n
\n \n {{lang.label}}\n \n
\n
","import { BreakpointObserver } from '@angular/cdk/layout';\nimport { AfterViewInit, Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, TemplateRef, ViewChild } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { TranslocoService } from '@ngneat/transloco';\nimport { ColumnMode, TableColumn } from '@swimlane/ngx-datatable';\nimport { componentDestroyed, OnDestroyMixin } from '@w11k/ngx-componentdestroyed';\nimport { combineLatest } from 'rxjs';\nimport { filter, takeUntil } from 'rxjs/operators';\nimport { IGenericQuery } from '../../models';\n\n\nexport interface StudioTableColumn extends TableColumn {\n label?: string;\n class?: string | ((data: any) => string | any);\n}\n\n@Component({\n selector: 'app-list',\n templateUrl: './list.component.html',\n styleUrls: ['./list.component.scss']\n})\nexport class ListComponent extends OnDestroyMixin implements OnInit, OnChanges, AfterViewInit {\n\n @Input() header: string;\n @Input() query: IGenericQuery = {\n _limit: 25,\n _offset: 0\n };\n @Input() count = 0;\n @Input() loading = false;\n @Input() items: any[];\n\n @Input() pagination = true;\n\n @Input() display: 'table' | 'custom' = 'table';\n @Input() customEmpty: TemplateRef;\n\n @Input() columns: StudioTableColumn[] = [];\n\n @Input() batchSizes = [10, 25, 50, 100];\n\n @Output() queryChanged = new EventEmitter();\n\n @Input() headerPrefix = '';\n\n @Input() trackByProp: string;\n\n get pageNum() { return (this.query._offset / this.query._limit) + 1; }\n\n\n maxPages = 5;\n form = this.fb.group({\n });\n\n ColumnMode = ColumnMode;\n\n realColumns: TableColumn[] = [];\n\n @ViewChild('hdrTpl', { static: false }) hdrTpl: TemplateRef;\n\n\n get currentSort() {\n return this.query && this.query._order ?\n [{\n prop: this.query._order.substr(1),\n dir: this.query._order.substr(0, 1) === '-' ? 'desc' : 'asc'\n }] : undefined;\n }\n\n constructor(\n protected fb: FormBuilder,\n protected breakpointsObserver: BreakpointObserver,\n protected transloco: TranslocoService\n\n ) { super(); }\n\n ngOnInit(): void {\n\n combineLatest([\n this.transloco.events$.pipe(\n filter(e => e.type === 'translationLoadSuccess')\n ),\n this.transloco.langChanges$\n ]).pipe(\n takeUntil(componentDestroyed(this))\n ).subscribe((x) => {\n // console.info('Lang ', x);\n this.setColumns();\n if (this.items) {\n this.items = [...this.items];\n }\n\n });\n }\n ngOnChanges(changes: SimpleChanges) {\n if (changes.query && changes.query.currentValue && !this.loading) {\n this.form.patchValue(changes.query.currentValue, {\n emitEvent: false\n });\n }\n if (changes.columns) {\n this.setColumns();\n }\n }\n\n ngAfterViewInit() {\n this.setColumns();\n }\n\n protected setColumns() {\n this.realColumns = this.columns.map((c: StudioTableColumn) => {\n const newC: TableColumn = {\n sortable: true,\n flexGrow: 1,\n ...c\n };\n\n const defaultClass = `col-${newC.prop}`;\n const classType = typeof c.class;\n\n ['headerClass', 'cellClass'].forEach(p => {\n if (newC[p]) {\n if (typeof newC[p] === 'function') {\n const oldFn = newC[p];\n if (c.class) {\n if (typeof c.class === 'function') {\n const genericFn = c.class;\n newC[p] = (data: any) => genericFn(data) + ` ${defaultClass} ` + oldFn(data);\n } else {\n newC[p] = (data: any) => oldFn(data) + ` ${defaultClass} ${c.class}`;\n }\n } else {\n newC[p] = (data: any) => `${defaultClass} ` + oldFn(data);\n }\n\n } else if (typeof newC[p] === 'string') {\n if (c.class) {\n if (typeof c.class === 'function') {\n const genericFn = c.class;\n newC[p] = (data: any) => genericFn(data) + ` ${defaultClass} ${newC[p]}`;\n } else {\n newC[p] = `${defaultClass} ${c.class} ${newC[p]}`;\n }\n } else {\n newC[p] = `${defaultClass} ${newC[p]}`;\n }\n }\n } else {\n if (c.class) {\n if (typeof c.class === 'function') {\n const genericFn = c.class;\n newC[p] = (data: any) => genericFn(data) + ` ${defaultClass}`;\n } else {\n newC[p] = `${defaultClass} ${c.class}`;\n }\n } else {\n newC[p] = defaultClass;\n }\n }\n });\n\n newC.name = this.transloco.translate(c.name ? c.name : this.headerPrefix + c.prop);\n\n\n // if (!c.name && !c.headerTemplate) {\n // newC.headerTemplate = this.hdrTpl;\n // }\n // console.log('column is ', newC, 'from', c);\n return newC;\n });\n }\n\n changeLimit(l: number) {\n\n const newOffset = this.query._offset - (this.query._offset % l);\n\n // console.log('NEW offset', newOffset);\n this.queryChanged.emit({ ...this.query, _limit: l, _offset: newOffset });\n }\n\n pageChanged(event: { page: number, itemsPerPage: number }) {\n const newOffset = (event.page - 1) * event.itemsPerPage;\n if (newOffset !== this.query._offset) {\n // console.warn('PAGE CHANGED', event, this.query._offset, this.query._limit, newOffset);\n this.queryChanged.emit({ ...this.query, _offset: newOffset });\n }\n\n\n }\n\n offsetChanged(offset: number) {\n this.queryChanged.emit({ ...this.query, _offset: offset });\n }\n\n onSort(event: { sorts, column, newValue, oldValue }) {\n\n const newOrder = (event.sorts[0].dir === 'asc' ? '+' : '-') + event.sorts[0].prop;\n // console.log('SORT EVENT', event, 'was', this.query._order, 'will be', newOrder);\n if (newOrder !== this.query._order) {\n this.queryChanged.emit({ ...this.query, _order: newOrder });\n }\n }\n\n\n}\n","\n
\n

{{header}} ({{count}})

\n\n \n \n
\n\n \n\n \n\n
\n
\n \n \n
\n\n \n \n
\n\n \n \n\n\n
\n \n \n \n\n \n \n\n \n \n \n \n
\n {{t('list.emptyMessage')}}
\n
\n \n
\n
\n\n
\n \n \n
\n\n\n
","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'app-loading',\n templateUrl: './loading.component.html',\n styleUrls: ['./loading.component.scss']\n})\nexport class LoadingComponent implements OnInit {\n\n constructor(\n activatedRoute: ActivatedRoute\n ) { }\n\n ngOnInit(): void {\n\n }\n\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\nimport { BsModalRef, BsModalService, ModalOptions } from 'ngx-bootstrap/modal';\nimport { merge, Subject, Subscription } from 'rxjs';\nimport { filter, take, takeUntil, delay } from 'rxjs/operators';\nimport { LangService } from 'src/app/lang/lang.service';\nimport { OnDestroyMixin, componentDestroyed } from '@w11k/ngx-componentdestroyed';\n\n\nexport interface ModalRouteConfig extends ModalOptions {\n component: string;\n i18nscope?: string;\n outlet?: string;\n}\n@Component({\n selector: 'app-modal-route',\n template: '',\n styles: []\n})\nexport class ModalRouteComponent extends OnDestroyMixin implements OnInit, OnDestroy {\n\n modalRef: BsModalRef;\n onHide: Subscription;\n exit = new Subject();\n loading = true;\n\n\n constructor(\n protected modalService: BsModalService,\n private route: ActivatedRoute,\n private router: Router,\n private langService: LangService\n ) {\n super();\n }\n\n ngOnInit(): void {\n // console.log('Open modal First time', this.route.snapshot.toString(), this.router.url, this.route.snapshot);\n\n this.openModal();\n\n this.router.events.pipe(\n takeUntil(merge(componentDestroyed(this), this.exit)),\n filter(e => e instanceof NavigationEnd)\n ).subscribe((e) => {\n\n\n if (this.onHide && !this.onHide.closed) {\n this.onHide.unsubscribe();\n // console.log('Closed sub');\n }\n if (this.modalRef) {\n this.modalRef.hide();\n // console.log('Modal hidden');\n }\n\n let lastChild = this.router.routerState.snapshot.root;\n while (lastChild.firstChild) {\n lastChild = lastChild.firstChild;\n }\n // console.log('Router event', e, lastChild);\n\n\n if (lastChild.component === ModalRouteComponent) {\n // console.log('Open modal', this.route.snapshot.toString(), this.router.url);\n this.openModal();\n } else {\n delete this.modalRef;\n }\n });\n\n }\n\n\n openModal() {\n\n const options: ModalRouteConfig = this.route.snapshot.data.modal;\n if (options.i18nscope) {\n // Wait for transloco scope to be loaded\n this.loading = true;\n this.langService.scopes$.pipe(\n filter(s => s[this.langService.lang] && s[this.langService.lang].indexOf(options.i18nscope) > -1),\n take(1),\n delay(0),\n ).subscribe(() => {\n\n this.doOpen(options);\n this.loading = false;\n });\n\n } else {\n this.doOpen(options);\n this.loading = false;\n }\n }\n\n doOpen(options: ModalRouteConfig) {\n const modalConfig: any = { ...options};\n delete modalConfig.component;\n delete modalConfig.i18nscope;\n delete modalConfig.outlet;\n if (!modalConfig.initialState){\n modalConfig.initialState = {};\n }\n modalConfig.initialState.route = this.route;\n this.modalRef = this.modalService.show(options.component, modalConfig);\n this.onHide = this.modalService.onHide.subscribe((data) => {\n\n\n\n this.exit.next(true);\n if (options.outlet){\n this.router.navigate([{outlets: { [options.outlet]: null}}]);\n } else {\n this.router.navigate(['..'], { relativeTo: this.route });\n }\n\n });\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n // console.warn('OnDestroy');\n if (this.onHide && !this.onHide.closed) {\n // console.warn('OnDestroy Unsubscribe');\n this.onHide.unsubscribe();\n }\n if (this.modalRef) {\n // console.warn('OnDestroy hide');\n this.modalRef.hide();\n }\n\n }\n\n\n\n}\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport { Component, EventEmitter, Input, OnChanges, OnInit, Output } from '@angular/core';\nimport { componentDestroyed, OnDestroyMixin } from '@w11k/ngx-componentdestroyed';\nimport { takeUntil } from 'rxjs/operators';\nimport { MIN_WIDTH_BREAKPOINTS } from '../../shared.const';\n\n\n@Component({\n selector: 'app-pagination',\n templateUrl: './pagination.component.html',\n styleUrls: ['./pagination.component.scss']\n})\nexport class PaginationComponent extends OnDestroyMixin implements OnInit, OnChanges {\n\n @Input() count = 0;\n @Input() offset = 0;\n @Input() limit = 50;\n\n @Input() boundaryLinks = true;\n @Input() directionLinks = true;\n\n @Input() disabled = false;\n\n @Input() maxSize = 3;\n\n @Input() responsive = true;\n\n @Input() maxSizeSM = 5;\n @Input() maxSizeMD = 5;\n @Input() maxSizeLG = 9;\n @Input() maxSizeXL = 11;\n\n protected responsiveSize = this.maxSize;\n\n @Output() offsetChanged = new EventEmitter();\n\n page = 0;\n totalPages = 1;\n\n\n pages: number[] = [];\n\n\n\n constructor(\n protected breakpointsObserver: BreakpointObserver,\n ) {\n super();\n }\n\n ngOnInit(): void {\n this.breakpointsObserver.observe([\n MIN_WIDTH_BREAKPOINTS.xl,\n MIN_WIDTH_BREAKPOINTS.lg,\n MIN_WIDTH_BREAKPOINTS.md,\n // MIN_WIDTH_BREAKPOINTS.sm\n ]).pipe(\n takeUntil(componentDestroyed(this))\n ).subscribe(bp => {\n if (!bp.matches){\n this.responsiveSize = this.maxSize;\n } else if (bp.breakpoints[MIN_WIDTH_BREAKPOINTS.xl]){\n this.responsiveSize = this.maxSizeXL;\n } else if (bp.breakpoints[MIN_WIDTH_BREAKPOINTS.lg]){\n this.responsiveSize = this.maxSizeLG;\n } else if (bp.breakpoints[MIN_WIDTH_BREAKPOINTS.md]){\n this.responsiveSize = this.maxSizeMD;\n }\n // else if (bp.breakpoints[MIN_WIDTH_BREAKPOINTS.sm]){\n // this.responsiveSize = this.maxSizeSM;\n // }\n if (this.responsive){\n this.setup();\n }\n });\n this.setup();\n }\n\n ngOnChanges() {\n this.setup();\n\n }\n\n setup() {\n this.totalPages = Math.max(Math.ceil(this.count / this.limit), 1);\n this.page = this.offset / this.limit;\n let startPage = 0;\n let endPage = this.totalPages;\n\n\n const size = this.responsive ? this.responsiveSize : this.maxSize;\n if (size < this.totalPages) {\n startPage = Math.max(this.page - Math.floor(size / 2), 0);\n endPage = startPage + size;\n\n // Adjust if limit is exceeded\n if (endPage > this.totalPages) {\n endPage = this.totalPages;\n startPage = endPage - size;\n }\n }\n\n // console.log('PAGES ARE', {\n // count: this.count,\n // limit: this.limit,\n // offset: this.offset\n // }, startPage, endPage, this.totalPages, this.page, this.pages, size);\n const p = [];\n\n for (let i = startPage; i < endPage; i++){\n p.push(i);\n }\n this.pages = p;\n }\n\n noPrevious() { return this.page === 0; }\n noNext() { return this.page === this.totalPages - 1; }\n selectPage(page: number, event?: Event){\n if (event) {\n event.preventDefault();\n }\n\n this.offsetChanged.emit(page * this.limit);\n // console.log('SELECT PAGE', page);\n }\n\n\n\n\n\n\n}\n","","import { Component, HostBinding, OnInit, ViewChild } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { OnDestroyMixin, untilComponentDestroyed } from '@w11k/ngx-componentdestroyed';\nimport { format } from 'date-fns';\nimport { BsDaterangepickerDirective } from 'ngx-bootstrap/datepicker';\nimport { BsDropdownDirective } from 'ngx-bootstrap/dropdown';\nimport {PRESET_PERIODS, SelectPeriod, SetCustomPeriod} from '../../state/period/period.actions';\nimport { PeriodState } from '../../state/period/period.state';\n\n\n@Component({\n selector: 'app-period-selector',\n templateUrl: './period-selector.component.html',\n styleUrls: ['./period-selector.component.scss']\n})\nexport class PeriodSelectorComponent extends OnDestroyMixin implements OnInit {\n\n readonly periods = PRESET_PERIODS;\n\n selected: string;\n customRange: any = this.store.selectSnapshot(PeriodState.getCustomRange);\n selectedPeriod$ = this.store.select(PeriodState.getSelectedPeriod);\n\n // @HostBinding('class.edit-custom')\n showRangeSelector = false;\n\n @ViewChild('dropdown', {static: false}) dropdown: BsDropdownDirective;\n constructor(\n protected store: Store\n ) {\n super();\n this.store.select(PeriodState.getSelected).pipe(\n untilComponentDestroyed(this)\n ).subscribe(l => {\n this.selected = l;\n // if (l !== 'custom'){\n // const currentPeriod = this.store.selectSnapshot(PeriodState.getSelectedPeriod);\n // this.customRange = `${format(currentPeriod.start, 'yyyy-MM-dd')} - ${format(currentPeriod.end, 'yyyy-MM-dd')}`;\n // }\n\n });\n }\n\n ngOnInit(): void {\n\n }\n\n selectPeriod(label: string){\n this.store.dispatch(new SelectPeriod(label));\n this.showRangeSelector = false;\n if (this.dropdown){\n this.dropdown.hide();\n }\n\n }\n\n editCustom(){\n this.showRangeSelector = true;\n\n\n // dp.show();\n }\n\n onRangeChange(range: [Date, Date]){\n\n if (this.showRangeSelector && range && range[0] && range[1]){\n \n range[0].setHours(0, 0, 0);\n range[1].setHours(23, 59, 59);\n this.store.dispatch(new SetCustomPeriod({\n start: range[0],\n end: range[1]\n }));\n this.dropdown.hide();\n this.showRangeSelector = false;\n this.customRange = range;\n }\n }\n}\n","\n
\n \n \n
\n \n \n \n\n
\n\n\n
\n\n
","import { AfterContentInit, AfterViewInit, Component, ContentChild, Input, OnInit, OnChanges } from '@angular/core';\nimport { InputPasswordDirective } from '../../directives/input-password.directive';\n@Component({\n selector: 'app-psswd-input',\n templateUrl: './psswd-input.component.html',\n styleUrls: ['./psswd-input.component.scss']\n})\nexport class PsswdInputComponent implements OnInit, AfterContentInit, OnChanges {\n\n @Input() showPassword = false;\n\n @ContentChild(InputPasswordDirective) input: InputPasswordDirective;\n constructor() { }\n\n ngOnInit(): void {\n\n }\n\n ngOnChanges(): void {\n\n this.setupInput();\n }\n ngAfterContentInit() {\n // console.log('After content init');\n this.setupInput();\n }\n\n\n toggle() {\n this.showPassword = !this.showPassword;\n this.setupInput();\n }\n\n setupInput() {\n // console.log('setup input', this.input);\n if (this.input) {\n this.input.showPassword = this.showPassword;\n }\n }\n\n\n\n}\n","
\n \n \n \n \n
\n","import { Component, EventEmitter, forwardRef, Input, OnChanges, OnDestroy, OnInit, Output, SimpleChanges, TemplateRef, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { NgSelectComponent } from '@ng-select/ng-select';\nimport { Observable, of, Subject } from 'rxjs';\nimport { LangService } from 'src/app/lang/lang.service';\n\nexport interface SmartSelectorService {\n results$: Observable;\n typeahead: Subject;\n loading$: Observable;\n idProperty?: string;\n labelProperty?: string;\n labelPropi18n?: boolean;\n // labelTmp?: string;\n // optionTmp?: string;\n addressProp?: string;\n}\n@Component({\n selector: 'app-smart-select',\n templateUrl: './smart-select.component.html',\n styleUrls: ['./smart-select.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SmartSelectComponent),\n multi: true\n }\n ]\n})\nexport class SmartSelectComponent implements OnInit, OnDestroy, OnChanges, ControlValueAccessor {\n\n\n\n @Input() placeholder = '';\n @Input() clearable = true;\n @Input() markFirst = false;\n @Input() multiple = false;\n @Input() selectOnTab = true;\n @Input() editableSearchTerm = false;\n @Input() source: SmartSelectorService;\n @Input() isOpen: boolean;\n @Input() loadingText: string;\n @Input() clearAllText: string;\n disabled = false;\n\n value: string | number;\n\n results$: Observable;\n labelProp: string;\n idProp: string;\n typeahead: Subject;\n loading$: Observable;\n\n labelPropi18n: boolean;\n i18nSuffix$: Observable = this.langService.getLangSuffix$();\n\n\n addressProp: string;\n\n @Output() selectClear = new EventEmitter();\n @Output() selectSearch = new EventEmitter();\n @Output() selectChange = new EventEmitter();\n\n\n @ViewChild(NgSelectComponent, {static: true}) select: NgSelectComponent;\n constructor(\n public langService: LangService\n ) {\n\n }\n\n onChange = (val: any) => {};\n onTouched = () => {};\n\n\n ngOnInit(): void {\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.source){\n this.setupSource();\n }\n }\n\n setupSource(){\n if (this.source){\n this.results$ = this.source.results$;\n this.labelProp = this.source.labelProperty;\n this.idProp = this.source.idProperty;\n this.typeahead = this.source.typeahead;\n this.loading$ = this.source.loading$;\n this.labelPropi18n = this.source.labelPropi18n;\n this.addressProp = this.source.addressProp;\n\n } else {\n this.results$ = of(null);\n this.labelProp = null;\n this.idProp = null;\n this.typeahead = null;\n this.loading$ = of(null);\n this.labelPropi18n = null;\n this.addressProp = null;\n }\n\n\n }\n\n ngOnDestroy(): void {\n\n }\n\n writeValue(obj: string | number): void {\n this.value = obj;\n }\n registerOnChange(fn) { this.onChange = fn; }\n registerOnTouched(fn) { this.onTouched = fn; }\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n setValue(value: string) {\n this.value = value;\n this.onChange(this.value);\n }\n\n}\n","\n\n\n \n \n \n\n \n \n \n\n\n\n\n \n \n \n \n \n {{item[labelProp+suffix] || item[idProp]}} \n \n \n {{item[labelProp]}}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { Store } from '@ngxs/store';\nimport { OnDestroyMixin, untilComponentDestroyed } from '@w11k/ngx-componentdestroyed';\nimport { until } from 'protractor';\nimport timezones from 'timezones-list';\nimport { SetPeriodTimezone } from '../../state/period/period.actions';\nimport { PeriodState } from '../../state/period/period.state';\n\ninterface ITimezone {\n label: string;\n tzCode: string;\n name: string;\n utc: string;\n group: string;\n}\n\n@Component({\n selector: 'app-timezone-selector',\n templateUrl: './timezone-selector.component.html',\n styleUrls: ['./timezone-selector.component.scss']\n})\nexport class TimezoneSelectorComponent extends OnDestroyMixin implements OnInit {\n\n @Input() inputClass = 'form-control';\n selected: string;\n readonly items: ITimezone[] = timezones.map(tz =>\n ({ ...tz, group: tz.tzCode.substr(0, tz.tzCode.indexOf('/')) }));\n\n defaultTz = Intl.DateTimeFormat().resolvedOptions().timeZone;\n constructor(\n protected store: Store\n ) {\n super();\n this.items.sort((a, b) => {\n if (a.name > b.name){\n return 1;\n } else if (a.name < b.name) {\n return -1;\n }\n return 0;\n });\n\n }\n\n ngOnInit(): void {\n this.store.select(PeriodState.getTimezone).pipe(\n untilComponentDestroyed(this)\n ).subscribe(t=> this.selected = t);\n }\n\n setValue(value: string){\n this.selected = value;\n this.store.dispatch(new SetPeriodTimezone(value));\n }\n\n}\n","\n \n {{item.tzCode}}\n \n","import { Directive, HostBinding, Input, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';\nimport { Subscription, timer } from 'rxjs';\nimport { take } from 'rxjs/operators';\n\n@Directive({\n selector: '[appDisabledDelay]'\n})\nexport class DisabledDelayDirective implements OnChanges, OnDestroy{\n\n timeout: Subscription;\n disabledByDelay = false;\n @Input() disabled = false;\n @Input() defaultDelay = 10000;\n // tslint:disable-next-line: no-input-rename\n @Input('appDisabledDelay') lastUpdated: number;\n @HostBinding('attr.disabled')\n get isDisabled( ) {\n return this.disabled || this.disabledByDelay ? 'disabled' : undefined;\n }\n constructor() { }\n\n ngOnChanges(changes: SimpleChanges){\n if (changes.lastUpdated || changes.defaultDelay){\n this.setupTimeout();\n }\n }\n setupTimeout(){\n this.clearTimeout();\n if (!isNaN(this.lastUpdated) && !isNaN(this.defaultDelay)){\n const diff = Date.now() - this.lastUpdated;\n if (diff < this.defaultDelay){\n this.disabledByDelay = true;\n this.timeout = timer(this.defaultDelay - diff).pipe(\n take(1)\n ).subscribe(() => {\n this.disabledByDelay = false;\n });\n return;\n }\n }\n this.disabledByDelay = false;\n }\n clearTimeout(){\n if (this.timeout && !this.timeout.closed){\n this.timeout.unsubscribe();\n }\n }\n ngOnDestroy(){\n this.clearTimeout();\n }\n\n}\n","import { Directive, Input, OnChanges, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[appInputPassword]'\n})\nexport class InputPasswordDirective {\n\n @Input() showPassword = false;\n\n @HostBinding('attr.type')\n get type() {\n return this.showPassword ? 'text' : 'password';\n }\n constructor() { }\n\n\n\n\n}\n","import {\n AfterViewInit, Directive, ElementRef, HostBinding,\n HostListener, Input, OnChanges, OnInit, Renderer2, RendererStyleFlags2, SimpleChanges, OnDestroy\n} from '@angular/core';\nimport { componentDestroyed, OnDestroyMixin } from '@w11k/ngx-componentdestroyed';\nimport { EMPTY, interval, Subject, combineLatest, ReplaySubject } from 'rxjs';\nimport { debounceTime, switchMap, takeUntil, tap } from 'rxjs/operators';\n\n// TODO ADD LEFT AND RIGHT ARROWS WITH NAVIGATION?\n\nconst SCROLL_OFFSET_FRACTION = 6;\nconst MARGIN = 64;\nconst CONTINUOUS_SCROLLING_TIMEOUT_INTERVAL = 50;\nconst REFRESH_INTERVAL = 800;\nconst ARROW_MARGIN = 24;\n\n@Directive({\n // tslint:disable-next-line: directive-selector\n selector: '[responsiveTabs]'\n})\nexport class ResponsiveTabsDirective extends OnDestroyMixin implements OnInit, AfterViewInit, OnChanges, OnDestroy {\n\n\n padding = 0;\n\n margin = 4;\n\n listSize = 0;\n hostSize = 0;\n\n height = 0;\n leftPos = 0;\n\n list;\n scroller;\n\n @Input() responsiveTabs: any;\n\n direction = new Subject<'left' | 'right' | null>();\n\n protected wwidth$ = new ReplaySubject();\n\n protected hscroll$ = new ReplaySubject();\n\n @HostBinding('class.responsive-tabs')\n get isScrollable() { return this.listSize > this.hostSize - this.padding; }\n\n @HostBinding('class.show-left-arrow')\n showLeftArrow = false;\n\n @HostBinding('class.show-right-arrow')\n showRightArrow = false;\n\n listeners = [];\n\n get fraction() { return this.hostSize / SCROLL_OFFSET_FRACTION; }\n get maxLeft() { return this.hostSize - this.listSize - MARGIN / 2; }\n\n\n @HostListener('window:resize', ['$event'])\n onResize(event) {\n this.wwidth$.next(event.target.innerWidth);\n }\n\n constructor(\n protected el: ElementRef,\n protected renderer: Renderer2\n ) {\n super();\n\n }\n\n ngOnInit() {\n this.hscroll$.next(0);\n this.wwidth$.next(window.innerWidth);\n }\n ngOnChanges(changes: SimpleChanges) {\n if (changes.responsiveTabs) {\n if (this.list) {\n this.checkListSize();\n }\n\n }\n }\n\n\n ngOnDestroy(){\n super.ngOnDestroy();\n // Destroy events listeners\n this.listeners.forEach(listener => listener());\n }\n\n createContainer() {\n const container = this.renderer.createElement('div');\n this.scroller = this.renderer.createElement('div');\n this.renderer.addClass(container, 'tabs-container');\n this.renderer.addClass(this.scroller, 'tabs-scroller');\n this.list = this.el.nativeElement.querySelector('ul.nav-tabs');\n\n const arrowLeft = this.renderer.createElement('div');\n const arrowRight = this.renderer.createElement('div');\n this.renderer.addClass(arrowLeft, 'tabs-arrow');\n this.renderer.addClass(arrowRight, 'tabs-arrow');\n this.renderer.addClass(arrowLeft, 'tabs-arrow-left');\n this.renderer.addClass(arrowRight, 'tabs-arrow-right');\n\n this.renderer.addClass(arrowLeft, 'fa');\n this.renderer.addClass(arrowRight, 'fa');\n\n this.renderer.addClass(arrowLeft, 'fa-caret-left');\n this.renderer.addClass(arrowRight, 'fa-caret-right');\n\n // // this.renderer.insertBefore(this.el.nativeElement, arrowLeft, this.list);\n // // this.renderer.insertBefore(this.el.nativeElement, arrowRight, this.list);\n\n // // this.renderer.insertBefore(this.el.nativeElement, container, arrowRight);\n this.renderer.insertBefore(this.el.nativeElement, container, this.list);\n this.renderer.appendChild(container, arrowLeft);\n this.renderer.appendChild(container, this.scroller);\n this.renderer.appendChild(this.scroller, this.list);\n this.renderer.appendChild(container, arrowRight);\n\n this.listeners.push(this.renderer.listen(this.scroller, 'scroll', (event) => {\n this.leftPos = event.target.scrollLeft;\n this.hscroll$.next(event.target.scrollLeft);\n }));\n\n this.listeners.push(this.renderer.listen(arrowLeft, 'click', (event) => {\n // console.log('CLICK LEFT');\n this.scroller.scrollBy(-(this.hostSize / SCROLL_OFFSET_FRACTION), 0);\n // this.startScroll('left', event);\n }));\n this.listeners.push(this.renderer.listen(arrowRight, 'click', (event) => {\n // console.log('CLICK RIGHT');\n this.scroller.scrollBy((this.hostSize / SCROLL_OFFSET_FRACTION), 0);\n // this.startScroll('right', event);\n }));\n\n }\n\n ngAfterViewInit() {\n // console.log('AFTER VIEW INIT', this.viewContainer);\n this.createContainer();\n\n\n Promise.resolve(null).then(() => {\n this.checkListSize();\n });\n\n combineLatest([\n this.wwidth$.pipe(\n debounceTime(300),\n tap(() => this.checkSize()),\n ),\n this.hscroll$.pipe(\n // tap(scroll => console.log('SCROLL IS ', scroll)),\n debounceTime(100),\n )\n ]).pipe(\n takeUntil(componentDestroyed(this)),\n // tap(([wwidth, scrollLeft]) => console.log('WIDTH', wwidth, scrollLeft))\n ).subscribe(([wwidth, scrollLeft]) => {\n if (this.isScrollable){\n this.showLeftArrow = scrollLeft > 0;\n this.showRightArrow = this.hostSize + scrollLeft + ARROW_MARGIN < this.listSize;\n\n }\n\n });\n\n this.direction.pipe(\n takeUntil(componentDestroyed(this)),\n switchMap((direction) => {\n if (direction) {\n if (direction === 'left') {\n this.scrollLeft();\n } else if (direction === 'right') {\n this.scrollRight();\n }\n return interval(CONTINUOUS_SCROLLING_TIMEOUT_INTERVAL).pipe(\n tap(() => {\n if (direction === 'left') {\n this.scrollLeft();\n } else if (direction === 'right') {\n this.scrollRight();\n }\n })\n );\n } else {\n return EMPTY;\n }\n\n })\n ).subscribe(direction => {\n\n });\n }\n\n\n protected checkListSize() {\n\n const items: NodeList = this.list.querySelectorAll('li');\n let size = 0;\n\n items.forEach((item: any, key) => {\n size += item.clientWidth;\n if (key === 0) {\n this.height = item.clientHeight;\n }\n // console.log('Size is now', size, item.clientWidth, item.clientLeft);\n });\n this.listSize = size + items.length * this.margin;\n // console.log('Check list size', size, items);\n this.renderer.setStyle(this.list, 'min-width', `${this.listSize}px`, RendererStyleFlags2.Important);\n this.renderer.setStyle(this.list, 'height', `${this.height}px`);\n // this.renderer.setStyle(this.el.nativeElement.querySelector('.arrow.left'), 'height', `${this.height}px`);\n // this.renderer.setStyle(this.el.nativeElement.querySelector('.arrow.right'), 'height', `${this.height}px`);\n this.checkSize();\n // this.safetyCheck();\n }\n\n protected checkSize() {\n Promise.resolve(null).then(() => {\n let el = this.el.nativeElement;\n while (el.clientWidth === 0 && el.parentElement) {\n el = el.parentElement;\n }\n this.hostSize = el.clientWidth;\n if (!this.isScrollable) {\n this.setLeftPos(0);\n this.direction.next(null);\n }\n\n // console.log('Checked size', this.hostSize, this.el.nativeElement);\n });\n\n }\n\n setLeftPos(value: number) {\n this.leftPos = value;\n // this.renderer.setStyle(this.scroller, 'left', `${this.leftPos}px`);\n }\n\n scrollLeft() {\n // console.log('SCROLL LEFT');\n if (this.isScrollable && this.leftPos < MARGIN) {\n this.setLeftPos(Math.min(0, this.leftPos + this.fraction));\n } else {\n this.direction.next(null);\n }\n }\n scrollRight() {\n // console.log('SCROLL RIGHT');\n if (this.isScrollable && this.leftPos > this.maxLeft) {\n this.setLeftPos(Math.max(this.maxLeft, this.leftPos - (this.hostSize / SCROLL_OFFSET_FRACTION)));\n } else {\n this.direction.next(null);\n }\n\n }\n\n startScroll(side: 'left' | 'right', event) {\n this.direction.next(side);\n }\n\n stopScroll(side: 'left' | 'right', event) {\n this.direction.next(null);\n }\n\n}\n","import { Directive, HostBinding, Input, isDevMode, HostListener, OnDestroy, OnInit, OnChanges } from '@angular/core';\nimport { QueryParamsHandling, Router, ActivatedRoute, NavigationEnd, UrlTree, Event } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { LocationStrategy } from '@angular/common';\n\n@Directive({\n selector: 'a[smartLink], area[smartLink]'\n})\nexport class SmartLinkWithHrefDirective implements OnDestroy, OnChanges {\n\n // TODO(issue/24571): remove '!'.\n @HostBinding('attr.target') @Input() target!: string;\n /**\n * Passed to {@link Router#createUrlTree Router#createUrlTree} as part of the `NavigationExtras`.\n * @see {@link NavigationExtras#queryParams NavigationExtras#queryParams}\n * @see {@link Router#createUrlTree Router#createUrlTree}\n */\n // TODO(issue/24571): remove '!'.\n @Input() queryParams!: { [k: string]: any };\n /**\n * Passed to {@link Router#createUrlTree Router#createUrlTree} as part of the `NavigationExtras`.\n * @see {@link NavigationExtras#fragment NavigationExtras#fragment}\n * @see {@link Router#createUrlTree Router#createUrlTree}\n */\n // TODO(issue/24571): remove '!'.\n @Input() fragment!: string;\n /**\n * Passed to {@link Router#createUrlTree Router#createUrlTree} as part of the `NavigationExtras`.\n * @see {@link NavigationExtras#queryParamsHandling NavigationExtras#queryParamsHandling}\n * @see {@link Router#createUrlTree Router#createUrlTree}\n */\n // TODO(issue/24571): remove '!'.\n @Input() queryParamsHandling!: QueryParamsHandling;\n /**\n * Passed to {@link Router#createUrlTree Router#createUrlTree} as part of the `NavigationExtras`.\n * @see {@link NavigationExtras#preserveFragment NavigationExtras#preserveFragment}\n * @see {@link Router#createUrlTree Router#createUrlTree}\n */\n // TODO(issue/24571): remove '!'.\n @Input() preserveFragment!: boolean;\n /**\n * Passed to {@link Router#createUrlTree Router#createUrlTree} as part of the `NavigationExtras`.\n * @see {@link NavigationExtras#skipLocationChange NavigationExtras#skipLocationChange}\n * @see {@link Router#createUrlTree Router#createUrlTree}\n */\n // TODO(issue/24571): remove '!'.\n @Input() skipLocationChange!: boolean;\n /**\n * Passed to {@link Router#createUrlTree Router#createUrlTree} as part of the `NavigationExtras`.\n * @see {@link NavigationExtras#replaceUrl NavigationExtras#replaceUrl}\n * @see {@link Router#createUrlTree Router#createUrlTree}\n */\n // TODO(issue/24571): remove '!'.\n @Input() replaceUrl!: boolean;\n /**\n * Passed to {@link Router#createUrlTree Router#createUrlTree} as part of the `NavigationExtras`.\n * @see {@link NavigationExtras#state NavigationExtras#state}\n * @see {@link Router#createUrlTree Router#createUrlTree}\n */\n @Input() state?: { [k: string]: any };\n @Input() protected smartLink: { url?: string, route?: any[] };\n protected subscription: Subscription;\n // TODO(issue/24571): remove '!'.\n protected preserve!: boolean;\n\n // the url displayed on the anchor element.\n // TODO(issue/24571): remove '!'.\n @HostBinding() href!: string;\n\n constructor(\n private router: Router, private route: ActivatedRoute,\n private locationStrategy: LocationStrategy) {\n this.subscription = router.events.subscribe((s: Event) => {\n if (s instanceof NavigationEnd) {\n this.updateTargetUrlAndHref();\n }\n });\n }\n\n\n\n /**\n * @deprecated As of Angular v4.0 use `queryParamsHandling` instead.\n */\n @Input()\n set preserveQueryParams(value: boolean) {\n if (isDevMode() && (console as any) && (console.warn as any)) {\n console.warn('preserveQueryParams is deprecated, use queryParamsHandling instead.');\n }\n this.preserve = value;\n }\n\n ngOnChanges(changes: {}): any {\n this.updateTargetUrlAndHref();\n }\n ngOnDestroy(): any {\n this.subscription.unsubscribe();\n }\n\n @HostListener('click', ['$event.button', '$event.ctrlKey', '$event.metaKey', '$event.shiftKey'])\n onClick(button: number, ctrlKey: boolean, metaKey: boolean, shiftKey: boolean): boolean {\n if (button !== 0 || ctrlKey || metaKey || shiftKey) {\n return true;\n }\n\n if (typeof this.target === 'string' && this.target !== '_self') {\n return true;\n }\n if (!this.smartLink.route && this.smartLink.url) {\n return true;\n }\n\n if (this.smartLink.route) {\n const extras = {\n skipLocationChange: attrBoolValue(this.skipLocationChange),\n replaceUrl: attrBoolValue(this.replaceUrl),\n state: this.state\n };\n this.router.navigateByUrl(this.urlTree, extras);\n }\n return false;\n }\n\n private updateTargetUrlAndHref(): void {\n if (this.smartLink.route) {\n this.href = this.locationStrategy.prepareExternalUrl(this.router.serializeUrl(this.urlTree));\n } else if (this.smartLink.url) {\n this.href = this.smartLink.url;\n }\n }\n\n get urlTree(): UrlTree {\n return this.router.createUrlTree(this.smartLink.route, {\n relativeTo: this.route,\n queryParams: this.queryParams,\n fragment: this.fragment,\n preserveQueryParams: attrBoolValue(this.preserve),\n queryParamsHandling: this.queryParamsHandling,\n preserveFragment: attrBoolValue(this.preserveFragment),\n });\n }\n\n}\n\n\nfunction attrBoolValue(s: any): boolean {\n return s === '' || !!s;\n}\n","import { Component, Input, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';\nimport { AbstractControl, ControlContainer, FormGroup, FormGroupDirective } from '@angular/forms';\n\n@Component({\n selector: 'goco-errors',\n template: `\n \n \n \n`,\n styleUrls: ['./error.component.css'],\n viewProviders: [{ provide: ControlContainer, useExisting: FormGroupDirective }]\n})\nexport class ErrorComponent implements OnInit, OnChanges, OnDestroy {\n\n\n @Input() controlNames: string[];\n // tslint:disable-next-line: no-input-rename\n @Input('bsfErrors')\n errorMessages: {\n [validator: string]: string\n } = {};\n controls: { [name: string]: AbstractControl } = {};\n // tslint:disable-next-line: variable-name\n _controls: AbstractControl[] = [];\n\n @Input() errorClass = '';\n\n\n @Input() showAll = false;\n @Input() withName = false;\n\n constructor(private parentF: FormGroupDirective) {\n\n }\n public messages = () => this.getMessages();\n\n ngOnInit() {\n this.setupControls();\n }\n ngOnDestroy() {\n\n }\n ngOnChanges(changes: SimpleChanges): void {\n if (changes && changes.controlNames) {\n this.setupControls();\n }\n\n }\n\n setupControls() {\n this.controls = {};\n if (this.controlNames) {\n this.controlNames.forEach(name => {\n this.extractNamesFromGroup(this.parentF.control.get(name), name);\n });\n } else {\n this.controls[''] = this.parentF.control;\n Object.keys(this.parentF.form.controls).forEach(name => {\n this.extractNamesFromGroup(this.parentF.control.get(name), name);\n });\n }\n this._controls = Object.values(this.controls);\n }\n\n private extractNamesFromGroup(fc: AbstractControl, name: string) {\n if (fc instanceof FormGroup) {\n Object.keys(fc.controls).forEach((n) => {\n this.extractNamesFromGroup(fc.get(n), 'name.' + n);\n });\n } else {\n this.controls[name] = fc;\n }\n return this.controls;\n\n }\n\n\n get hasErrors() {\n return !this.validationDisabled && this._controls.some(c => !c.valid && c.dirty && c.touched);\n }\n get isDirtyAndTouched(): boolean {\n return this._controls.some(c => c.dirty && c.touched);\n }\n\n get validationDisabled(): boolean {\n return this._controls.filter(c => !c.disabled).length === 0;\n }\n\n private getMessages(): string[] {\n\n const messages = [];\n\n if (!this.isDirtyAndTouched || this.validationDisabled) {\n return messages;\n }\n\n\n Object.keys(this.controls).filter(\n (c, i) =>\n !this.controls[c].valid &&\n !!this.controls[c].errors\n ).forEach(controlName => {\n if (!this.showAll && messages.length) {\n return;\n }\n Object.keys(this.controls[controlName].errors).forEach(key => {\n const theKey = this.withName && controlName ? controlName + '.' + key : key;\n const error = this.errorMessages[theKey] ;\n if (!error) {\n return;\n }\n\n\n if (messages.indexOf(error) === -1) {\n messages.push(error);\n }\n\n });\n });\n return messages;\n }\n\n}\n","import { Directive, Host, HostBinding, Inject, Input, Optional, SkipSelf } from '@angular/core';\nimport { ControlContainer, FormControl } from '@angular/forms';\n\n\nexport function controlPath(name: string, parent: ControlContainer): string[] {\n // tslint:disable-next-line:no-non-null-assertion\n return [...parent.path!, name];\n}\n\n@Directive({\n // tslint:disable-next-line:directive-selector\n selector: '.form-control,.form-check-input,.custom-control-input,.custom-select'\n})\nexport class FormControlValidateDirective {\n @Input()\n formControlName: string;\n @Input()\n formControl: string;\n\n @Input()\n showValid: false;\n\n @HostBinding('class.is-valid')\n get validClass() {\n if (!this.control || !this.showValid) {\n return false;\n }\n return (\n this.control.valid &&\n (this.control.touched || this.control.dirty)\n );\n }\n\n @HostBinding('class.is-invalid')\n get invalidClass() {\n if (!this.control) {\n return false;\n }\n return (\n this.control.invalid &&\n this.control.touched &&\n this.control.dirty\n );\n }\n\n get path() {\n return controlPath(this.formControlName, this.parent);\n }\n\n get control(): FormControl {\n return this.formDirective && this.formDirective.getControl(this);\n }\n\n get formDirective(): any {\n return this.parent ? this.parent.formDirective : null;\n }\n\n\n constructor(\n // this value might be null, but we union type it as such until\n // this issue is resolved: https://github.com/angular/angular/issues/25544\n @Optional()\n @Host()\n @SkipSelf()\n private parent: ControlContainer\n ) {\n\n }\n}\n","import { Component, OnInit, Optional } from '@angular/core';\n\nimport { FormGroupComponentParent} from '../form-group/form-group.interface';\n\n@Component({\n selector: 'goco-form-group-error',\n templateUrl: './form-group-error.component.html',\n styleUrls: ['./form-group-error.component.scss'],\n\n})\nexport class FormGroupErrorComponent implements OnInit {\n\n constructor(\n @Optional() public formGroup: FormGroupComponentParent) { }\n\n ngOnInit(): void {\n }\n\n}\n","\n \n \n","import { AfterContentInit, Component, ContentChildren, ElementRef, HostBinding, Input, OnInit, QueryList, forwardRef } from '@angular/core';\nimport { FormControlName } from '@angular/forms';\nimport { DEFAULT_ERRORS } from '../../forms.const';\nimport { FormGroupErrorComponent } from '../form-group-error/form-group-error.component';\nimport { IFormGroupComponent, FormGroupComponentParent } from './form-group.interface';\n@Component({\n // tslint:disable:component-selector\n selector: '.form-group',\n template: `\n \n \n \n \n \n `,\n styles: ['small {display: block;}'],\n providers: [{ provide: FormGroupComponentParent, useExisting: forwardRef(() => FormGroupComponent) }]\n})\nexport class FormGroupComponent implements IFormGroupComponent, OnInit, AfterContentInit {\n\n @ContentChildren(FormControlName, { descendants: true, })\n FormControlNames: QueryList;\n\n @ContentChildren(FormGroupErrorComponent, { descendants: true, })\n FormGroupErrorComponents: QueryList;\n\n\n // tslint:disable-next-line: no-input-rename\n @Input('formErrors')\n errorMessages: {\n [validator: string]: string\n } = {};\n\n @Input()\n validationDisabled = false;\n\n // @HostBinding('class.required')\n // get isRequired(){\n // return this.FormControlNames.some(c => c.control.\n // }\n\n @HostBinding('class.has-error')\n get hasErrors() {\n return (\n !this.validationDisabled &&\n\n this.FormControlNames.some(c => !c.valid && c.dirty && c.touched)\n );\n }\n\n @HostBinding('class.has-success')\n get hasSuccess() {\n return (\n !this.validationDisabled &&\n !this.FormControlNames.some(c => !c.valid) &&\n this.FormControlNames.some(c => c.dirty && c.touched)\n\n );\n }\n\n\n\n public messages = () => this.getMessages();\n\n constructor(\n private elRef: ElementRef,\n ) { }\n\n ngAfterContentInit() {\n }\n\n ngOnInit() {\n }\n\n get label() {\n const label = this.elRef.nativeElement.querySelector('label');\n return label && label.textContent ? label.textContent.trim() : '';\n }\n\n get isDirtyAndTouched(): boolean {\n return this.FormControlNames.some(c => c.dirty && c.touched);\n }\n\n private getMessages(): { msg: string, vars: object }[] {\n const messages = [];\n if (!this.isDirtyAndTouched || this.validationDisabled) {\n return messages;\n }\n\n const names = this.FormControlNames.map(f => f.name);\n\n this.FormControlNames.filter(\n (c, i) =>\n !c.valid &&\n !!c.errors &&\n // filter out FormControlNames that share the same name - usually for radio buttons\n names.indexOf(c.name) === i\n ).forEach(control => {\n Object.keys(control.errors).forEach(key => {\n const error = this.errorMessages[key] || DEFAULT_ERRORS[key];\n if (!error) {\n return;\n }\n messages.push({ msg: error, vars: control.errors[key] });\n });\n });\n\n return messages;\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport interface IFormGroupComponent {\n isDirtyAndTouched: boolean;\n hasErrors: boolean;\n messages: () => {msg: string, vars: object }[];\n}\nexport abstract class FormGroupComponentParent implements IFormGroupComponent {\n isDirtyAndTouched: boolean;\n hasErrors: boolean;\n messages: () => { msg: string; vars: object; }[];\n\n}\n","\nexport const DEFAULT_ERRORS = [\n 'required',\n 'minlength',\n 'maxlength',\n 'email',\n 'enum',\n 'tel',\n 'url',\n 'duplicate'\n].reduce((r, c) => {\n r[c] = 'error.form.' + c;\n\n return r;\n}, {});\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ErrorComponent } from './error/error.component';\nimport { FormControlValidateDirective } from './form-control-validate/form-control-validate.directive';\nimport { TranslocoModule } from '@ngneat/transloco';\nimport { FormGroupComponent } from './form-control-validate/form-group/form-group.component';\nimport { FormGroupErrorComponent } from './form-control-validate/form-group-error/form-group-error.component';\n\n@NgModule({\n declarations: [\n ErrorComponent, FormControlValidateDirective, FormGroupComponent, FormGroupErrorComponent,\n ],\n imports: [\n CommonModule,\n TranslocoModule\n ],\n exports: [ErrorComponent, FormControlValidateDirective, FormGroupComponent, FormGroupErrorComponent]\n})\nexport class StudioFormsModule { }\n","import { Injectable } from '@angular/core';\nimport { CanActivate, CanActivateChild, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { Store } from '@ngxs/store';\nimport { AuthState } from '../state/auth/auth.state';\nimport { map } from 'rxjs/operators';\nimport { Location } from '@angular/common';\nimport { OidcSecurityService } from 'angular-auth-oidc-client';\nimport { IndigoAuthService } from 'src/app/auth/auth.service';\nimport { LangService } from 'src/app/lang/lang.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthenticatedGuard implements CanActivate, CanActivateChild {\n lang = this.langService.lang;\n\n constructor(\n private store: Store,\n private router: Router,\n private location: Location,\n protected oidcSecurityService: OidcSecurityService,\n protected authService: IndigoAuthService,\n protected langService: LangService\n ) {\n this.langService.lang$.subscribe(l => {\n this.lang = l;\n });\n }\n isAuthenticated(route?: ActivatedRouteSnapshot, state?: RouterStateSnapshot): Observable {\n return this.authService.isFullyAuthenticated$.pipe(\n map((isAuthorized: boolean) => {\n if (isAuthorized) {\n return true;\n }\n let parentRoute = route;\n while (parentRoute.outlet === 'primary' && parentRoute.parent) {\n parentRoute = parentRoute.parent;\n }\n if (parentRoute.outlet !== 'primary') {\n // In a secondary outlet, just remove the outlet from the tree\n const cleanTree = this.router.parseUrl(state.url);\n delete cleanTree.root.children[parentRoute.outlet];\n return cleanTree;\n }\n this.authService.authorize(state.url, this.lang);\n\n return false;\n\n })\n );\n }\n canActivate(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\n return this.isAuthenticated(next, state);\n }\n canActivateChild(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\n return this.isAuthenticated(next, state);\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { CanActivate, CanActivateChild, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, Router } from '@angular/router';\nimport { Store } from '@ngxs/store';\nimport { Observable } from 'rxjs';\nimport { CoreState } from '../state/core/core.state';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MaintenanceGuard implements CanActivate, CanActivateChild {\n\n constructor(\n protected store: Store,\n protected router: Router){\n\n }\n\n isInMaintenance(next: ActivatedRouteSnapshot){\n const inMaintenance = this.store.selectSnapshot(CoreState.isInMaintenance);\n if (next.data.is_maintenance){\n return inMaintenance || this.router.createUrlTree(['/']);\n }\n return !inMaintenance || this.router.createUrlTree(['/', 'maintenance']);\n }\n\n canActivate(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\n return this.isInMaintenance(next);\n }\n canActivateChild(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\n return this.isInMaintenance(next);\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal';\nimport { Store } from '@ngxs/store';\nimport { TranslocoService } from '@ngneat/transloco';\n\nexport interface ModalConfirmConfig {\n title: string;\n description?: string;\n action: any;\n showCheckbox?: boolean;\n showAlert?: boolean;\n\n alertText?: string;\n alertType?: 'success' | 'info' | 'warning' | 'danger';\n alertIcon?: string;\n\n cancelText?: string;\n confirmText?: string;\n confirmClass?: string;\n}\n\nlet nextId = 0;\n@Component({\n selector: 'app-modal-confirm',\n templateUrl: './modal-confirm.component.html',\n styleUrls: ['./modal-confirm.component.scss']\n})\nexport class ModalConfirmComponent implements OnInit, ModalConfirmConfig {\n\n readonly id = `confirm-dialog-${nextId++}`;\n\n title: string;\n description: string;\n\n action: any;\n\n showCheckbox = false;\n showAlert = false;\n\n checkboxText = this.transloco.translate('confirm.checkbox');\n\n\n alertText = this.transloco.translate('confirm.irreversible');\n alertType: 'success' | 'info' | 'warning' | 'danger' = 'info';\n alertIcon = 'fas fa-exclamation-triangle';\n\n cancelText = this.transloco.translate('actions.cancel');\n confirmText = this.transloco.translate('actions.confirm');\n confirmClass = 'btn-brand';\n\n confirmed = false;\n\n constructor(\n public modalRef: BsModalRef,\n protected store: Store,\n protected transloco: TranslocoService) { }\n\n ngOnInit(): void {\n }\n\n confirm() {\n if (this.action) {\n this.store.dispatch(this.action);\n }\n this.modalRef.hide();\n }\n\n}\n","
\n
\n \n
\n
\n

\n \n \n \n \n\n
\n \n \n
\n
\n
\n \n\n \n
","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'domain'\n})\nexport class DomainPipe implements PipeTransform {\n\n transform(value: string): unknown {\n if (value && value.length){\n return `@${value}`;\n }\n return value;\n }\n\n}\n","import { Injectable, Pipe, PipeTransform } from '@angular/core';\n\n@Injectable({providedIn: 'root'})\n@Pipe({\n name: 'duration'\n})\nexport class DurationPipe implements PipeTransform {\n\n transform(value: number): string {\n\n const h = Math.floor(value / 3600);\n let remains = value - h * 3600;\n const m = Math.floor( remains / 60);\n remains = Math.floor(remains - m * 60);\n\n let retval = '';\n\n if (h > 0){\n retval += ` ${h}h`;\n }\n if (m > 0){\n retval += ` ${m}m`;\n }\n\n if (remains > 0){\n retval += ` ${remains}s`;\n }\n\n return retval.trim();\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'encodeUri'\n})\nexport class EncodeUriPipe implements PipeTransform {\n\n transform(value: string, component: boolean = true): string {\n if (component){\n return encodeURIComponent(value);\n } else {\n return encodeURI(value);\n }\n\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { CountryCode, NumberFormat, parsePhoneNumberFromString } from 'libphonenumber-js';\n@Pipe({\n name: 'phoneNumber'\n})\nexport class PhoneNumberPipe implements PipeTransform {\n\n transform(value: string, options?: {\n country?: CountryCode,\n format?: NumberFormat\n }): string {\n\n try {\n const parsed = parsePhoneNumberFromString(value, options?.country || 'CA');\n if (parsed){\n const format = options?.format || (parsed.countryCallingCode === '1' ? 'NATIONAL' : 'INTERNATIONAL');\n const formated = parsed.format(format);\n return formated || value;\n }\n }catch (e) {\n console.warn('Parsing error', e);\n }\n\n return value;\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport parsePhoneNumberFromString, { CountryCode, NumberFormat } from 'libphonenumber-js';\n\n@Pipe({\n name: 'phoneOrExt'\n})\nexport class PhoneOrExtPipe implements PipeTransform {\n\n transform(value: string, mainNumber: string, options?: {\n country?: CountryCode,\n format?: NumberFormat\n }): string {\n\n try {\n const parsed = parsePhoneNumberFromString(value, options?.country || 'CA');\n if (parsed && parsed.isPossible()) {\n const format = options?.format || (parsed.countryCallingCode === '1' ? 'NATIONAL' : 'INTERNATIONAL');\n const formated = parsed.format(format);\n return formated || value;\n }\n } catch (e) {\n\n }\n\n try {\n const parsed = parsePhoneNumberFromString(mainNumber, options?.country || 'CA');\n if (parsed) {\n parsed.ext = value;\n const format = options?.format || (parsed.countryCallingCode === '1' ? 'NATIONAL' : 'INTERNATIONAL');\n const formated = parsed.format(format);\n return formated || value;\n }\n } catch (e) {\n\n }\n\n return value;\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport {\n HttpRequest,\n HttpHandler,\n HttpEvent,\n HttpInterceptor,\n HttpErrorResponse\n} from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { AppConfigService } from 'src/app/config/app-config.service';\nimport { Store } from '@ngxs/store';\nimport { take, filter, tap, catchError } from 'rxjs/operators';\nimport { AuthState } from '../state/auth/auth.state';\nimport { Logout } from '../state/auth/auth.actions';\nimport { Studio3ApiError } from '../api';\nimport { OidcSecurityService } from 'angular-auth-oidc-client';\n\nconst insecureEndpoints = ['/auth/login', '/auth/logout'];\n@Injectable()\nexport class AuthInterceptor implements HttpInterceptor {\n\n baseUri;\n ready = false;\n prefix;\n constructor(\n public config: AppConfigService,\n public store: Store,\n protected oidcSecurityServices: OidcSecurityService\n ) {\n this.config.isReady$.pipe(\n filter(r => r),\n tap((r) => {\n this.ready = r;\n this.baseUri = this.config.getApiUri();\n this.prefix = this.config.getAuthPrefix();\n }),\n take(1)\n ).subscribe();\n }\n\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n if (this.ready && request.url.startsWith(this.baseUri)\n && insecureEndpoints.findIndex(e => request.url.endsWith(e)) === -1\n // && request.headers.has('Access-Control-Allow-Credentials')\n ) {\n // const authToken = this.store.selectSnapshot(AuthState.token);\n console.log(\"Will ask for token\");\n const token1 = this.oidcSecurityServices.getIdToken();\n // console.log(\"ID Token:\", token1);\n const token = this.oidcSecurityServices.getToken();\n // console.log(\"Token:\", token);\n const authenticatedReq = request.clone({\n // headers: request.headers.set('Authorization', `authtkt ${authToken}`)\n headers: request.headers.set('Authorization', `${this.prefix} ${token}`)\n });\n return next.handle(authenticatedReq).pipe(\n catchError((error) => {\n // Disconnect\n if (error instanceof HttpErrorResponse && error.status === 401) {\n this.store.dispatch(new Logout());\n throw new Studio3ApiError(error, true);\n }\n throw error;\n\n }));\n }\n return next.handle(request);\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n HttpRequest,\n HttpHandler,\n HttpEvent,\n HttpInterceptor,\n HttpErrorResponse,\n HttpResponse\n} from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { AppConfigService } from 'src/app/config/app-config.service';\nimport { catchError, filter, take, tap } from 'rxjs/operators';\nimport { Store } from '@ngxs/store';\nimport { Studio3ApiError } from '../api';\nimport { StartMaintenance, StopMaintenance } from '../state/core/core.actions';\nimport { CoreState } from '../state/core/core.state';\n\n@Injectable()\nexport class MaintenanceInterceptor implements HttpInterceptor {\n\n baseUri;\n ready = false;\n constructor(\n public config: AppConfigService,\n public store: Store,\n ) {\n this.config.isReady$.pipe(\n filter(r => r),\n tap((r) => { this.ready = r; this.baseUri = this.config.getApiUri(); }),\n take(1)\n ).subscribe();\n }\n\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n if (this.ready && request.url.startsWith(this.baseUri)) {\n return next.handle(request).pipe(\n catchError((e) => {\n if ((e instanceof Studio3ApiError && e.status === 503 && e.error === 'maintenance')\n || (e instanceof HttpErrorResponse && e.status === 503 && e.error && e.error.error === 'maintenance')) {\n this.store.dispatch(new StartMaintenance());\n }\n\n throw e;\n }),\n tap((data) => {\n if (data instanceof HttpResponse && data.status !== 503 && this.store.selectSnapshot(CoreState.isInMaintenance)) {\n this.store.dispatch(new StopMaintenance());\n }\n })\n );\n }\n return next.handle(request);\n\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport { TranslocoService } from '@ngneat/transloco';\nimport { combineLatest, of, ReplaySubject } from 'rxjs';\nimport { filter, map, startWith, switchMap } from 'rxjs/operators';\nimport { AppSkinService } from 'src/app/app-skin.service';\nimport { IDomainConfig } from 'src/app/config/domains-skin.model';\n\n/*\n\n\n\n*/\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TitleService {\n\n domainConf: IDomainConfig = this.skinService.domainConfig;\n sections: string[] = [];\n lang = this.transloco.getActiveLang();\n sections$ = new ReplaySubject();\n\n protected currentTitle = new ReplaySubject();\n get currentTitle$() { return this.currentTitle.asObservable(); }\n\n constructor(\n protected title: Title,\n public skinService: AppSkinService,\n private transloco: TranslocoService,\n ) {\n this.currentTitle.next(this.title.getTitle());\n this.sections$.next([]);\n combineLatest([\n this.skinService.domainConfig$.pipe(map(c => c.name)),\n transloco.langChanges$.pipe(startWith(this.transloco.getActiveLang)),\n this.sections$.asObservable().pipe(\n // tap(s=> this.sections.change),\n switchMap(sections => sections.length ? combineLatest(\n sections.map(s => this.transloco.selectTranslate(s)\n .pipe(filter(t => t !== s)))) : of([]) )\n )\n ]).subscribe(([domainName, lang, sections]) => {\n\n const common = lang === 'fr' ? `Panneau de contrĂ´le ${domainName}` : `${domainName} Control Panel`;\n const t = sections.join(' | ')\n + (sections.length ? ' | ' : '')\n + common;\n this.currentTitle.next(t);\n this.title.setTitle(t);\n });\n\n // EMILE\n // this.skinService.domainConfig$.subscribe((c) => {\n // this.domainConf = c;\n // this._setTitle();\n // });\n // this.transloco.langChanges$.subscribe(l => {\n // this.lang = l;\n // this._setTitle();\n // });\n // this.transloco.events$\n }\n\n\n setSections(names: string[]= []){\n this.sections$.next(names);\n // this.sections = names;\n // this._setTitle();\n }\n\n protected _setTitle(){\n const t = this.sections.map(s => this.transloco.translate(s)).join(' | ')\n + (this.sections.length ? ' | ' : '')\n + `${this.domainConf.name} Control Panel`;\n this.currentTitle.next(t);\n this.title.setTitle(t);\n }\n\n}\n","import { InjectionToken } from '@angular/core';\nimport { ngxLoadingAnimationTypes } from 'ngx-loading';\n\nexport const BOOTSTRAP_BREAKPOINTS = {\n xs: 0,\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200\n};\n\nexport const MAX_WIDTH_BREAKPOINTS = ['sm', 'md', 'lg', 'xl'].reduce((r, b) => {\n r[b] = '(max-width: ' + (BOOTSTRAP_BREAKPOINTS[b] - 1) + 'px)';\n return r;\n}, {}) as { sm: string, md: string, lg: string, xl: string};\nexport const MIN_WIDTH_BREAKPOINTS = ['sm', 'md', 'lg', 'xl'].reduce((r, b) => {\n r[b] = '(min-width: ' + (BOOTSTRAP_BREAKPOINTS[b]) + 'px)';\n // console.log('BP MIN', b , r);\n return r;\n}, {}) as { sm: string, md: string, lg: string, xl: string};\n\nexport const DISCREET_LOADING_CFG = {\n animationType: ngxLoadingAnimationTypes.circle,\n primaryColour: 'rgba(0,0,0,0.4)',\n secondaryColour: 'rgba(0,0,0,0.2)',\n backdropBackgroundColour: 'transparent'\n};\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { TranslocoModule } from '@ngneat/transloco';\nimport { TranslocoLocaleModule } from '@ngneat/transloco-locale';\nimport { NgxDatatableModule } from '@swimlane/ngx-datatable';\nimport { AlertModule } from 'ngx-bootstrap/alert';\nimport { NgxLoadingModule } from 'ngx-loading';\nimport { AddressComponent } from './components/address/address.component';\nimport { ApiErrorComponent } from './components/api-error/api-error.component';\nimport { BasicMessageComponent } from './components/basic-message/basic-message.component';\nimport { EmptyComponent } from './components/empty/empty.component';\nimport { LandingContainerComponent } from './components/landing-container/landing-container.component';\nimport { ListComponent } from './components/list/list.component';\nimport { LoadingComponent } from './components/loading/loading.component';\nimport { ModalRouteComponent } from './components/modal-route/modal-route.component';\nimport { PaginationComponent } from './components/pagination/pagination.component';\nimport { PsswdInputComponent } from './components/psswd-input/psswd-input.component';\nimport { SmartSelectComponent } from './components/smart-select/smart-select.component';\nimport { DisabledDelayDirective } from './directives/disable-delay.directive';\nimport { InputPasswordDirective } from './directives/input-password.directive';\nimport { ResponsiveTabsDirective } from './directives/responsive-tabs.directive';\nimport { SmartLinkWithHrefDirective } from './directives/smart-link.directive';\nimport { StudioFormsModule } from './forms/forms.module';\nimport { ModalConfirmComponent } from './modals/modal-confirm/modal-confirm.component';\nimport { DomainPipe } from './pipes/domain.pipe';\nimport { EncodeUriPipe } from './pipes/encode-uri.pipe';\nimport { PhoneNumberPipe } from './pipes/phone-number.pipe';\nimport { PhoneOrExtPipe } from './pipes/phone-or-ext.pipe';\nimport { PeriodSelectorComponent } from './components/period-selector/period-selector.component';\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\nimport { DurationPipe } from './pipes/duration.pipe';\nimport { TimezoneSelectorComponent } from './components/timezone-selector/timezone-selector.component';\n\n\n\n// TODO : Split shared module so that only eagerly needed stuff remains in it and put the rest in a lazyly shared module\n\n@NgModule({\n declarations: [\n EmptyComponent, PaginationComponent, ListComponent, InputPasswordDirective,\n PsswdInputComponent,\n SmartLinkWithHrefDirective,\n ModalConfirmComponent,\n ModalRouteComponent,\n EncodeUriPipe,\n SmartSelectComponent,\n LoadingComponent,\n BasicMessageComponent,\n ApiErrorComponent,\n ResponsiveTabsDirective,\n DisabledDelayDirective,\n DomainPipe,\n LandingContainerComponent,\n AddressComponent,\n PhoneNumberPipe,\n PhoneOrExtPipe,\n PeriodSelectorComponent,\n DurationPipe,\n TimezoneSelectorComponent,\n ],\n imports: [\n CommonModule,\n TranslocoModule,\n FormsModule,\n ReactiveFormsModule,\n NgxDatatableModule,\n NgxLoadingModule,\n AlertModule,\n NgSelectModule,\n StudioFormsModule,\n TranslocoLocaleModule,\n BsDropdownModule,\n BsDatepickerModule\n ],\n exports: [\n CommonModule,\n TranslocoModule,\n EmptyComponent,\n PaginationComponent,\n PsswdInputComponent,\n InputPasswordDirective,\n ListComponent,\n SmartLinkWithHrefDirective,\n ModalConfirmComponent,\n ModalRouteComponent,\n EncodeUriPipe,\n SmartSelectComponent,\n LoadingComponent,\n BasicMessageComponent,\n StudioFormsModule,\n ApiErrorComponent,\n ResponsiveTabsDirective,\n TranslocoLocaleModule,\n DisabledDelayDirective,\n DomainPipe,\n LandingContainerComponent,\n AddressComponent,\n PhoneNumberPipe,\n PhoneOrExtPipe,\n PeriodSelectorComponent,\n DurationPipe,\n TimezoneSelectorComponent\n ]\n})\nexport class SharedModule { }\n\n","import { IUser } from '../../models';\r\n\r\n\r\nexport class WhoAmi {\r\n static readonly type = '[Auth] WhoAmI';\r\n}\r\n\r\nexport class Logout {\r\n static readonly type = '[Auth] Logout';\r\n}\r\n\r\nexport class LoggedIn {\r\n static readonly type = '[Auth] LoggedIn';\r\n}\r\n\r\nexport class LoggedOut {\r\n static readonly type = '[Auth] LoggedOut';\r\n}\r\n\r\n\r\nexport class AuthUpdated {\r\n static readonly type = '[Auth] Updated';\r\n}\r\n\r\nexport class UpdatedProfile {\r\n static readonly type = '[Auth] Profile Updated';\r\n constructor(public payload: {user: IUser}){}\r\n}\r\n\r\nexport class UpdatedProfileFro{\r\n static readonly type = '[Auth] Profile Updated';\r\n constructor(public payload: {first_name: string, last_name: string, email: string}){}\r\n}\r\n","import { Injectable, NgZone } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Action, Selector, State, StateContext } from '@ngxs/store';\r\n// import { catchError, map } from 'rxjs/operators';\r\nimport { LangService } from 'src/app/lang/lang.service';\r\nimport { IBasicUser, IDomain } from 'src/app/shared/models';\r\nimport { IStudio3ApiError, Studio3ApiError } from '../../api/studio-api-error.model';\r\nimport { StudioApiService } from '../../api/studio-api.service';\r\nimport { AddAccount } from '../core/core.actions';\r\nimport { TabsMessage } from '../tabs-bus/tabs-bus.actions';\r\nimport { AuthUpdated, LoggedIn, LoggedOut, Logout, WhoAmi, UpdatedProfileFro } from './auth.actions';\r\nimport { WhoAmIResponse } from './auth.model';\r\n\r\n// Age threshold in (ms) before we refresh whoami info\r\nexport const AUTH_FRESHNESS = 600000; // 10 minutes\r\n\r\n\r\nexport interface AuthStateModel {\r\n tk?: string;\r\n user?: IBasicUser;\r\n // accounts: {\r\n // [code: string]: IAccount\r\n // };\r\n accounts_count?: number;\r\n account_codes: string[];\r\n permissions: string[];\r\n preferences: { [pref: string]: any };\r\n lastUpdate: number;\r\n inlogin?: boolean;\r\n error?: IStudio3ApiError;\r\n domains?: IDomain[];\r\n}\r\n\r\nexport const defaultState: AuthStateModel = {\r\n account_codes: [],\r\n permissions: [],\r\n preferences: {},\r\n lastUpdate: 0\r\n};\r\n\r\n@State({\r\n name: 'auth',\r\n defaults: defaultState\r\n})\r\n@Injectable()\r\nexport class AuthState {\r\n\r\n constructor(\r\n protected api: StudioApiService,\r\n // protected cookieService: StudioCookieService,\r\n protected router: Router,\r\n protected zone: NgZone,\r\n protected lang: LangService\r\n ) {\r\n\r\n }\r\n\r\n @Selector()\r\n static getState(state: AuthStateModel): AuthStateModel {\r\n return state;\r\n }\r\n @Selector()\r\n static token(state: AuthStateModel) {\r\n return state.tk;\r\n }\r\n\r\n // @Selector()\r\n // static isAuthenticated(state: AuthStateModel): boolean {\r\n // return Boolean(state && state.tk);\r\n // }\r\n\r\n // @Selector()\r\n // static isAnonymous(state: AuthStateModel): boolean {\r\n // return Boolean(!state || !state.tk);\r\n // }\r\n\r\n @Selector()\r\n static getUser(state: AuthStateModel): IBasicUser {\r\n return state.user;\r\n }\r\n\r\n @Selector()\r\n static getAccountCodes(state: AuthStateModel): string[] {\r\n return state.account_codes || [];\r\n }\r\n\r\n @Selector()\r\n static getError(state: AuthStateModel): IStudio3ApiError {\r\n return state.error;\r\n }\r\n\r\n @Selector()\r\n static getPermissions(state: AuthStateModel): string[] {\r\n return state.permissions ? state.permissions : [];\r\n }\r\n\r\n @Selector()\r\n static getPermissionsAsObject(state: AuthStateModel): {\r\n [id: string]: boolean\r\n } {\r\n return state.permissions ? state.permissions.reduce((r, p) => ({ ...r, [p]: true }), {}) : {};\r\n }\r\n\r\n @Selector()\r\n static getPreferences(state: AuthStateModel): { [pref: string]: any } {\r\n return state.preferences ? state.preferences : {};\r\n }\r\n\r\n @Selector()\r\n static getDomains(state: AuthStateModel): IDomain[] {\r\n return state.domains ? state.domains : [];\r\n }\r\n\r\n @Selector()\r\n static getLastUpdate(state: AuthStateModel): number {\r\n return state.lastUpdate;\r\n }\r\n\r\n @Action(Logout)\r\n public logout(ctx: StateContext) {\r\n }\r\n\r\n @Action(WhoAmi, {\r\n cancelUncompleted: true\r\n })\r\n public whoami(ctx: StateContext) {\r\n\r\n // export interface WhoAmIResponse {\r\n // permissions: string[];\r\n // preferences: {};\r\n // accounts: IBasicAccount[];\r\n // accounts_count?: number;\r\n // user: IBasicUser;\r\n // domains?: IDomain[];\r\n // }\r\n \r\n const pseudoUser = {\r\n \"accounts\": [\r\n {\r\n \"accountcode\": \"AC-1000063\",\r\n \"decommissioned\": false,\r\n \"domain_name\": \"\",\r\n \"flags\": {},\r\n \"is_domain\": true,\r\n \"name\": \"GoCo\",\r\n \"tags\": [\r\n \"\"\r\n ]\r\n }\r\n ],\r\n \"accounts_count\": 1,\r\n \"domains\": [],\r\n \"permissions\": [],\r\n \"preferences\": {},\r\n \"user\": {\r\n \"default_account\": \"AA-1000000\",\r\n \"email\": \"indigo@goco.ca\",\r\n \"first_name\": \"Indigo\",\r\n \"id\": 1,\r\n \"last_name\": \"Indigo\"\r\n }\r\n }\r\n const newState = cleanWhoAmIResponse(pseudoUser);\r\n ctx.patchState(newState);\r\n return ctx.dispatch([\r\n new AddAccount(pseudoUser.accounts),\r\n new TabsMessage({\r\n state: 'auth',\r\n action: 'patch',\r\n data: newState\r\n })\r\n ]);\r\n }\r\n\r\n // Version prior to August 29th 2021\r\n\r\n // @Action(WhoAmi, {\r\n // cancelUncompleted: true\r\n // })\r\n // public whoami(ctx: StateContext) {\r\n // console.log('FRO who am ');\r\n // return this.api.get('/auth/whoami').pipe(\r\n // catchError(e => {\r\n // if (e instanceof Studio3ApiError) {\r\n // throw e;\r\n // }\r\n // ctx.dispatch(new Logout());\r\n // throw new Studio3ApiError(e);\r\n // }),\r\n // map((data: WhoAmIResponse) => {\r\n // // this.cookieService.setAuthCookie(ctx.getState().tk);\r\n\r\n // console.log(\"Fro WhoAmI data \", data);\r\n // const newState = cleanWhoAmIResponse(data);\r\n // ctx.patchState(newState);\r\n // ctx.dispatch([\r\n // new AddAccount(data.accounts),\r\n // new TabsMessage({\r\n // state: 'auth',\r\n // action: 'patch',\r\n // data: newState\r\n // })\r\n // ]);\r\n // })\r\n // );\r\n // }\r\n\r\n\r\n // @Action(UpdatedProfile)\r\n // public updatedProfile(ctx: StateContext, {payload}: UpdatedProfile){\r\n // ctx.patchState({\r\n // user: payload.user,\r\n // accounts_count: payload.user.accounts_count\r\n // })\r\n // }\r\n\r\n @Action(UpdatedProfileFro)\r\n public updatedProfileFro(ctx: StateContext, {payload}: UpdatedProfileFro){\r\n \r\n const pseudoUser = {\r\n \"accounts\": [\r\n {\r\n \"accountcode\": \"u01\",\r\n \"decommissioned\": false,\r\n \"domain_name\": \"\",\r\n \"flags\": {},\r\n \"is_domain\": true,\r\n \"name\": \"GoCo\",\r\n \"tags\": [\"\"]\r\n }\r\n ],\r\n \"accounts_count\": 1,\r\n \"domains\": [],\r\n \"permissions\": [],\r\n \"preferences\": {},\r\n \"user\": {\r\n \"default_account\": \"u01\",\r\n \"email\": payload.email,\r\n \"first_name\": payload.first_name,\r\n \"id\": 1,\r\n \"last_name\": payload.last_name\r\n }\r\n }\r\n const newState = cleanWhoAmIResponse(pseudoUser);\r\n ctx.patchState(newState);\r\n return ctx.dispatch([\r\n new AddAccount(pseudoUser.accounts),\r\n new TabsMessage({\r\n state: 'auth',\r\n action: 'patch',\r\n data: newState\r\n })\r\n ]);\r\n\r\n\r\n }\r\n\r\n\r\n @Action([LoggedIn, LoggedOut])\r\n public reloadRoutes(ctx: StateContext, action: LoggedIn | LoggedOut | AuthUpdated) {\r\n // const newState = JSON.parse(localStorage.getItem('auth'));\r\n\r\n // ctx.setState(newState);\r\n this.zone.run(() => {\r\n // const currentUrl = action instanceof LoggedOut this.router.url;\r\n Promise.resolve(null).then(() => {\r\n this.router.navigate(['/', this.lang.lang, 'app']);\r\n // console.warn(' -- GO FOR IT ', action);\r\n // this.router.navigateByUrl('/', { skipLocationChange: true }).then(() => {\r\n // this.router.navigate([currentUrl]);\r\n // });\r\n });\r\n });\r\n }\r\n\r\n\r\n\r\n}\r\n\r\nfunction cleanUser(u: IBasicUser): IBasicUser {\r\n if (!u.default_account && (u as any).master_accountcode) {\r\n u.default_account = (u as any).master_accountcode;\r\n delete (u as any).master_accountcode;\r\n }\r\n return u;\r\n}\r\n\r\n\r\nfunction cleanPrefs(prefs: { [pref: string]: any }): { [pref: string]: any } {\r\n return Object.keys(prefs).reduce((ret, p) => {\r\n\r\n try {\r\n ret[p] = JSON.parse(prefs[p]);\r\n } catch (e) {\r\n\r\n }\r\n\r\n return ret;\r\n }, prefs);\r\n}\r\n\r\n\r\nfunction cleanWhoAmIResponse(data: WhoAmIResponse): Partial {\r\n const state: Partial = {\r\n permissions: data.permissions,\r\n preferences: cleanPrefs(data.preferences),\r\n user: cleanUser(data.user),\r\n accounts_count: data.accounts_count,\r\n // accounts: data.accounts.reduce((ret, a) => {\r\n // ret[a.code] = cleanAccount(a);\r\n // return ret;\r\n // }, {}),\r\n lastUpdate: Date.now(),\r\n domains: data.domains || [],\r\n account_codes: ['u01'] // was probably\r\n };\r\n\r\n return state;\r\n\r\n}\r\n","import { IMenuItem } from '../../../private/layout/menu/menu-item.model';\r\nimport { IBasicAccount } from '../../models';\r\n\r\nexport class SetAccount {\r\n static readonly type = '[Core] Set Account';\r\n constructor(public payload: string) { }\r\n}\r\n\r\nexport class SetMenu {\r\n static readonly type = '[Core] Set Menu';\r\n constructor(public payload: IMenuItem[]) { }\r\n}\r\n\r\nexport class AddAccount {\r\n static readonly type = '[Core] Add Account';\r\n constructor(public payload: IBasicAccount | IBasicAccount[]) { }\r\n}\r\nexport class RemoveAccount {\r\n static readonly type = '[Core] Remove Account';\r\n constructor(public payload: IBasicAccount | IBasicAccount[]) { }\r\n}\r\n\r\nexport class AccountsUpdated {\r\n static readonly type = '[Core] Accounts Updated';\r\n}\r\n\r\nexport class GetAccount {\r\n static readonly type = '[Core] Get Account';\r\n constructor(public payload: { accountcode: string}) { }\r\n}\r\n\r\nexport class StartMaintenance {\r\n static readonly type = '[Core] Start Maintenance';\r\n}\r\n\r\nexport class StopMaintenance {\r\n static readonly type = '[Core] Stop Maintenance';\r\n}\r\n\r\n\r\n","import { Injectable, NgZone } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Action, Selector, State, StateContext, Store, NgxsAfterBootstrap } from '@ngxs/store';\r\nimport { BANNED_ACCOUNT_CODES } from 'src/app/app.const';\r\nimport { SilentError } from 'src/app/errors/studio-errors.model';\r\nimport { IMenuItem } from '../../../private/layout/menu/menu-item.model';\r\nimport { StudioApiService } from '../../api/studio-api.service';\r\nimport { IBasicAccount } from '../../models';\r\nimport { LoggedOut, Logout } from '../auth/auth.actions';\r\nimport { TabsMessage } from '../tabs-bus/tabs-bus.actions';\r\nimport { AccountsUpdated, AddAccount, GetAccount, RemoveAccount, SetAccount, SetMenu, StartMaintenance, StopMaintenance } from './core.actions';\r\n\r\nconst FORBID_DELAY = 20000;\r\nexport interface CoreStateModel {\r\n accountcode: string;\r\n menu: IMenuItem[];\r\n account_codes: string[];\r\n accounts: {\r\n [accountcode: string]: IBasicAccount\r\n };\r\n accounts_retrieved: {\r\n [accountcode: string]: number;\r\n };\r\n forbidden_accountcodes: string[];\r\n maintenance?: boolean;\r\n maintenance_last_check?: number;\r\n}\r\n\r\nconst defaults: CoreStateModel = {\r\n accountcode: null,\r\n menu: [],\r\n account_codes: [],\r\n accounts: {},\r\n accounts_retrieved: {},\r\n forbidden_accountcodes: []\r\n};\r\n\r\n@State({\r\n name: 'core',\r\n defaults\r\n})\r\n@Injectable()\r\nexport class CoreState implements NgxsAfterBootstrap {\r\n constructor(\r\n protected store: Store,\r\n protected router: Router,\r\n protected zone: NgZone,\r\n protected api: StudioApiService,\r\n // protected appSkin: AppSkinService\r\n ) { }\r\n\r\n @Selector()\r\n static getAccounts(state: CoreStateModel): { [accountcode: string]: IBasicAccount } {\r\n return state.accounts;\r\n }\r\n\r\n @Selector()\r\n static getAccountsArray(state: CoreStateModel): IBasicAccount[] {\r\n return state.account_codes.map(a => state.accounts[a]);\r\n }\r\n @Selector()\r\n static getAccountCodes(state: CoreStateModel): string[] {\r\n return state.account_codes;\r\n }\r\n\r\n @Selector()\r\n static getCurrentAccount(state: CoreStateModel): IBasicAccount {\r\n return state.accounts[state.accountcode];\r\n }\r\n @Selector()\r\n static getCurrentAccountCode(state: CoreStateModel): string {\r\n return state.accountcode;\r\n }\r\n\r\n @Selector()\r\n static getMenu(state: CoreStateModel): IMenuItem[] {\r\n return state.menu;\r\n }\r\n\r\n @Selector()\r\n static getForbiddenAccountCodes(state: CoreStateModel): string[] {\r\n return state.forbidden_accountcodes;\r\n }\r\n\r\n @Selector()\r\n static isInMaintenance(state: CoreStateModel): boolean {\r\n return state.maintenance;\r\n }\r\n\r\n @Selector()\r\n static getMaintenanceLastCheck(state: CoreStateModel): number {\r\n return state.maintenance_last_check;\r\n }\r\n\r\n @Action(SetAccount)\r\n setAccount(ctx: StateContext, { payload }: SetAccount) {\r\n if (ctx.getState().account_codes.indexOf(payload) > -1) {\r\n // this.appSkin.switchTheme(ctx.getState().accounts[payload].domain_name);\r\n return ctx.patchState({ accountcode: payload });\r\n }\r\n }\r\n\r\n @Action(SetMenu)\r\n setMenu(ctx: StateContext, { payload }: SetMenu) {\r\n return ctx.patchState({ menu: payload });\r\n }\r\n\r\n @Action(GetAccount)\r\n getAccount(ctx: StateContext, { payload }: GetAccount) {\r\n const st = ctx.getState();\r\n\r\n if (BANNED_ACCOUNT_CODES.indexOf(payload.accountcode) > -1) {\r\n throw new SilentError('BANNED ACCOUNT CODE');\r\n }\r\n // don't try to get account again if we tried less than 20 seconds ago\r\n if (st.forbidden_accountcodes.indexOf(payload.accountcode) > -1 &&\r\n Date.now() - st.accounts_retrieved[payload.accountcode] > FORBID_DELAY) {\r\n // console.error(payload, st);\r\n return Promise.resolve(null).then(() => {\r\n throw new Error(`Trying to get account ${payload.accountcode} multiple times`);\r\n });\r\n }\r\n\r\n // console.log(\"Investigating / account /\");\r\n const static_hack = { account: {\r\n accountcode: \"u01\",\r\n decommissioned: false,\r\n domain_name: \"Indigo\",\r\n flags: {},\r\n is_domain: false,\r\n name: \"Goco\",\r\n tags: [\"\"]}\r\n };\r\n ctx.dispatch(new AddAccount(static_hack.account));\r\n \r\n\r\n }\r\n\r\n @Action(AddAccount)\r\n addAccount(ctx: StateContext, { payload }: AddAccount) {\r\n // console.warn('ADD ACCOUNT action', payload);\r\n\r\n const newAccounts: IBasicAccount[] = Array.isArray(payload) ? payload : [payload];\r\n const newAccouncodes = [...ctx.getState().account_codes];\r\n const newAccountsMap = { ...ctx.getState().accounts };\r\n const newAccountsRetrieved = { ...ctx.getState().accounts_retrieved };\r\n const now = Date.now();\r\n // newAccounts.forEach(a => {\r\n // if (newAccouncodes.indexOf(a.accountcode) === -1) {\r\n // newAccouncodes.push(a.accountcode);\r\n // }\r\n // newAccountsMap[a.accountcode] = cleanAccount(a);\r\n // newAccountsRetrieved[a.accountcode] = now;\r\n // });\r\n // // console.log('ADD ACCOUNT', payload, newAccounts, newAccouncodes, newAccountsMap, newAccountsRetrieved);\r\n // newAccouncodes.sort((a, b) => {\r\n // return newAccountsMap[a].name.localeCompare(newAccountsMap[b].name);\r\n // });\r\n\r\n\r\n const newState = {\r\n account_codes: newAccouncodes,\r\n accounts: newAccountsMap,\r\n accounts_retrieved: newAccountsRetrieved\r\n };\r\n\r\n ctx.dispatch(new TabsMessage({\r\n state: 'core',\r\n action: 'patch',\r\n data: newState\r\n }));\r\n return ctx.patchState(newState);\r\n }\r\n\r\n @Action(RemoveAccount)\r\n removeAccount(ctx: StateContext, { payload }: RemoveAccount) {\r\n const newAccounts: IBasicAccount[] = Array.isArray(payload) ? payload : [payload];\r\n const newAccouncodes = [...ctx.getState().account_codes];\r\n const newAccountsMap = { ...ctx.getState().accounts };\r\n const newAccountsRetrieved = { ...ctx.getState().accounts_retrieved };\r\n newAccounts.forEach(a => {\r\n const idx = newAccouncodes.indexOf(a.accountcode);\r\n if (idx > -1) {\r\n newAccouncodes.splice(idx, 0);\r\n }\r\n delete newAccountsMap[a.accountcode];\r\n delete newAccountsRetrieved[a.accountcode];\r\n });\r\n const newState = {\r\n account_codes: newAccouncodes,\r\n accounts: newAccountsMap,\r\n accounts_retrieved: newAccountsRetrieved\r\n };\r\n ctx.patchState(newState);\r\n ctx.dispatch(new TabsMessage({\r\n state: 'core',\r\n action: 'patch',\r\n data: newState\r\n }));\r\n if (newAccouncodes.indexOf(ctx.getState().accountcode) === -1) {\r\n this.zone.run(() => {\r\n const currentUrl = this.router.url;\r\n this.router.navigateByUrl('/', { skipLocationChange: true }).then(() => {\r\n this.router.navigate([currentUrl]);\r\n });\r\n });\r\n }\r\n }\r\n\r\n @Action([Logout, LoggedOut])\r\n logout(ctx: StateContext) {\r\n return ctx.setState(defaults);\r\n }\r\n\r\n @Action(AccountsUpdated)\r\n accountsUpdated(ctx: StateContext) {\r\n const newState = JSON.parse(localStorage.getItem('core')) as CoreStateModel;\r\n if (newState) {\r\n ctx.patchState({\r\n accounts: newState.accounts,\r\n account_codes: newState.account_codes,\r\n accounts_retrieved: newState.accounts_retrieved\r\n });\r\n if (newState.account_codes.indexOf(ctx.getState().accountcode) === -1) {\r\n this.zone.run(() => {\r\n const currentUrl = this.router.url;\r\n this.router.navigateByUrl('/', { skipLocationChange: true }).then(() => {\r\n this.router.navigate([currentUrl]);\r\n });\r\n });\r\n }\r\n }\r\n\r\n }\r\n\r\n ngxsAfterBootstrap(ctx: StateContext) {\r\n const current = ctx.getState().accountcode;\r\n if (current) {\r\n ctx.dispatch(new SetAccount(current));\r\n }\r\n\r\n }\r\n\r\n @Action(StartMaintenance)\r\n startMaintenance(ctx: StateContext) {\r\n ctx.patchState({\r\n maintenance_last_check: Date.now(),\r\n maintenance: true\r\n });\r\n this.zone.run(() => {\r\n this.router.navigate(['/', 'maintenance']);\r\n });\r\n }\r\n\r\n @Action(StopMaintenance)\r\n stopMaintenance(ctx: StateContext) {\r\n ctx.patchState({\r\n maintenance_last_check: undefined,\r\n maintenance: undefined\r\n });\r\n }\r\n\r\n\r\n}\r\n\r\n\r\nfunction cleanAccount(a: IBasicAccount): IBasicAccount {\r\n return {\r\n ...a,\r\n name: a.name || '',\r\n tags: a.tags.map(t => t.trim()).filter(t => t)\r\n };\r\n}\r\n","export interface IPeriod {\r\n start: Date;\r\n end: Date;\r\n}\r\nexport const PRESET_PERIODS = [\r\n 'today', 'yesterday',\r\n 'this_week', 'last_week',\r\n 'this_month', 'last_month',\r\n 'last_7_days', 'last_30_days'\r\n];\r\n\r\nexport class SelectPeriod {\r\n static readonly type = '[Period] Select';\r\n constructor(public payload: string) { }\r\n}\r\n\r\nexport class SetCustomPeriod {\r\n static readonly type = '[Period] Custom';\r\n constructor(public payload: {start: Date, end: Date}) { }\r\n}\r\n\r\nexport class SetPeriodTimezone {\r\n static readonly type = '[Period] Timezone';\r\n constructor(public payload?: string){}\r\n}\r\n\r\n\r\n\r\nexport class BuildPeriods {\r\n static readonly type = '[Period] Build';\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Action, NgxsAfterBootstrap, Selector, State, StateContext } from '@ngxs/store';\r\nimport { endOfMonth, endOfWeek, startOfMonth, startOfWeek, subDays, subMonths, subWeeks, toDate } from 'date-fns';\r\nimport { utcToZonedTime, zonedTimeToUtc } from 'date-fns-tz';\r\nimport { BuildPeriods, PRESET_PERIODS, SelectPeriod, SetCustomPeriod, SetPeriodTimezone } from './period.actions';\r\n\r\n\r\nexport interface PeriodStateModel {\r\n periods: {\r\n [label: string]: { start: Date, end: Date }\r\n };\r\n selected?: string;\r\n timezone?: string;\r\n _last_update: number;\r\n}\r\n\r\nconst defaults = {\r\n periods: {},\r\n _last_update: 0,\r\n selected: 'last_7_days'\r\n};\r\n\r\n@State({\r\n name: 'period',\r\n defaults\r\n})\r\n@Injectable()\r\nexport class PeriodState implements NgxsAfterBootstrap {\r\n\r\n\r\n @Selector()\r\n static getTimezone(state: PeriodStateModel) {\r\n return state.timezone;\r\n }\r\n\r\n @Selector()\r\n static getSelected(state: PeriodStateModel) {\r\n return state.selected;\r\n }\r\n\r\n @Selector()\r\n static getSelectedPeriod(state: PeriodStateModel) {\r\n return state.periods[state.selected];\r\n }\r\n\r\n @Selector()\r\n static getCustomRange(state: PeriodStateModel) {\r\n const custom = state.periods.custom;\r\n if (custom){\r\n return [custom.start, custom.end];\r\n }\r\n return '';\r\n }\r\n @Selector()\r\n static getSelectedPeriodForApi(state: PeriodStateModel) {\r\n if (state.selected !== 'custom' || !state.timezone) {\r\n return state.periods[state.selected];\r\n }\r\n const retval = state.periods[state.selected];\r\n return {\r\n start: zonedTimeToUtc(retval.start, state.timezone),\r\n end: zonedTimeToUtc(retval.end, state.timezone),\r\n };\r\n }\r\n\r\n @Selector()\r\n static getFullSelectedPeriod(state: PeriodStateModel) {\r\n return { selected: state.selected, period: state.periods[state.selected] };\r\n }\r\n\r\n @Action(SelectPeriod)\r\n selectPeriod(ctx: StateContext, { payload }: SelectPeriod) {\r\n ctx.patchState({\r\n selected: payload\r\n });\r\n }\r\n\r\n @Action(SetCustomPeriod)\r\n setCustom(ctx: StateContext, { payload }: SetCustomPeriod) {\r\n ctx.patchState({\r\n selected: 'custom',\r\n periods: {\r\n ...ctx.getState().periods,\r\n custom: payload\r\n }\r\n });\r\n }\r\n @Action(SetPeriodTimezone)\r\n setPeriodTimezone(ctx: StateContext, { payload }: SetPeriodTimezone) {\r\n ctx.patchState({\r\n timezone: payload,\r\n });\r\n if (ctx.getState().selected === 'custom') {\r\n ctx.patchState({\r\n periods: {\r\n ...ctx.getState().periods,\r\n custom: { ...ctx.getState().periods.custom }\r\n }\r\n });\r\n }\r\n this.buildPeriods(ctx);\r\n }\r\n ngxsAfterBootstrap(ctx?: StateContext): void {\r\n this.buildPeriods(ctx);\r\n }\r\n\r\n\r\n @Action(BuildPeriods)\r\n buildPeriods(ctx: StateContext) {\r\n\r\n let today = new Date();\r\n\r\n const tz = ctx.getState().timezone;\r\n\r\n if (tz) {\r\n today = utcToZonedTime(today, tz);\r\n }\r\n\r\n\r\n const newPeriods = PRESET_PERIODS.reduce((r, c) => {\r\n switch (c) {\r\n case 'today':\r\n r[c] = { start: toDate(today), end: today };\r\n break;\r\n case 'yesterday':\r\n const yesterday = subDays(today, 1);\r\n r[c] = { start: yesterday, end: toDate(yesterday) };\r\n break;\r\n case 'this_week':\r\n r[c] = { start: startOfWeek(today), end: endOfWeek(today) };\r\n break;\r\n case 'last_week':\r\n r[c] = { start: subWeeks(startOfWeek(today), 1), end: subWeeks(endOfWeek(today), 1) };\r\n break;\r\n case 'this_month':\r\n r[c] = { start: startOfMonth(today), end: endOfMonth(today) };\r\n break;\r\n case 'last_month':\r\n r[c] = { start: subMonths(startOfMonth(today), 1), end: subMonths(endOfMonth(today), 1) };\r\n break;\r\n case 'last_7_days':\r\n r[c] = { start: subDays(today, 7), end: today };\r\n break;\r\n case 'last_30_days':\r\n r[c] = { start: subDays(today, 30), end: today };\r\n break;\r\n }\r\n if (r[c]) {\r\n r[c].start.setHours(0, 0, 0);\r\n r[c].end.setHours(23, 59, 59);\r\n }\r\n return r;\r\n }, {});\r\n\r\n return ctx.patchState({\r\n periods: {\r\n // ...ctx.getState().periods,\r\n custom: ctx.getState().periods.custom || undefined,\r\n ...newPeriods\r\n },\r\n _last_update: Date.now()\r\n });\r\n }\r\n\r\n\r\n}\r\n","\r\nexport interface TabsMessagePayload {\r\n state: string;\r\n action: 'patch' | 'set';\r\n data: any;\r\n dispatch?: any;\r\n}\r\nexport class TabsMessage {\r\n static readonly type = '[TabsBus] Msg';\r\n constructor(public payload: TabsMessagePayload) { }\r\n}\r\n\r\nexport class TabsMessageReceived {\r\n static readonly type = '[TabsBus] Received';\r\n constructor(public payload: TabsMessagePayload) { }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Action, Actions, State, StateContext, Store } from '@ngxs/store';\r\nimport * as sysend from 'sysend';\r\nimport { TabsMessage, TabsMessageReceived } from './tabs-bus.actions';\r\n\r\nconst CHANNEL_ID = 'studio-tab';\r\nexport class TabsBusStateModel { }\r\n\r\n\r\n@State({\r\n name: 'tabsBus',\r\n})\r\n@Injectable()\r\nexport class TabsBusState {\r\n\r\n constructor(\r\n protected actions$: Actions,\r\n protected store: Store,\r\n\r\n ) {\r\n sysend.on(CHANNEL_ID, (msg) => {\r\n // console.log('RECEIVED ', msg);\r\n if (msg) {\r\n this.store.dispatch(new TabsMessageReceived(msg));\r\n }\r\n\r\n });\r\n }\r\nT;\r\n\r\n @Action(TabsMessage)\r\n sendMessage({ getState, setState }: StateContext, { payload }: TabsMessage) {\r\n const sendPayload = {\r\n ...payload\r\n };\r\n if (sendPayload.dispatch) {\r\n sendPayload.dispatch = {\r\n ...sendPayload.dispatch,\r\n type: sendPayload.dispatch.__proto__.constructor.type,\r\n };\r\n }\r\n // console.log('BROADCAST ', sendPayload);\r\n sysend.broadcast(CHANNEL_ID, sendPayload);\r\n\r\n }\r\n\r\n @Action(TabsMessageReceived)\r\n messageReceived({ dispatch }: StateContext, { payload }: TabsMessageReceived) {\r\n if (payload.dispatch) {\r\n // console.log('DISPATCH', payload.dispatch);\r\n dispatch(payload.dispatch);\r\n }\r\n }\r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\nimport { version } from '../../package.json';\n\nexport const environment = {\n production: false,\n version\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n"],"sourceRoot":"webpack:///"}