{"version":3,"file":"main-es2020.js","mappings":"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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["./$_lazy_route_resources|lazy|groupOptions: {}|namespace object","./src/app/app-init.service.ts","./src/app/app.component.ts","./src/app/app.config.ts","./src/app/app.interceptors.ts","./src/app/app.module.ts","./src/app/app.routing.ts","./src/app/car-check/car-check.service.ts","./src/app/common/analytics.service.ts","./src/app/common/auth/auth-error/auth-error.component.ts","./src/app/common/auth/auth-error/auth-error.component.html","./src/app/common/auth/auth.guard.ts","./src/app/common/auth/auth.helper.ts","./src/app/common/auth/auth.service.ts","./src/app/common/auth/login.guard.ts","./src/app/common/cache.service.ts","./src/app/common/cities/cities.service.ts","./src/app/common/common.module.ts","./src/app/common/constants.ts","./src/app/common/countries.service.ts","./src/app/common/date/date.service.ts","./src/app/common/download-data-table/download-data-table.component.ts","./src/app/common/download-data-table/download-data-table.template.html","./src/app/common/error-logging/const/error-logging-sources.ts","./src/app/common/error-logging/interceptor-http-params.ts","./src/app/common/error/error.component.ts","./src/app/common/error/error.template.html","./src/app/common/feature.service.ts","./src/app/common/file-uploader/file-uploader.component.ts","./src/app/common/file-uploader/file-uploader.template.html","./src/app/common/get-cities.service.ts","./src/app/common/global-interfaces.ts","./src/app/common/image-viewer/image-viewer.component.ts","./src/app/common/image-viewer/image-viewer.template.html","./src/app/common/index.ts","./src/app/common/interceptors/base-uri.interceptor.ts","./src/app/common/interceptors/cache.interceptor.ts","./src/app/common/interceptors/city.interceptor.ts","./src/app/common/interceptors/error.interceptor.ts","./src/app/common/interceptors/interfaces/index.ts","./src/app/common/interceptors/token.interceptor.ts","./src/app/common/languages.service.ts","./src/app/common/locations.service.ts","./src/app/common/modals/add-limo-company/add-limo-company.component.ts","./src/app/common/modals/add-limo-company/add-limo-company.template.html","./src/app/common/modals/add-trainer/add-trainer.component.ts","./src/app/common/modals/add-trainer/add-trainer.template.html","./src/app/common/modals/add-user/add-user.component.ts","./src/app/common/modals/add-user/add-user.template.html","./src/app/common/modals/book-slot/book-slot.component.ts","./src/app/common/modals/book-slot/book-slot.template.html","./src/app/common/modals/camera/camera.component.ts","./src/app/common/modals/camera/camera.component.html","./src/app/common/modals/change-training/change-training.component.ts","./src/app/common/modals/change-training/change-training.template.html","./src/app/common/modals/check-car/check-car.component.ts","./src/app/common/modals/check-car/check-car.template.html","./src/app/common/modals/create-training-slot/training-slot.component.ts","./src/app/common/modals/create-training-slot/training-slot.template.html","./src/app/common/modals/delete-limo-company/delete-limo-company.component.ts","./src/app/common/modals/delete-limo-company/delete-limo-company.template.html","./src/app/common/modals/dynamic-modal/dynamic-modal.component.ts","./src/app/common/modals/dynamic-modal/dynamic-modal.module.ts","./src/app/common/modals/dynamic-modal/dynamic-modal.service.ts","./src/app/common/modals/import-limo-company/import-limo-company.component.ts","./src/app/common/modals/import-limo-company/import-limo-company.template.html","./src/app/common/modals/index.ts","./src/app/common/modals/limo-import-error/limo-import-error.component.ts","./src/app/common/modals/limo-import-error/limo-import-error.template.html","./src/app/common/modals/message-popup/message-popup.component.ts","./src/app/common/modals/message-popup/message-popup.template.html","./src/app/common/modals/prompt/prompt.component.ts","./src/app/common/modals/prompt/prompt.template.html","./src/app/common/modals/supplier-details/supplier-detais.component.ts","./src/app/common/modals/supplier-details/supplier-details.template.html","./src/app/common/pagination/pagination.ts","./src/app/common/permissions/permissions.constant.ts","./src/app/common/permissions/permissions.guard.ts","./src/app/common/permissions/permissions.service.ts","./src/app/common/permissions/sidebar-menu.constant.ts","./src/app/common/redirect/redirect.guard.ts","./src/app/common/spinner/spinner.service.ts","./src/app/common/spinner/spinner.ts","./src/app/common/storage.service.ts","./src/app/common/switch-button/switch-button.component.ts","./src/app/common/switch-button/switch-button.component.html","./src/app/common/toastr/toastr.service.ts","./src/app/common/trainers.service.ts","./src/app/common/users.service.ts","./src/app/common/validate-equal/validate-equal.directive.ts","./src/app/common/validation/not-equal.directive.ts","./src/app/common/validation/validation.constant.ts","./src/app/health-check/health-check.component.ts","./src/app/limo-company/limo-company.service.ts","./src/app/overview-v2/constants/index.ts","./src/app/overview-v2/document-transcription-v2/shared/constants/index.ts","./src/app/overview-v2/models/index.ts","./src/app/overview/overview.constants.ts","./src/app/overview/overview.service.ts","./src/app/service-access-disabled/service-access-disabled-toggle.service.ts","./src/app/service-access-disabled/service-access-disabled.component.ts","./src/app/service-access-disabled/service-access-disabled.component.html","./src/app/service-access-disabled/service-access-disabled.module.ts","./src/app/service-access-disabled/service-access-disabled.service.guard.ts","./src/app/shared/analytika-v2.service.ts","./src/app/shared/experimentation.service.ts","./src/app/shared/utils/index.ts","./src/app/trainer-management/trainer-management.service.ts","./src/app/training-slots/training-slots.service.ts","./src/app/user-management/user-management.service.ts","./src/environments/common.ts","./src/environments/environment.ts","./src/main.ts","/ng-app/node_modules/moment/locale|sync|/^\\.\\/.*$/"],"sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 98255;\nmodule.exports = webpackEmptyAsyncContext;","import { Injectable } from '@angular/core';\nimport { ServiceAccessDiableToggleService } from './service-access-disabled/service-access-disabled-toggle.service';\n\n@Injectable({ providedIn: 'root' })\nexport class AppInitService {\n constructor(private readonly serviceAccessDiableToggleService: ServiceAccessDiableToggleService) {}\n\n static createInstance(): AppInitService {\n return new AppInitService(new ServiceAccessDiableToggleService());\n }\n\n init() {\n try {\n return this.serviceAccessDiableToggleService.serviceAccessDisableCheck().toPromise();\n } catch {\n return Promise.resolve(true);\n }\n }\n}","/*\n * Angular 2 decorators and services\n */\nimport { Component, ViewEncapsulation, OnInit } from '@angular/core';\nimport { Router, NavigationEnd } from '@angular/router';\n\nimport { AuthService, SpinnerService } from './common';\nimport { DynamicModalService, IComponentModel } from './common/modals/dynamic-modal/dynamic-modal.service';\nimport { filter } from 'rxjs/operators';\nimport { AuthHelper } from './common/auth/auth.helper';\nimport { ServiceAccessDiableToggleService } from './service-access-disabled/service-access-disabled-toggle.service';\nimport { ROUTES_URLS } from './common/constants';\n\n\ndeclare let ga: Function;\n\n/*\n * App Component\n * Top Level Component\n */\n@Component({\n selector: 'app',\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['../styles/application.scss'],\n template: `\n \n \n `\n})\nexport class App implements OnInit {\n showSpinner: boolean;\n componentData: IComponentModel;\n\n constructor(\n private readonly spinnerService: SpinnerService,\n private readonly dynamicModalService: DynamicModalService,\n private readonly router: Router,\n private readonly authHelper: AuthHelper,\n private readonly authService: AuthService,\n private readonly serviceAccessDiableToggleService: ServiceAccessDiableToggleService\n ) { }\n\n ngOnInit() {\n const userCityId = this.authService.getUserInfo()?.city_id;\n\n if(userCityId) {\n this.serviceAccessDiableToggleService.serviceAccessDisableCheck({\n supply_gate_city: userCityId,\n country_code: this.authService.getUserInfo()?.city?.country?.code,\n }).subscribe((isServiceAccessDisabled: boolean) => {\n if (isServiceAccessDisabled) {\n this.router.navigate([`/${ROUTES_URLS.service_access_disabled}`]);\n } else {\n this.resumeAppFlow();\n }\n });\n } else {\n this.resumeAppFlow();\n }\n }\n\n private resumeAppFlow() {\n this.authHelper.initLogin();\n\n this.dynamicModalService.componentData\n .subscribe((componentData: IComponentModel) => this.componentData = componentData);\n\n this.spinnerService.spinner\n .subscribe((status) => this.showSpinner = status);\n\n this.router.events\n .pipe(filter(event => event instanceof NavigationEnd))\n .subscribe(this.sendPageView);\n }\n\n private sendPageView(event: NavigationEnd): void {\n let page = event.urlAfterRedirects;\n\n if (event.urlAfterRedirects.startsWith('/overview')) {\n page = event.urlAfterRedirects\n .replace(/keyword=(\\w+)/, 'keyword={keyword}');\n }\n\n if (event.urlAfterRedirects.startsWith('/approve-documents')) {\n const moduleType = event.urlAfterRedirects\n .replace(/\\?.*/g, '')\n .split('/')\n .filter(token => !!token)\n .pop();\n\n page = `/approve-documents/${moduleType}`;\n }\n\n ga('set', 'page', page);\n ga('send', 'pageview');\n }\n\n}\n","import { Injectable } from '@angular/core';\n\nimport { Config } from './shell/shell';\n\ndeclare let jQuery: any;\n\n@Injectable()\nexport class AppConfig {\n config: Config = {\n name: 'Careem',\n title: 'Careem-Supplygate-Admin',\n version: '3.2.0',\n debug: true,\n settings: {\n colors: {\n 'white': '#fff',\n 'black': '#000',\n 'gray-light': '#999',\n 'gray-lighter': '#eee',\n 'gray': '#666',\n 'gray-dark': '#343434',\n 'gray-darker': '#222',\n 'gray-semi-light': '#777',\n 'gray-semi-lighter': '#ddd',\n 'brand-primary': '#5d8fc2',\n 'brand-success': '#64bd63',\n 'brand-warning': '#f0b518',\n 'brand-danger': '#dd5826',\n 'brand-info': '#5dc4bf'\n },\n screens: {\n 'xs-max': 543,\n 'sm-min': 544,\n 'sm-max': 767,\n 'md-min': 768,\n 'md-max': 991,\n 'lg-min': 992,\n 'lg-max': 1199,\n 'xl-min': 1200\n },\n navCollapseTimeout: 2500\n },\n state: {\n 'nav-static': false\n }\n };\n\n _resizeCallbacks = [];\n _screenSizeCallbacks = {\n xs: {enter: [], exit: []},\n sm: {enter: [], exit: []},\n md: {enter: [], exit: []},\n lg: {enter: [], exit: []},\n xl: {enter: [], exit: []}\n };\n\n isScreen(size): boolean {\n const screenPx = window.innerWidth;\n return (screenPx >= this.config.settings.screens[size + '-min'] || size === 'xs')\n && (screenPx <= this.config.settings.screens[size + '-max'] || size === 'xl');\n }\n\n getScreenSize(): string {\n const screenPx = window.innerWidth;\n if (screenPx <= this.config.settings.screens['xs-max']) { return 'xs'; }\n if ((screenPx >= this.config.settings.screens['sm-min'])\n && (screenPx <= this.config.settings.screens['sm-max'])) { return 'sm'; }\n if ((screenPx >= this.config.settings.screens['md-min'])\n && (screenPx <= this.config.settings.screens['md-max'])) { return 'md'; }\n if ((screenPx >= this.config.settings.screens['lg-min'])\n && (screenPx <= this.config.settings.screens['lg-max'])) { return 'lg'; }\n if (screenPx >= this.config.settings.screens['xl-min']) { return 'xl'; }\n }\n\n onScreenSize(size, fn, /* Boolean= */ onEnter): void {\n onEnter = typeof onEnter !== 'undefined' ? onEnter : true;\n if (typeof size === 'object') {\n for (let i = 0; i < size.length; i++) {\n this._screenSizeCallbacks[size[i]][onEnter ? 'enter' : 'exit'].push(fn);\n }\n } else {\n this._screenSizeCallbacks[size][onEnter ? 'enter' : 'exit'].push(fn);\n }\n\n }\n\n changeColor(color, ratio, darker): string {\n const pad = function (num, totalChars): number {\n const padVal = '0';\n num = num + '';\n while (num.length < totalChars) {\n num = padVal + num;\n }\n return num;\n };\n // Trim trailing/leading whitespace\n color = color.replace(/^\\s*|\\s*$/, '');\n\n // Expand three-digit hex\n color = color.replace(\n /^#?([a-f0-9])([a-f0-9])([a-f0-9])$/i,\n '#$1$1$2$2$3$3'\n );\n\n // Calculate ratio\n const difference = Math.round(ratio * 256) * (darker ? -1 : 1),\n // Determine if input is RGB(A)\n rgb = color.match(new RegExp('^rgba?\\\\(\\\\s*' +\n '(\\\\d|[1-9]\\\\d|1\\\\d{2}|2[0-4][0-9]|25[0-5])' +\n '\\\\s*,\\\\s*' +\n '(\\\\d|[1-9]\\\\d|1\\\\d{2}|2[0-4][0-9]|25[0-5])' +\n '\\\\s*,\\\\s*' +\n '(\\\\d|[1-9]\\\\d|1\\\\d{2}|2[0-4][0-9]|25[0-5])' +\n '(?:\\\\s*,\\\\s*' +\n '(0|1|0?\\\\.\\\\d+))?' +\n '\\\\s*\\\\)$'\n , 'i')),\n alpha = !!rgb && rgb[4] !== null ? rgb[4] : null,\n\n // Convert hex to decimal\n decimal = !!rgb ? [rgb[1], rgb[2], rgb[3]] : color.replace(\n /^#?([a-f0-9][a-f0-9])([a-f0-9][a-f0-9])([a-f0-9][a-f0-9])/i,\n function (): string {\n return [\n parseInt(arguments[1], 16),\n parseInt(arguments[2], 16),\n parseInt(arguments[3], 16)\n ].join(',');\n }\n ).split(/,/);\n\n // Return RGB(A)\n return !!rgb ?\n 'rgb' + (alpha !== null ? 'a' : '') + '(' +\n Math[darker ? 'max' : 'min'](\n parseInt(decimal[0], 10) + difference, darker ? 0 : 255\n ) + ', ' +\n Math[darker ? 'max' : 'min'](\n parseInt(decimal[1], 10) + difference, darker ? 0 : 255\n ) + ', ' +\n Math[darker ? 'max' : 'min'](\n parseInt(decimal[2], 10) + difference, darker ? 0 : 255\n ) +\n (alpha !== null ? ', ' + alpha : '') +\n ')' :\n // Return hex\n [\n '#',\n pad(Math[darker ? 'max' : 'min'](\n parseInt(decimal[0], 10) + difference, darker ? 0 : 255\n ).toString(16), 2),\n pad(Math[darker ? 'max' : 'min'](\n parseInt(decimal[1], 10) + difference, darker ? 0 : 255\n ).toString(16), 2),\n pad(Math[darker ? 'max' : 'min'](\n parseInt(decimal[2], 10) + difference, darker ? 0 : 255\n ).toString(16), 2)\n ].join('');\n }\n\n lightenColor(color, ratio): any {\n return this.changeColor(color, ratio, false);\n }\n\n darkenColor(color, ratio): any {\n return this.changeColor(color, ratio, true);\n }\n\n max(array): any {\n return Math.max.apply(null, array);\n }\n\n min(array): any {\n return Math.min.apply(null, array);\n }\n\n _initResizeEvent(): void {\n let resizeTimeout;\n\n jQuery(window).on('resize', () => {\n clearTimeout(resizeTimeout);\n resizeTimeout = setTimeout(() => {\n jQuery(window).trigger('sn:resize');\n }, 100);\n });\n }\n\n _initOnScreenSizeCallbacks(): void {\n let resizeTimeout,\n prevSize = this.getScreenSize();\n\n jQuery(window).resize(() => {\n clearTimeout(resizeTimeout);\n resizeTimeout = setTimeout(() => {\n const size = this.getScreenSize();\n if (size !== prevSize) { // run only if something changed\n // run exit callbacks first\n this._screenSizeCallbacks[prevSize].exit.forEach((fn) => {\n fn(size, prevSize);\n });\n // run enter callbacks then\n this._screenSizeCallbacks[size].enter.forEach((fn) => {\n fn(size, prevSize);\n });\n }\n prevSize = size;\n }, 100);\n });\n }\n\n constructor() {\n this._initResizeEvent();\n this._initOnScreenSizeCallbacks();\n }\n\n getConfig(): Config {\n return this.config;\n }\n}\n\n","import { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { CacheService } from './common/cache.service';\n\nimport { BaseUriInterceptor } from './common/interceptors/base-uri.interceptor';\nimport { CacheInterceptor } from './common/interceptors/cache.interceptor';\nimport { CityInterceptor } from './common/interceptors/city.interceptor';\nimport { ErrorInterceptor } from './common/interceptors/error.interceptor';\nimport { TokenInterceptor } from './common/interceptors/token.interceptor';\nimport { StorageService } from './common/storage.service';\n\nexport const INTERCEPTORS = [\n StorageService,\n CacheService,\n {\n provide: HTTP_INTERCEPTORS,\n useClass: BaseUriInterceptor,\n multi: true\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: TokenInterceptor,\n multi: true\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: CityInterceptor,\n multi: true\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ErrorInterceptor,\n multi: true\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: CacheInterceptor,\n multi: true\n }\n];\n","import { HttpClientModule, HttpClient, HttpHeaders } from '@angular/common/http';\nimport { APP_INITIALIZER, Inject, Injector, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { RouterModule } from '@angular/router';\nimport { OAuthModule } from 'angular-oauth2-oidc';\nimport {ExperimentationService} from './shared/experimentation.service';\n\nimport {\n AuthGuard,\n AuthService,\n CitiesService,\n LoginAuthGuard,\n PermissionGuard,\n PermissionService,\n RedirectGuard,\n ToastrService\n} from '../app/common/index';\n\nimport { App } from './app.component';\nimport { AppConfig } from './app.config';\nimport { INTERCEPTORS } from './app.interceptors';\nimport { ROUTES } from './app.routing';\nimport { AuthHelper } from './common/auth/auth.helper';\nimport { AppCommonModule } from './common/common.module';\nimport { DateService } from './common/date/date.service';\nimport { FeatureService } from './common/feature.service';\nimport { GetCitiesService } from './common/get-cities.service';\nimport { DynamicModalModule } from './common/modals/dynamic-modal/dynamic-modal.module';\nimport { SpinnerService } from './common/spinner/spinner.service';\nimport { ErrorComponent } from './common/error/error.component';\nimport { AnalyticsService } from './common/analytics.service';\nimport { InterceptorLoggedHttpParams, InterceptorRequestConfig } from './common/error-logging/interceptor-http-params';\nimport { SOURCE_TOKEN_VALIDATION } from './common/error-logging/const/error-logging-sources';\nimport { AuthErrorComponent } from './common/auth/auth-error/auth-error.component';\n\nimport { HEADER_KEYS, V2_HEADER } from './overview-v2/document-transcription-v2/shared/constants';\nimport { HealthCheckComponent } from './health-check/health-check.component';\nimport { AnalytikaV2Service } from './shared/analytika-v2.service';\nimport { ServiceAccessDisabledGuardService } from './service-access-disabled/service-access-disabled.service.guard';\n\nconst APP_PROVIDERS = [\n AppConfig,\n AuthService,\n AuthHelper,\n AuthGuard,\n DateService,\n ToastrService,\n PermissionService,\n PermissionGuard,\n RedirectGuard,\n CitiesService,\n SpinnerService,\n LoginAuthGuard,\n GetCitiesService,\n FeatureService,\n AnalyticsService,\n ExperimentationService,\n AnalytikaV2Service,\n];\n\n/**\n * `AppModule` is the main entry point into Angular2's bootstrapping process\n */\n@NgModule({\n bootstrap: [App],\n declarations: [\n App,\n ErrorComponent,\n AuthErrorComponent,\n HealthCheckComponent,\n ],\n imports: [\n BrowserAnimationsModule,\n AppCommonModule,\n BrowserModule,\n DynamicModalModule,\n FormsModule,\n ReactiveFormsModule,\n HttpClientModule,\n RouterModule.forRoot(ROUTES, { useHash: true, initialNavigation: 'disabled', relativeLinkResolution: 'legacy' }),\n OAuthModule.forRoot()\n ],\n providers: [\n ...APP_PROVIDERS,\n {\n provide: APP_INITIALIZER,\n useFactory: validateTokenFactory,\n deps: [Injector],\n multi: true\n },\n ...INTERCEPTORS,\n ServiceAccessDisabledGuardService\n ],\n})\nexport class AppModule {}\n\nexport function validateTokenFactory(injector: Injector) {\n return () => {\n return new Promise(resolve => {\n setTimeout(() => {\n const http: HttpClient = injector.get(HttpClient);\n const authService: AuthService = injector.get(AuthService);\n if (!authService.getToken()) return resolve();\n const interceptorConf: InterceptorRequestConfig = {\n errorSource: SOURCE_TOKEN_VALIDATION,\n customAttributes: { token: authService.getToken() }\n };\n const params = new InterceptorLoggedHttpParams(interceptorConf, null );\n const headers = new HttpHeaders({\n [V2_HEADER]: '1',\n [HEADER_KEYS['auth-token-update']]: '1',\n [HEADER_KEYS['sg-auth-token']]: '1',\n ['x-city-id']: localStorage.getItem('sg_city_id') || '',\n });\n http\n .get('/auth/admin/validate-token', { params, headers })\n .subscribe(()=> {resolve()}, (err) => {\n authService.logout();\n resolve();\n });\n });\n });\n };\n}\n","import { Routes } from '@angular/router';\n\n// Components\nimport { ErrorComponent } from './common/error/error.component';\n\n// Injectors\nimport { AuthGuard } from './common';\nimport { AuthErrorComponent } from './common/auth/auth-error/auth-error.component';\nimport { HealthCheckComponent } from './health-check/health-check.component';\nimport { ServiceAccessDisabledComponent } from './service-access-disabled/service-access-disabled.component';\nimport { ServiceAccessDisabledGuardService } from './service-access-disabled/service-access-disabled.service.guard';\nimport { ROUTES_URLS } from './common/constants';\n\nexport const ROUTES: Routes = [\n {\n path: '',\n canActivate: [AuthGuard],\n loadChildren: () => import('./shell/shell.module').then(m => m.ShellModule)\n },\n { path: 'health-check', component: HealthCheckComponent },\n { path: 'auth-error', component: AuthErrorComponent },\n { path: 'error', component: ErrorComponent },\n { path: ROUTES_URLS.service_access_disabled, component: ServiceAccessDisabledComponent,\n canActivate: [ServiceAccessDisabledGuardService]\n },\n { path: '**', component: ErrorComponent },\n];\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class CarCheckService {\n formats: Array = ['image/jpeg', 'image/png', 'application/pdf'];\n constructor(\n private readonly httpClient: HttpClient\n ) {}\n\n getCars(page = 1, search = '', statusId?: string, sortBy?: string,\n sortOrder?: string): Observable {\n const args: any = { };\n args.page = String(page);\n if (search) {\n args.search = search;\n }\n if (statusId !== '0') {\n args.status_id = statusId;\n }\n if (sortBy) {\n args.sort_by = sortBy;\n }\n if (sortOrder) {\n args.sort_order = sortOrder;\n }\n return this.httpClient.get('car/list', { params: new HttpParams({ fromObject: args }) });\n }\n\n getCarsById(id: number) {\n return this.httpClient.get(`car/list/${id}`);\n }\n\n checkCar(status: any) {\n return this.httpClient.put(`carcheck/${status.id}`, status);\n }\n\n isImageUrl(url: string) {\n return(url.match(/\\.(jpeg|jpg|gif|png)$/) != null);\n }\n\n getCar(id: number) {\n return this.httpClient.get(`car/${id}`);\n }\n\n isValidFile(fileType: string) {\n return (this.formats.indexOf(fileType) > -1);\n }\n}\n","import { Injectable } from '@angular/core';\n\ndeclare let ga: Function;\n\nexport const DIMENSIONS = {\n admin: 'dimension2',\n country: 'dimension3',\n city: 'dimension4',\n franchise: 'dimension5',\n entity: 'dimension10',\n requestStatus: 'dimension11'\n};\n\nexport const METRICS = {\n duration: 'metric1'\n};\n\ntype CustomDimensions = {\n [key in keyof typeof DIMENSIONS]?: string | number\n};\n\ntype CustomMetrics = {\n [key in keyof typeof METRICS]?: string | number\n}\n\nexport interface AnalyticsEvent {\n eventCategory: string;\n eventAction: string;\n eventLabel?: string;\n eventValue?: number;\n customDimensions?: CustomDimensions;\n customMetrics?: CustomMetrics;\n}\n\n@Injectable()\nexport class AnalyticsService {\n\n public sendEvent(event: AnalyticsEvent): void {\n const gaEvent = {\n eventCategory: event.eventCategory,\n eventAction: event.eventAction,\n eventLabel: event.eventLabel,\n eventValue: event.eventValue\n };\n\n Object.keys(event.customDimensions || { })\n .filter(key => event.customDimensions[key])\n .forEach(key => gaEvent[DIMENSIONS[key]] = event.customDimensions[key]);\n\n Object.keys(event.customMetrics || { })\n .filter(key => event.customMetrics[key])\n .forEach(key => gaEvent[METRICS[key]] = event.customMetrics[key]);\n\n ga('send', 'event', gaEvent);\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'app-auth-error',\n templateUrl: './auth-error.component.html',\n styleUrls: ['./auth-error.component.scss']\n})\nexport class AuthErrorComponent implements OnInit {\n\n message = '';\n\n constructor(private readonly activatedRoute: ActivatedRoute) { }\n\n ngOnInit() {\n this.message = this.activatedRoute.snapshot.queryParams['message'];\n }\n\n}","
\n
\n

OOPS!

\n

Login failed with error: {{ message || 'N/A' }}. Please contact your administrator!

\n
\n
","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\n\nimport { AuthService } from './auth.service';\n\n@Injectable()\nexport class AuthGuard implements CanActivate {\n\n constructor(\n private authService: AuthService\n ) {}\n\n canActivate() {\n if (this.authService.getToken() && this.authService.getCityId()) {\n return true;\n }\n\n this.authService.redirectToLogin();\n return false;\n }\n}\n","\nimport { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { map, mergeMap, tap } from 'rxjs/operators';\n\nimport { GetCitiesService } from '../get-cities.service';\nimport { SpinnerService } from '../spinner/spinner.service';\n\nimport { AuthService } from './auth.service';\nimport { from } from 'rxjs';\nimport { ServiceAccessDiableToggleService } from 'src/app/service-access-disabled/service-access-disabled-toggle.service';\nimport { ROUTES_URLS } from '../constants';\n\nexport interface LoginPayload {\n email: string;\n password: string;\n}\n\n@Injectable()\nexport class AuthHelper {\n\n constructor(\n private readonly authService: AuthService,\n private readonly router: Router,\n private readonly citiesService: GetCitiesService,\n private readonly spinnerService: SpinnerService,\n private readonly serviceAccessDiableToggleService: ServiceAccessDiableToggleService\n ) { }\n\n initLogin() {\n from(this.authService.initOAuthFlow())\n .pipe(\n tap(() => this.spinnerService.change(true)),\n mergeMap(redirectUri => this.citiesService.getCities().pipe(map((cities: any) => ({ cities, redirectUri }))))\n )\n .subscribe(({ cities, redirectUri }) => {\n this.spinnerService.change(false);\n\n if (!this.authService.getCityId()) {\n this.authService.setCityId(String(cities[0].id));\n }\n\n this.setRedirection(cities, redirectUri);\n }, error => {\n this.spinnerService.change(false);\n this.router.navigate(['/auth-error'], { queryParams: { message: error } });\n });\n }\n\n setRedirection(cities, redirectUri) {\n this.serviceAccessDiableToggleService.serviceAccessDisableCheck({\n supply_gate_city: this.authService.getUserInfo()?.city_id,\n country_code: this.authService.getUserInfo()?.city?.country?.code,\n }).subscribe((disabled: boolean) => {\n if (disabled) {\n this.router.navigate([`/${ROUTES_URLS.service_access_disabled}`]);\n } else {\n this.citiesService.citiesList(cities);\n const redirectUriPath: string = redirectUri.path;\n const routerPath: string = redirectUriPath.indexOf(ROUTES_URLS.service_access_disabled) > -1 ? '' : redirectUriPath;\n this.router.navigate([routerPath], { queryParams: redirectUri.queryParams });\n }\n });\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable, of, forkJoin } from 'rxjs';\n\nimport { DateService } from '../date/date.service';\nimport { environment } from '../../../environments/environment';\nimport { User } from '../../user-management/user';\nimport { map, catchError, tap } from 'rxjs/operators';\nimport { ApiResponse } from '../models/response';\nimport { OAuthService, UrlHelperService } from 'angular-oauth2-oidc';\nimport { JwksValidationHandler } from 'angular-oauth2-oidc-jwks';\nimport { SpinnerService } from '../spinner/spinner.service';\nimport { CacheService } from '../cache.service';\n\n@Injectable()\nexport class AuthService {\n refreshCount = 0;\n private user: User = null;\n\n constructor(\n private readonly httpClient: HttpClient,\n private readonly router: Router,\n private readonly dateService: DateService,\n private readonly oauthService: OAuthService,\n private readonly urlHelperService: UrlHelperService,\n private readonly spinnerService: SpinnerService,\n private readonly cacheService: CacheService,\n ) {}\n\n initOAuthFlow() {\n this.oauthService.configure({\n clientId: environment.identityClientId,\n issuer: environment.identityIssuer,\n redirectUri: `${window.location.protocol}//${window.location.host}/${environment.identityRedirectUri}`,\n scope: environment.identityScope\n });\n this.oauthService.tokenValidationHandler = new JwksValidationHandler();\n this.oauthService.setStorage(localStorage);\n\n const queryParams: any = this.urlHelperService.getHashFragmentParams();\n if (queryParams && queryParams.error && queryParams.error_description) {\n return Promise.reject(queryParams.error_description);\n }\n\n return this.oauthService.loadDiscoveryDocumentAndTryLogin()\n .then(didFetchToken => {\n const hash = window.location.hash.substring(1);\n\n if (!this.oauthService.hasValidAccessToken()) {\n this.oauthService.initImplicitFlow(encodeURIComponent(hash));\n }\n\n if (didFetchToken || !this.isSGTokenValid()) {\n return this.expirePreviousSGTokenAndFetchNew()\n .toPromise()\n .then(() => this.getCurrentPath(this.oauthService.state || hash));\n }\n\n return this.getCurrentPath(hash);\n });\n }\n\n me(): Observable {\n if (this.user !== null) {\n return of(this.user);\n } else {\n return this.httpClient.get(`supply/gate/admin/me`)\n .pipe(\n map(res => res['data'] ),\n map(user => {\n this.user = user;\n return user;\n })\n );\n }\n }\n\n logout() {\n this.redirectToLogin();\n }\n\n setExpiry(expiry: string) {\n localStorage.setItem('token_expiry',\n String(this.dateService.getRelativeDate('add', 'seconds', Number(expiry)).getTime()));\n }\n\n setAllowedCities(cities: Array) {\n localStorage.setItem('allowed_cities', JSON.stringify(cities));\n }\n\n setCityId(cityId: string) {\n localStorage.setItem('sg_city_id', cityId);\n }\n\n getCityId(): string | undefined {\n return localStorage.getItem('sg_city_id');\n }\n\n redirectToLogin() {\n this.cacheService.deleteCache();\n this.oauthService.logOut();\n this.removeToken();\n window.open(environment.identityIssuer, '_self');\n }\n\n clearSession(): Observable {\n return this.httpClient.post('supply/gate/logout', null);\n }\n\n redirectToDashboard() {\n this.router.navigateByUrl(`/overview`);\n }\n\n getToken(): string {\n return localStorage.getItem('token');\n }\n\n getCareemAccessToken() {\n return localStorage.getItem('access_token');\n }\n\n setToken(data: Response) {\n localStorage.setItem('token', data['token'] || data['access_token']);\n }\n\n decodeTokenToBase64(token: string) {\n const base64 = token.split('.')[1].replace('-', '+').replace('_', '/');\n return JSON.parse(atob(base64));\n }\n\n setUserInfo(user: string) {\n localStorage.setItem('userInfo', user);\n }\n\n getUserInfo() {\n return JSON.parse(localStorage.getItem('userInfo'));\n }\n\n getUserRoles() {\n const user = this.getUserInfo();\n return user['roles'];\n }\n\n decodeToken(token: string): any {\n return this.decodeTokenToBase64(token);\n }\n\n saveToken(data: Response) {\n this.setToken(data);\n const decodedToken = this.decodeToken(data['token'] || data['access_token']);\n this.setUserInfo(JSON.stringify(decodedToken.user));\n this.setExpiry(data['expires_in']);\n if (decodedToken['allowed_cities']) {\n this.setAllowedCities(decodedToken['allowed_cities']);\n }\n }\n\n removeToken() {\n localStorage.removeItem('sg_city_id');\n localStorage.removeItem('token');\n localStorage.removeItem('tokenExpiry');\n localStorage.removeItem('token_expiry');\n localStorage.removeItem('userInfo');\n localStorage.removeItem('allowed_cities');\n localStorage.removeItem('careem_access_token');\n }\n\n getHeadersForServices(isV2: boolean = false, isSGAuthToken: boolean = false) {\n return this.filterHeaders({\n 'accessToken': this.getCareemAccessToken(),\n ...(isSGAuthToken && {\n 'SG-Auth-Token': this.getToken(),\n }),\n ...(!isSGAuthToken && {\n 'Authorization': isV2 ? this.getToken() : `Bearer ${this.getToken()}`,\n })\n });\n }\n\n getHeadersForCaptainGateway(authToken?: string) {\n const headers = {\n 'Authorization': 'bearer ' + (authToken || this.getCareemAccessToken()),\n 'SG-Auth-Token': this.getToken(),\n 'User-Id': this.getUserInfo() ? (this.getUserInfo()['id']).toString() : null\n };\n const providerAccessKey = environment.providerAccessKey;\n\n if (providerAccessKey != null) {\n headers['Provider-Access-Key'] = providerAccessKey;\n }\n\n return this.filterHeaders(headers);\n }\n\n isSGTokenExpired() {\n const tokenExpiry = Number(localStorage.getItem('token_expiry'));\n return tokenExpiry && tokenExpiry < new Date().getTime();\n }\n\n private filterHeaders(headers: any) {\n return Object.keys(headers)\n .filter(key => headers[key])\n .filter(key => typeof headers[key] !== 'string'\n || headers[key].substr('Bearer '.length) !== 'null')\n .reduce((headerObj, key) => {\n headerObj[key] = headers[key];\n return headerObj;\n }, { });\n }\n\n private expirePreviousSGTokenAndFetchNew() {\n this.spinnerService.change(true);\n return forkJoin([\n this.isSGTokenValid() ? this.clearSession().pipe(catchError(() => of(null))) : of(null),\n this.httpClient.post('supply/gate/admin/token', null)\n ])\n .pipe(\n tap(() => this.spinnerService.change(false)),\n map(([logoutResponse, tokenResponse]) => (tokenResponse as ApiResponse).data),\n tap(tokenData => this.saveToken(tokenData))\n );\n }\n\n private getCurrentPath(path = '/') {\n const queryParamIndex = path.indexOf('?');\n const isQueryParamPresent = queryParamIndex >= 0;\n return {\n path: path.substring(0, isQueryParamPresent ? queryParamIndex : path.length),\n queryParams: this.urlHelperService.parseQueryString(isQueryParamPresent ? path.substring(queryParamIndex + 1) : null)\n };\n }\n\n private isSGTokenValid(): boolean {\n return this.getToken() && !this.isSGTokenExpired();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, Router } from '@angular/router';\n\nimport { AuthService } from './auth.service';\n\n@Injectable()\nexport class LoginAuthGuard implements CanActivate {\n\n constructor(\n private readonly authService: AuthService,\n private readonly router: Router\n ) {\n }\n\n canActivate(routeSnapshot: ActivatedRouteSnapshot) {\n if (!this.authService.getToken()) {\n return true;\n }\n if (routeSnapshot.queryParams['redirectRef']) {\n const url: string = routeSnapshot.queryParams['redirectRef'];\n const params = { id: routeSnapshot.queryParams['id'] };\n this.router.navigate([url], { queryParams: params });\n return false;\n } else {\n this.authService.redirectToDashboard();\n return false;\n }\n\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpRequest, HttpResponse } from '@angular/common/http';\nimport { API_V2 } from '../overview-v2/document-transcription-v2/shared/constants';\n\n@Injectable()\nexport class CacheService {\n private readonly URLS_TO_CACHE;\n private readonly cacheMap = new Map();\n\n constructor() {\n this.URLS_TO_CACHE = [\n '/api/user/cities',\n '/api/user/cities?showall=1'\n ];\n }\n\n get(req: HttpRequest): HttpResponse | null {\n const cache = this.cacheMap.get(req.urlWithParams);\n if (!cache) {\n return null;\n }\n return cache.response;\n }\n\n set(req: HttpRequest, res: HttpResponse): void {\n const entry = { url: req.urlWithParams, response: res, entryTime: Date.now() };\n this.cacheMap.set(req.urlWithParams, entry);\n }\n\n deleteCache() {\n this.cacheMap.forEach(entry => {\n this.cacheMap.delete(entry.url);\n });\n }\n\n isRequestCachable(req: HttpRequest) {\n return req.method === 'GET' && this.shouldURLBeCached(req.urlWithParams);\n }\n\n private shouldURLBeCached(url) {\n return this.URLS_TO_CACHE.some(item => url.indexOf(item) > -1);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable , Subject } from 'rxjs';\n\nimport { City } from './city';\n\n@Injectable()\nexport class CitiesService {\n currentCity: string;\n previousCity: string;\n city: City;\n private readonly subject = new Subject();\n\n constructor(private readonly httpClient: HttpClient) {}\n\n changeCity(city: string, offset?: number, onlineLocations = 0) {\n this.city = { city, offset, online_locations_count: onlineLocations };\n localStorage.setItem('sg_city_id', city);\n this.subject.next(this.city);\n }\n\n getCity(): Observable {\n return this.subject.asObservable();\n }\n\n getCityInfo(): City {\n return this.city;\n }\n\n getCoreCityId() {\n const selectCitId = localStorage.getItem('sg_city_id')\n return this.httpClient.get(`cities/${selectCitId}`);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { ConfirmationPopoverModule } from 'angular-confirmation-popover';\nimport { DataTableModule } from '@pascalhonegger/ng-datatable';\nimport { NKDatetimeModule } from 'ng2-datetime/ng2-datetime';\nimport { NgSelect2Module } from 'ng-select2';\nimport { AlertModule, TooltipModule, BsDropdownModule,\n ButtonsModule, ModalModule, PaginationModule } from 'ngx-bootstrap';\nimport { WebcamModule } from 'ngx-webcam';\n\nimport { CarCheckService } from '../car-check/car-check.service';\nimport { OverviewService } from '../overview/overview.service';\nimport { TrainerManagementService } from '../trainer-management/trainer-management.service';\nimport { TrainingSlotsService } from '../training-slots/training-slots.service';\nimport { UserManagementService } from '../user-management/user-management.service';\n\nimport { LanguagesService, LocationsService, TrainersService, UsersService } from './';\nimport { CountriesService } from './countries.service';\nimport { DownloadDataTableComponent } from './download-data-table/download-data-table.component';\nimport { FileUploaderComponent } from './file-uploader/file-uploader.component';\nimport { ImageViewer } from './image-viewer/image-viewer.component';\nimport { AddLimoCompanyModalComponent } from './modals/add-limo-company/add-limo-company.component';\nimport { AddTrainerModalComponent } from './modals/add-trainer/add-trainer.component';\nimport { AddUserModalComponent } from './modals/add-user/add-user.component';\nimport { BookSlotModalComponent } from './modals/book-slot/book-slot.component';\nimport { ChangeTrainingModal } from './modals/change-training/change-training.component';\nimport { CheckCarModalComponent } from './modals/check-car/check-car.component';\nimport { TrainingSlotModalComponent } from './modals/create-training-slot/training-slot.component';\nimport { DeleteLimoCompanyModalComponent } from './modals/delete-limo-company/delete-limo-company.component';\nimport { ImportLimoCompanyModalComponent } from './modals/import-limo-company/import-limo-company.component';\nimport { LimoImportErrorModalComponent } from './modals/limo-import-error/limo-import-error.component';\nimport { MessagePopupComponent } from './modals/message-popup/message-popup.component';\nimport { PromptComponent } from './modals/prompt/prompt.component';\nimport { SupplierDetailsModalComponent } from './modals/supplier-details/supplier-detais.component';\nimport { SpinnerComponent } from './spinner/spinner';\nimport { ValidateEqualDirective } from './validate-equal/validate-equal.directive';\nimport { NotEqualDirective } from './validation/not-equal.directive';\nimport { SwitchButtonComponent } from './switch-button/switch-button.component';\nimport { CameraModalComponent } from './modals/camera/camera.component';\n\n@NgModule({\n providers: [\n TrainersService,\n UsersService,\n LocationsService,\n LanguagesService,\n OverviewService,\n TrainingSlotsService,\n TrainerManagementService,\n CountriesService,\n UserManagementService,\n CarCheckService\n ],\n declarations: [\n BookSlotModalComponent,\n AddTrainerModalComponent,\n AddUserModalComponent,\n MessagePopupComponent,\n TrainingSlotModalComponent,\n AddLimoCompanyModalComponent,\n ImageViewer,\n ImportLimoCompanyModalComponent,\n DeleteLimoCompanyModalComponent,\n ChangeTrainingModal,\n LimoImportErrorModalComponent,\n CheckCarModalComponent,\n FileUploaderComponent,\n SupplierDetailsModalComponent,\n PromptComponent,\n NotEqualDirective,\n SpinnerComponent,\n ValidateEqualDirective,\n DownloadDataTableComponent,\n CameraModalComponent,\n SwitchButtonComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n NKDatetimeModule,\n ReactiveFormsModule,\n AlertModule.forRoot(),\n PaginationModule.forRoot(),\n ConfirmationPopoverModule.forRoot({\n confirmButtonType: 'success'\n }),\n ModalModule.forRoot(),\n ButtonsModule.forRoot(),\n DataTableModule,\n BsDropdownModule.forRoot(),\n TooltipModule.forRoot(),\n WebcamModule,\n NgSelect2Module\n ],\n exports: [\n SpinnerComponent,\n ValidateEqualDirective,\n DownloadDataTableComponent,\n ReactiveFormsModule,\n FormsModule,\n SwitchButtonComponent\n ]\n})\nexport class AppCommonModule {\n}\n","import { Select2OptionData } from 'ng-select2';\n\nexport const daysOption = [\n { id: 0, text: 'Sun' },\n { id: 1, text: 'Mon' },\n { id: 2, text: 'Tue' },\n { id: 3, text: 'Wed' },\n { id: 4, text: 'Thu' },\n { id: 5, text: 'Fri' },\n { id: 6, text: 'Sat' }\n];\n\nexport const hijriDateConfig = {\n startYear: 65,\n endYear: 65\n};\n\nexport const gregorianDateConfig = {\n minAge: 15,\n maxAge: 80\n}\n\nexport const selectAllOption = [{ id: '0', text: 'All' }];\n\nexport const slotModes = [\n { id: 'single', text: 'One time' },\n { id: 'repeat', text: 'Repeat' }\n];\n\nexport const slotTypes = [\n { id: 'daily', text: 'Daily' },\n { id: 'weekly', text: 'Weekly' },\n { id: 'monthly', text: 'Monthly' }\n];\n\nexport const regex = {\n email: /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\n name: /^[ A-Za-z./`'-]*$$/i,\n capacity: /^([1-9][0-9]{0,2}|1000)$/,\n frequency: /^([1-9]|[1]\\d|2[0-5])$/\n};\n\nexport const fileSizes = {\n maxLimit: 12 * 1000 * 1000, // 12 mb max size\n megaByte: 1000 * 1000,\n kilobyte: 1000\n};\n\nexport const userRoles = [\n { id: 1, text: 'Super Admin' },\n { id: 7, text: 'City Admin' },\n { id: 3, text: 'Transcriptor' }\n];\n\nexport const FRANCHISE_ROLES = ['franchise_admin', 'franchise_agent']; // roles table name column\n\nexport const VEHICLE_OVERVIEW_PARTS = {\n part: 'PROFILE,STATUS,ACTIONS_APPLICABLE,MAKE,MODEL'\n};\n\nexport const SUPPLIER_OVERVIEW_PARTS = {\n part: 'ALL'\n};\n\nexport const VEHICLE_TRANSCRIPTION_PARTS = {\n part: 'LIMO,DEDICATED_CAPTAIN_LEAD'\n};\n\nexport const userGroups = {\n trainer: 'trainer',\n admin: 'admin'\n};\n\nexport const trainingType: Array = [\n { id: '0', text: 'All' },\n { id: '1', text: 'Online' }\n];\n\nexport const reportType = {\n incompleteProfile: 'Download Incomplete Profile',\n completeProfile: 'Download Complete Profile',\n allCaptains: 'Download All Captains',\n allReports: 'Download Reports',\n optionalDocuments: 'Download Optional Documents',\n helpLeads: 'Download Help Leads',\n captains: 'Download Captains'\n};\n\nexport const buttonText = 'go to download history';\n\nexport const fileStatus = {\n pending: 0,\n generating: 1,\n completed: 2\n};\n\nexport enum PROFILE_STATUS {\n INCOMPLETE = 1,\n APPROVED = 2,\n REJECTED = 3,\n RESUBMISSION = 4,\n RETRAINING = 5,\n IN_PROCESS = 6\n}\n\nexport const ToastrMessages = {\n success: 'success',\n error: 'error',\n passwordUpdatedSuccess: 'Password updated successfully',\n noRecords: 'No more records available',\n recordUpdated: 'Record Updated Successfully',\n captainUpdated: 'Captain updated successfully',\n approvedCar: 'Approved Car Successfully',\n rejectedCar: 'Rejected Car Successfully',\n requestLarge: 'Could not complete operation. Request too large',\n requireImageFile: 'File Should be jpeg / png / jpg / gif',\n supportedFormats: 'Supported file formats are [.jpeg, .jpg, .png, .pdf]',\n fileSizeLimit: 'File size cannot be greater than 12MB',\n addedLimoSuccess: 'Limo Company Created successfully',\n addedVehicleSuccess: 'Vehicle created successfully',\n addedSupplierSuccess: 'Supplier created successfully',\n noSlots: 'No slot available for the provided date, location and language',\n userMovedSuccess: 'Successfully moved users and removed training',\n carStatusChanged: 'Car Status Successfully Updated',\n citySame: 'The Captain City is same as before',\n importCompaniesSuccess: 'Companies Imported Successfully',\n carStatuesUpdated: 'Car Status(es) updated successfully',\n trainerRemovedSuccess: 'Successfully removed trainer',\n trainingStarted: 'Training has started',\n trainingEnded: 'Training has ended',\n trainingRemoved: 'Successfully removed training',\n removedUserSuccess: 'Successfully removed user',\n cityUpdateSuccess: 'City updated successfully',\n captainAccountExistsError: 'A CaptainID (ADMA account) already exists for this Captain',\n sendOtpToCaptainForProfileValidationError: 'Existing captain profile detected. Unable to send OTP to Captain for his profile validation. Please try again later',\n captainAlreadyApproved: 'Captain is already approved, and ready to have an ADMA account',\n noCompaniesFound: 'No companies found matching your criteria',\n noValidSupplierSearchFormValues: 'Provided phone number or email is invalid',\n enableForMarketFirst: 'Document must be enabled for this market first',\n cmsNotSupported: 'The CMS feature is currently not supported for this city.',\n cmsCityStatusDoesNotExist: 'Something went wrong while checking if selected city does exist in local store',\n noUserFound: 'No users found matching your criteria',\n noPhoneAgainstUser: 'No phone number associated with this customer!',\n otpSendError: 'Error sending OTP to phone number'\n};\n\nexport const DOCUMENT_UPLOAD_VIA = {\n FILE: 1,\n WEBCAM: 2\n}\n\nexport const BLOCKING_STATUS_COLOR_CODES = {\n \"Permanent Blocked\": \"#d80005\",\n \"Temporary Blocked\": \"#f56e00\",\n \"Active\": \"#28bb4e\",\n \"Probation\": \"#4285f4\",\n}\n\nexport const UNBLOCKING_MODES = {\n AUTOMATIC_UNBLOCK: \"Will be unblocked automatically after the time mentioned in the comment and also shown to the Captain on home screen\",\n ONLINE_TRAINING: \"Online re-training needs to be done. A link is sent to the Captain in a push notification, can also be accessed from the ADMA / IDMA homescreen. Will be immediately unblocked after completing the training and passing a test\",\n OFFLINE_TRAINING_IN_BOUND: \"Captain needs to come to the office / OC and take a manual training\",\n OFFLINE_TRAINING_OUT_BOUND: \"Captain will receive a call from Careem for a training\",\n DOCUMENT_UPLOAD: \"Captain needs to upload up-to-date valid documents through Captain Portal. Will be unblocked within 1-2 working days after verification\",\n CAR_INSPECTION: \"Captain needs to check his messages for the exact instructions on where to take the vehicle for inspection and next steps\",\n MANUAL_IN_BOUND: \"Captain needs to visit the OC / Careem office, understand the issue, get the training (if required) and a ticket will be raised for him to get unblocked. Will be unblocked within 1-2 days\",\n MANUAL_OUT_BOUND: \"Captain will receive a call from Careem for the next steps\",\n}\n\nexport enum SG_ADMIN_CONSOLE_EVENTS {\n SG_FE_viewed = 'SG_FE_viewed',\n SG_FE_CTA_clicked = 'SG_FE_CTA_clicked',\n 'SG_FE_closed/cancelled' = 'SG_FE_closed/cancelled',\n SG_FE_error = 'SG_FE_error',\n DOCUMENT_APPROVAL_VIEW = 'DOCUMENT_APPROVAL_VIEW',\n DOCUMENT_APPROVAL_VIEW_RE_INIT = 'DOCUMENT_APPROVAL_VIEW_RE_INIT',\n DOCUMENT_APPROVAL_SAVE_NEXT = 'DOCUMENT_APPROVAL_SAVE_NEXT',\n DOCUMENT_APPROVAL_SKIP = 'DOCUMENT_APPROVAL_SKIP',\n DOCUMENT_APPROVAL_SAVE_ERROR = 'DOCUMENT_APPROVAL_SAVE_ERROR'\n}\n\nexport const screens: { [key: string]: string } = {\n CREATE_TICKET: 'create_ticket_page',\n TICKET_HISTORY: 'ticket_history_page',\n DOCUMENT_APPROVAL: 'document_approval_page',\n}\n\nexport const events: { [key: string]: string } = {\n PAGE_OPEN: 'page_open',\n BLOCK_HISTORY_CLICKED: 'block_history_clicked'\n}\n\nexport const PROJECT_NAME = 'supply_gate_admin_console';\n\nexport enum SG_GALILEO_VARIABLES {\n BLOCKING_HISTORY = 'blocking_history',\n DOCUMENT_TRANSCRIPTION_FLOW_REVAMP = 'document_transcription_flow_revamp',\n user_management_revamp = 'user_management_revamp',\n add_lead_revamp = 'add_lead_revamp',\n service_access_disabled = 'service_access_disabled'\n}\n\nexport const DEFAULT_STATUS = 1;\nexport const APPROVAL_STATUS = 2;\n\nexport const ANALYTIKA_SESSION_ID = '_sid';\n\nexport const INACTIVE_TIMEOUT = 30 * 60 * 1000; // specifically used for session timeout which is defined to 30 minutes. This format will help to understand the time\n\nexport enum ROUTES_URLS {\n 'document-transcription-v2' = 'document-transcription-v2',\n 'service_access_disabled' = 'service-access-disabled'\n}\n\nexport const HEADER_TRUTHY_VALUE = '1';\n\nexport const SERVICE_NAME = 'sg_admin_console';\n\nexport enum BUTTONS {\n doc_approval_save_next = 'doc_approval_save_next',\n doc_approval_skip = 'doc_approval_skip',\n};\n\nexport enum ANALYTIKA_V2_EVENTS {\n acqu_view_page = 'acqu_view_page',\n acqu_view_init_page = 'acqu_view_init_page',\n acqu_press_button = 'acqu_press_button',\n};\n\nexport const ANALYTIKA_V2_EVENT_DETAILS = {\n [ANALYTIKA_V2_EVENTS.acqu_view_page]: {\n VERSION: 1,\n SIGNATURE: 'AQEDEyB8AAAAAAAAALepwbVm9ENjmtYAtI6bp93nAEbczbNIzBI'\n },\n [ANALYTIKA_V2_EVENTS.acqu_view_init_page]: {\n VERSION: 1,\n SIGNATURE: 'AQEDEyB8AAAAAAAAALepwbVm9ENjmtYAtI6bp93nAEbczbNIzBI'\n },\n [ANALYTIKA_V2_EVENTS.acqu_press_button]: {\n VERSION: 2,\n SIGNATURE: 'AQIEEiB8AAAAAAAAAK1kT0CWuqMG6SffGfRRHcMVAAAV9GuA2PE'\n }\n};\n\nexport const enum ANALYTIKA_V2_SCREENS {\n document_approval_screen = 'document_approval_screen'\n};\n\nexport const ANALYTIKA_V2_EVENTS_PAGE_IDs = {\n [ANALYTIKA_V2_SCREENS.document_approval_screen]: 1\n};\n\nexport const ADD_CAPTAIN = 'add-captain';\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { HEADER_KEYS, V2_HEADER } from '../overview-v2/document-transcription-v2/shared/constants';\n\n@Injectable()\nexport class CountriesService {\n headers: { [key: string]: any } = {};\n\n constructor(private readonly httpClient: HttpClient) {\n this.headers = {\n [V2_HEADER]: \"1\",\n [HEADER_KEYS[\"auth-token-update\"]]: \"1\",\n [HEADER_KEYS[\"sg-auth-token\"]]: \"1\",\n [\"x-city-id\"]: localStorage.getItem(\"sg_city_id\") || \"\",\n };\n }\n\n getCountryList(showAll = false, isRevampVersion = false): Observable {\n const showAllParam = showAll ? \"showall=1\" : \"\";\n const url = isRevampVersion ? `/countries` : `countries?${showAllParam}`;\n const headers = {\n ...(isRevampVersion && {\n ...this.headers\n })\n };\n return this.httpClient.get(url, { headers });\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as moment from 'moment';\ndeclare var require;\nconst hmoment = require('moment-hijri');\n\nimport { CitiesService } from '../cities/cities.service';\nimport { hijriDateConfig } from '../constants';\n\n@Injectable()\nexport class DateService {\n offset: number;\n time: number;\n\n public formats = {\n date: 'YYYY-MM-DD',\n fullDate: 'YYYY-MM-DDTHH:mm:ss',\n fullISODate: 'DD MMM YYYY, hh:mm A',\n fullDateWithZone: 'YYYY-MM-DDTHH:mm:ssZ',\n fullDateWithoutZone: 'YYYY-MM-DDTHH:mm:ss+00:00'\n };\n\n constructor(private readonly citiesService: CitiesService) {\n this.citiesService.getCity()\n .subscribe((city) => this.setCity(city));\n }\n\n setCity(city: any) {\n this.offset = city.offset - moment().utcOffset();\n this.time = city.offset;\n }\n\n getDate(date: Date | string, pattern: string = this.formats.date, byCity?: boolean): string {\n return byCity ? moment(date).locale('en').add(this.offset, 'minutes').format(pattern) : moment(date).locale('en').format(pattern);\n }\n\n\n getFullDate(date: Date | string): string {\n return moment(date).locale('en').format(this.formats.fullDate);\n }\n\n getFullDateWithoutZone(date: Date | string): string {\n return moment(date).format(this.formats.fullDateWithoutZone);\n }\n\n getFullDateWithZone(date: Date | string, byCity?: boolean): string {\n if (byCity) {\n return moment(date).locale('en').add(this.offset, 'minutes').format(this.formats.fullDateWithZone);\n } else {\n return moment(date).locale('en').format(this.formats.fullDateWithZone);\n }\n }\n\n getCityDate(date?: Date | string): Date {\n if (!date) {\n return moment().locale('en').add(this.offset, 'minutes').toDate();\n }\n return moment(date).locale('en').add(this.offset, 'minutes').toDate();\n }\n\n getFullDateWithCityZone(date: Date | string): string {\n return moment(date).locale('en').seconds(0).format(this.formats.fullDate) + this.offsetToZone();\n }\n\n getRelativeDate(direction: string, unit: string, diff: number): Date {\n return moment()[direction](diff, unit).locale('en').toDate();\n }\n\n getDuration(startTime, endTime, diffUnit: string): any {\n return moment.duration(moment(startTime).locale('en').diff(moment(endTime)))[diffUnit]();\n }\n\n getISODate(date: Date | string): string {\n return moment(date).locale('en').toISOString();\n }\n\n getStartOfDay(date: Date | string, asDate?: boolean): any {\n if (asDate) {\n return moment(date).locale('en').startOf('day').toDate();\n }\n return moment(date).locale('en').startOf('day').format(this.formats.fullDateWithZone);\n }\n\n getEndOfDay(date: Date | string, asDate?: boolean): any {\n if (asDate) {\n return moment(date).locale('en').endOf('day').toDate();\n }\n return moment(date).locale('en').endOf('day').format(this.formats.fullDateWithZone);\n }\n\n getDayName(date: Date, format = 'DD MMM YYYY'): string {\n if (moment().isSame(date, 'day')) {\n return 'Today';\n } else if (moment().locale('en').add(1, 'days').isSame(date, 'day')) {\n return 'Tomorrow';\n }\n return this.getDate(date, format);\n }\n\n offsetToZone(): string {\n let time = this.time, zone = '';\n const prefix = time < 0 ? '-' : '+';\n time = time < 0 ? -time : time;\n zone = String(Math.floor(time / 60) < 10 ? '0' + Math.floor(time / 60) : Math.floor(time / 60));\n zone += ':' + (time % 60 < 10 ? '0' + time % 60 : time % 60 );\n return prefix + zone;\n }\n\n mergeDateAndTime(date: Date, time: Date): string {\n const currentDate = new Date(date).toDateString();\n const currentTime = new Date(time).toTimeString();\n return currentDate + ' ' + currentTime;\n }\n\n convertHijri(newDate: string): string {\n const isoFormat = this.getISODate(newDate);\n hmoment.locale('en');\n return hmoment(isoFormat, 'YYYY-MM-DDTHH:mm:ss.sssZ').format('iDD/iMM/iYYYY');\n }\n\n convertGregorian(newDate: string, format = 'MM/DD/YYYY'): string {\n return hmoment(newDate, 'iDD/iMM/iYYYY').format(format);\n }\n\n getEpochDate(date: string): Date {\n const newDate = Date.parse(date);\n return !isNaN(newDate) ? new Date(newDate) : undefined;\n }\n\n getHijriDateStartOptions() {\n return moment().locale('en').subtract(hijriDateConfig.startYear, 'y').toDate();\n }\n\n getHijriDateEndOptions() {\n return moment().locale('en').add(hijriDateConfig.endYear, 'y').toDate();\n }\n\n isValidHijriDate(date) {\n return moment(date).locale('en').isBetween(\n moment().locale('en').subtract(hijriDateConfig.startYear, 'y'),\n moment().locale('en').add(hijriDateConfig.endYear, 'y'));\n }\n\n reconstructDateIgnoringTime(date: Date): Date {\n const dateString = date.getFullYear().toString() + '-' +\n ('0' + (date.getMonth() + 1).toString()).slice(-2) + '-' +\n ('0' + date.getDate()).slice(-2);\n return new Date(Date.parse(dateString));\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\nimport { Pagination } from '../';\nimport { Captain } from '../../download-data/captain';\n\n@Component({\n selector: 'download-data-table',\n templateUrl: './download-data-table.template.html'\n})\n\nexport class DownloadDataTableComponent implements OnInit {\n\n @Input('captains') captains: Array;\n @Input('pagination') paginationObject: Pagination;\n @Input('currentPage') currentPage: Pagination;\n\n @Output('sortByEvent') sortByEvent = new EventEmitter();\n @Output('sortOrderEvent') sortOrderEvent = new EventEmitter();\n @Output('pageChangedEvent') pageChangedEvent = new EventEmitter();\n @Output('currentPageEvent') currentPageEvent = new EventEmitter();\n maxSize = 5;\n\n ngOnInit() {\n }\n\n onChangeSortBy(event) {\n this.sortByEvent.emit(event);\n }\n\n\n onChangeSortOrder(event) {\n this.sortOrderEvent.emit(event);\n }\n\n\n pageChanged(event) {\n this.pageChangedEvent.emit(event);\n }\n\n\n onModelChange(event) {\n this.currentPageEvent.emit(event);\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 Name\n \n E-mail\n \n Cell Phone\n \n Created At\n
{{item.first_name}} {{item.last_name}}{{item.email}}{{item.cell_phone}}{{item.created_at | date: 'EEEE MMM dd yyyy hh:mm a'}}
\n No matches\n
\n
\n
\n \n \n
\n
\n
","/**\n * Values here are used on NewRelic as a means to filter for specific error sources\n * More details in readme for NewRelic Insights\n */\n\nexport const SOURCE_TOKEN_VALIDATION = 'SG Validate Token';\n\n// Transcription\nexport const SOURCE_APPROVE_DOCUMENTS = 'SG Lead Transcription';\n\n// Add Leads\nexport const SOURCE_ADD_LEAD_CAPTAIN = 'SG Add Captain (lead)';\nexport const SOURCE_ADD_LEAD_SUPPLIER = 'SG Add Supplier (lead)';\nexport const SOURCE_ADD_LEAD_VEHICLE = 'SG Add Vehicle (lead)';\n\n// OTP\nexport const SOURCE_CAPTAIN_SEARCH_SERVICE = 'CaptainSearchService';\nexport const SOURCE_LIMO_COMPANY_SEARCH_SERVICE = 'LimoCompanySearchService';\nexport const SOURCE_SEND_OTP_TO_CAPTAIN = 'CaptainOtpVerification';\n\n// Overviews\nexport const SOURCE_OVERVIEW_V2_CAPTAIN = 'OverviewV2 (Captain)';\n\n// Other Services\nexport const SOURCE_USER_SERVICE = 'UserService';\nexport const SOURCE_CITIES_SERVICE = 'GetCitiesService';\nexport const SOURCE_MISC = 'Miscellaneous';\n","import { HttpParams } from '@angular/common/http';\n\n/**\n * If a http request used an instance of this extended class to provide parameters then we want to log this request in\n * case of errors\n */\nexport class InterceptorLoggedHttpParams extends HttpParams {\n constructor(\n public interceptorConfig: InterceptorRequestConfig,\n params?: { [param: string]: string | string[] }\n ) {\n super({ fromObject: params });\n }\n}\n\nexport interface InterceptorRequestConfig {\n errorSource?: string; // Where did the error happen? Can be used later to filter for specific error sources\n customAttributes?: {}; // All additional attributes that should be logged\n}\n","import { Component, ViewEncapsulation } from '@angular/core';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'error',\n styleUrls: [ './error.style.scss' ],\n templateUrl: './error.template.html',\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'error-page components'\n }\n})\nexport class ErrorComponent {\n router: Router;\n\n constructor(router: Router) {\n this.router = router;\n }\n\n searchResult(): void {\n this.router.navigate(['/extra', 'search']);\n }\n}\n","
\n
\n
\n
\n
\n

404

\n

\n Opps, it seems that this page does not exist.\n

\n \n
\n
\n
\n
\n\n
\n Careem 2017 © All Rights Reserved\n
\n
\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpBackend } from '@angular/common/http';\nimport { first, map, switchMap, tap } from 'rxjs/operators';\nimport { BehaviorSubject, Observable, of as observableOf } from 'rxjs';\nimport { HEADER_KEYS, V2_HEADER } from '../overview-v2/document-transcription-v2/shared/constants';\n\nexport interface IFeatures {\n ENABLE_SUPPLY_GATE_FRANCHISE_SUPPORT: boolean; // Enabled for some cities\n ENABLE_SUPPLY_GATE_ADD_CAPTAIN_V2: boolean; // Already removed by Rozmin Diff Shared\n ENABLE_SUPPLY_GATE_AC_ADD_CAPTAIN_IDENTITY: boolean; // Captain creation via Identity feature\n ENABLE_SG_NIC_VALIDATION: boolean; // Enabled for some cities\n ENABLE_SG_PROCEED_USER_ON_NIC_VALIDATION: boolean; // Enabled for some cities\n ENABLE_SG_NIC_SHOW_DUPLICATE_PROFILES: boolean; // Enabled for some cities\n ENABLE_SG_ADD_VEHICLE: boolean; // Enabled for some cities\n ENABLE_SG_ADD_SUPPLIER: boolean; // Enabled for some cities\n ENABLE_SG_SUPPORT_TICKET_MANAGEMENT: boolean; // Enabled for some cities\n ENABLE_SG_SUPPORT_DISPOSITION_MANAGEMENT: boolean; // Enabled for some cities\n ENABLE_SG_CITY_DOCUMENTS_CONFIGURATION: boolean; // Enabled for some cities\n ENABLE_SG_REPLICATE_EXISTING_CITY_ONLY: boolean; // WIP\n ENABLE_SG_SUPPORT_FILE_UPLOAD_TO_S3: boolean; // WIP (Monitoring)\n ENABLE_SG_BYPASS_DOCUMENT_EXPIRY: boolean; // Enabled for some countries\n ENABLE_SG_CAMERA_FOR_DOCUMENT_UPLOAD: boolean; // Enabled for Web Cam\n ENABLE_SUPPLY_GATE_AC_PROFILE_EDIT_POST_EXPORT: boolean; //Enabled for some cities\n}\n\ninterface IConfig {\n featureToggleKey: string;\n toggleState: boolean | number;\n}\n\n@Injectable()\nexport class FeatureService {\n features: IFeatures;\n featureByCityInitialized$: BehaviorSubject = new BehaviorSubject(null);\n featureInitialized$ = new BehaviorSubject(null);\n private readonly ngHttpClientWithoutInterceptor: HttpClient;\n headers: {[key: string]: any} = {};\n get selectedCityId() {\n return Number(localStorage.getItem('sg_city_id'));\n }\n\n constructor(\n private readonly httpClient: HttpClient,\n httpBackend: HttpBackend\n ) {\n this.ngHttpClientWithoutInterceptor = new HttpClient(httpBackend);\n this.headers = {\n [V2_HEADER]: '1',\n [HEADER_KEYS['auth-token-update']]: '1',\n [HEADER_KEYS['sg-auth-token']]: '1',\n ['x-city-id']: localStorage.getItem('sg_city_id') || '',\n };\n }\n\n fetchMergedConfigByCity(cityId?: number): Observable {\n if (!cityId) cityId = Number(localStorage.getItem('sg_city_id'));\n if (isNaN(cityId)) throw new Error(`Error fetching mergedConfig: missing cityId`);\n return this.httpClient.get('/feature-toggles/merged', { headers: this.headers }).pipe(\n tap((res: any) => {\n this.features = this.convertArrayToObject(res.data);\n this.featureByCityInitialized$.next(cityId);\n }),\n map(() => this.features));\n }\n\n getMergedConfig(): Observable {\n return (this.featureByCityInitialized$ as Observable).pipe(\n first(),\n switchMap(cityId => {\n const hasFeaturesForSelectedCity = cityId === this.selectedCityId;\n if (hasFeaturesForSelectedCity) return observableOf(this.features);\n return this.fetchMergedConfigByCity();\n }));\n }\n\n private convertArrayToObject(res: IConfig[]): IFeatures {\n return res\n .reduce((obj, config) => {\n obj[config.featureToggleKey] = config.toggleState;\n if (config.featureToggleKey === 'ENABLE_SUPPLY_GATE_ADD_CAPTAIN_V2') obj[config.featureToggleKey] = true;\n return obj;\n }, { }) as IFeatures;\n }\n\n}\n","import {\n AfterViewInit,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewEncapsulation } from '@angular/core';\n\nimport { CarCheckService } from '../../car-check/car-check.service';\nimport { fileSizes, ToastrMessages } from '../constants';\nimport { ToastrService } from '../toastr/toastr.service';\n\n@Component({\n selector: 'file-uploader',\n templateUrl: './file-uploader.template.html',\n encapsulation: ViewEncapsulation.Emulated,\n styleUrls: ['./file-uploader.style.scss']\n})\n\nexport class FileUploaderComponent implements OnInit, OnDestroy, AfterViewInit {\n @Input('options') options: any;\n @Input('file') file: any;\n @Output() upload: any = new EventEmitter();\n @Output() preview: any = new EventEmitter();\n isPdf: boolean;\n\n constructor(\n private readonly toastrService: ToastrService,\n private readonly carCheckService: CarCheckService\n ) {}\n\n ngOnInit() {}\n\n ngAfterViewInit() {}\n\n onFileUpload(event: any) {\n if (event.target.files) {\n const file: File = event.target.files[0];\n if (file && !this.carCheckService.isValidFile(file.type)) {\n this.toastrService.openToastr(ToastrMessages.supportedFormats, ToastrMessages.error);\n } else if (file?.size > fileSizes?.maxLimit) {\n this.toastrService.openToastr(ToastrMessages.fileSizeLimit, ToastrMessages.error);\n } else if (file?.type === 'application/pdf') {\n this.isPdf = true;\n this.file.current = this.file.preview = 'assets/img/pdf-icon.png';\n this.uploadFileData(file);\n } else {\n this.isPdf = false;\n this.uploadFileData(file);\n }\n }\n }\n\n uploadFileData(file) {\n const fileReader: FileReader = new FileReader;\n fileReader.readAsDataURL(file);\n fileReader.onloadend = (() => this.file.data = fileReader.result);\n }\n\n uploadImage() {\n this.upload.emit(this.file);\n }\n\n previewImage() {\n if (!this.isPdf) {\n this.preview.emit();\n }\n }\n\n clearImage() {\n this.file.data = '';\n }\n\n ngOnDestroy() {}\n}\n","\n\n\n \n Upload {{options.displayName}} - Optional\n \n\n\n\n
\n \"Uploaded\n \"Uploaded\n
\n \n
\n
\n \n
\n
\n\n
\n
\n 60% Complete\n
\n
\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Select2OptionData } from 'ng-select2';\nimport { Observable, of } from 'rxjs';\nimport { map, tap } from 'rxjs/operators';\n\nimport { City } from '../common/cities/city';\nimport { InterceptorLoggedHttpParams, InterceptorRequestConfig } from './error-logging/interceptor-http-params';\nimport { SOURCE_CITIES_SERVICE } from './error-logging/const/error-logging-sources';\nimport { HEADER_KEYS, V2_HEADER } from '../overview-v2/document-transcription-v2/shared/constants';\n\n@Injectable()\nexport class GetCitiesService {\n private _cities: Array;\n private userCities: City[] = [];\n private allCities: City[] = [];\n headers: {[key: string]: any} = {};\n\n constructor(\n private readonly httpClient: HttpClient\n ) {\n this._cities = [];\n this.headers = {\n [V2_HEADER]: \"1\",\n [HEADER_KEYS[\"auth-token-update\"]]: \"1\",\n [HEADER_KEYS[\"sg-auth-token\"]]: \"1\",\n [\"x-city-id\"]: localStorage.getItem(\"sg_city_id\") || \"\",\n };\n }\n\n citiesList(cities?: Array) {\n this._cities = cities ? cities : this._cities;\n return this._cities;\n }\n\n getAllCities(): Observable {\n if (this.allCities.length) return of(this.allCities);\n return this.getCities(true)\n .pipe(tap(cities => this.allCities = cities));\n }\n\n getCities(showAll = false, isRevampVersion = false): Observable> {\n const showAllParam = isRevampVersion && showAll ? {showAll: '1'} : isRevampVersion && !showAll ? {showAll: '0'} : showAll ? {showall: '1'} : {};\n const interceptorConf: InterceptorRequestConfig = {errorSource: SOURCE_CITIES_SERVICE, customAttributes: {} };\n const params = new InterceptorLoggedHttpParams(interceptorConf, showAllParam );\n const headers = {\n ...(isRevampVersion && {\n ...this.headers\n })\n };\n const url = isRevampVersion ? `/cities/admin` : `user/cities`\n return this.httpClient.get(url, { params , headers}).pipe(\n map((res: any) => res['data'].map(city => ({\n id: city.id,\n text: city.name,\n offset: city.timezone_time_offset_mins,\n country_id: city.country_id,\n online_locations_count: city.config.online_locations_count,\n country: city.country\n }))),\n tap((userCities: City[]) => this.userCities = userCities)\n );\n }\n\n getUserCities() {\n return this.userCities;\n }\n\n}\n","import { Select2OptionData } from 'ng-select2';\nimport { CaptainLead } from '../overview-v2/models';\n\nexport interface DatePickerOptions {\n startDate?: Date;\n endDate?: Date;\n autoclose?: boolean;\n todayBtn?: string;\n todayHighlight?: boolean;\n assumeNearbyYear?: boolean;\n format?: string;\n defaultViewDate?: Date;\n}\n\nexport interface SelectChange {\n value: string;\n}\n\nexport interface CountryPhone {\n id: number;\n dialCode?: string;\n dial_code?:string\n phoneNumberRegex: string;\n flagUrl?: string;\n}\n\nexport interface Select2LanguageOption extends Select2OptionData {\n selected: boolean;\n}\n\nexport interface DownloadFileResponse {\n file_name: string;\n message: string;\n url: string;\n}\n\nexport type LocationType = 'captain' | 'car' | 'online';\nexport const LocationTypeEnum = {\n Captain: 'captain' as LocationType,\n Car: 'car' as LocationType,\n Online: 'online' as LocationType\n};\n\nexport type RoleGroup = 'country_admin' | 'franchise_admin' | 'franchise_agent' | 'super_admin' | 'trainer' | 'audit_agent' | 'preprocessing_agent';\nexport const RoleGroupEnum = {\n CountryAdmin: 'country_admin' as RoleGroup,\n FranchiseAdmin: 'franchise_admin' as RoleGroup,\n FranchiseAgent: 'franchise_agent' as RoleGroup,\n SuperAdmin: 'super_admin' as RoleGroup,\n Trainer: 'trainer' as RoleGroup,\n AuditingAgent: 'auditing_agent' as RoleGroup,\n PreprocessingAgent: 'preprocessing_agent' as RoleGroup\n};\n\n// TODO: After updating to typescript > 2.4\n// export enum LocationType {\n// Captain = 'captain',\n// Car = 'car',\n// Online = 'online'\n// }\n\nexport class Captain {\n id: number;\n profile?: {\n email: string;\n firstName: string;\n lastName: string;\n cellPhone: string;\n createdAt: number;\n profilePicture: string;\n cityId: number;\n cityName: string;\n };\n\n get fullName(): string {\n return CaptainLead.getFullName(this.profile.firstName, this.profile.lastName);\n }\n\n constructor(json: Captain) {\n this.id = json.id;\n this.profile = json.profile;\n }\n}\n\nexport type OtpServiceType = 'SMS' | 'Voice';\n\nexport interface OtpResponse {\n token?: string;\n response?: {\n message?: string\n };\n}\n\nexport interface Select2OptionData2 {\n id: number;\n text: string;\n disabled?: boolean;\n children?: Array;\n additional?: any;\n}\n","import {\n AfterViewInit,\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'img-viewer',\n encapsulation: ViewEncapsulation.None,\n templateUrl: './image-viewer.template.html'\n})\nexport class ImageViewer implements OnInit, AfterViewInit {\n @Input() image: string;\n @Output() close: any = new EventEmitter();\n constructor(\n ) { }\n\n ngOnInit() { }\n\n closeImage() {\n this.close.emit({});\n }\n\n ngAfterViewInit() {}\n\n}\n","
\n
\n \n \n \n \"Image\"\n
\n
\n","export * from './auth/auth.service';\nexport * from './auth/auth.guard';\nexport * from './validation/validation.constant';\nexport * from './toastr/toastr.service';\nexport * from './permissions/permissions.service';\nexport * from './permissions/sidebar-menu.constant';\nexport * from './permissions/permissions.constant';\nexport * from './permissions/permissions.guard';\nexport * from './redirect/redirect.guard';\nexport * from './cities/cities.service';\nexport * from './pagination/pagination';\nexport * from './date/date.service';\nexport * from './languages.service';\nexport * from './locations.service';\nexport * from './trainers.service';\nexport * from './users.service';\nexport * from './get-cities.service';\nexport * from './countries.service';\nexport * from './spinner/spinner.service';\nexport * from './auth/login.guard';\n","import { HttpEvent, HttpInterceptor, HttpRequest, HttpHandler } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { API_V2, V2_HEADER } from 'src/app/overview-v2/document-transcription-v2/shared/constants';\n\n@Injectable()\nexport class BaseUriInterceptor implements HttpInterceptor {\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n if (!request.url.startsWith('http')) {\n const baseApiUrl = request.headers.get(V2_HEADER) ? `/${API_V2}` : '/api/';\n request = request.clone({ url: `${baseApiUrl}${request.url}` });\n }\n return next.handle(request);\n }\n}\n","import { HttpEvent, HttpInterceptor, HttpRequest, HttpHandler, HttpResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, of, tap } from 'rxjs';\nimport { CacheService } from '../cache.service';\n\n@Injectable()\nexport class CacheInterceptor implements HttpInterceptor {\n constructor(private readonly cache: CacheService) {}\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n if(this.cache.isRequestCachable(request)) {\n const cacheResponse = this.cache.get(request);\n if (cacheResponse) {\n return of(cacheResponse);\n } else {\n return next.handle(request).pipe(\n tap((event) => {\n if (event instanceof HttpResponse) {\n this.cache.set(request, event);\n }\n })\n );\n }\n } else {\n return next.handle(request);\n }\n }\n}\n","import { HttpEvent, HttpInterceptor, HttpRequest, HttpHandler } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nimport { StorageService } from '../storage.service';\n\n@Injectable()\nexport class CityInterceptor implements HttpInterceptor {\n\n constructor(private readonly storageService: StorageService) { }\n\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n if (request.url.startsWith('http')) return next.handle(request);\n\n let cityId = String(1);\n\n if (this.storageService.get('allowed_cities')) {\n const allowedCities = JSON.parse(this.storageService.get('allowed_cities'));\n cityId = allowedCities[0];\n }\n\n if (this.storageService.get('sg_city_id')) {\n cityId = this.storageService.get('sg_city_id');\n }\n\n request = request.clone({\n headers: request.headers.set('X-CITY-ID', cityId)\n });\n\n return next.handle(request);\n }\n}\n","import { HttpEvent, HttpInterceptor, HttpRequest, HttpHandler } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Observable, Subscription, throwError } from 'rxjs';\nimport { catchError, first } from 'rxjs/operators';\nimport { AuthService } from '../auth/auth.service';\nimport { ToastrMessages } from '../constants';\nimport { DynamicModalService } from '../modals';\nimport { PromptComponent } from '../modals/prompt/prompt.component';\nimport { SpinnerService } from '../spinner/spinner.service';\nimport { ToastrService } from '../toastr/toastr.service';\nimport { ApiError, ApiErrorResponse, HttpCode, isMessageInApiErrorResponse } from './interfaces';\n\n@Injectable()\nexport class ErrorInterceptor implements HttpInterceptor {\n\n private reloginPromptSubscription: Subscription;\n\n constructor(\n private readonly authService: AuthService,\n private readonly dynamicModalService: DynamicModalService,\n private readonly toastrService: ToastrService,\n private readonly spinnerService: SpinnerService,\n private readonly router: Router\n ) { }\n\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n return next.handle(request)\n .pipe(\n catchError((response: ApiErrorResponse) => {\n this.spinnerService.change(false);\n switch (response.status) {\n case HttpCode.BAD_REQUEST:\n this.handleBadRequest(response);\n break;\n case HttpCode.UNAUTHORIZED:\n this.handleUnAuthorized();\n break;\n case HttpCode.REQUEST_ENTITY_TOO_LARGE:\n this.toastrService.openToastr(ToastrMessages.requestLarge, ToastrMessages.error);\n break;\n default:\n this.handleDefault(response);\n break;\n }\n\n return throwError(response);\n })\n );\n }\n\n private handleBadRequest(response: ApiErrorResponse) {\n const isTokenError = this.getErrors(response)\n .some(err => err.source && err.source.parameter === 'token');\n if (isTokenError) this.showReloginPrompt();\n else this.handleDefault(response);\n }\n\n private handleDefault(response: ApiErrorResponse) {\n this.toastrService.openToastr(this.getErrorMessage(response), ToastrMessages.error);\n }\n\n private handleUnAuthorized() {\n if (this.reloginPromptSubscription) return;\n this.reloginPromptSubscription = this.showReloginPrompt();\n return;\n }\n\n private showReloginPrompt(): Subscription {\n return this.dynamicModalService\n .setComponentData({\n component: PromptComponent,\n inputs: {\n message: 'Your session has been expired. Please login again to continue using Supply Gate.',\n title: 'Session timed out',\n confirmButton: 'Re-login'\n }\n })\n .pipe(first())\n .subscribe(() => {\n this.authService.logout();\n this.reloginPromptSubscription = null;\n });\n }\n\n private getErrorMessage(response: ApiErrorResponse): string {\n const error = this.getFirstOrDefault(response);\n return error.title;\n }\n\n private getErrors(response: ApiErrorResponse): ApiError[] {\n if (response.error && Array.isArray(response.error.errors)) {\n return response.error.errors;\n } else if (isMessageInApiErrorResponse(response)) {\n // If error is CAG like, return the message to display\n return [ {title: response.error.message} ];\n }\n return [];\n }\n\n private getFirstOrDefault(response: ApiErrorResponse): ApiError {\n const error = this.getErrors(response)[0];\n return error || {\n title: 'Something really bad happened'\n };\n }\n}\n","import { HttpErrorResponse } from '@angular/common/http';\n\nexport const HttpCode = {\n BAD_REQUEST: 400,\n UNAUTHORIZED: 401,\n FORBIDDEN: 403,\n INTERNAL_SERVER_ERROR: 500,\n REQUEST_ENTITY_TOO_LARGE: 413\n};\n\nexport interface ApiError {\n title: string;\n detail?: string;\n code?: string;\n source?: {\n parameter: string;\n };\n}\n\nexport interface ApiErrorResponse extends HttpErrorResponse {\n error: { errors: ApiError[] };\n}\n\nexport interface CagApiErrorResponse extends HttpErrorResponse {\n error: {\n errorCode: string;\n fields: Object;\n message: string;\n operationMessage: string;\n };\n}\n\nexport function isMessageInApiErrorResponse(response: any): response is CagApiErrorResponse {\n return response && response.error && response.error.message;\n}\n","import { HttpBackend, HttpClient, HttpEvent, HttpHeaders,\n HttpInterceptor, HttpRequest, HttpErrorResponse, HttpHandler } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, of, Subject, Subscription } from 'rxjs';\nimport { first, mergeMap, filter } from 'rxjs/operators';\n\nimport { AuthService } from '../auth/auth.service';\n\n@Injectable()\nexport class TokenInterceptor implements HttpInterceptor {\n\n private readonly httpClient: HttpClient;\n private readonly token$ = new Subject();\n private refreshTokenSubscription: Subscription;\n\n constructor(\n private readonly authService: AuthService,\n httpBackend: HttpBackend\n ) {\n this.httpClient = new HttpClient(httpBackend);\n }\n\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n if (request.url.startsWith('http')) return next.handle(request);\n return this.fetchToken(request).pipe(\n first(),\n filter(res => !(res instanceof HttpErrorResponse)),\n mergeMap((token?: string) => {\n request = request.clone({\n headers: this.isRequestForCaptainGateway(request) ?\n this.getHeadersForCaptainGateway(request, token) : this.getHeadersForServices(request)\n });\n return next.handle(request);\n })\n );\n }\n\n private fetchToken(request: HttpRequest): Observable {\n const isLogoutRequest = request.url.indexOf('supply/gate/logout') >= 0;\n if (!this.authService.isSGTokenExpired() || isLogoutRequest) return of(null);\n if (!this.refreshTokenSubscription) {\n this.refreshTokenSubscription = this.getRefreshedToken()\n .subscribe((res: any) => {\n this.refreshTokenSubscription = null;\n this.authService.saveToken(res);\n this.token$.next();\n }, (err: HttpErrorResponse) => {\n this.token$.next(err);\n this.authService.logout();\n });\n }\n return this.token$.asObservable();\n }\n\n private isRequestForCaptainGateway(request: HttpRequest) {\n return request.url.indexOf('supply/gate') >= 0;\n }\n\n private getRefreshedToken() {\n return this.httpClient.post('/api/supply/gate/token/refresh', null, {\n headers: new HttpHeaders(this.authService.getHeadersForCaptainGateway())\n });\n }\n\n private getHeadersForCaptainGateway(request: HttpRequest, authToken?: string) {\n return this.getRequestHeaders(request, this.authService.getHeadersForCaptainGateway(authToken));\n }\n\n private getHeadersForServices(request: HttpRequest) {\n const authTokenUpdate = request.headers.get('auth-token-update');\n const sgAuthTokenCheck = request.headers.get('sg-auth-token');\n return this.getRequestHeaders(request, this.authService.getHeadersForServices(!!authTokenUpdate, !!sgAuthTokenCheck));\n }\n\n private getRequestHeaders(request: HttpRequest, headers: any) {\n return Object.keys(headers)\n .reduce((requestHeaders, key) => requestHeaders.set(key, headers[key]), request.headers);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Select2OptionData } from 'ng-select2';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { HEADER_KEYS } from '../overview-v2/document-transcription-v2/shared/constants';\n\n@Injectable()\nexport class LanguagesService {\n constructor(private readonly httpClient: HttpClient) {\n }\n\n getLanguages(): Observable {\n return this.httpClient.get('languages').pipe(\n map(res => res['data']),\n map((data: any) => data.map(language => ({ id: language.id, text: language.name }))));\n }\n\n getCityLanguages(cityId: number): Observable> {\n return this.httpClient.get('languages/city/' + cityId).pipe(\n map((res) => res['data'].map(city => ({\n id: city.id,\n text: city.name\n }))));\n }\n\n // CSGV-1456 - used to get active languages\n getActiveLanguages(): Observable> {\n const headers = new HttpHeaders({\n [HEADER_KEYS.V2]: '1',\n [HEADER_KEYS['sg-user-city']]: localStorage.getItem('sg_city_id') || '',\n [HEADER_KEYS['auth-token-update']]: '1',\n [HEADER_KEYS['sg-auth-token']]: '1',\n })\n return this.httpClient.get('/cities/active-languages', { headers }).pipe(\n map((res) => res['data'].map(city => ({\n id: city.id,\n text: city.name\n }))));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { LocationType, RoleGroup } from '../common/global-interfaces';\nimport { HEADER_KEYS, V2_HEADER } from '../overview-v2/document-transcription-v2/shared/constants';\n\n\n@Injectable()\nexport class LocationsService {\n headers: {[key: string]: any} = {};\n\n constructor(\n private readonly httpClient: HttpClient\n ) {\n this.headers = {\n [V2_HEADER]: '1',\n [HEADER_KEYS['auth-token-update']]: '1',\n [HEADER_KEYS['sg-auth-token']]: '1',\n ['x-city-id']: localStorage.getItem('sg_city_id') || '',\n };\n }\n\n getFranchiseLocations(type: LocationType): Observable {\n return this.getLocations(type, '/location/franchise');\n }\n\n getLocations(type: LocationType, url = '/trainings/locations', avoidV2Headers = false): Observable {\n const args = new HttpParams().set('type', type);\n const headers = avoidV2Headers ? {} : this.headers;\n return this.httpClient.get(url, { params: args, headers }).pipe(\n map((response: any) => {\n const dataSet = response.data || response;\n return dataSet?.map(location => ({ id: location.id, text: location.title }))\n }));\n }\n\n getLocationsForUserCreation(type: LocationType, roleGroup: RoleGroup, isRevampVersion = false): Observable {\n const args = new HttpParams()\n .set('type', type)\n .set('role_group_to_create', roleGroup);\n const url = isRevampVersion ? '/admin/locations-for-user-creation' : 'locations-for-user-creation';\n const headers = {\n ...(isRevampVersion && {\n ...this.headers\n })\n };\n return this.httpClient.get(url, { params: args, headers }).pipe(\n map(res => res?.['data']),\n map((data: any) => data?.map(location => ({ id: location.id, text: location.title }))));\n }\n\n getFranchiseLocationById(locationId) {\n return this.httpClient.get(`supply/gate/locations?filters=id==${locationId}&include=franchise`)\n .pipe(map(res => res?.['data']?.[0]));\n }\n}\n","import { AfterViewInit, Component, Injector, OnInit, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { ToastrMessages } from 'src/app/common/constants';\n\nimport { Company } from '../../../limo-company/limo-company';\nimport { LimoCompanyService } from '../../../limo-company/limo-company.service';\nimport { ToastrService } from '../../toastr/toastr.service';\nimport { DynamicModalService } from '../dynamic-modal/dynamic-modal.service';\n\n@Component({\n selector: 'add-limo-company',\n templateUrl: './add-limo-company.template.html',\n providers: [LimoCompanyService]\n})\n\nexport class AddLimoCompanyModalComponent implements OnInit, AfterViewInit {\n @ViewChild('modalWindow') limoModal;\n new_limo: FormGroup;\n isFormSubmitted = false;\n company: Company;\n language: Array;\n onClose: Subject;\n\n\n constructor(\n private formBuilder: FormBuilder,\n private limoCompanyService: LimoCompanyService,\n private dynamicModalService: DynamicModalService,\n private injector: Injector,\n private toastrService: ToastrService\n ) {\n\n }\n ngOnInit() {\n this.new_limo = this.formBuilder.group({\n name: ['', [Validators.required, Validators.pattern(/^[^<>]+$/)]],\n solution_system_id: ['', [Validators.required, Validators.pattern(/^\\d+$/)]]\n });\n this.onClose = this.injector.get('onClose');\n }\n\n ngAfterViewInit() {\n this.limoModal.show();\n this.limoModal.onHidden.subscribe(() => this.dynamicModalService.modalOnClose.next(null));\n }\n\n onSubmit(form) {\n this.create(form);\n }\n\n create(form: any) {\n this.limoCompanyService.addLimoCompany(form)\n .subscribe(data => {\n this.toastrService.openToastr(ToastrMessages.addedLimoSuccess, ToastrMessages.success);\n this.limoModal.hide();\n this.new_limo.reset();\n this.closeModal(data);\n },\n err => {\n this.new_limo.reset();\n });\n }\n\n closeModal(data: any) {\n this.onClose.next(data);\n this.onClose.complete();\n }\n}\n","\n
\n
\n
\n
\n
\n

Add Limo Company

\n \n
\n
\n
\n\n\n
\n
\n \n \n This field is required\n Provided id is invalid it should be numeric.\n
\n
\n\n
\n \n\n
\n \n This field is required\n Provided it contains invalid characters\n
\n
\n\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n\n","import { AfterViewInit, Component, Injector, OnInit, ViewChild } from '@angular/core';\nimport { Form, FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select2OptionData } from 'ng-select2';\nimport { Subject } from 'rxjs';\nimport { first, tap } from 'rxjs/operators';\n\nimport { DateService, LanguagesService, LocationsService, SpinnerService, ToastrService } from '../../';\nimport { OverviewService } from '../../../overview/overview.service';\nimport { TrainerManagementService } from '../../../trainer-management/trainer-management.service';\nimport { DynamicModalService } from '../dynamic-modal/dynamic-modal.service';\n\nimport { Trainer } from '../../../trainer-management/trainer';\nimport { regex } from '../../constants';\nimport { DatePickerOptions } from '../../global-interfaces';\n\n@Component({\n selector: 'add-trainer',\n templateUrl: './add-trainer.template.html'\n})\n\nexport class AddTrainerModalComponent implements OnInit, AfterViewInit {\n @ViewChild('modalWindow') trainerModal;\n new_trainer: FormGroup;\n selectedLanguages: Array = [];\n locations: Array;\n isFormSubmitted = false;\n setSubmitted = false;\n trainer: Trainer;\n onClose: Subject;\n location: Array;\n languages: Array;\n language: Array;\n\n select2Options: Select2Options = {\n multiple: true,\n theme: 'bootstrap4'\n };\n\n datePickerOptions: DatePickerOptions = {\n autoclose: true,\n todayHighlight: true\n };\n\n constructor(\n private formBuilder: FormBuilder,\n private overviewService: OverviewService,\n private trainerManagementService: TrainerManagementService,\n private locationService: LocationsService,\n private toastrService: ToastrService,\n private dateService: DateService,\n private spinnerService: SpinnerService,\n private dynamicModalService: DynamicModalService,\n private injector: Injector,\n private languageService: LanguagesService\n ) {}\n\n ngOnInit() {\n this.trainer = this.injector.get('trainer');\n this.onClose = this.injector.get('onClose');\n this.new_trainer = this.formBuilder.group({\n first_name: [this.trainer.user_id ? this.trainer.user.first_name : '', [\n Validators.required, Validators.pattern(regex.name)]\n ],\n last_name: [this.trainer.user_id ? this.trainer.user.last_name : '', [\n Validators.required, Validators.pattern(regex.name)]\n ],\n email: [this.trainer.user_id ? this.trainer.user.email : '', [\n Validators.required, Validators.pattern(regex.email)]\n ],\n joining_date: [this.trainer.user_id ? this.dateService.getCityDate(this.trainer.joining_date) : '',\n Validators.required\n ],\n locations: [1, Validators.required]\n });\n\n this.languageService.getActiveLanguages().pipe(\n first())\n .subscribe(languages => {\n this.languages = languages;\n if (this.trainer.user_id) {\n this.language = this.trainer.languages.map(language => language.id);\n } else {\n this.language = [1];\n }\n });\n\n this.locationService\n .getLocations('captain').pipe(\n tap(() => {\n if (this.trainer.user_id) {\n this.location = this.trainer.locations.map(location => location.id);\n }\n }),\n first())\n .subscribe((locations) => this.locations = locations);\n }\n\n ngAfterViewInit() {\n this.trainerModal.show();\n this.trainerModal.onHidden\n .subscribe(() => this.dynamicModalService.modalOnClose.next(null));\n }\n\n onChangeLanguage(language: Array) {\n this.language = language.map(language => Number(language));\n }\n\n onChangeLocation(locations: Array) {\n this.new_trainer.controls['locations'].setValue(locations.join(','));\n }\n\n onSubmit(form: Trainer) {\n this.setSubmitted = true;\n form.languages = this.language.join(',');\n form.joining_date = this.dateService.getDate(form.joining_date);\n this.trainer.user_id ? this.update(form) : this.create(form);\n }\n\n create(form: Trainer) {\n this.spinnerService.change(true);\n this.trainerManagementService.addTrainer(form)\n .subscribe(() => this.onSubmitted('update'), () => this.setSubmitted = false);\n }\n\n update(form: Trainer) {\n this.spinnerService.change(true);\n this.trainerManagementService.updateTrainer(form, this.trainer.user_id)\n .subscribe(() => this.onSubmitted('create'), () => this.setSubmitted = false);\n }\n\n onSubmitted(type?: string) {\n this.spinnerService.change(false);\n this.toastrService.openToastr(`Successfully ${type}d trainer information`, 'success');\n this.trainerModal.hide();\n this.new_trainer.reset();\n }\n}\n","\n
\n
\n
\n
\n

{{trainer.user_id ? 'Update' : 'Add a New'}} Trainer

\n \n
\n
\n
\n
\n
\n \n
\n \n This field is required\n Provided name is invalid\n
\n
\n
\n
\n \n \n This field is required\n Provided name is invalid\n
\n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n This field is required\n
\n
\n
\n
\n \n
\n 0}\"\n [width]=\"'100%'\"\n >\n
\n This field is required\n 0\">Location cannot be changed, because you currently have future slots\n
\n
\n
\n
\n
\n
\n \n \n This field is required
\n Not a valid email pattern\n
\n
\n
\n
\n \n \n\n \n This field is required\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n\n","import { AfterViewInit, Component, Injector, OnInit, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { find, findIndex, take, intersection } from 'lodash';\nimport { Select2OptionData } from 'ng-select2';\nimport { forkJoin as observableForkJoin, Observable, of as observableOf, Subject } from 'rxjs';\nimport { tap } from 'rxjs/operators';\n\nimport { CountriesService, LanguagesService, LocationsService, SpinnerService, ToastrService } from '../../';\nimport { Role, User } from '../../../user-management/user';\nimport { UserManagementService } from '../../../user-management/user-management.service';\nimport { regex } from '../../constants';\nimport { GetCitiesService } from '../../get-cities.service';\nimport { DatePickerOptions, LocationTypeEnum, RoleGroup, RoleGroupEnum } from '../../global-interfaces';\nimport { DynamicModalService } from '../dynamic-modal/dynamic-modal.service';\n\n@Component({\n selector: 'add-user',\n templateUrl: './add-user.template.html'\n})\nexport class AddUserModalComponent implements OnInit, AfterViewInit {\n @ViewChild('modalWindow') userModal;\n newUser: FormGroup;\n isFormSubmitted = false;\n setSubmitted = false;\n user: User;\n onClose: Subject;\n selectedLanguages: Array < string > = [];\n selectedLocations: Array < string > = [];\n cities: Array;\n city: Array;\n roles: Array;\n defaultRole: number;\n isCityDisabled = false;\n isTrainingScheduled = false;\n roleId: number;\n selectedCities: Array < string > = [];\n selectedCity: number;\n selectedCountry: number;\n locations: Array;\n locationsLabel: string;\n languages: Array;\n datePickerOptions: DatePickerOptions = {\n autoclose: true,\n todayHighlight: true\n };\n shouldSelectedMultipleLocations: boolean;\n isRevampVersion: boolean;\n countryList = [];\n selectedCountries: Array < string > = [];\n role_id_key: string = 'role_id';\n joining_date_key: string = 'joining_date';\n captainTypes = [];\n selectedCaptainTypes: Array < string > = [];\n\n select2Options: Select2Options = {\n multiple: true,\n theme: 'bootstrap4'\n };\n\n constructor(\n private readonly formBuilder: FormBuilder,\n private readonly userManagementService: UserManagementService,\n private readonly locationService: LocationsService,\n private readonly toastrService: ToastrService,\n private readonly spinnerService: SpinnerService,\n private readonly dynamicModalService: DynamicModalService,\n private readonly injector: Injector,\n private readonly languageService: LanguagesService,\n private readonly countriesService: CountriesService,\n private readonly citiesService: GetCitiesService ) { }\n\n\n ngOnInit() {\n this.user = this.injector.get('user');\n this.selectedCity = this.injector.get('selectedCityId');\n this.onClose = this.injector.get('onClose');\n this.isRevampVersion = this.injector.get('isRevampVersion');\n this.role_id_key = this.isRevampVersion ? 'roleId' : 'role_id';\n\n observableForkJoin([\n this.userManagementService.getRoles(this.isRevampVersion),\n this.countriesService.getCountryList(false, this.isRevampVersion),\n this.citiesService.getCities(false, this.isRevampVersion)])\n .subscribe((response: any) => {\n this.roles = response[0]?.map((role) => {\n role.text = role?.text || role?.displayName;\n return role;\n });\n const roleObj = this.roles.find(item => item.id === Number(this.user.role_id));\n const roleGroup = roleObj && (roleObj.group as RoleGroup);\n this.setCityCountryDetails(response);\n this.setUserForm();\n this.roleId = this.user.user_id ? this.user.role_id : this.roles[0].id;\n this.onChangeRoles(this.roleId);\n if (this.user.user_id && (roleGroup !== RoleGroupEnum.Trainer) && this.user.cities) {\n this.selectedCities = this.user.cities.map(cityId => String(cityId) );\n }\n this.onChangeCities(this.selectedCities);\n this.setDetailsForRole(roleGroup);\n });\n }\n\n setCityCountryDetails(response: Array) {\n const countries = response[1] ? response[1]['data'] : null;\n const cityList = response[2] ? response[2] : null;\n const selectedCity: any = find(cityList, {'id': +this.selectedCity});\n this.selectedCountry = selectedCity?.country_id;\n cityList.forEach(city => {\n const country = findIndex(countries, { id: city.country_id });\n\n if (country >= 0) {\n if (!countries[country].children) {\n countries[country].children = [];\n countries[country].text = countries[country].name;\n }\n countries[country].children.push(city);\n }\n });\n this.cities = countries?.filter(country => Array.isArray(country.children)) || [];\n this.countryList = countries?.map(country => {\n return {\n text: country.text || country.name,\n id: country.id\n }\n });\n }\n\n setUserForm() {\n this.newUser = this.formBuilder.group({\n email: [this.user.user_id ? this.user.email : '', [\n Validators.required, Validators.pattern(regex.email)]\n ],\n cities: [this.user.user_id ? this.user.cities.map(cityId => String(cityId) ) : ''\n ],\n [this.role_id_key]: [this.user.user_id ? this.user.role_id : this.roles[0].id, [\n Validators.required]\n ]\n });\n }\n\n setDetailsForRole(roleGroup = '') {\n if (roleGroup === RoleGroupEnum.Trainer) {\n this.setDetailsForRoleTrainer();\n } else if (roleGroup === RoleGroupEnum.FranchiseAdmin) {\n this.setDetailsForRoleFranchiseAdmin();\n } else if (roleGroup === RoleGroupEnum.FranchiseAgent) {\n this.setDetailsForFranchiseAgent();\n }\n }\n\n setDetailsForRoleTrainer() {\n observableForkJoin([\n this.getUser(),\n this.addTrainerFields()\n ])\n .subscribe(([user]) => {\n this.mapUserFields(user as User);\n this.selectedLanguages = this.user.user_id ? this.user.allowedLanguages : [];\n this.selectedLanguages = this.selectedLanguages.map(lang => lang.toString());\n this.selectedLocations = this.user.user_id ? (this.user.allowedLocations || []) : [];\n this.selectedLocations = this.selectedLocations.map(locationId => locationId.toString());\n });\n }\n\n setDetailsForRoleFranchiseAdmin() {\n observableForkJoin([\n this.getUser(),\n this.addFranchiseAdminFields()\n ])\n .subscribe(([user]) => {\n this.mapUserFields(user as User);\n this.selectedLocations = this.user.user_id ? this.user.allowedLocations : [];\n this.onChangeLocation(this.selectedLocations);\n this.selectedCities = [this.selectedCity].map(String);\n });\n }\n\n setDetailsForFranchiseAgent() {\n observableForkJoin([\n this.getUser(),\n this.addFranchiseAgentFields()\n ])\n .subscribe(([user]) => {\n this.mapUserFields(user as User);\n const allowedLocations = take(this.user.allowedLocations, 1) || [];\n this.selectedLocations = allowedLocations.length ? allowedLocations : ([this.locations?.[0]?.id] || []);\n this.selectedLanguages = this.user.user_id ? this.user.allowedLanguages : [];\n this.selectedLanguages = this.selectedLanguages.map(lang => lang.toString());\n this.onChangeLanguage(this.selectedLanguages);\n this.selectedCities = [String(this.selectedCity)];\n this.onChangeLocation(this.selectedLocations);\n });\n }\n\n mapUserFields(user: User) {\n this.user.joining_date = null;\n this.user.allowedLanguages = (user.languages && user.languages.data && user.languages.data.length) ? user.languages.data.map((language) => language.id) : [];\n this.user.allowedLocations = (user.locations && user.locations.data && user.locations.data.length) ? user.locations.data.map((location) => location.id) : [];\n this.isTrainingScheduled = user.trainings?.upcoming_trainings > 0;\n }\n\n getUser() {\n return this.userManagementService\n .getUser(this.user.user_id);\n }\n\n getLanguages(): Observable < Select2OptionData[] > {\n if (this.languages) {\n return observableOf(this.languages);\n }\n\n return this.languageService\n .getActiveLanguages().pipe(\n tap(languages => {\n this.languages = languages;\n this.selectedLanguages.push(String(this.languages[0]));\n }));\n }\n\n getLocations(roleGroup: RoleGroup, isRevampVersion = false) {\n return this.locationService.getLocationsForUserCreation(LocationTypeEnum.Captain, roleGroup, isRevampVersion);\n }\n\n\n getJoiningDate() {\n return observableOf(new Date());\n }\n\n ngAfterViewInit() {\n this.userModal.show();\n this.userModal.onHidden\n .subscribe(() => this.dynamicModalService.modalOnClose.next(null));\n }\n\n getCitiesForSelectedCountry(countries: string[] = []) {\n const selectedCountries = countries.reduce((acc: {[key: string]: number | string}, curr) => {\n acc[curr] = +curr;\n return acc;\n }, {});\n let selectedCities = [];\n this.cities?.forEach(country => {\n if(country?.id === selectedCountries?.[country?.id]) {\n selectedCities = [...selectedCities, ...country.children]\n }\n });\n\n return selectedCities.map(city => city.id);\n }\n\n onSubmit(form: User) {\n this.setSubmitted = true;\n const roleObj = this.roles.find(item => item.id === Number(form.role_id || form.roleId));\n if (roleObj?.group === RoleGroupEnum.SuperAdmin) {\n form.cities = [];\n } else if (roleObj?.group === RoleGroupEnum.Trainer) {\n const currentCity = JSON.parse(localStorage.getItem('sg_city_id'));\n form.cities = [];\n if (currentCity) form.cities.push(currentCity);\n }\n form.group = roleObj?.group;\n\n if(this.isRevampVersion) {\n form.joiningDate = null;\n } else {\n form.joining_date = null;\n }\n this.user.user_id ? this.update(form) : this.create(form);\n }\n\n create(form: User) {\n this.spinnerService.change(true);\n const payload = {\n ...form,\n ...(form.countries && {\n cities: this.getCitiesForSelectedCountry(form.countries)\n }),\n ...(this.isRevampVersion && typeof form.locations === 'string' && {\n locations: [form.locations]\n })\n };\n this.userManagementService.addUser(payload, this.isRevampVersion)\n .subscribe(() => this.onSubmitted('created'), () => this.setSubmitted = false);\n }\n\n update(form: User) {\n const payload = {\n ...form,\n ...(form.countries && {\n cities: this.getCitiesForSelectedCountry(form.countries)\n }),\n ...(this.isRevampVersion && typeof form.locations === 'string' && {\n locations: [form.locations]\n })\n };\n this.spinnerService.change(true);\n this.userManagementService.updateUser(payload, this.user.user_id, this.isRevampVersion)\n .subscribe(() => this.onSubmitted('updated'), () => this.setSubmitted = false);\n }\n\n onSubmitted(type ?: string) {\n this.spinnerService.change(false);\n this.toastrService.openToastr(`Successfully ${type} user information`, 'success');\n this.userModal?.hide();\n this.newUser?.reset();\n this.closeModal(true);\n }\n\n onChangeCities(city: Array) {\n if (city.length) {\n this.newUser.controls['cities']?.setValue(city);\n } else {\n this.newUser.get('cities')?.setValue('');\n }\n }\n\n onChangeCountry(country: Array) {\n if(country.length) {\n this.newUser.controls['countries']?.setValue(country);\n } else {\n this.newUser.get('countries')?.setValue('');\n }\n }\n\n onChangeCaptainTypes(captainTypes: Array) {\n if(captainTypes?.length) {\n this.newUser.controls['captainTypes']?.setValue(captainTypes);\n } else {\n this.newUser.get('captainTypes')?.setValue('');\n }\n }\n\n onChangeRoles(role: any) {\n this.newUser.addControl('cities', new FormControl('', [Validators.required]));\n this.newUser.addControl('locations', new FormControl('', [Validators.required]));\n this.newUser.addControl('captainTypes', new FormControl('', [Validators.required]));\n this.newUser.get('cities')?.setValue([this.selectedCities]);\n this.isCityDisabled = false;\n const roleObj = this.roles.find(item => item.id === Number(role));\n const roleGroup = role && roleObj && roleObj.group;\n if (roleGroup === RoleGroupEnum.SuperAdmin) {\n this.isCityDisabled = true;\n this.newUser.get('cities').setValidators([]);\n this.selectedCities = [];\n this.removeFormFields(['countries', 'captainTypes']);\n if (this.newUser.get('locations')) this.removeTrainerFields();\n } else if (roleGroup === RoleGroupEnum.Trainer) {\n this.openTrainerFields();\n this.newUser.get('cities').setValidators([]);\n this.selectedCities = [];\n this.removeFormFields(['countries', 'captainTypes']);\n } else if (roleGroup === RoleGroupEnum.CountryAdmin) {\n this.isCityDisabled = true;\n const country: any = find(this.cities, {'id': +this.selectedCountry});\n this.selectedCities = country?.children?.map(city => city.id);\n this.newUser.get('cities').setValidators([Validators.required]);\n this.removeFormFields(['countries', 'locations', 'languages', 'captainTypes']);\n } else if (roleGroup === RoleGroupEnum.FranchiseAgent) {\n this.isCityDisabled = true;\n this.openFranchiseAgentFields();\n this.selectedCities = [this.selectedCity].map(String);\n this.newUser.get('cities').setValidators([]);\n this.removeFormFields(['countries', 'captainTypes']);\n } else if (roleGroup === RoleGroupEnum.FranchiseAdmin) {\n this.isCityDisabled = true;\n this.openFranchiseAdminFields();\n this.newUser.get('cities').setValidators([]);\n this.selectedCities = [this.selectedCity].map(String);\n this.removeFormFields(['countries', 'captainTypes']);\n if (this.newUser.get('languages')) this.newUser.removeControl('languages');\n } else if(roleGroup === RoleGroupEnum.AuditingAgent) {\n this.isCityDisabled = true;\n this.selectedCities = [];\n this.selectedCaptainTypes = [];\n this.removeFormFields(['locations', 'cities']);\n this.openAuditAgentFields();\n } else if(roleGroup === RoleGroupEnum.PreprocessingAgent) {\n this.isCityDisabled = true;\n this.selectedCities = [];\n this.selectedCaptainTypes = [];\n this.removeFormFields(['locations', 'cities']);\n this.openPreprocessingAgentFields();\n } else {\n if (this.newUser.get('locations')) this.removeTrainerFields();\n this.newUser.get('cities').setValidators([Validators.required]);\n this.selectedCities = [];\n this.removeFormFields(['countries', 'captainTypes']);\n }\n\n this.newUser.controls[this.role_id_key].setValue(role);\n this.newUser.get('cities')?.updateValueAndValidity();\n }\n\n closeModal(data: any) {\n this.onClose?.next(data);\n this.onClose?.complete();\n }\n\n openAuditAgentFields() {\n this.spinnerService.change(true);\n this.setSelectedCountries();\n this.addCaptainTypeField();\n this.spinnerService.change(false);\n }\n\n openPreprocessingAgentFields() {\n this.addCaptainTypeField();\n }\n\n addCaptainTypeField() {\n this.newUser.addControl('captainTypes', new FormControl('', [Validators.required]));\n if(this.captainTypes.length) {\n return;\n }\n\n this.spinnerService.change(true);\n this.setSelectedCountries();\n\n observableForkJoin([\n this.userManagementService.getCaptainTypes()\n ]).subscribe(resp => {\n this.captainTypes = resp?.[0] || [];\n this.selectedCaptainTypes = this.user.allowedCaptainTypes?.map((captainType: any) => captainType?.id?.toString());\n this.spinnerService.change(false);\n })\n }\n\n addTrainerFields() {\n this.isCityDisabled = true;\n return observableForkJoin([\n this.addLocationsField(RoleGroupEnum.Trainer, true),\n this.addLanguagesField(),\n this.addJoiningDateField()\n ]);\n }\n\n openTrainerFields() {\n this.spinnerService.change(true);\n this.addTrainerFields()\n .subscribe(() => {\n this.spinnerService.change(false);\n });\n }\n\n addFranchiseAdminFields() {\n this.isCityDisabled = true;\n return observableForkJoin([\n this.addLocationsField(RoleGroupEnum.FranchiseAdmin, false, 'Franchise location')\n ]);\n }\n\n openFranchiseAdminFields() {\n this.spinnerService.change(true);\n this.addFranchiseAdminFields()\n .subscribe(() => {\n this.spinnerService.change(false);\n });\n }\n\n addFranchiseAgentFields() {\n this.isCityDisabled = true;\n return observableForkJoin([\n this.addLocationsField(RoleGroupEnum.FranchiseAgent, false, 'Franchise location'),\n this.addLanguagesField()\n ]);\n }\n\n openFranchiseAgentFields() {\n this.spinnerService.change(true);\n this.addFranchiseAgentFields()\n .subscribe(() => {\n this.spinnerService.change(false);\n });\n }\n\n addLanguagesField() {\n return this\n .getLanguages().pipe(\n tap(() => {\n this.newUser.addControl('languages', new FormControl('', [Validators.required]));\n }));\n }\n\n addLocationsField(roleGroup: RoleGroup, shouldSelectedMultipleLocations = false, locationsLabel = 'Locations') {\n return this\n .getLocations(roleGroup, this.isRevampVersion).pipe(\n tap(locations => {\n this.locations = locations;\n this.shouldSelectedMultipleLocations = shouldSelectedMultipleLocations;\n this.locationsLabel = locationsLabel;\n this.newUser.addControl('locations', new FormControl('', [Validators.required]));\n }));\n }\n\n addJoiningDateField() {\n return this\n .getJoiningDate().pipe(\n tap(joiningDate => {\n const selectedValue = this.user && this.user.joining_date || joiningDate;\n this.newUser.addControl(this.joining_date_key, new FormControl(selectedValue, [Validators.required]));\n }));\n }\n\n removeTrainerFields() {\n this.newUser.removeControl('languages');\n this.newUser.removeControl('locations');\n this.newUser.removeControl(this.joining_date_key);\n }\n\n removeFormFields(fields: Array) {\n fields.forEach(field => {\n this.newUser.removeControl(field);\n });\n }\n\n onChangeLanguage(language: Array) {\n this.newUser.controls['languages'].setValue(language);\n }\n\n onChangeLocation(locations: Array) {\n this.newUser.controls['locations'].setValue(locations);\n }\n\n setSelectedCountries() {\n this.newUser.addControl('countries', new FormControl('', [Validators.required]));\n const selectedCities = this.user.cities || [];\n const selectedCountries = [];\n const countryCityMapper = this.cities.reduce((acc: any, curr) => {\n acc[curr.id] = curr.children.map(city => city.id);\n return acc;\n }, {});\n\n for(const key in countryCityMapper) {\n const isavailable = intersection(countryCityMapper[key], selectedCities);\n isavailable.length && (selectedCountries.push(key.toString()));\n }\n\n this.selectedCountries = selectedCountries;\n this.newUser.controls['countries'].setValue(selectedCountries);\n }\n}\n","\n
\n
\n
\n
\n

{{user.user_id ? 'Update' : 'Add a New'}} User

\n \n
\n
\n
\n
\n
\n
\n \n
\n \n \n
\n
\n
\n This field is required
\n
\n
\n
\n
\n \n
\n \n
\n This field is required\n
\n
\n
\n
\n \n
\n \n
\n This field is required\n
\n
\n
\n
\n \n
\n \n
\n This field is required\n
\n
\n
\n
\n \n
\n \n
\n
\n \n
\n This field is required\n Location cannot be changed, because you currently have future slots\n
\n
\n
\n
\n \n
\n \n
\n This field is required\n
\n
\n
\n
\n \n \n This field is required
\n Not a valid email pattern\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n\n","import { AfterViewInit, Component, Injector, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { Form, FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select2OptionData } from 'ng-select2';\nimport { ModalDirective } from 'ngx-bootstrap';\nimport { Observable, Subject } from 'rxjs';\nimport { filter, map, mergeMap, tap } from 'rxjs/operators';\nimport { ToastrMessages } from 'src/app/common/constants';\n\nimport { LanguagesService, LocationsService } from '../../';\nimport { Filters, QueryParams } from '../../../overview/overview';\nimport { OverviewService } from '../../../overview/overview.service';\nimport { Slot } from '../../../training-slots/slot';\nimport { TrainingSlotsService } from '../../../training-slots/training-slots.service';\nimport { DateService } from '../../date/date.service';\nimport { LocationTypeEnum } from '../../global-interfaces';\nimport { SpinnerService } from '../../spinner/spinner.service';\nimport { ToastrService } from '../../toastr/toastr.service';\n\n@Component({\n selector: 'book-slot-modal',\n templateUrl: './book-slot.template.html'\n})\n\nexport class BookSlotModalComponent implements OnInit, OnDestroy, AfterViewInit {\n @ViewChild('modalWindow') modelWindow: ModalDirective;\n newSlot: Date = new Date();\n slotModal: FormGroup;\n location: number;\n captain_type_id: number;\n training_id: number;\n onClose: Subject;\n bookedSlot: Slot;\n slots: Array = [];\n slot: {training_id: number, user_id: number} = {\n training_id: 0,\n user_id: 0\n };\n locations: Array = [];\n languages: Array = [];\n\n filter: Filters = {};\n\n constructor(\n private overviewService: OverviewService,\n private formBuilder: FormBuilder,\n private locationService: LocationsService,\n private toastrService: ToastrService,\n private spinnerService: SpinnerService,\n private trainingSlotService: TrainingSlotsService,\n private languageService: LanguagesService,\n private dateService: DateService,\n private injector: Injector\n ) {\n this.filter.startDate = this.dateService.getStartOfDay(new Date(), true);\n this.filter.endDate = this.dateService.getEndOfDay(new Date(), true);\n }\n\n ngOnInit() {\n this.slot.user_id = this.injector.get('user_id');\n this.training_id = this.injector.get('training_id');\n this.captain_type_id = this.injector.get('captain_type_id');\n this.onClose = this.injector.get('onClose');\n\n this.initializeForm();\n\n if (this.training_id) {\n this.trainingSlotService.getSlot(this.training_id)\n .subscribe((slot: any) => {\n this.bookedSlot = slot;\n this.bookedSlot.start_time = this.dateService.getDate(this.bookedSlot.start_time, null, true);\n },\n () => this.updateSlot());\n } else {\n this.updateSlot();\n }\n }\n\n ngAfterViewInit() {\n this.modelWindow.show();\n }\n\n initializeForm() {\n this.slotModal = this.formBuilder.group({\n training_id: ['', Validators.required],\n user_id: [''],\n location_id: [''],\n language_id: [''],\n datetime: [new Date()],\n time_slot: ['']\n });\n\n this.slotModal.valueChanges.pipe(\n filter(value => (value.location_id && value.language_id)),\n mergeMap(() => this.getTrainingSlots()))\n .subscribe((slots: any) => {\n if (slots.length === 0) {\n this.toastrService.openToastr(ToastrMessages.noSlots, ToastrMessages.error);\n } this.slots = slots;\n });\n }\n\n updateSlot() {\n this.training_id = null;\n this.initializeForm();\n\n this.languageService.getActiveLanguages()\n .subscribe(languages => this.languages = languages);\n\n this.locationService.getLocations(LocationTypeEnum.Captain)\n .subscribe((locations) => this.locations = locations);\n }\n\n onChangeSlot(slot: string) {\n this.slot.training_id = Number(slot);\n }\n\n onChangeLocation(event: string) {\n this.slotModal.controls['location_id'].setValue(event);\n }\n\n onChangeLanguage(event: string) {\n this.slotModal.controls['language_id'].setValue(event);\n }\n\n getTrainingSlots(): Observable {\n const params: QueryParams = {\n language_id: this.slotModal.get('language_id').value,\n captain_type_id: this.captain_type_id,\n location_id: this.slotModal.get('location_id').value\n };\n\n return this.trainingSlotService.getAvailableTrainings(params).pipe(\n map((res => this.mapSlots(res['data']))));\n }\n\n onSubmit(form: Form) {\n this.spinnerService.change(true);\n this.trainingSlotService.bookSlot(this.slot).pipe(\n tap(() => {\n this.onClose.next();\n this.spinnerService.change(false);\n }))\n .subscribe(() => this.modelWindow.hide());\n }\n\n mapSlots(slots: Slot[]): Array {\n return slots.map((slot: any) =>\n ({ id: slot.id, text: this.dateService.getDate(slot.start_time, 'DD MMM YYYY, hh:mm A', true)}));\n }\n\n ngOnDestroy() {}\n}\n","
\n
\n
\n
\n

Slot Booking

\n \n
\n
\n
\n
\n
\n \n
\n \n
\n
{{bookedSlot?.location?.title}}
\n This field is required\n
\n
\n \n
\n \n
\n
{{bookedSlot?.language?.name}}
\n This field is required\n
\n
\n
\n
\n \n
\n \n
\n
\n {{bookedSlot?.start_time | date: 'dd MMMM yyyy hh:mma'}}\n by {{bookedSlot?.trainer?.first_name}} {{bookedSlot?.trainer?.last_name}}\n
\n This field is required\n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n
\n","import { AfterViewInit, Component, Injector, OnInit, Output, EventEmitter, ViewChild } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { WebcamImage, WebcamInitError, WebcamUtil } from 'ngx-webcam';\nimport { DynamicModalService } from '../dynamic-modal/dynamic-modal.service';\n\n@Component({\n selector: 'app-camera',\n templateUrl: './camera.component.html',\n styleUrls: ['./camera.component.scss']\n})\nexport class CameraModalComponent implements OnInit, AfterViewInit {\n @ViewChild('modalWindow') pictureModal;\n onClose: Subject;\n\n @Output()\n public pictureTaken = new EventEmitter();\n public data: any = {};\n // toggle webcam on/off\n public showWebcam = true;\n public webcamImage: WebcamImage;\n public allowCameraSwitch = true;\n public multipleWebcamsAvailable = false;\n public deviceId: string;\n public videoOptions: MediaTrackConstraints = {\n // width: {ideal: 1024},\n // height: {ideal: 576}\n };\n public errors: WebcamInitError[] = [];\n\n // webcam snapshot trigger\n private trigger: Subject = new Subject();\n // switch to next / previous / specific webcam; true/false: forward/backwards, string: deviceId\n private nextWebcam: Subject = new Subject();\n\n constructor(\n private readonly dynamicModalService: DynamicModalService,\n private readonly injector: Injector) { }\n\n public ngOnInit(): void {\n WebcamUtil.getAvailableVideoInputs()\n .then((mediaDevices: MediaDeviceInfo[]) => {\n this.multipleWebcamsAvailable = mediaDevices && mediaDevices.length > 1;\n });\n this.onClose = this.injector.get('onClose');\n\n }\n\n ngAfterViewInit() {\n this.pictureModal.show();\n this.pictureModal.onHidden\n .subscribe(() => {\n this.showWebcam = false;\n this.dynamicModalService.modalOnClose.next(null);\n });\n }\n\n public takeSnapshot(): void {\n this.trigger.next();\n }\n\n public retakeSnapshot(): void {\n this.showWebcam = true;\n this.webcamImage = null;\n }\n\n public toggleWebcam(): void {\n this.showWebcam = !this.showWebcam;\n }\n\n public handleInitError(error: WebcamInitError): void {\n this.errors.push(error);\n }\n\n public showNextWebcam(directionOrDeviceId: boolean | string): void {\n // true => move forward through devices\n // false => move backwards through devices\n // string => move to device with given deviceId\n this.nextWebcam.next(directionOrDeviceId);\n }\n\n public handleImage(webcamImage: WebcamImage): void {\n this.webcamImage = webcamImage;\n this.showWebcam = false;\n this.pictureTaken.emit(webcamImage);\n }\n\n public sendBackSnapshot(): void {\n this.pictureTaken.emit(this.webcamImage);\n } \n\n public cameraWasSwitched(deviceId: string): void {\n this.deviceId = deviceId;\n }\n\n public get triggerObservable(): Observable {\n return this.trigger.asObservable();\n }\n\n public get nextWebcamObservable(): Observable {\n return this.nextWebcam.asObservable();\n }\n\n dataURLtoFile(dataurl, filename) {\n \n var arr = dataurl.split(','),\n mime = arr[0].match(/:(.*?);/)[1],\n bstr = atob(arr[1]), \n n = bstr.length, \n u8Arr = new Uint8Array(n);\n \n while(n--){\n u8Arr[n] = bstr.charCodeAt(n);\n }\n \n return new File([u8Arr], filename, {type:mime});\n }\n\n closeModal() {\n this.showWebcam = false;\n const imageName = Math.random().toString(36).slice(2);\n const file = this.dataURLtoFile(this.webcamImage.imageAsDataUrl, `${imageName}.jpeg`);\n this.data = {\n webcamImage: this.webcamImage,\n files: [file]\n }\n this.onClose.next(this.data);\n this.onClose.complete();\n this.pictureModal.hide();\n }\n}\n","\n
\n
\n
\n
\n

Take Picture

\n \n
\n
\n
\n
\n \n
\n
\n \"webcam_image\"\n
\n\n
\n \n
0\">Please allow camera to take picture
\n \n
\n
\n \n \n \n \n
\n
\n
\n
\n\n","import { Component, Injector, OnInit, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Select2OptionData } from 'ng-select2';\nimport { ModalDirective } from 'ngx-bootstrap';\nimport { Subject } from 'rxjs';\nimport { ToastrMessages } from 'src/app/common/constants';\n\nimport { DateService, ToastrService } from '../../';\nimport { Slot } from '../../../training-slots/slot';\nimport { TrainingSlotsService } from '../../../training-slots/training-slots.service';\n\n\n@Component({\n selector: 'change-training',\n templateUrl: './change-training.template.html'\n})\n\nexport class ChangeTrainingModal implements OnInit {\n @ViewChild('modalWindow') modalWindow: ModalDirective;\n confirmation = false;\n form: FormGroup;\n canLoadMore = false;\n onClose: Subject;\n selectedTraining: Slot;\n list: Array;\n availableTrainings: Array = [];\n trainings: Array = [];\n slot: Slot;\n to_training_id: any;\n\n constructor(\n private formBuilder: FormBuilder,\n private trainingSlotService: TrainingSlotsService,\n private dateService: DateService,\n private toastrService: ToastrService,\n private injector: Injector\n ) {}\n\n ngOnInit() {\n this.slot = this.injector.get('information');\n this.onClose = this.injector.get('onClose');\n this.list = this.injector.get('trainings');\n this.availableTrainings = this.list.length > 0 ? this.mapSlots(this.list) : [];\n this.form = this.formBuilder.group({\n to_training_id: [this.availableTrainings.length ? this.availableTrainings[0].id : '', [Validators.required]]\n });\n }\n\n ngAfterViewInit() {\n this.modalWindow.show();\n }\n\n confirm() {\n this.confirmation = true;\n this.modalWindow.hide();\n }\n\n onChangeSlot(training_id: any = 0) {\n this.form.patchValue({to_training_id: training_id});\n this.selectedTraining = this.trainings.find(training => training.id === Number(training_id));\n if (this.selectedTraining) {\n this.selectedTraining.available_slots = this.selectedTraining.capacity - this.selectedTraining.attendees_count;\n }\n }\n\n moveSlot() {\n this.trainingSlotService.moveSlotAndDelete(\n this.slot.training_id,\n this.form.get('to_training_id').value\n ).subscribe((res: any) => {\n if (!res.bookedSlotsStats) {\n this.toastrService\n .openToastr(ToastrMessages.userMovedSuccess, ToastrMessages.success);\n this.closeModal();\n } else {\n this.slot.attendees_count = res.bookedSlotsStats.bookings_left;\n this.availableTrainings = this.availableTrainings.filter((training) =>\n Number(training.id) !== Number(this.selectedTraining.id));\n this.toastrService\n .openToastr(`Still pending (${this.slot.attendees_count}) attendees to be assigned. Cannot delete training`, 'error');\n }\n });\n }\n\n closeModal() {\n this.onClose.next();\n this.modalWindow.hide();\n }\n\n mapSlots(slots: any): Array {\n return slots\n .map(slot => ({ id: slot.id, text: this.dateService.getDate(slot.start_time, 'DD MMM YYYY, hh:mm A', true) }))\n .filter(slot => String(slot.id) !== String(this.slot.training_id));\n }\n}\n","
\n
\n
\n
\n

Move Captains

\n \n
\n
\n You have {{slot.attendees_count}} Captain(s) in this slot. Move them to another available slot.\n
\n
\n
\n
\n
\n \n
\n \n
\n No training slot is available in future.\n You can move {{selectedTraining?.available_slots}} attendees to this training slot.\n This field is required\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n","import { AfterViewInit, Component, Injector, OnInit, ViewChild } from '@angular/core';\nimport { forkJoin as observableForkJoin, Observable, Subject } from 'rxjs';\nimport { first, map } from 'rxjs/operators';\n\nimport { CarCheckService } from '../../../car-check/car-check.service';\nimport { DynamicModalService } from '../dynamic-modal/dynamic-modal.service';\n\nimport { Car } from '../../../car-check/data';\n\n@Component({\n selector: 'check-car',\n templateUrl: './check-car.template.html'\n})\n\nexport class CheckCarModalComponent implements OnInit, AfterViewInit {\n @ViewChild('modalWindow') checkCar;\n\n cars: Array;\n status: { approve?: number; reject?: number } = {};\n statuses: Array<{ plate: string; request: Observable} > = [];\n onClose: Subject;\n\n constructor(\n private dynamicModalService: DynamicModalService,\n private carCheckService: CarCheckService,\n private injector: Injector\n ) {\n this.status.approve = 2;\n this.status.reject = 3;\n }\n\n ngOnInit() {\n this.cars = this.injector.get('cars');\n this.onClose = this.injector.get('onClose');\n }\n\n ngAfterViewInit() {\n this.checkCar.show();\n this.checkCar.onHidden\n .subscribe(() => this.dynamicModalService.modalOnClose.next(null));\n }\n\n setStatus(car: Car, status: number) {\n car.status.id = status;\n car.status.title = status === 3 ? 'Rejected' : 'Approved';\n\n const request = { status_id: String(car.status.id), id: car.id };\n this.statuses = this.statuses.filter((request) => request.plate !== car.registration);\n this.statuses.push({ request: this.carCheckService.checkCar(request), plate: car.registration });\n }\n\n updateCar(car) {\n const request = { status_id: car.status.id, id: this.injector.get('user_id') };\n this.carCheckService.checkCar(request).pipe(first(),\n map(res => res['data'])).subscribe(() => {});\n }\n\n updateCars() {\n if (!this.statuses.length) {\n this.checkCar.hide();\n } else {\n observableForkJoin(this.statuses.map(status => status.request)).pipe(\n first()).subscribe(() => {\n this.onClose.next({ value: this.cars[0].status.id});\n this.checkCar.hide();\n });\n }\n }\n}\n","
\n
\n
\n
\n

Car Check

\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 Registration Number\n \n Status\n \n Current Status\n
{{car.registration}}\n \n \n {{car?.status?.title}}
\n No records\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n Injector,\n OnInit,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { omit } from 'lodash';\nimport { Select2OptionData } from 'ng-select2';\nimport { ModalDirective } from 'ngx-bootstrap';\nimport { Subject } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { DateService, SpinnerService, ToastrService } from '../../';\nimport { TrainerManagementService } from '../../../trainer-management/trainer-management.service';\nimport { Day, Slot } from '../../../training-slots/slot';\nimport { TrainingSlotsService } from '../../../training-slots/training-slots.service';\nimport { daysOption, regex, slotModes, slotTypes } from '../../constants';\nimport { DatePickerOptions } from '../../global-interfaces';\n\n\n@Component({\n selector: 'training-slot-modal',\n templateUrl: './training-slot.template.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class TrainingSlotModalComponent implements OnInit, AfterViewInit {\n @ViewChild('modalWindow') public modalWindow: ModalDirective;\n onClose: Subject;\n\n trainingSlot: FormGroup;\n slot: Slot;\n\n trainerId: number | string;\n languageId: number | string;\n category_id: number | string;\n locationId: number | string;\n\n days: Array = [];\n trainers: Array = [];\n languages: Array = [];\n locations: Array = [];\n modes: Array = [];\n types: Array = [];\n categories: Array = [];\n\n startTimeOptions: DatePickerOptions = {\n autoclose: true,\n todayHighlight: true\n };\n\n endDateOptions: DatePickerOptions = {\n autoclose: true,\n todayHighlight: true\n };\n\n selectedDays: Array = [];\n private trainersList: Array = [];\n\n constructor(\n private trainerService: TrainerManagementService,\n private trainingSlotService: TrainingSlotsService,\n private spinnerService: SpinnerService,\n private formBuilder: FormBuilder,\n private toastrService: ToastrService,\n private dateService: DateService,\n private changeDetection: ChangeDetectorRef,\n private injector: Injector\n ) {\n this.days = daysOption;\n this.modes = slotModes;\n this.startTimeOptions.startDate = this.dateService.getCityDate();\n this.endDateOptions.startDate = this.dateService.getCityDate();\n this.types = slotTypes;\n }\n\n ngOnInit() {\n this.slot = this.injector.get('slot');\n this.onClose = this.injector.get('onClose');\n\n this.locations = this.injector.get('locations');\n this.languages = this.injector.get('languages');\n this.categories = [{ id: '0', text: 'All' }].concat(this.injector.get('formOptions'));\n this.trainers = this.mapTrainers(this.injector.get('trainers'));\n\n this.trainingSlot = this.formBuilder.group({\n startTime: [this.dateService.getCityDate(), Validators.required],\n startSlotTime: [this.slot.id ? new Date(this.slot.startTime) : undefined, Validators.required],\n capacity: [this.slot.capacity, [Validators.required, Validators.pattern(regex.capacity)]],\n languageId: [this.slot.id ? this.slot.language['id'] : this.languages.length ? this.languages[0].id : '', Validators.required],\n trainerId: [this.slot.id ? this.slot.trainer['id'] : '', Validators.required],\n locationId: [this.slot.id ? this.slot.location['id'] : this.locations.length ? this.locations[0].id : '', Validators.required],\n formOptionId: [this.slot.form_option ? this.slot.form_option['id'] : '0', Validators.required],\n type: ['single'],\n repeatType: [''],\n frequency: ['', Validators.pattern(regex.frequency)],\n endDate: ['']\n });\n\n if (this.trainers.length && !this.slot.id) {\n this.trainingSlot.patchValue({ trainerId: this.trainers[0].id });\n }\n if (this.locations.length && !this.slot.id) {\n this.trainingSlot.patchValue({ locationId: this.locations[0].id });\n }\n if (this.slot.id && this.slot.startTime) {\n this.trainingSlot.patchValue({ startTime: new Date(this.slot.startTime)});\n }\n if (this.slot.id && this.slot.startTime) {\n this.trainingSlot.patchValue({ startSlotTime: new Date(this.slot.startTime)});\n }\n\n\n this.locationId = this.trainingSlot?.get('locationId')?.value;\n this.languageId = this.trainingSlot?.get('languageId')?.value;\n this.category_id = this.trainingSlot?.get('formOptionId')?.value;\n this.trainerId = this.trainingSlot?.get('trainerId')?.value;\n }\n\n ngAfterViewInit() {\n this.modalWindow.show();\n this.changeDetection.detectChanges();\n }\n\n onChangeMode(event: string) {\n if (event === 'repeat') {\n this.trainingSlot?.patchValue({ repeatType: 'daily' });\n this.trainingSlot?.controls?.['endDate']?.setValidators(Validators.required);\n } else {\n this.trainingSlot?.patchValue({ repeatType: '' });\n this.trainingSlot?.controls?.['endDate']?.setErrors(null);\n }\n this.trainingSlot?.patchValue({ type: event });\n }\n\n onDayChange(day: number, event: boolean) {\n if (event) {\n return this.selectedDays.push(day);\n } this.selectedDays = this.selectedDays.filter((_day) => _day !== day);\n }\n\n onChangeForm(key: string, event: string) {\n this.trainingSlot?.controls?.[key]?.setValue(event);\n if (key === 'languageId') {\n this.trainingSlot?.controls?.['languageId']?.setValidators(Validators.required);\n }\n if (key === 'languageId' || key === 'locationId') {\n this.populateTrainersOnChange();\n }\n }\n\n onChangeStartTime(event: Date) {\n this.endDateOptions = Object.assign({}, this.endDateOptions, {\n startDate: this.dateService.getCityDate(event)\n });\n }\n\n onSubmit(slot: Slot) {\n if (this.trainingSlot?.get('type')?.value === 'repeat') {\n slot.repeat = {\n type: slot.repeatType,\n endDate: this.dateService.getEndOfDay(new Date(slot.endDate), false)\n };\n if (slot.repeat.type === 'weekly') {\n slot.repeat.frequency = slot.frequency;\n slot.repeat.days = this.selectedDays;\n }\n }\n slot = omit(slot, ['repeatType', 'endDate', 'frequency']);\n if (slot?.formOptionId === '0') {\n slot = omit(slot, 'formOptionId');\n }\n\n slot.startTime = this.dateService.getFullDateWithCityZone(this.dateService.mergeDateAndTime(new Date(slot.startTime), new Date(slot.startSlotTime)));\n\n this.spinnerService.change(true);\n if (this.slot?.id) {\n this.trainingSlotService.updateSlot(slot, this.slot.id)\n .subscribe(() => this.closeModal('update'));\n } else {\n this.trainingSlotService.createSlot(slot)\n .subscribe(() => this.closeModal('update'));\n }\n }\n\n closeModal(type?: string) {\n this.onClose?.next();\n this.spinnerService.change(false);\n this.toastrService.openToastr(`Successfully ${type} training slot`, 'success');\n this.modalWindow?.hide();\n }\n\n mapTrainers(trainers: Array): Array {\n this.trainersList = trainers;\n return this.trainersList.map(trainer => {\n return {\n id: trainer?.userId,\n text: `${trainer?.user?.firstName} ${trainer?.user?.lastName}`\n };\n });\n }\n\n populateTrainersOnChange() {\n this.spinnerService.change(true);\n this.trainerService.getAllTrainers(this.trainingSlot?.get('languageId')?.value, this.trainingSlot?.get('locationId')?.value).pipe(\n map((response: any[]) => this.mapTrainers(response)))\n .subscribe((trainers) => {\n this.spinnerService.change(false);\n this.trainers = trainers || [];\n if (this.trainers.length) {\n this.trainerId = trainers[0].id;\n }\n });\n }\n}\n","
\n
\n
\n
\n

{{!slot.id ? 'Create New' : 'Update'}} Training Slot

\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n \n This field is required\n
\n
\n \n \n This field is required\n
\n
\n
\n
\n
\n \n This field is required\n
\n
\n
\n \n This field is required\n Capacity must be between 1 and 1000\n
\n
\n
\n \n This field is required\n
\n
\n
\n \n This field is required\n
\n\n
\n
\n \n This field is required\n
\n
\n
\n \n This field is required\n
\n
\n
\n
\n
\n
\n \n
\n
\n \n \n
\n
\n
\n \n Repeats Every must be between 1 and 25\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
","import { AfterViewInit, Component, Injector, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { Subject } from 'rxjs';\n\nimport { Company } from '../../../limo-company/limo-company';\nimport { LimoCompanyService } from '../../../limo-company/limo-company.service';\nimport { DynamicModalService } from '../dynamic-modal/dynamic-modal.service';\n\n@Component({\n selector: 'delete-limo-company',\n templateUrl: 'delete-limo-company.template.html',\n providers: [LimoCompanyService]\n})\n\nexport class DeleteLimoCompanyModalComponent implements OnInit, OnDestroy, AfterViewInit {\n @ViewChild('modalWindow') limoDeleteModal;\n new_limo_delete: FormGroup;\n isFormSubmitted = false;\n company: Company;\n onClose: Subject;\n\n select2Options: Select2Options = {\n multiple: true,\n theme: 'bootstrap4'\n };\n\n constructor(\n private formBuilder: FormBuilder,\n private limoCompanyService: LimoCompanyService,\n private dynamicModalService: DynamicModalService,\n private injector: Injector\n ) {}\n\n ngOnInit() {\n this.company = this.injector.get('company');\n this.new_limo_delete = this.formBuilder.group({\n id: ['', '']\n });\n this.onClose = this.injector.get('onClose');\n }\n\n ngAfterViewInit() {\n this.limoDeleteModal.show();\n this.limoDeleteModal.onHidden.subscribe(() => this.dynamicModalService.modalOnClose.next(null));\n }\n\n onSubmit(form) {\n this.delete_();\n }\n\n\n delete_() {\n this.limoCompanyService.deleteCompany(this.company.id)\n .subscribe(data => {\n this.limoDeleteModal.hide();\n this.new_limo_delete.reset();\n this.closeModal(data);\n });\n }\n\n closeModal(data: any) {\n this.onClose.next(data);\n this.onClose.complete();\n }\n\n ngOnDestroy() {}\n}\n","\n
\n
\n
\n
\n \n
\n

Delete Limo Company

\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n\n","import { Component, ComponentFactoryResolver, Input, ReflectiveInjector, ViewChild, ViewContainerRef } from '@angular/core';\n\n@Component({\n selector: 'dynamic-modal',\n template: `\n
\n `\n})\nexport class DynamicModalComponent {\n currentModalComponent = null;\n @ViewChild('dynamicModalContainer', { read: ViewContainerRef }) dynamicModalContainer: ViewContainerRef;\n @Input() set componentData(data: { component: any, inputs: any }) {\n if (!data) return;\n let factory, component;\n if (data.inputs) {\n const inputProviders = Object.keys(data.inputs).map((inputName) => ({ provide: inputName, useValue: data.inputs[inputName] }));\n const resolvedInput = ReflectiveInjector.resolve(inputProviders);\n\n const injector = ReflectiveInjector.fromResolvedProviders(resolvedInput, this.dynamicModalContainer.parentInjector);\n factory = this.resolver.resolveComponentFactory(data.component);\n component = factory.create(injector);\n\n this.dynamicModalContainer.clear();\n this.dynamicModalContainer.insert(component.hostView);\n component.changeDetectorRef.detectChanges();\n } else {\n factory = this.resolver.resolveComponentFactory(data.component);\n component = this.dynamicModalContainer.createComponent(factory);\n component.changeDetectorRef.detectChanges();\n }\n if (this.currentModalComponent) {\n this.currentModalComponent.destroy();\n }\n this.currentModalComponent = component;\n }\n\n constructor(private resolver: ComponentFactoryResolver) {\n\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DynamicModalComponent } from './dynamic-modal.component';\nimport { DynamicModalService } from './dynamic-modal.service';\n\n@NgModule({\n declarations: [\n DynamicModalComponent\n ],\n imports: [\n CommonModule\n ],\n providers: [\n DynamicModalService\n ],\n exports: [\n DynamicModalComponent\n ]\n})\nexport class DynamicModalModule {\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\nexport interface IComponentModel {\n component: any;\n inputs?: any;\n}\n\n@Injectable()\nexport class DynamicModalService {\n modalOnClose: Subject;\n componentData: Subject;\n\n constructor() {\n this.modalOnClose = new Subject();\n this.componentData = new Subject();\n }\n\n setComponentData(componentData: IComponentModel): Subject {\n const onClose = new Subject();\n componentData.inputs['onClose'] = onClose;\n this.componentData.next(componentData);\n return onClose;\n }\n}\n","import { AfterViewInit, Component, Injector, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { Select2OptionData } from 'ng-select2';\nimport { Subject } from 'rxjs';\n\nimport { Company } from '../../../limo-company/limo-company';\nimport { LimoCompanyService } from '../../../limo-company/limo-company.service';\n\n@Component({\n selector: 'import-limo-company',\n templateUrl: 'import-limo-company.template.html',\n providers: [LimoCompanyService]\n})\n\nexport class ImportLimoCompanyModalComponent implements OnInit, OnDestroy, AfterViewInit {\n @ViewChild('modalWindow') limoImportModal;\n locations: Array;\n isFormSubmitted = false;\n company: Company;\n languages: Array;\n language: Array;\n onClose: Subject;\n isFileValid = true;\n isFileSelect = true;\n fileName: any = false;\n file_data: any;\n formats: Array = [\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n 'application/vnd.ms-excel'\n ];\n\n select2Options: Select2Options = {\n multiple: true,\n theme: 'bootstrap4'\n };\n\n /**\n * Component Constructor.\n * @param formBuilder\n * @param injector\n */\n constructor(\n private injector: Injector\n ) {\n\n }\n\n\n\n /**\n * Init\n */\n ngOnInit() {\n this.onClose = this.injector.get('onClose');\n }\n\n\n /**\n * After modal is initialized.\n */\n ngAfterViewInit() {\n this.limoImportModal.show();\n }\n\n\n /**\n * Listens file change.\n * @param $event\n */\n onFileUpload($event) {\n this.uploadAsBase64($event.target);\n }\n\n /**\n * Generate base 64 of the file.\n * @param inputValue\n */\n uploadAsBase64(inputValue: any): void {\n const file: File = inputValue.files[0];\n const limoFileReader: FileReader = new FileReader();\n limoFileReader.readAsDataURL(file);\n limoFileReader.onloadend = (e) => {\n if (this.isValidFile(file.type)) {\n this.fileName = file.name;\n const fileReaderResult = limoFileReader.result;\n this.file_data = {\n file: fileReaderResult.substring(fileReaderResult.indexOf(',') + 1)\n };\n this.isFileValid = true;\n this.isFileSelect = true;\n this.isFormSubmitted = true;\n } else {\n this.fileName = false;\n this.isFileValid = false;\n this.isFileSelect = true;\n this.isFormSubmitted = false;\n }\n };\n }\n\n\n upload() {\n this.closeModal(this.file_data);\n }\n\n\n\n\n /**\n * Close modal.\n * @param data\n */\n closeModal(data: any) {\n this.limoImportModal.hide();\n this.onClose.next(data);\n this.onClose.complete();\n }\n\n\n\n /**\n * On destroy event.\n */\n ngOnDestroy() {\n }\n\n\n isValidFile(fileType: string) {\n return (this.formats.indexOf(fileType) > -1);\n }\n\n}\n","\n
\n
\n
\n
\n \n
\n

Bulk Upload

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

Upload excel (.xlsx) file to save limo companies in bulk

\n
\n \n \n \n Browse\n \n This field is required\n File should be in .xlsx format\n
\n
\n
\n
\n
\n \n \n\n
\n
\n
\n
\n\n","export { DynamicModalComponent } from './dynamic-modal/dynamic-modal.component';\nexport { DynamicModalService } from './dynamic-modal/dynamic-modal.service';\n","import { AfterViewInit, Component, Injector, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Component({\n selector: 'limo-import-error',\n templateUrl: 'limo-import-error.template.html'\n})\n\nexport class LimoImportErrorModalComponent implements OnInit, OnDestroy, AfterViewInit {\n @ViewChild('modalWindow222') limoImportModal;\n isFormSubmitted = false;\n onClose: Subject;\n data: any;\n\n\n /**\n * Component Constructor.\n * @param formBuilder\n * @param injector\n */\n constructor(\n private injector: Injector\n ) {\n\n }\n\n\n\n /**\n * Init\n */\n ngOnInit() {\n this.onClose = this.injector.get('onClose');\n this.data = this.injector.get('data');\n }\n\n\n /**\n * After modal is initialized.\n */\n ngAfterViewInit() {\n this.limoImportModal.show();\n }\n\n\n /**\n * Close modal.\n */\n closeModal() {\n this.limoImportModal.hide();\n }\n\n\n\n /**\n * On destroy event.\n */\n ngOnDestroy() {\n }\n\n}\n","\n
\n
\n
\n
\n

Upload Error

\n\n
\n
\n
\n
\n
XLSX failed to upload due to following errors, please rectify the below mentioned errors in Excel file before attempting to upload again.
\n
\n
\n
{{data.errors[0].title}}
\n \n \n \n \n \n \n \n \n \n \n \n \n
Row#Error Details
{{item.source.row}}{{item.title}}
\n
\n
\n
\n \n
\n
\n
\n\n","import { AfterViewInit, Component, Injector, OnInit, ViewChild } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Component({\n selector: 'message-popup',\n templateUrl: 'message-popup.template.html'\n})\n\nexport class MessagePopupComponent implements OnInit, AfterViewInit {\n @ViewChild('modalWindow') promptModal;\n\n onClose: Subject;\n title: string;\n closeStatus: boolean;\n message: string;\n confirmButton: string;\n\n constructor(\n private injector: Injector\n ) {}\n\n hideModal() {\n this.onClose.next(this.closeStatus);\n this.onClose.complete();\n }\n\n ngOnInit() {\n this.onClose = this.injector.get('onClose');\n this.title = this.injector.get('title');\n this.message = this.injector.get('message');\n this.confirmButton = this.injector.get('confirmButton');\n }\n\n ngAfterViewInit() {\n this.promptModal.show();\n }\n\n closeModal(data: boolean) {\n this.closeStatus = data;\n this.promptModal.hide();\n }\n}\n","\n
\n
\n
\n
\n
\n

{{title}}

\n
\n
\n
\n

{{message}}

\n
\n
\n \n
\n
\n
\n
\n\n","import { AfterViewInit, Component, Injector, OnInit, ViewChild } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Component({\n selector: 'prompt',\n templateUrl: 'prompt.template.html'\n})\n\nexport class PromptComponent implements OnInit, AfterViewInit {\n @ViewChild('modalWindow') promptModal;\n\n onClose: Subject;\n title: string;\n closeStatus: boolean;\n message: string;\n confirmButton: string;\n cancelButton: string;\n\n constructor(\n private injector: Injector\n ) {}\n\n hideModal() {\n this.onClose.next(this.closeStatus);\n this.onClose.complete();\n }\n\n ngOnInit() {\n this.onClose = this.injector.get('onClose');\n this.title = this.injector.get('title');\n this.message = this.injector.get('message');\n this.confirmButton = this.injector.get('confirmButton');\n try { this.cancelButton = this.injector.get('cancelButton'); } catch (e) { }\n }\n\n ngAfterViewInit() {\n this.promptModal.show();\n }\n\n closeModal(data?: boolean) {\n this.closeStatus = data;\n this.promptModal.hide();\n }\n}\n","\n
\n
\n
\n
\n

{{title}}

\n \n
\n
\n

{{message}}

\n
\n
\n \n \n
\n
\n
\n
\n\n","import { AfterViewInit, Component, Injector, OnDestroy, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { ModalDirective } from 'ngx-bootstrap';\nimport { Subject } from 'rxjs';\nimport { first, tap } from 'rxjs/operators';\nimport { ToastrMessages } from 'src/app/common/constants';\n\nimport { CarCheckService } from '../../../car-check/car-check.service';\nimport { Car } from '../../../car-check/data';\nimport { DateService } from '../../date/date.service';\nimport { SpinnerService } from '../../spinner/spinner.service';\nimport { ToastrService } from '../../toastr/toastr.service';\n\n@Component({\n selector: 'supplier-details',\n templateUrl: './supplier-details.template.html',\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./supplier-details.styles.scss']\n})\n\nexport class SupplierDetailsModalComponent implements OnInit, OnDestroy, AfterViewInit {\n @ViewChild('modalWindow') modalWindow: ModalDirective;\n onClose: Subject;\n uploadingFile = false;\n supplierForm: FormGroup;\n previewImage = false;\n car: Car;\n file: { data?: string, name?: string, preview?: string, current?: string } = {};\n preview: any = {\n data: ''\n };\n statuses: any = [\n { value: '2', display: 'Approve Car Check', checked: false },\n { value: '3', display: 'Reject Car Check', checked: false }\n ];\n filter: any = {};\n\n constructor(\n private formBuilder: FormBuilder,\n private carCheckService: CarCheckService,\n private toastrService: ToastrService,\n private spinnerService: SpinnerService,\n private dateService: DateService,\n private injector: Injector\n ) { }\n\n ngOnInit() {\n this.car = this.injector.get('car');\n this.onClose = this.injector.get('onClose');\n this.filter.startDate = this.dateService.getStartOfDay(new Date);\n this.filter.startDate = this.dateService.getStartOfDay(new Date);\n\n this.supplierForm = this.formBuilder.group({\n name: [`${this.car.supplier.first_name} ${this.car.supplier.last_name}`],\n mobile_number: [this.car.supplier.cell_phone],\n registration: [this.car.registration],\n make: [''],\n model: [this.car.model.name],\n color: [''],\n year: [this.car.year.year],\n status: [String(this.car.status.id)]\n });\n\n this.carCheckService.getCar(this.car.id).pipe(\n first()).subscribe((response: any) => this.file.data = response['certificate_document']);\n\n this.supplierForm.patchValue({\n make: this.car.model.make ? this.car.model.make.title : '',\n color: this.car.color ? this.car.color.title : '',\n status: this.car.status.id ? String(this.car.status.id) : ''\n });\n }\n\n ngAfterViewInit() {\n this.modalWindow.show();\n }\n\n uploadFile(file) {\n this.file = file;\n }\n\n changeStatus(status: string) {\n this.supplierForm.patchValue({ status: status });\n }\n\n removeImage() {\n this.file.name = '';\n this.file.data = '';\n this.file.preview = '';\n }\n\n checkCar() {\n this.uploadingFile = true;\n this.spinnerService.change(true);\n\n const car: Car = {\n status_id: this.supplierForm.get('status').value,\n car_check_form: this.file.data,\n id: this.car.id\n };\n\n this.carCheckService.checkCar(car).pipe(\n tap(() => this.spinnerService.change(false)))\n .subscribe((res) => {\n this.closeModal();\n this.toastrService.openToastr(ToastrMessages.carStatusChanged, ToastrMessages.success);\n }, (errors) => {\n this.toastrService.openToastr(errors.errors[0].title, ToastrMessages.error);\n this.uploadingFile = false;\n });\n }\n\n closeModal() {\n this.onClose.next();\n this.modalWindow.hide();\n }\n\n showImage() {\n if (this.preview.data !== 'assets/img/pdf-icon.png') {\n this.previewImage = true;\n }\n }\n\n upload(file) {\n this.file = file;\n }\n\n ngOnDestroy() { }\n}\n","
\n
\n
\n
\n
\n
\n\n

Supplier Personal Details

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

Car Details

\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
\n\n
\n

This Car has been {{car?.status?.title}}\n

\n
\n\n
\n \n \n
\n
\n
\n
\n
\n \n
\n\n","export interface Pagination {\n count?: number;\n current_page?: number;\n links?: { next: string };\n per_page?: number;\n total?: number;\n total_pages?: number;\n}\n","export const permissionsConstant = [\n {\n path: 'dashboard',\n right: 'admin-dashboard'\n },\n {\n path: 'overview',\n right: 'admin-overview'\n },\n {\n path: 'Manage Limo Companies',\n right: 'admin-view-limo-companies'\n },\n {\n path: 'training-overview',\n right: 'admin-view-training-slots'\n },\n {\n path: 'incomplete-profiles',\n right: 'admin-view-incomplete-registrations'\n },\n {\n path: 'trainer-management',\n right: 'admin-view-trainers'\n },\n {\n path: 'car-check',\n right: 'admin-car-check-and-training'\n },\n {\n path: 'training-slots',\n right: 'admin-view-training-slots'\n },\n {\n path: 'transcription-listing',\n right: 'admin-update-transcriptions'\n },\n {\n path: 'approve-documents',\n right: 'admin-view-lead-profile'\n },\n {\n path: 'reporting',\n right: 'admin-reporting'\n },\n {\n path: 'change-user-password',\n right: 'change-user-password'\n },\n {\n path: 'admin_update_training',\n right: 'admin_update_training'\n },\n {\n path: 'download-history',\n right: 'admin-download-list-for-solution'\n },\n {\n path: 'download-all-profile',\n right: 'download-all-profile'\n },\n {\n path: 'download-data',\n right: 'download-data'\n },\n {\n path: 'find-a-captain',\n right: 'find-a-captain'\n },\n {\n path: 'user-management',\n right: 'admin-manage-users'\n },\n {\n path: 'replicate-city',\n right: 'replicate-city'\n },\n {\n path: 'add-captain',\n right: 'admin-add-captain'\n },\n {\n path: 'add-supplier',\n right: 'admin-add-captain'\n },\n {\n path: 'admin-view-city-document',\n right: 'admin-view-city-document'\n },\n {\n path: 'admin-edit-city-document',\n right: 'admin-edit-city-document'\n },\n {\n path: 'admin-view-form',\n right: 'admin-view-form'\n },\n {\n path: 'admin-edit-form',\n right: 'admin-edit-form'\n }\n];\n\nexport const referralPermissions = {\n show: 'show-referral-id',\n enable: 'enable-referral-id'\n};\n\nexport enum USER_PERMISSIONS {\n hide_transcription_action_display = 'hide-transcription-action-display',\n hide_alert_banner_display = 'hide-alert-banner-display',\n hide_transcription_rotate_buttons = 'hide-transcription-rotate-buttons'\n};\n\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, Route, Router, RouterStateSnapshot } from '@angular/router';\n\nimport { PermissionService } from './permissions.service';\n\n@Injectable()\nexport class PermissionGuard implements CanActivate {\n states: Array;\n permissions: Array;\n constructor(\n private permissionService: PermissionService, private router: Router) {\n this.states = this.permissionService.menuParser();\n }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\n\n this.permissions = this.permissionService.getPermissions(localStorage.getItem('token'));\n\n if (this.permissions.indexOf(route.data['permission']) > -1) {\n return true;\n } else if (this.states.length) {\n if (this.states[0].subMenu) {\n this.router.navigateByUrl(this.states[0].subMenu[0].link);\n } else {\n this.router.navigateByUrl(this.states[0].link);\n }\n } else {\n this.router.navigateByUrl('/error');\n }\n\n return false;\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { intersection } from 'lodash';\n\nimport { AuthService } from '../auth/auth.service';\nimport { FRANCHISE_ROLES } from '../../common/constants';\nimport { permissionsConstant } from './permissions.constant';\nimport { sideBarMenu } from './sidebar-menu.constant';\n\n\n@Injectable()\nexport class PermissionService {\n\n constructor(\n private readonly authService: AuthService\n ) { }\n\n getUserRoles() {\n const rolesArr = this.authService.getUserRoles();\n return rolesArr.map(role => role['name']);\n }\n\n getAllRights() {\n const rolePermissions = this.getPermissions(localStorage.getItem('token'));\n return [].concat.apply([], rolePermissions)\n .reduce((a, b) => {\n if (a.indexOf(b) < 0) a.push(b);\n return a;\n }, []);\n }\n\n menuParser() {\n const menu = this.filteredMenu(sideBarMenu);\n menu.map(menuItem => {\n if (menuItem.subMenu) {\n menuItem.subMenu = this.filteredMenu(menuItem.subMenu);\n }\n return menuItem;\n });\n return menu;\n }\n\n filteredMenu(menu) {\n return menu.filter((item: any) => {\n if (!item.right || this.isUserAuthorized(item.right)) {\n return item;\n }\n });\n }\n\n isUserAuthorized(right) {\n return this.getAllRights().indexOf(right) > -1;\n }\n\n isFranchiseUser() {\n const roles = this.getUserRoles();\n return !!intersection(FRANCHISE_ROLES, roles).length;\n }\n\n isPathAuthorized(path) {\n const obj = permissionsConstant.filter((item: any) => {\n return item.path === path || item.path === path.split('?')[0];\n });\n if (obj[0] && obj[0]['right']) {\n return this.isUserAuthorized(obj[0]['right']);\n }\n return false;\n }\n\n getPermissions(token): Array {\n const base64Url = token.split('.')[1];\n const base64 = base64Url.replace('-', '+').replace('_', '/');\n const data = JSON.parse(window.atob(base64));\n /**\n * This check is to handle invalid tokens which is already in localstorage.\n * this will check if token has permission\n * otherwise it will logout the user.\n */\n if (data.permissions) {\n return data.permissions;\n } else {\n this.authService.logout();\n }\n return null;\n }\n}\n","import { Menu } from './menu';\n\nexport const sideBarMenu: Menu[] = [\n {\n id: 'overview',\n name: 'Overview',\n icon: 'fa fa-binoculars',\n subMenu: [\n {\n id: 'overview-captain',\n right: 'admin-overview',\n name: 'Captains',\n link: '/overview'\n },\n {\n id: 'overview-vehicle',\n right: 'admin-vehicle-overview',\n name: 'Vehicles',\n link: '/overview/vehicle'\n },\n {\n id: 'overview-supplier',\n right: 'admin-supplier-overview',\n name: 'Supplier',\n link: '/overview/supplier'\n }\n ]\n },\n {\n id: 'training-slots',\n right: 'admin-view-training-slots',\n name: 'Training Slots',\n link: '/training-slots',\n icon: 'fa fa-calendar'\n },\n {\n id: 'reporting',\n name: 'Reporting',\n icon: 'fa fa-list-alt',\n subMenu: [\n {\n id: 'summary',\n right: 'admin-reporting',\n name: 'Summary',\n link: '/reporting'\n },\n {\n id: 'download-history',\n right: 'admin-download-list-for-solution',\n name: 'Download History',\n link: '/download-history'\n },\n {\n id: 'download-data',\n right: 'download-data',\n name: 'Captains',\n link: '/download-data/all-captains'\n },\n {\n id: 'download-data',\n right: 'download-data',\n name: 'Help Leads',\n link: '/download-data/help-leads'\n },\n {\n id: 'download-data',\n right: 'download-data',\n name: 'Optional Documents',\n link: '/download-data/optional-docs'\n },\n {\n id: 'download-data',\n right: 'download-excel-url',\n name: 'Download Documents',\n link: '/download-data/captain-docs'\n },\n {\n id: 'export-status',\n right: 'admin-view-captain-creation-status',\n name: 'Export Status',\n link: '/download-data/export-status'\n }\n ]\n },\n {\n id: 'find-a-captain',\n right: 'find-a-captain',\n name: 'Find A Captain',\n link: '/find-a-captain',\n icon: 'fa fa-circle-o-notch'\n },\n {\n id: 'user-management',\n right: 'admin-manage-users',\n name: 'User Management',\n link: '/user-management',\n icon: 'fa fa-user'\n },\n {\n id: 'replicate-city',\n right: 'replicate-city',\n name: 'Replicate City',\n link: '/replicate-city',\n icon: 'fa fa-user'\n },\n {\n id: 'support',\n name: 'Support',\n icon: 'fa fa-comments',\n subMenu: [\n {\n id: 'create-ticket',\n right: 'create-update-ticket',\n name: 'Create Ticket',\n link: '/support/ticket/create-ticket',\n icon: 'fa fa-download',\n toggle: 'ENABLE_SG_SUPPORT_TICKET_MANAGEMENT'\n },\n {\n id: 'disposition-management',\n right: 'create-update-disposition',\n name: 'Manage Dispositions',\n link: '/support/disposition',\n toggle: 'ENABLE_SG_SUPPORT_DISPOSITION_MANAGEMENT'\n }\n ]\n },\n {\n id: 'add-lead',\n name: 'Add Lead',\n link: '',\n icon: 'fa fa-plus',\n subMenu: [\n {\n id: 'add-captain',\n right: 'admin-add-captain',\n name: 'Captain',\n link: '/add-captain/verify'\n },\n {\n id: 'add-vehicle',\n right: 'admin-add-captain',\n name: 'Vehicle',\n link: '/add-lead/vehicle'\n },\n {\n id: 'add-supplier',\n right: 'admin-add-captain',\n name: 'Supplier',\n link: '/add-lead/supplier',\n icon: 'fa fa-plus'\n }\n ]\n },\n {\n id: 'cms',\n name: 'CMS',\n link: '',\n icon: 'fa fa-plus',\n subMenu: [\n {\n id: 'cms-documents-upload',\n right: 'admin-view-city-document',\n name: 'Documents Upload',\n link: '/cms/documents-upload'\n },\n {\n id: 'cms-city-status',\n // TODO: Change right for this one!\n right: 'replicate-city',\n name: 'City Status',\n link: '/cms/city-status'\n }\n ]\n }\n];\n","import { Injectable } from '@angular/core';\nimport { CanActivate, Router } from '@angular/router';\n\nimport { PermissionService } from '../permissions/permissions.service';\n\n@Injectable()\nexport class RedirectGuard implements CanActivate {\n\n constructor(\n private router: Router,\n private permissionService: PermissionService\n ) { }\n\n canActivate() {\n return true;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable , Subject } from 'rxjs';\n\n@Injectable()\nexport class SpinnerService {\n spinner: Subject;\n\n constructor() {\n this.spinner = new Subject();\n }\n\n change(value) {\n this.spinner.next(value);\n }\n\n showSpinner(): Observable {\n return this.spinner;\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'spinner',\n template: `\n
\n \n
\n `\n})\n\nexport class SpinnerComponent {\n\n constructor() {\n\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class StorageService {\n get(key: string) {\n return localStorage.getItem(key);\n }\n set(key: string, value: any) {\n localStorage.setItem(key, value);\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'switch-button',\n templateUrl: './switch-button.component.html',\n styleUrls: ['./switch-button.component.scss']\n})\nexport class SwitchButtonComponent implements OnInit {\n\n @Input() isToggledOn: boolean;\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","
\n
\n
\n","import { Injectable } from '@angular/core';\ndeclare var Messenger: any;\n\n@Injectable()\nexport class ToastrService {\n\n\n constructor() {\n this.setToastrTheme();\n }\n\n setToastrTheme() {\n Messenger.options = {\n extraClasses: 'messenger messenger-fixed messenger-on-top messenger-on-right messenger-theme-air',\n theme: 'air'\n };\n }\n\n openToastr(message, type, delay = 2) {\n Messenger().post({\n message,\n type,\n showCloseButton: true,\n hideAfter: delay\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class TrainersService {\n\n constructor(\n private httpClient: HttpClient\n ) {}\n\n getTrainers(): Observable {\n return this.httpClient.get('trainers');\n }\n}\n","\nimport { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n@Injectable()\nexport class UsersService {\n\n constructor(\n private httpClient: HttpClient\n ) {}\n\n getUsers(): Observable {\n return this.httpClient.get('users');\n }\n\n getCaptain(): Observable {\n return this.httpClient.get('captain-types').pipe(\n map((res) => res['data'].map(type => ({\n id: type.id,\n text: type.title_key\n }))));\n }\n\n addCaptain(captain: any): Observable {\n return this.httpClient.post('captain', captain);\n }\n}\n","import { Directive, forwardRef, Input } from '@angular/core';\nimport { AbstractControl, NG_VALIDATORS, Validator } from '@angular/forms';\n\n@Directive({\n selector: `[validateEqual][formControlName],[validateEqual]\n [formControl],[validateEqual][ngModel]`,\n providers: [\n { provide: NG_VALIDATORS, useExisting: forwardRef(() => ValidateEqualDirective), multi: true }\n ]\n})\n\nexport class ValidateEqualDirective implements Validator {\n\n @Input('validateEqual') validateEqual: string;\n @Input('reverse') reverse: string;\n constructor(\n ) { }\n\n private get isReverse() {\n if (!this.reverse) return false;\n return this.reverse === 'true';\n }\n\n validate(absCtrl: AbstractControl): { [key: string]: any } {\n const currentVal = absCtrl.value;\n const passwordControl = absCtrl.root.get(this.validateEqual);\n if (passwordControl && currentVal !== passwordControl.value && !this.isReverse) {\n return {\n validateEqual: true\n };\n }\n\n if (passwordControl && currentVal === passwordControl.value && this.isReverse) {\n delete passwordControl.errors['validateEqual'];\n if (!Object.keys(passwordControl.errors).length) passwordControl.setErrors(null);\n }\n\n\n if (passwordControl && currentVal !== passwordControl.value && this.isReverse) {\n passwordControl.setErrors({ validateEqual: true }, { emitEvent: true });\n }\n return null;\n }\n\n}\n","import { Directive, Input, OnChanges, SimpleChanges } from '@angular/core';\nimport { AbstractControl, NG_VALIDATORS, Validator, Validators } from '@angular/forms';\n\nimport { notEqualControl } from './validation.constant';\n\n\n@Directive({\n selector: '[forbiddenName]',\n providers: [{provide: NG_VALIDATORS, useExisting: NotEqualDirective, multi: true}]\n})\nexport class NotEqualDirective implements Validator, OnChanges {\n @Input() forbiddenName: string;\n private valFn = Validators.nullValidator;\n ngOnChanges(changes: SimpleChanges): void {\n const change = changes['forbiddenName'];\n if (change) {\n this.valFn = notEqualControl(change.currentValue);\n } else {\n this.valFn = Validators.nullValidator;\n }\n }\n validate(control: AbstractControl): {[key: string]: any} {\n return this.valFn(control);\n }\n}\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\nimport { FormlyFieldConfig } from '@ngx-formly/core';\n\nexport const validationRegex = {\n email: /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\n password: /^(?=.*?[a-zA-Z])(?=.*?[0-9]).{6,}$/\n};\n\nexport const validationError = {\n required: 'Please fill the required fields',\n pattern: 'Password must contain atleast one alphabet and a number',\n mismatch: 'Password mismatch'\n};\n\nexport const emailValidationErrors = {\n required: 'Email is required',\n pattern: 'Please enter a valid email address'\n};\n\nexport function requiredValidation(err, field) {\n return `This field is Required`;\n}\nexport function minLengthValidation(err, field) {\n const length = field.validations ? field.validations.min_length : field.templateOptions.minLength;\n return `This field should be atleast ${length} characters`;\n}\nexport function maxLengthValidation(err, field) {\n const length = field.validations ? field.validations.max_length : field.templateOptions.maxLength;\n return `This field should be atmost ${length} characters`;\n}\nexport function minValidation(err, field) {\n const length = field.validations ? field.validations.min : field.templateOptions.min;\n return `This field should be greater than or equals to ${length}`;\n}\nexport function maxValidation(err, field) {\n const length = field.validations ? field.validations.max : field.templateOptions.max;\n return `This field should be less than or equals to ${length}`;\n}\nexport function regexValidation(err, field) {\n return `Field input is not valid`;\n}\nexport function cnicExistsValidation() {\n return `This National ID number already belongs to an existing captain`;\n}\nexport function fileNotUploaded(err, field) {\n return `This file is not uploaded`;\n}\nexport function asycnValidation(err, field: FormlyFieldConfig) {\n return field['asycnValidatorErrorMessage'] || `Async Validation Failed`;\n}\n\nexport function notEqualControl(value: number): ValidatorFn {\n return (control: AbstractControl): {[key: string]: any} => {\n const name = control.value;\n return value !== control.value ? {'notEqual': {name}} : null;\n };\n}\n\n","import { Component } from '@angular/core';\n\n@Component({\n template: \"
OK
\",\n})\nexport class HealthCheckComponent {}\n\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { empty as observableEmpty, Observable } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\n\nimport { Company, CompanyGetParams, CompanySendOtpResponse, LimoCompanyV2 } from './limo-company';\nimport { OtpServiceType } from '../common/global-interfaces';\nimport { InterceptorLoggedHttpParams, InterceptorRequestConfig } from '../common/error-logging/interceptor-http-params';\nimport {\n SOURCE_LIMO_COMPANY_SEARCH_SERVICE\n} from '../common/error-logging/const/error-logging-sources';\n\n@Injectable()\nexport class LimoCompanyService {\n\n readonly defaultLimit = 100;\n\n constructor(\n private httpClient: HttpClient\n ) { }\n\n getCompanies(pageNumber: number = 1, search: string = '', sort_by: string = '', sort_order = '', params?: CompanyGetParams): Observable {\n let args = new HttpParams()\n .set('page', String(pageNumber))\n .set('search', String(search))\n .set('sort_order', String(sort_order))\n .set('sort_by', String(sort_by));\n if (!params) params = { };\n Object.keys(params)\n .filter(key => params[key])\n .forEach(key => args = args.set(key, params[key]));\n return this.httpClient.get(`company?${args.toString().replace(/\\+/gi, '%2B')}`)\n .pipe(catchError(err => observableEmpty()));\n }\n\n getCompaniesV2(rsqlFilters: string, page = 1): Observable {\n let params = new HttpParams();\n if (rsqlFilters) {\n params = params.set('filters', rsqlFilters);\n }\n\n const offset = (page - 1) * this.defaultLimit;\n params = params.set('offset', offset.toString());\n params = params.set('include', 'city');\n\n return this.httpClient.get(`supply/gate/v2/limo/list`, { params })\n .pipe(map(res => res['data']));\n }\n\n getCompanyById(companyId: number): Observable {\n return this.httpClient.get(`company/${companyId}`) as Observable;\n }\n\n addLimoCompany(company: any): Observable {\n return this.httpClient.post('company', company);\n }\n\n deleteCompany(id: number): Observable {\n return this.httpClient.delete(`company/${id}`);\n }\n\n updateCompany(company: any, id: number): Observable {\n company.solution_system_id = company.update_id ? company.update_id : company.solution_system_id;\n company.name = company.update_name ? company.update_name : company.name;\n return this.httpClient.put(`company/${id}`, company);\n }\n\n importCompanies(company: any): Observable {\n return this.httpClient.post(`company/import`, company);\n }\n\n validateName(value: any, id: number): Observable {\n const args = new HttpParams()\n .set('id', String(id))\n .set('name', String(value));\n return this.httpClient.get(`company/validate/name?'${args.toString().replace(/\\+/gi, '%2B')}`);\n }\n\n validateId(value: any, id: number): Observable {\n const args = new HttpParams()\n .set('id', String(id))\n .set('solution_system_id', String(value));\n return this.httpClient.get(`company/validate/id?${args.toString().replace(/\\+/gi, '%2B')}`);\n }\n\n sendOtp(id: number, service: OtpServiceType, isAddVehicle: boolean): Observable {\n const interceptorConf: InterceptorRequestConfig = {\n errorSource: SOURCE_LIMO_COMPANY_SEARCH_SERVICE,\n customAttributes: { limoCompanyId: id, service }\n };\n const params = new InterceptorLoggedHttpParams(interceptorConf, null );\n const url = isAddVehicle ? `company/${id}/add-vehicle/otp` : `company/${id}/otp`;\n return this.httpClient.post(url, { service }, { params })\n .pipe(map(res => res));\n }\n\n verifyOtp(id: number, body: { otp: number, token: string, module_type: 'vehicle' | 'support' }) {\n const interceptorConf: InterceptorRequestConfig = {\n errorSource: SOURCE_LIMO_COMPANY_SEARCH_SERVICE,\n customAttributes: { ...body, ...{limoCompanyId: id} }\n };\n const params = new InterceptorLoggedHttpParams(interceptorConf, null );\n return this.httpClient.post(`company/${id}/verify`, body, {params});\n }\n\n}\n","import {\n ACTION,\n CarCheckStatusDetails,\n DownloadStatusDetails,\n TrainingStatusDetails,\n TranscriptionStatusDetails\n} from '../models';\n\nexport enum COLOR {\n GRAY = 'gray',\n GREEN = 'green',\n RED = 'red',\n YELLOW = 'yellow'\n}\n\nexport enum STATUS_KEY {\n captainType = 'captainType',\n cumulative = 'cumulative',\n transcription = 'transcription',\n training = 'training',\n carCheck = 'carCheck',\n externalVerification = 'externalVerification',\n download = 'download',\n};\n\nexport const STATUS_MAP = {\n 'captainType': {\n getDescription: () => ''\n },\n 'cumulative': {\n icon: null,\n colors: {\n 'null': COLOR.GRAY,\n 1: COLOR.GRAY,\n 2: COLOR.GREEN,\n 3: COLOR.RED,\n 4: COLOR.YELLOW,\n 5: COLOR.YELLOW,\n 6: COLOR.YELLOW\n },\n getDescription: (details: any) => ''\n },\n 'transcription': {\n icon: 'fa-file',\n colors: {\n 'null': COLOR.GRAY,\n 1: COLOR.YELLOW,\n 2: COLOR.YELLOW,\n 3: COLOR.RED,\n 4: COLOR.GREEN,\n 5: COLOR.YELLOW,\n 6: COLOR.RED\n },\n getDescription: (details: TranscriptionStatusDetails) => {\n if (!details || !details.transcriber) return '';\n let name = '';\n if (details.transcriber.firstName) {\n name += `${details.transcriber.firstName} `;\n }\n if (details.transcriber.lastName) name += details.transcriber.lastName;\n return name;\n }\n },\n 'training': {\n icon: 'fa-graduation-cap',\n colors: {\n 'null': COLOR.GRAY,\n 1: COLOR.YELLOW,\n 2: COLOR.GREEN,\n 3: COLOR.RED,\n 4: COLOR.YELLOW\n },\n getDescription: (details: TrainingStatusDetails) => {\n if (!details || !details.slot || details.slot.earnedScore === null) return '';\n return `Score: ${details.slot.earnedScore}/${details.slot.totalScore}`;\n }\n },\n 'carCheck': {\n icon: 'fa-car',\n colors: {\n 'null': COLOR.GRAY,\n 0: COLOR.GRAY,\n 1: COLOR.YELLOW,\n 2: COLOR.GREEN,\n 3: COLOR.RED\n },\n getDescription: (details: CarCheckStatusDetails) => {\n return '';\n }\n },\n 'externalVerification': {\n icon: 'fa-shield',\n colors: {\n 'null': COLOR.GRAY,\n 1: COLOR.YELLOW,\n 2: COLOR.GREEN,\n 3: COLOR.RED\n },\n getDescription: (details: any) => ''\n },\n 'download': {\n icon: 'fa-share-square-o',\n colors: {\n 'null': COLOR.GRAY,\n 0: COLOR.GRAY,\n 1: COLOR.GREEN,\n 2: COLOR.YELLOW,\n 3: COLOR.RED\n },\n getDescription: (details: DownloadStatusDetails) => {\n if (!details) return '';\n return details.comment || '';\n }\n },\n};\n\nexport const ACTION_PERMISSIONS: { [key in ACTION]: string[] } = {\n viewProfile: [ 'admin-view-lead-profile' ],\n checkIn: [ 'admin-overview-car-check-and-training' ],\n bookTrainingSlot: [ 'admin-update-training' ],\n forceTrainingResult: [ 'admin-overview-car-check-and-training' ],\n sendTrainingReminder: [ 'admin-overview-car-check-and-training' ],\n carCheck: [ 'admin-overview-car-check-and-training' ],\n viewExternalVerificationDetails: [ 'admin-overview-car-check-and-training' ],\n retryExternalVerification: [ 'admin-overview-car-check-and-training' ]\n\n};\n\nexport const ACTION_STATUS_MAP = {\n transcription: 'viewProfile',\n carCheck: 'carCheck',\n};\n","export const API_V2 = 'v2-api';\nexport const V2_HEADER = 'v2';\nexport const QA_HOST = 'qa-sg3-admin.careem-internal.com';\nexport const LOCAL_HOST = 'localhost';\n\nexport enum MODULE_TYPE {\n captain = 'captain',\n vehicle = 'vehicle',\n};\n\nexport enum DOCUMENT_TYPE {\n CAPTAIN = 'CAPTAIN',\n VEHICLE = 'VEHICLE',\n INFORMATION = 'INFORMATION'\n};\n\nexport enum VALIDATORS {\n dateType = 'dateType',\n isDisabled = 'isDisabled',\n isRequired = 'isRequired',\n minLength = 'minLength',\n maxLength = 'maxLength',\n regex = 'regex',\n validationUrl = 'validationUrl',\n};\n\nexport enum ERROR_TYPE {\n required = 'required',\n maxlength = 'maxlength',\n minlength = 'minlength',\n pattern = 'pattern',\n};\n\nexport const DOCTYPE_TITLE_MAP = {\n [DOCUMENT_TYPE.INFORMATION]: 'Information',\n};\n\nexport enum COMPONENT_TYPE {\n INPUT = 'INPUT',\n TEXT = 'TEXT',\n DROPDOWN = 'DROPDOWN',\n STATUS = 'STATUS',\n DYNAMIC_DROPDOWN = 'DYNAMIC_DROPDOWN',\n CHECKBOX = 'CHECKBOX',\n DATE = 'DATE',\n};\n\nexport const DOCUMENT_STATUS = 'documentStatus';\n\nexport const HEADER_KEYS = {\n V2: 'v2',\n ['sg-user-city']: 'sg-user-city',\n ['auth-token-update']: 'auth-token-update',\n ['sg-auth-token']: 'sg-auth-token',\n};\n\nexport const UPLOAD_ENTITY_MAPPER = {\n 'captain': 'CAPTAIN',\n 'vehicle': 'VEHICLE',\n 'supplier': 'LIMO',\n 'franchise': 'FRANCHISE',\n};\n\nexport enum FORM_COMPONENT_DATA_TYPES {\n 'Integer' = 'Integer',\n 'String' = 'String',\n 'Boolean' = 'Boolean',\n};\n","import { COLOR, STATUS_MAP } from '../constants';\n\nexport type STATUS = 'cumulative' | 'transcription' | 'training' | 'carCheck' | 'download' | 'externalVerification';\nexport type ACTION = 'viewProfile' | 'checkIn' | 'bookTrainingSlot' | 'forceTrainingResult' | 'sendTrainingReminder' \n| 'carCheck' | 'viewExternalVerificationDetails' | 'retryExternalVerification';\n\nexport interface Status {\n id: number;\n title: string;\n icon?: string;\n color?: COLOR;\n}\n\nexport interface StatusGroup {\n title: string;\n possibleValues: Status[];\n}\n\nexport type CaptainLeadStatusGroupResponse = { [key in STATUS]: StatusGroup; };\n\nexport type VehicleLeadStatusGroupResponse = { [key in STATUS]: StatusGroup; };\n\nexport type SupplierLeadStatusGroupResponse = { [key in STATUS]: StatusGroup; };\n\nexport interface TranscriptionStatusDetails {\n transcriber: {\n id: number;\n email: string;\n firstName: string;\n lastName: string;\n };\n}\n\nexport interface TrainingStatusDetails {\n slot: {\n slotId: number;\n checkIn: number;\n checkedInAt: null | number;\n earnedScore: null | number;\n totalScore: number;\n startTime: number;\n };\n}\n\nexport type CarCheckStatusDetails = any;\n\nexport interface DownloadStatusDetails {\n sgExportTime: number;\n captainId: number;\n comment: string;\n}\n\nexport interface VehicleDownloadStatusDetails {\n sgExportTime: number;\n vehicleId: number;\n comment: string;\n}\n\nexport interface SupplierDownloadStatusDetails {\n sgExportTime: number;\n coreId: number;\n comment: string;\n}\n\nexport interface StatusDetails {\n currentStatus: Status;\n details: T;\n}\n\nexport class CaptainLead {\n id: number;\n profile?: {\n email: string;\n firstName: string;\n lastName: string;\n cellPhone: string;\n cnic: string;\n createdAt: number;\n profilePicture: string;\n captainTypeId: number;\n cityId: number;\n };\n status?: {\n cumulative: Status;\n breakdown: {\n transcription: StatusDetails;\n training: StatusDetails;\n carCheck: StatusDetails;\n externalVerification: StatusDetails;\n download: StatusDetails;\n };\n };\n actionsApplicable?: { [key in ACTION]: { enabled: boolean; reason: string } };\n expanded?: boolean;\n\n get fullName(): string {\n return CaptainLead.getFullName(this.profile.firstName, this.profile.lastName);\n }\n\n constructor(json: any) {\n Object.keys(json).forEach(key => this[key] = json[key]);\n if (this.status) {\n this.appendIconAndColorToStatuses();\n }\n }\n\n static getFullName(firstName, lastName) {\n let fullName = '';\n if (firstName) fullName += `${firstName} `;\n if (lastName) fullName += lastName;\n return fullName;\n }\n\n private appendIconAndColorToStatuses() {\n this.status.cumulative = {\n ...this.status.cumulative,\n color: STATUS_MAP.cumulative.colors[this.status.cumulative.id]\n };\n Object.keys(this.status.breakdown)\n .forEach(statusKey => {\n const currentStatus = this.status.breakdown[statusKey].currentStatus;\n this.status.breakdown[statusKey].currentStatus = {\n ...currentStatus,\n icon: STATUS_MAP[statusKey].icon,\n color: STATUS_MAP[statusKey].colors[currentStatus.id]\n };\n });\n }\n}\n\nexport class VehicleLead {\n id: number;\n profile?: {\n makeId: number;\n modelId: number;\n plate: string;\n createdAt: number;\n cityId: number\n ownerName: string;\n };\n model?: {\n id: number;\n title: string;\n status: number;\n referenceId: number;\n carMakeId: number;\n };\n make?: {\n id: number;\n title: string;\n status: number;\n referenceId: number;\n };\n status?: {\n cumulative: Status;\n breakdown: {\n transcription: StatusDetails;\n carCheck: StatusDetails;\n download: StatusDetails;\n };\n };\n actionsApplicable?: { [key in ACTION]: { enabled: boolean; reason: string } };\n expanded?: boolean;\n\n constructor(json: any) {\n Object.keys(json).forEach(key => this[key] = json[key]);\n if (this.status) {\n this.appendIconAndColorToStatuses();\n }\n }\n\n private appendIconAndColorToStatuses() {\n this.status.cumulative = {\n ...this.status.cumulative,\n color: STATUS_MAP.cumulative.colors[this.status.cumulative.id]\n };\n Object.keys(this.status.breakdown)\n .forEach(statusKey => {\n const currentStatus = this.status.breakdown[statusKey].currentStatus;\n this.status.breakdown[statusKey].currentStatus = {\n ...currentStatus,\n icon: STATUS_MAP[statusKey].icon,\n color: STATUS_MAP[statusKey].colors[currentStatus.id]\n };\n });\n }\n}\n\nexport class SupplierLead {\n id: number;\n profile?: {\n name: string;\n phoneNumber: string;\n email: string;\n created: number;\n code: string;\n createdAt: number;\n referencePrimaryAdminUserId: number;\n referenceServiceProviderId: number;\n solutionSystemId: number;\n status: number;\n };\n status?: {\n cumulative: Status;\n breakdown: {\n transcription: StatusDetails;\n download: StatusDetails;\n };\n };\n actionsApplicable?: { [key in ACTION]: { enabled: boolean; reason: string } };\n expanded?: boolean;\n\n constructor(json: any) {\n Object.keys(json).forEach(key => this[key] = json[key]);\n if (this.status) {\n this.appendIconAndColorToStatuses();\n }\n }\n\n private appendIconAndColorToStatuses() {\n this.status.cumulative = {\n ...this.status.cumulative,\n color: STATUS_MAP.cumulative.colors[this.status.cumulative.id]\n };\n Object.keys(this.status.breakdown)\n .forEach(statusKey => {\n const currentStatus = this.status.breakdown[statusKey].currentStatus;\n this.status.breakdown[statusKey].currentStatus = {\n ...currentStatus,\n icon: STATUS_MAP[statusKey].icon,\n color: STATUS_MAP[statusKey].colors[currentStatus.id]\n };\n });\n }\n}\n\nexport interface Action {\n actionKey: ACTION;\n header: {\n title: string;\n icon: string;\n color?: COLOR;\n };\n subTitle?: string;\n description?: string;\n}\n\nexport type StatusActionMap = { [key in STATUS]?: Action };\n\nexport enum TRAINING_TYPE {\n ONLINE,\n PHYSICAL\n}\n\nexport type TrainingTypes = keyof typeof TRAINING_TYPE;\n\nexport interface ExternalStatusDetail {\n details: string[];\n status: string;\n updatedAt: number;\n vendor: string;\n}\n\nexport class Lead {\n id: number;\n name: string;\n phoneNumber: string;\n}\n","import { Select2OptionData } from 'ng-select2';\n\nexport const progressStatus: Array = [\n {id: '1', text: 'Pending Transcription', key: 'transcription'},\n {id: '2', text: 'Pending Training', key: 'training'},\n {id: '3', text: 'Pending Car Check', key: 'carCheck'},\n {id: '4', text: 'Downloaded/Available for Download', key: 'download'}\n];\n\nexport const statuses: Array = [\n {id: '2', text: 'Approved'},\n {id: '3', text: 'Rejected'},\n {id: '6', text: 'In Process'},\n {id: '4', text: 'Resubmission'},\n {id: '5', text: 'Retraining'}\n];\n\nexport const messages = {\n successfulCheckIn: 'Successfully checked in user',\n unsuccessfulCheckIn: 'Cannot Check in User, Make sure the training has started'\n};\n\nexport const statusValues = {\n transcription: {\n approved: { status: 4, message: 'Approved' },\n rejected: { status: 3, message: 'Rejected' },\n resubmission: { status: 2, message: 'Resubmission' },\n pending: { status: 1, message: 'In Progress' }\n },\n training: {\n rejected: { status: 3, message: 'Failed' },\n approved: { status: 2, message: 'Passed' },\n retraining: { status: 4, message: 'Rescheduled' },\n scheduled: { status: 1, message: 'Scheduled' }\n },\n carCheck: {\n rejected: { status: 3, message: 'Rejected' },\n approved: { status: 2, message: 'Approved' },\n pending: { status: 1, message: 'Pending' }\n },\n download: {\n yes: { status: 1, message: 'Downloaded' },\n no: { status: 0, message: 'Available' }\n }\n};\n\nexport const trainingLocation = {\n online: 4\n};\n\nexport const progressValues = {\n incomplete: 1,\n approved: 2,\n rejected: 3,\n resubmission: 4,\n retraining: 5,\n inProcess: 6\n};\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { Select2OptionData } from 'ng-select2';\nimport { Observable, throwError as observableThrowError } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\n\nimport { CurrentStatus, UserOverview } from './overview';\nimport { progressValues, statusValues } from './overview.constants';\n\n\n\n@Injectable()\nexport class OverviewService {\n progressStatus: any;\n statuses: any;\n\n constructor(\n private httpClient: HttpClient\n ) {\n this.progressStatus = progressValues;\n this.statuses = statusValues;\n }\n\n getLanguages(): Observable {\n return this.httpClient.get('languages').pipe(\n map(res => res['data'].map(language =>\n ({ id: language.id, text: language.name }))));\n }\n\n checkinTraining(data: any, id: number): Observable {\n return this.httpClient.post(`training/${id}/checkin`, data);\n }\n\n getOverviews(params: any): Observable {\n const args: any = { };\n\n args.page = String(params.page);\n args.dateType = String(params.dateType);\n\n if (params.from) args.training_from = String(params.from);\n if (params.to) args.training_to = String(params.to);\n if (params.online) args.online = String(params.online);\n if (params.keyword) args.keyword = String(params.keyword);\n if (params.status) args.status = String(params.status);\n if (params.progress) args.progress = String(params.progress);\n if (params.training) args.training_id = String(params.training);\n if (params.company_id) args.company_id = String(params.company_id);\n if (params.location) args.location = String(params.location);\n args.sort_by = params.sort_by ? String(params.sort_by) : 'start_time';\n args.sort_order = params.sort_order ? String(params.sort_order) : 'desc';\n\n return this.httpClient.get(`overview?${new HttpParams({ fromObject: args }).toString().replace(/\\+/gi, '%2B')}`).pipe(\n catchError(err => observableThrowError({})));\n }\n\n message(user: UserOverview, type: string): string {\n for (const status of Object.keys(this.statuses[type])) {\n if (user[type].status === this.statuses[type][status].status) {\n if (type === 'training' && this.isTrainingWithResult(user)) {\n return `${this.statuses[type][status].message} - Score ${user.training.score || 0} out of 20`;\n } else if (type === 'transcription') {\n const transcriber = user.transcriber.id ? ` - ${user.transcriber.first_name} ${user.transcriber.last_name}` : '';\n return this.statuses[type][status].message + transcriber;\n } return this.statuses[type][status].message;\n }\n }\n }\n\n isTrainingWithResult(user) {\n return (user.training.status === this.statuses.training.approved.status ||\n user.training.status === this.statuses.training.rejected.status);\n }\n\n getStatus(): Observable {\n return this.httpClient.get('status');\n }\n\n forceTrainingStatus(action: string, id: number): Observable {\n const request: any = { user_id: id };\n return this.httpClient.put(`forceaction/${action}`, request);\n }\n\n getCities(): Observable {\n return this.httpClient.get('cities').pipe(\n map((res) => res['data'].map(city => ({ id: city.id, text: city.name }))));\n }\n\n getUserCities(): Observable {\n return this.httpClient.get('user/cities').pipe(\n map((res) => res['data'].map(city => ({\n id: city.id,\n text: city.name,\n offset: city.timezone_time_offset_mins\n }))));\n }\n\n sendTrainingSMS(object: any): Observable {\n return this.httpClient.post('training/sms', object);\n }\n\n getUserTrainings(userid: number): Observable {\n const args = new HttpParams().set('user_id', userid.toString());\n return this.httpClient.get(`overview/usertraining?${args.toString().replace(/\\+/gi, '%2B')}`);\n }\n\n getProfileStatus(userid: number): Observable {\n const args = new HttpParams().set('user_id', userid.toString());\n return this.httpClient.get(`profilestatus?${args.toString().replace(/\\+/gi, '%2B')}`)\n .pipe(map((response: any) => response));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { galileo } from '@galileo/galileo-web-sdk';\nimport { isDevelopmentEnv } from '../shared/utils';\nimport { from } from 'rxjs';\nimport { PROJECT_NAME, SG_GALILEO_VARIABLES } from '../common/constants';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ServiceAccessDiableToggleService {\n private galileo;\n\n constructor() {\n this.initialize();\n }\n\n private initialize() {\n this.galileo = galileo;\n const env = isDevelopmentEnv(window?.location?.hostname) ? 'dev' : 'prd';\n this.galileo.setEnvironment(env);\n }\n\n private getBool(variable: string, tags: Record, defaultValue: boolean) {\n const response = this.galileo.getBool(variable, tags, defaultValue);\n return from(response);\n }\n\n serviceAccessDisableCheck(tags: Record = {}) {\n return this.getBool(`${PROJECT_NAME}/${SG_GALILEO_VARIABLES.service_access_disabled}`, tags, false);\n }\n}\n","import { Component } from \"@angular/core\";\n\n@Component({\n selector: 'app',\n templateUrl: './service-access-disabled.component.html',\n styleUrls: ['./service-access-disabled.component.scss']\n})\nexport class ServiceAccessDisabledComponent {\n retry() {\n window.location.reload();\n }\n}","
\n
\n
\n
\n \"service\n
\n
\n
Our service is down
\n
No need to worry. We’re resolving some issues, we’ll be back shortly
\n
\n
\n
\n \n
\n
\n
","import { ApplicationRef, NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { RouterModule } from '@angular/router';\nimport { ServiceAccessDisabledComponent } from './service-access-disabled.component';\n\n@NgModule({\n imports: [\n BrowserModule,\n RouterModule.forRoot([\n { path: '', component: ServiceAccessDisabledComponent },\n ])\n ],\n declarations: [ServiceAccessDisabledComponent]\n})\nexport class ServiceAccessDisabledModule {\n ngDoBootstrap(appRef: ApplicationRef) {\n appRef.bootstrap(ServiceAccessDisabledComponent);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { CanActivate, Router, UrlTree } from '@angular/router';\nimport { catchError, map } from 'rxjs/operators';\nimport { ServiceAccessDiableToggleService } from './service-access-disabled-toggle.service';\nimport { AuthService } from '../common';\n\n@Injectable()\nexport class ServiceAccessDisabledGuardService implements CanActivate {\n constructor(\n private readonly router: Router,\n private readonly authService: AuthService,\n private readonly serviceAccessDiableToggleService: ServiceAccessDiableToggleService,\n ) {}\n canActivate(): Observable | Promise | boolean {\n return this.serviceAccessDiableToggleService.serviceAccessDisableCheck(\n {\n supply_gate_city: this.authService.getUserInfo()?.city_id,\n country_code: this.authService.getUserInfo()?.city?.country?.code,\n }\n ).pipe(\n map((isAccessDisabled: boolean) => {\n if (isAccessDisabled) {\n return true;\n }\n\n this.router.navigate(['']);\n return false;\n }),\n catchError(() => of(true))\n );\n }\n}","import { Injectable } from '@angular/core';\nimport { v4 as uuidv4 } from 'uuid';\nimport { Analytika } from \"@analytika/analytika-web\";\nimport { ANALYTIKA_SESSION_ID, ANALYTIKA_V2_EVENT_DETAILS, SERVICE_NAME } from '../common/constants';\nimport { isDevelopmentEnv } from './utils';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AnalytikaV2Service {\n globalAttrs;\n app_url: string;\n\n constructor() {\n this.app_url = window?.location?.host;\n this.setAnalytika();\n this.setGlobalAttrs();\n this.registerEvents();\n }\n\n setAnalytika() {\n if (typeof window !== \"undefined\") {\n const env = isDevelopmentEnv(window?.location?.hostname) ? 'test' : 'prod';\n Analytika?.init(env, false, {}, 10, 10);\n }\n }\n\n registerEvents() {\n window.addEventListener(\"pagehide\", function () {\n Analytika?.getInstance()?.flush();\n });\n\n window.addEventListener(\"beforeunload\", function () {\n Analytika?.getInstance()?.flush();\n });\n\n document.addEventListener(\"visibilitychange\", () => {\n if (document.visibilityState === \"hidden\") {\n Analytika?.getInstance()?.flush();\n }\n });\n }\n\n setGlobalAttrs() {\n this.globalAttrs = {\n service_name: SERVICE_NAME,\n host: this.app_url,\n host_name: this.app_url,\n session_token: this.setSessionUUID(),\n session_id: this.setSessionUUID(),\n timestamp_ms: new Date().getTime(),\n };\n }\n\n setSessionUUID() {\n let _sessionUUID = sessionStorage.getItem(ANALYTIKA_SESSION_ID);\n if (!_sessionUUID) {\n _sessionUUID = uuidv4();\n sessionStorage.setItem(ANALYTIKA_SESSION_ID, _sessionUUID);\n }\n\n return _sessionUUID;\n }\n\n publish(eventName, eventData) {\n Analytika.publish({\n event_name: eventName,\n event_trigger_time: new Date().getTime(),\n event_version: ANALYTIKA_V2_EVENT_DETAILS[eventName]?.VERSION,\n signature: ANALYTIKA_V2_EVENT_DETAILS[eventName]?.SIGNATURE,\n ...this.globalAttrs,\n ...eventData,\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { from, Observable } from 'rxjs';\nimport { galileo } from '@galileo/galileo-web-sdk';\nimport { AuthService } from 'src/app/common/auth/auth.service';\nimport { PROJECT_NAME, SG_GALILEO_VARIABLES } from 'src/app/common/constants';\nimport { isDevelopmentEnv } from './utils';\n\n\n@Injectable()\nexport class ExperimentationService {\n\n private galileo;\n\n constructor(\n private authService: AuthService,\n ) {\n this.initialize();\n }\n\n private initialize() {\n this.galileo = galileo;\n const env = isDevelopmentEnv(window?.location?.hostname) ? 'dev' : 'prd';\n this.galileo.setEnvironment(env);\n }\n\n private getBool(variable: string, tags: Record, defaultValue: boolean) {\n const response = this.galileo.getBool(variable, tags, defaultValue);\n return from(response);\n }\n\n private getString(variable: string, tags: Record, defaultValue: string) {\n const response = this.galileo.getString(variable, tags, defaultValue);\n return from(response);\n }\n\n private getNumber(variable: string, tags: Record, defaultValue: number) {\n const response = this.galileo.getNumber(variable, tags, defaultValue);\n return from(response);\n }\n\n private getObject(variable: string, tags: Record, defaultValue: Record) {\n const response = this.galileo.getObject(variable, tags, defaultValue);\n return from(response);\n }\n\n showTranscriptionRevampVersion(captainId: number) {\n const user = this.authService.getUserInfo();\n const tags = this.setTags(user, captainId, null);\n return this.getBool(`${PROJECT_NAME}/${SG_GALILEO_VARIABLES.DOCUMENT_TRANSCRIPTION_FLOW_REVAMP}`, tags, false);\n }\n\n userManagementRevampVersion(captainId: number | null = null) {\n const user = this.authService.getUserInfo();\n const tags = this.setTags(user, captainId, null);\n return this.getBool(`${PROJECT_NAME}/${SG_GALILEO_VARIABLES.user_management_revamp}`, tags, false);\n }\n\n addLeadRevampVersion(captainId: number | null = null) {\n const user = this.authService.getUserInfo();\n const tags = this.setTags(user, captainId, null);\n return this.getBool(`${PROJECT_NAME}/${SG_GALILEO_VARIABLES.add_lead_revamp}`, tags, false);\n }\n\n public setTags(user, captainId, cityId) {\n return {\n city: cityId,\n language: user?.language?.code,\n user: user?.id,\n captain: captainId,\n supply_gate_city: +(localStorage.getItem('sg_city_id')),\n };\n }\n}\n","import { LOCAL_HOST, QA_HOST } from \"src/app/overview-v2/document-transcription-v2/shared/constants\"\n\nexport const isDevelopmentEnv = (currentHost: string) => {\n return [QA_HOST, LOCAL_HOST].indexOf(currentHost) > -1;\n}","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { HEADER_KEYS, V2_HEADER } from '../overview-v2/document-transcription-v2/shared/constants';\n\n@Injectable()\nexport class TrainerManagementService {\n private readonly headers;\n\n constructor(\n private readonly httpClient: HttpClient\n ) {\n this.headers = {\n [V2_HEADER]: '1',\n ['sg-user-city']: localStorage.getItem('sg_city_id') || '',\n ['x-city-id']: localStorage.getItem('sg_city_id') || '',\n [HEADER_KEYS['auth-token-update']]: '1',\n [HEADER_KEYS['sg-auth-token']]: '1',\n };\n }\n\n getTrainers(): Observable {\n return this.httpClient.get('/trainings/trainer/list', { headers: this.headers });\n }\n\n getAllTrainers(languageId?: number, locationId?: number) {\n const args: any = {};\n if (locationId) {\n args.location_id = String(locationId);\n }\n if (languageId) {\n args.lang_id = String(languageId);\n }\n return this.httpClient.get('/trainings/trainer/list', { headers: this.headers, params: new HttpParams({ fromObject: args }) });\n }\n\n addTrainer(trainer: any): Observable {\n return this.httpClient.post('trainer', trainer);\n }\n\n deleteTrainer(id: number): Observable {\n return this.httpClient.delete(`trainer/${id}`);\n }\n\n updateTrainer(trainer: any, id: number): Observable {\n return this.httpClient.put(`trainer/${id}`, trainer);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Select2OptionData } from 'ng-select2';\nimport { empty as observableEmpty, Observable, throwError as observableThrowError } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\n\nimport { DownloadFileResponse } from 'src/app/common/global-interfaces';\nimport { ISlotPageOptions, TrainingQueryParams } from 'src/app/training-slots/slot';\nimport { HEADER_KEYS, V2_HEADER } from '../overview-v2/document-transcription-v2/shared/constants';\n\n@Injectable()\nexport class TrainingSlotsService {\n headers: {[key: string]: any} = {};\n slotPageOptions: ISlotPageOptions;\n pageNumber: number = 0;\n\n constructor(\n private httpClient: HttpClient,\n ) {\n this.headers = {\n [V2_HEADER]: '1',\n [HEADER_KEYS['auth-token-update']]: '1',\n [HEADER_KEYS['sg-auth-token']]: '1',\n ['x-city-id']: localStorage.getItem('sg_city_id') || '',\n };\n\n this.slotPageOptions = {\n offset: 0,\n limit: 10,\n };\n }\n\n getSlots(params: TrainingQueryParams, initPageFilters = false): Observable {\n if(initPageFilters) {\n this.pageNumber = 0;\n this.slotPageOptions = {\n offset: 0,\n limit: 10,\n };\n };\n\n const args: any = {\n ...this.slotPageOptions,\n };\n args.from = String(params.from);\n args.to = String(params.to);\n if (Number(params.location_id)) {\n args.locationId = String(params.location_id);\n }\n if (Number(params.language_id)) {\n args.languageId = String(params.language_id);\n args.langId = String(params.language_id);\n }\n if (Number(params.trainer_id)) {\n args.trainerId = String(params.trainer_id);\n }\n if (Number(params.captain_type_id)) {\n args.captain_type_id = String(params.captain_type_id);\n }\n\n this.setSlotPageOptions();\n return this.httpClient.get(`/trainings/slots?${new HttpParams({ fromObject: args }).toString().replace(/\\+/gi, '%2B')}`, { headers: this.headers })\n .pipe(catchError(() => observableEmpty()));\n }\n\n getSlot(id: number): Observable {\n return this.httpClient.get(`training/${id}`);\n }\n\n getAvailableTrainings(params: TrainingQueryParams, isRevampVersion = false) {\n let args = new HttpParams()\n .set('language_id', String(params.language_id))\n .set('location_id', String(params.location_id));\n\n if (params.captain_type_id) {\n args = args.set('captain_type_id', String(params.captain_type_id));\n }\n const headers = {\n ...(isRevampVersion && {\n ...this.headers\n })\n };\n const url = isRevampVersion ? `/trainings/${params.location_id}/booking-slots?languageId=${params.language_id}` : `trainings/available?${args.toString()}`;\n return this.httpClient.get(url,{headers});\n }\n\n\n getCityFormOptions(): Observable {\n return this.httpClient.get('/captain-types', { headers: this.headers }).pipe(\n map((options: any) => options?.data?.map((option) => ({ id: String(option.id), text: option.title_key }))));\n }\n\n moreSlots(params: any) {\n const args: any = {\n ...this.slotPageOptions,\n };\n // args.date = params.date;\n args.from = String(params.from);\n args.to = String(params.to);\n if (Number(params.location_id)) {\n args.locationId = String(params.location_id);\n }\n if (Number(params.language_id)) {\n args.languageId = String(params.language_id);\n }\n if (Number(params.trainer_id)) {\n args.trainerId = String(params.trainer_id);\n }\n\n this.setSlotPageOptions();\n return this.httpClient.get(`/trainings/slots?${new HttpParams({ fromObject: args }).toString().replace(/\\+/gi, '%2B')}`, { headers: this.headers })\n .pipe(catchError(() => observableThrowError({})));\n }\n\n bookSlot(data: any) {\n return this.httpClient.post(`training/${data.training_id}/book`, data);\n }\n\n createSlot(training: any): Observable {\n return this.httpClient.post(`/trainings/`, training, { headers: this.headers }).pipe(\n catchError(err => observableEmpty()));\n }\n\n downloadCaptains(id: number): Observable {\n return this.httpClient.get(`download/captains/${id}`);\n }\n\n downloadApprovedCaptains(id: number): Observable {\n return this.httpClient.get(`download-complete-profiles?training_id=${id}`);\n }\n\n downloadURI(file: DownloadFileResponse) {\n const link = document.createElement('a');\n link.download = file.file_name;\n link.href = file.url;\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n }\n\n startTraining(id: number): Observable {\n return this.httpClient.patch(`training/${id}/start`, { });\n }\n\n stopTraining(id: number): Observable {\n return this.httpClient.patch(`training/${id}/stop`, { });\n }\n\n updateSlot(training: any, id: number): Observable {\n return this.httpClient.put(`/trainings/${id}`, training, { headers: this.headers });\n }\n\n deleteSlot(id: number): Observable {\n return this.httpClient.delete(`/trainings/${id}`, { headers: this.headers });\n }\n\n moveSlotAndDelete(id: number, to_training_id: number) {\n const args = new HttpParams().set('to_training_id', String(to_training_id));\n return this.httpClient.delete(`training/${id}`, { params: args });\n }\n\n setSlotPageOptions() {\n this.pageNumber = this.pageNumber + 1;\n this.slotPageOptions = {\n ...this.slotPageOptions,\n offset: this.pageNumber * this.slotPageOptions.limit,\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { Select2OptionData } from 'ng-select2';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { QueryParams } from './user';\nimport { HEADER_KEYS, V2_HEADER } from '../overview-v2/document-transcription-v2/shared/constants';\n\n@Injectable()\nexport class UserManagementService {\n headers: {[key: string]: any} = {};\n\n constructor(\n private readonly httpClient: HttpClient\n ) {\n this.headers = {\n [V2_HEADER]: '1',\n [HEADER_KEYS['auth-token-update']]: '1',\n [HEADER_KEYS['sg-auth-token']]: '1',\n ['x-city-id']: localStorage.getItem('sg_city_id') || '',\n }\n }\n\n getUsers(params: QueryParams, isRevampVersion = false): Observable {\n let args = new HttpParams();\n\n if(isRevampVersion) {\n args = args.set('page', String(params.current_page))\n .set('sortBy', String(params.sort_by))\n .set('sortOrder', String(params.sort_order))\n } else {\n args = args.set('page', String(params.current_page))\n .set('sort_by', String(params.sort_by))\n .set('sort_order', String(params.sort_order))\n }\n\n if (params.search_text) {\n args = args.set('search', String(params.search_text));\n }\n if (params.role_id > 0) {\n const roldIdInstanceName = isRevampVersion ? 'roleId' : 'role_id';\n args = args.set(roldIdInstanceName, String(params.role_id) ? String(params.role_id) : '');\n }\n\n const url = isRevampVersion ? '/admin' : 'admin';\n const headers = {\n ...(isRevampVersion && {\n ...this.headers\n })\n }\n return this.httpClient.get(url, { params: args, headers });\n }\n\n getUser(userid: number): Observable {\n return this.httpClient.get(`admin/${userid}`);\n }\n\n addUser(user: any, isRevampVersion = false): Observable {\n const url = isRevampVersion ? '/admin' : 'admin';\n const headers = {\n ...(isRevampVersion && {\n ...this.headers\n })\n };\n return this.httpClient.post(url, user, { headers });\n }\n\n deleteUser(id: number, type: string, isRevampVersion = false): Observable {\n const url = isRevampVersion ? `/${type}/${id}` : `${type}/${id}`;\n const headers = {\n ...(isRevampVersion && {\n ...this.headers\n })\n };\n return this.httpClient.delete(url, { headers });\n }\n\n updateUser(user: any, id: number, isRevampedVersion = false): Observable {\n const url = isRevampedVersion ? `/admin/${id}` : `admin/${id}`;\n const headers = {\n ...(isRevampedVersion && {\n ...this.headers\n })\n };\n return this.httpClient.put(url, user, { headers });\n }\n\n getRoles(isRevampVersion = false): Observable {\n const url = isRevampVersion ? '/admin/allowed-roles' : 'admin-allowed-roles';\n return this.httpClient.get(url, {\n headers: {\n ...(isRevampVersion && {\n ...this.headers\n })\n }\n }).pipe(\n map(res => res['data']\n ));\n }\n\n getCities(id: number): Observable {\n return this.httpClient.get(`cities/${id}/siblings`).pipe(\n map((res) => res['data'].map(city => ({\n id: city.id,\n text: city.name\n }))));\n }\n\n getCaptainTypes() {\n return this.httpClient.get('/captain-types/all', {\n headers: this.headers\n }).pipe(\n map((res) => res['data'].map(captainType => ({\n id: captainType?.id,\n text: captainType?.title_key\n }))));\n }\n}\n","window['env'] = window['env'] || {};\n\nexport const env = {\n forgotPasswordRedirectLink: window['env']['FORGOT_PASSWORD_CAREEM_URL'] || 'FORGOT_PASSWORD_CAREEM_URL',\n signupLink: window['env']['CAREEM_SIGNUP_LINK'] || 'CAREEM_SIGNUP_LINK',\n providerAccessKey: window['env']['PROVIDER_ACCESS_KEY'],\n agent: window['env']['AGENT'],\n authorization: window['env']['AUTHORIZATION'],\n solutionsBaseUrl: window['env']['SOLUTIONS_BASE_URL'] || 'SOLUTIONS_BASE_URL',\n identityIssuer: window['env']['IDENTITY_ISSUER'] || 'IDENTITY_ISSUER',\n identityClientId: window['env']['IDENTITY_CLIENT_ID'] || 'IDENTITY_CLIENT_ID',\n identityRedirectUri: `#/oauth`,\n identityScope: 'offline_access openid profile edge_captain',\n appName: 'supply-gate-admin-console'\n};\n","import { env } from './common';\n\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`.\n\nexport const environment = {\n production: false,\n ...env\n};\n\n/*\n * In development mode, to ignore zone related error stack frames such as\n * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can\n * import the following file, but please comment it out in production mode\n * because it will have performance impact when throw error\n */\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\nimport { AppInitService } from './app/app-init.service';\nimport { ServiceAccessDisabledModule } from './app/service-access-disabled/service-access-disabled.module';\n\nif (environment.production) {\n enableProdMode();\n}\n\nasync function bootstrapApplication() {\n const appInitService = AppInitService.createInstance();\n const isServiceAccessDisabled = await appInitService.init();\n\n const moduleToLoad = isServiceAccessDisabled ? ServiceAccessDisabledModule : AppModule;\n\n platformBrowserDynamic().bootstrapModule(moduleToLoad)\n .catch(err => console.error(err));\n}\n\nbootstrapApplication();\n","var map = {\n\t\"./af\": 62275,\n\t\"./af.js\": 62275,\n\t\"./ar\": 90857,\n\t\"./ar-dz\": 11218,\n\t\"./ar-dz.js\": 11218,\n\t\"./ar-kw\": 14754,\n\t\"./ar-kw.js\": 14754,\n\t\"./ar-ly\": 66680,\n\t\"./ar-ly.js\": 66680,\n\t\"./ar-ma\": 92178,\n\t\"./ar-ma.js\": 92178,\n\t\"./ar-sa\": 56522,\n\t\"./ar-sa.js\": 56522,\n\t\"./ar-tn\": 95682,\n\t\"./ar-tn.js\": 95682,\n\t\"./ar.js\": 90857,\n\t\"./az\": 70164,\n\t\"./az.js\": 70164,\n\t\"./be\": 79774,\n\t\"./be.js\": 79774,\n\t\"./bg\": 60947,\n\t\"./bg.js\": 60947,\n\t\"./bm\": 21832,\n\t\"./bm.js\": 21832,\n\t\"./bn\": 89650,\n\t\"./bn-bd\": 74477,\n\t\"./bn-bd.js\": 74477,\n\t\"./bn.js\": 89650,\n\t\"./bo\": 66005,\n\t\"./bo.js\": 66005,\n\t\"./br\": 98492,\n\t\"./br.js\": 98492,\n\t\"./bs\": 70534,\n\t\"./bs.js\": 70534,\n\t\"./ca\": 52061,\n\t\"./ca.js\": 52061,\n\t\"./cs\": 84737,\n\t\"./cs.js\": 84737,\n\t\"./cv\": 61167,\n\t\"./cv.js\": 61167,\n\t\"./cy\": 77996,\n\t\"./cy.js\": 77996,\n\t\"./da\": 9528,\n\t\"./da.js\": 9528,\n\t\"./de\": 14540,\n\t\"./de-at\": 49430,\n\t\"./de-at.js\": 49430,\n\t\"./de-ch\": 67978,\n\t\"./de-ch.js\": 67978,\n\t\"./de.js\": 14540,\n\t\"./dv\": 83426,\n\t\"./dv.js\": 83426,\n\t\"./el\": 6616,\n\t\"./el.js\": 6616,\n\t\"./en-au\": 63816,\n\t\"./en-au.js\": 63816,\n\t\"./en-ca\": 32162,\n\t\"./en-ca.js\": 32162,\n\t\"./en-gb\": 83305,\n\t\"./en-gb.js\": 83305,\n\t\"./en-ie\": 61954,\n\t\"./en-ie.js\": 61954,\n\t\"./en-il\": 43060,\n\t\"./en-il.js\": 43060,\n\t\"./en-in\": 59923,\n\t\"./en-in.js\": 59923,\n\t\"./en-nz\": 13540,\n\t\"./en-nz.js\": 13540,\n\t\"./en-sg\": 16505,\n\t\"./en-sg.js\": 16505,\n\t\"./eo\": 41907,\n\t\"./eo.js\": 41907,\n\t\"./es\": 86640,\n\t\"./es-do\": 41246,\n\t\"./es-do.js\": 41246,\n\t\"./es-mx\": 56131,\n\t\"./es-mx.js\": 56131,\n\t\"./es-us\": 36430,\n\t\"./es-us.js\": 36430,\n\t\"./es.js\": 86640,\n\t\"./et\": 62551,\n\t\"./et.js\": 62551,\n\t\"./eu\": 32711,\n\t\"./eu.js\": 32711,\n\t\"./fa\": 54572,\n\t\"./fa.js\": 54572,\n\t\"./fi\": 33390,\n\t\"./fi.js\": 33390,\n\t\"./fil\": 87860,\n\t\"./fil.js\": 87860,\n\t\"./fo\": 48216,\n\t\"./fo.js\": 48216,\n\t\"./fr\": 99291,\n\t\"./fr-ca\": 98527,\n\t\"./fr-ca.js\": 98527,\n\t\"./fr-ch\": 58407,\n\t\"./fr-ch.js\": 58407,\n\t\"./fr.js\": 99291,\n\t\"./fy\": 47054,\n\t\"./fy.js\": 47054,\n\t\"./ga\": 49540,\n\t\"./ga.js\": 49540,\n\t\"./gd\": 73917,\n\t\"./gd.js\": 73917,\n\t\"./gl\": 51486,\n\t\"./gl.js\": 51486,\n\t\"./gom-deva\": 56245,\n\t\"./gom-deva.js\": 56245,\n\t\"./gom-latn\": 48868,\n\t\"./gom-latn.js\": 48868,\n\t\"./gu\": 59652,\n\t\"./gu.js\": 59652,\n\t\"./he\": 89019,\n\t\"./he.js\": 89019,\n\t\"./hi\": 42040,\n\t\"./hi.js\": 42040,\n\t\"./hr\": 63402,\n\t\"./hr.js\": 63402,\n\t\"./hu\": 79322,\n\t\"./hu.js\": 79322,\n\t\"./hy-am\": 27609,\n\t\"./hy-am.js\": 27609,\n\t\"./id\": 57942,\n\t\"./id.js\": 57942,\n\t\"./is\": 98275,\n\t\"./is.js\": 98275,\n\t\"./it\": 73053,\n\t\"./it-ch\": 4378,\n\t\"./it-ch.js\": 4378,\n\t\"./it.js\": 73053,\n\t\"./ja\": 46176,\n\t\"./ja.js\": 46176,\n\t\"./jv\": 679,\n\t\"./jv.js\": 679,\n\t\"./ka\": 92726,\n\t\"./ka.js\": 92726,\n\t\"./kk\": 72953,\n\t\"./kk.js\": 72953,\n\t\"./km\": 86957,\n\t\"./km.js\": 86957,\n\t\"./kn\": 59181,\n\t\"./kn.js\": 59181,\n\t\"./ko\": 47148,\n\t\"./ko.js\": 47148,\n\t\"./ku\": 27752,\n\t\"./ku.js\": 27752,\n\t\"./ky\": 65675,\n\t\"./ky.js\": 65675,\n\t\"./lb\": 41263,\n\t\"./lb.js\": 41263,\n\t\"./lo\": 65746,\n\t\"./lo.js\": 65746,\n\t\"./lt\": 11143,\n\t\"./lt.js\": 11143,\n\t\"./lv\": 38753,\n\t\"./lv.js\": 38753,\n\t\"./me\": 44054,\n\t\"./me.js\": 44054,\n\t\"./mi\": 31573,\n\t\"./mi.js\": 31573,\n\t\"./mk\": 30202,\n\t\"./mk.js\": 30202,\n\t\"./ml\": 68523,\n\t\"./ml.js\": 68523,\n\t\"./mn\": 79794,\n\t\"./mn.js\": 79794,\n\t\"./mr\": 56681,\n\t\"./mr.js\": 56681,\n\t\"./ms\": 56975,\n\t\"./ms-my\": 39859,\n\t\"./ms-my.js\": 39859,\n\t\"./ms.js\": 56975,\n\t\"./mt\": 3691,\n\t\"./mt.js\": 3691,\n\t\"./my\": 5152,\n\t\"./my.js\": 5152,\n\t\"./nb\": 7607,\n\t\"./nb.js\": 7607,\n\t\"./ne\": 21526,\n\t\"./ne.js\": 21526,\n\t\"./nl\": 86368,\n\t\"./nl-be\": 40076,\n\t\"./nl-be.js\": 40076,\n\t\"./nl.js\": 86368,\n\t\"./nn\": 68420,\n\t\"./nn.js\": 68420,\n\t\"./oc-lnc\": 51906,\n\t\"./oc-lnc.js\": 51906,\n\t\"./pa-in\": 94504,\n\t\"./pa-in.js\": 94504,\n\t\"./pl\": 54721,\n\t\"./pl.js\": 54721,\n\t\"./pt\": 74645,\n\t\"./pt-br\": 54548,\n\t\"./pt-br.js\": 54548,\n\t\"./pt.js\": 74645,\n\t\"./ro\": 71977,\n\t\"./ro.js\": 71977,\n\t\"./ru\": 26042,\n\t\"./ru.js\": 26042,\n\t\"./sd\": 78849,\n\t\"./sd.js\": 78849,\n\t\"./se\": 27739,\n\t\"./se.js\": 27739,\n\t\"./si\": 50084,\n\t\"./si.js\": 50084,\n\t\"./sk\": 92449,\n\t\"./sk.js\": 92449,\n\t\"./sl\": 23086,\n\t\"./sl.js\": 23086,\n\t\"./sq\": 33139,\n\t\"./sq.js\": 33139,\n\t\"./sr\": 30607,\n\t\"./sr-cyrl\": 30063,\n\t\"./sr-cyrl.js\": 30063,\n\t\"./sr.js\": 30607,\n\t\"./ss\": 40131,\n\t\"./ss.js\": 40131,\n\t\"./sv\": 21665,\n\t\"./sv.js\": 21665,\n\t\"./sw\": 5642,\n\t\"./sw.js\": 5642,\n\t\"./ta\": 33622,\n\t\"./ta.js\": 33622,\n\t\"./te\": 74825,\n\t\"./te.js\": 74825,\n\t\"./tet\": 48336,\n\t\"./tet.js\": 48336,\n\t\"./tg\": 39238,\n\t\"./tg.js\": 39238,\n\t\"./th\": 99463,\n\t\"./th.js\": 99463,\n\t\"./tk\": 39986,\n\t\"./tk.js\": 39986,\n\t\"./tl-ph\": 29672,\n\t\"./tl-ph.js\": 29672,\n\t\"./tlh\": 40043,\n\t\"./tlh.js\": 40043,\n\t\"./tr\": 51212,\n\t\"./tr.js\": 51212,\n\t\"./tzl\": 50110,\n\t\"./tzl.js\": 50110,\n\t\"./tzm\": 80482,\n\t\"./tzm-latn\": 38309,\n\t\"./tzm-latn.js\": 38309,\n\t\"./tzm.js\": 80482,\n\t\"./ug-cn\": 42495,\n\t\"./ug-cn.js\": 42495,\n\t\"./uk\": 54157,\n\t\"./uk.js\": 54157,\n\t\"./ur\": 80984,\n\t\"./ur.js\": 80984,\n\t\"./uz\": 64141,\n\t\"./uz-latn\": 43662,\n\t\"./uz-latn.js\": 43662,\n\t\"./uz.js\": 64141,\n\t\"./vi\": 12607,\n\t\"./vi.js\": 12607,\n\t\"./x-pseudo\": 66460,\n\t\"./x-pseudo.js\": 66460,\n\t\"./yo\": 92948,\n\t\"./yo.js\": 92948,\n\t\"./zh-cn\": 62658,\n\t\"./zh-cn.js\": 62658,\n\t\"./zh-hk\": 39352,\n\t\"./zh-hk.js\": 39352,\n\t\"./zh-mo\": 38274,\n\t\"./zh-mo.js\": 38274,\n\t\"./zh-tw\": 98451,\n\t\"./zh-tw.js\": 98451\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;"],"names":["enableProdMode","AppModule","environment","AppInitService","ServiceAccessDisabledModule","production","bootstrapApplication","appInitService","createInstance","isServiceAccessDisabled","init","moduleToLoad","__NgCli_bootstrap_1","bootstrapModule","catch","err","console","error"],"sourceRoot":"webpack:///"}