{"version":3,"mappings":"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","names":["e","webpackEmptyAsyncContext","module","AppInitService","serviceAccessDiableToggleService","serviceAccessDisableCheck","toPromise","Promise","resolve","createInstance","_service_access_disabled_service_access_disabled_toggle_service__WEBPACK_IMPORTED_MODULE_0__","_angular_core__WEBPACK_IMPORTED_MODULE_1__","factory","providedIn","_angular_core__WEBPACK_IMPORTED_MODULE_7__","App","spinnerService","dynamicModalService","router","authHelper","authService","userCityId","getUserInfo","city_id","supply_gate_city","country_code","city","country","code","subscribe","isServiceAccessDisabled","navigate","_common_constants__WEBPACK_IMPORTED_MODULE_0__","resumeAppFlow","initLogin","componentData","spinner","status","showSpinner","events","pipe","event","_angular_router__WEBPACK_IMPORTED_MODULE_9__","sendPageView","page","urlAfterRedirects","startsWith","replace","moduleType","split","filter","token","pop","ga","selectors","decls","vars","consts","template","AppConfig","name","title","version","debug","settings","colors","screens","navCollapseTimeout","state","xs","enter","exit","sm","md","lg","xl","_initResizeEvent","_initOnScreenSizeCallbacks","size","screenPx","window","innerWidth","config","fn","onEnter","i","length","_screenSizeCallbacks","push","color","ratio","darker","pad","num","totalChars","padVal","difference","Math","round","rgb","match","RegExp","alpha","decimal","parseInt","arguments","join","toString","changeColor","array","max","apply","min","resizeTimeout","jQuery","on","clearTimeout","setTimeout","trigger","prevSize","getScreenSize","resize","forEach","INTERCEPTORS","_common_storage_service__WEBPACK_IMPORTED_MODULE_6__","_common_cache_service__WEBPACK_IMPORTED_MODULE_0__","provide","_angular_common_http__WEBPACK_IMPORTED_MODULE_7__","useClass","_common_interceptors_base_uri_interceptor__WEBPACK_IMPORTED_MODULE_1__","multi","_common_interceptors_token_interceptor__WEBPACK_IMPORTED_MODULE_5__","_common_interceptors_city_interceptor__WEBPACK_IMPORTED_MODULE_3__","_common_interceptors_error_interceptor__WEBPACK_IMPORTED_MODULE_4__","_common_interceptors_cache_interceptor__WEBPACK_IMPORTED_MODULE_2__","APP_PROVIDERS","_app_config__WEBPACK_IMPORTED_MODULE_3__","_app_common_index__WEBPACK_IMPORTED_MODULE_1__","_common_auth_auth_helper__WEBPACK_IMPORTED_MODULE_6__","_common_date_date_service__WEBPACK_IMPORTED_MODULE_8__","_common_spinner_spinner_service__WEBPACK_IMPORTED_MODULE_12__","_common_get_cities_service__WEBPACK_IMPORTED_MODULE_10__","_common_feature_service__WEBPACK_IMPORTED_MODULE_9__","_common_analytics_service__WEBPACK_IMPORTED_MODULE_14__","_shared_experimentation_service__WEBPACK_IMPORTED_MODULE_0__","_shared_analytika_v2_service__WEBPACK_IMPORTED_MODULE_20__","AppModule","bootstrap","_app_component__WEBPACK_IMPORTED_MODULE_2__","_angular_core__WEBPACK_IMPORTED_MODULE_22__","useFactory","validateTokenFactory","deps","_app_interceptors__WEBPACK_IMPORTED_MODULE_4__","_service_access_disabled_service_access_disabled_service_guard__WEBPACK_IMPORTED_MODULE_21__","imports","_angular_platform_browser_animations__WEBPACK_IMPORTED_MODULE_23__","_common_common_module__WEBPACK_IMPORTED_MODULE_7__","_angular_platform_browser__WEBPACK_IMPORTED_MODULE_24__","_common_modals_dynamic_modal_dynamic_modal_module__WEBPACK_IMPORTED_MODULE_11__","_angular_forms__WEBPACK_IMPORTED_MODULE_25__","_angular_common_http__WEBPACK_IMPORTED_MODULE_26__","_angular_router__WEBPACK_IMPORTED_MODULE_27__","_app_routing__WEBPACK_IMPORTED_MODULE_5__","useHash","initialNavigation","relativeLinkResolution","angular_oauth2_oidc__WEBPACK_IMPORTED_MODULE_28__","declarations","_common_error_error_component__WEBPACK_IMPORTED_MODULE_13__","_common_auth_auth_error_auth_error_component__WEBPACK_IMPORTED_MODULE_17__","_health_check_health_check_component__WEBPACK_IMPORTED_MODULE_19__","injector","http","get","getToken","interceptorConf","errorSource","_common_error_logging_const_error_logging_sources__WEBPACK_IMPORTED_MODULE_16__","customAttributes","params","_common_error_logging_interceptor_http_params__WEBPACK_IMPORTED_MODULE_15__","headers","_overview_v2_document_transcription_v2_shared_constants__WEBPACK_IMPORTED_MODULE_18__","localStorage","getItem","err","logout","ROUTES","path","canActivate","_common__WEBPACK_IMPORTED_MODULE_1__","loadChildren","__webpack_require__","then","m","ShellModule","component","_health_check_health_check_component__WEBPACK_IMPORTED_MODULE_3__","_common_auth_auth_error_auth_error_component__WEBPACK_IMPORTED_MODULE_2__","_common_error_error_component__WEBPACK_IMPORTED_MODULE_0__","_common_constants__WEBPACK_IMPORTED_MODULE_6__","_service_access_disabled_service_access_disabled_component__WEBPACK_IMPORTED_MODULE_4__","_service_access_disabled_service_access_disabled_service_guard__WEBPACK_IMPORTED_MODULE_5__","CarCheckService","httpClient","search","statusId","sortBy","sortOrder","args","String","status_id","sort_by","sort_order","_angular_common_http__WEBPACK_IMPORTED_MODULE_0__","fromObject","id","put","url","fileType","formats","indexOf","DIMENSIONS","admin","franchise","entity","requestStatus","METRICS","duration","AnalyticsService","gaEvent","eventCategory","eventAction","eventLabel","eventValue","Object","keys","customDimensions","key","customMetrics","AuthErrorComponent","activatedRoute","message","snapshot","queryParams","_angular_core__WEBPACK_IMPORTED_MODULE_0__","AuthGuard","getCityId","redirectToLogin","AuthHelper","citiesService","initOAuthFlow","change","getCities","cities","redirectUri","setCityId","setRedirection","error","disabled","_constants__WEBPACK_IMPORTED_MODULE_0__","citiesList","redirectUriPath","routerPath","_angular_core__WEBPACK_IMPORTED_MODULE_9__","AuthService","dateService","oauthService","urlHelperService","cacheService","configure","clientId","_environments_environment__WEBPACK_IMPORTED_MODULE_0__","issuer","location","protocol","host","scope","tokenValidationHandler","angular_oauth2_oidc_jwks__WEBPACK_IMPORTED_MODULE_4__","setStorage","getHashFragmentParams","error_description","reject","loadDiscoveryDocumentAndTryLogin","hash","substring","hasValidAccessToken","initImplicitFlow","encodeURIComponent","didFetchToken","isSGTokenValid","expirePreviousSGTokenAndFetchNew","getCurrentPath","user","res","expiry","setItem","getRelativeDate","Number","getTime","JSON","stringify","cityId","deleteCache","logOut","removeToken","open","post","navigateByUrl","data","base64","parse","atob","decodeTokenToBase64","setToken","decodedToken","decodeToken","setUserInfo","setExpiry","setAllowedCities","removeItem","isV2","isSGAuthToken","filterHeaders","getCareemAccessToken","authToken","providerAccessKey","tokenExpiry","Date","substr","reduce","headerObj","clearSession","logoutResponse","tokenResponse","saveToken","tokenData","queryParamIndex","isQueryParamPresent","parseQueryString","isSGTokenExpired","_angular_core__WEBPACK_IMPORTED_MODULE_10__","LoginAuthGuard","routeSnapshot","redirectToDashboard","CacheService","Map","URLS_TO_CACHE","req","cache","cacheMap","urlWithParams","response","entry","entryTime","now","set","method","shouldURLBeCached","some","item","CitiesService","rxjs__WEBPACK_IMPORTED_MODULE_0__","offset","onlineLocations","online_locations_count","subject","next","asObservable","selectCitId","AppCommonModule","___WEBPACK_IMPORTED_MODULE_7__","_overview_overview_service__WEBPACK_IMPORTED_MODULE_3__","_training_slots_training_slots_service__WEBPACK_IMPORTED_MODULE_5__","_trainer_management_trainer_management_service__WEBPACK_IMPORTED_MODULE_4__","_countries_service__WEBPACK_IMPORTED_MODULE_8__","_user_management_user_management_service__WEBPACK_IMPORTED_MODULE_6__","_car_check_car_check_service__WEBPACK_IMPORTED_MODULE_2__","_angular_common__WEBPACK_IMPORTED_MODULE_31__","_angular_forms__WEBPACK_IMPORTED_MODULE_32__","ng2_datetime_ng2_datetime__WEBPACK_IMPORTED_MODULE_0__","ngx_bootstrap__WEBPACK_IMPORTED_MODULE_1__","angular_confirmation_popover__WEBPACK_IMPORTED_MODULE_33__","confirmButtonType","_pascalhonegger_ng_datatable__WEBPACK_IMPORTED_MODULE_34__","ngx_webcam__WEBPACK_IMPORTED_MODULE_35__","ng_select2__WEBPACK_IMPORTED_MODULE_36__","_modals_book_slot_book_slot_component__WEBPACK_IMPORTED_MODULE_15__","_modals_add_trainer_add_trainer_component__WEBPACK_IMPORTED_MODULE_13__","_modals_add_user_add_user_component__WEBPACK_IMPORTED_MODULE_14__","_modals_message_popup_message_popup_component__WEBPACK_IMPORTED_MODULE_22__","_modals_create_training_slot_training_slot_component__WEBPACK_IMPORTED_MODULE_18__","_modals_add_limo_company_add_limo_company_component__WEBPACK_IMPORTED_MODULE_12__","_image_viewer_image_viewer_component__WEBPACK_IMPORTED_MODULE_11__","_modals_import_limo_company_import_limo_company_component__WEBPACK_IMPORTED_MODULE_20__","_modals_delete_limo_company_delete_limo_company_component__WEBPACK_IMPORTED_MODULE_19__","_modals_change_training_change_training_component__WEBPACK_IMPORTED_MODULE_16__","_modals_limo_import_error_limo_import_error_component__WEBPACK_IMPORTED_MODULE_21__","_modals_check_car_check_car_component__WEBPACK_IMPORTED_MODULE_17__","_file_uploader_file_uploader_component__WEBPACK_IMPORTED_MODULE_10__","_modals_supplier_details_supplier_detais_component__WEBPACK_IMPORTED_MODULE_24__","_modals_prompt_prompt_component__WEBPACK_IMPORTED_MODULE_23__","_validation_not_equal_directive__WEBPACK_IMPORTED_MODULE_27__","_spinner_spinner__WEBPACK_IMPORTED_MODULE_25__","_validate_equal_validate_equal_directive__WEBPACK_IMPORTED_MODULE_26__","_download_data_table_download_data_table_component__WEBPACK_IMPORTED_MODULE_9__","_modals_camera_camera_component__WEBPACK_IMPORTED_MODULE_29__","_switch_button_switch_button_component__WEBPACK_IMPORTED_MODULE_28__","exports","daysOption","text","hijriDateConfig","startYear","endYear","gregorianDateConfig","minAge","maxAge","selectAllOption","slotModes","slotTypes","regex","email","capacity","frequency","fileSizes","maxLimit","megaByte","kilobyte","userRoles","FRANCHISE_ROLES","VEHICLE_OVERVIEW_PARTS","part","SUPPLIER_OVERVIEW_PARTS","VEHICLE_TRANSCRIPTION_PARTS","userGroups","trainer","trainingType","reportType","incompleteProfile","completeProfile","allCaptains","allReports","optionalDocuments","helpLeads","captains","buttonText","fileStatus","pending","generating","completed","PROFILE_STATUS","ToastrMessages","success","passwordUpdatedSuccess","noRecords","recordUpdated","captainUpdated","approvedCar","rejectedCar","requestLarge","requireImageFile","supportedFormats","fileSizeLimit","addedLimoSuccess","addedVehicleSuccess","addedSupplierSuccess","noSlots","userMovedSuccess","carStatusChanged","citySame","importCompaniesSuccess","carStatuesUpdated","trainerRemovedSuccess","trainingStarted","trainingEnded","trainingRemoved","removedUserSuccess","cityUpdateSuccess","captainAccountExistsError","sendOtpToCaptainForProfileValidationError","captainAlreadyApproved","noCompaniesFound","noValidSupplierSearchFormValues","enableForMarketFirst","cmsNotSupported","cmsCityStatusDoesNotExist","noUserFound","noPhoneAgainstUser","otpSendError","DOCUMENT_UPLOAD_VIA","FILE","WEBCAM","BLOCKING_STATUS_COLOR_CODES","UNBLOCKING_MODES","AUTOMATIC_UNBLOCK","ONLINE_TRAINING","OFFLINE_TRAINING_IN_BOUND","OFFLINE_TRAINING_OUT_BOUND","DOCUMENT_UPLOAD","CAR_INSPECTION","MANUAL_IN_BOUND","MANUAL_OUT_BOUND","SG_ADMIN_CONSOLE_EVENTS","CREATE_TICKET","TICKET_HISTORY","DOCUMENT_APPROVAL","PAGE_OPEN","BLOCK_HISTORY_CLICKED","PROJECT_NAME","SG_GALILEO_VARIABLES","DEFAULT_STATUS","APPROVAL_STATUS","ANALYTIKA_SESSION_ID","INACTIVE_TIMEOUT","ROUTES_URLS","HEADER_TRUTHY_VALUE","SERVICE_NAME","BUTTONS","ANALYTIKA_V2_EVENTS","ANALYTIKA_V2_EVENT_DETAILS","acqu_view_page","VERSION","SIGNATURE","acqu_view_init_page","acqu_press_button","ANALYTIKA_V2_EVENTS_PAGE_IDs","ADD_CAPTAIN","CountriesService","_overview_v2_document_transcription_v2_shared_constants__WEBPACK_IMPORTED_MODULE_0__","showAll","isRevampVersion","showAllParam","hmoment","DateService","date","fullDate","fullISODate","fullDateWithZone","fullDateWithoutZone","getCity","setCity","moment__WEBPACK_IMPORTED_MODULE_0__","utcOffset","time","pattern","byCity","locale","add","format","toDate","seconds","offsetToZone","direction","unit","diff","startTime","endTime","diffUnit","toISOString","asDate","startOf","endOf","isSame","getDate","zone","prefix","floor","currentDate","toDateString","currentTime","toTimeString","newDate","isoFormat","getISODate","isNaN","undefined","subtract","_constants__WEBPACK_IMPORTED_MODULE_1__","isBetween","dateString","getFullYear","getMonth","slice","_angular_core__WEBPACK_IMPORTED_MODULE_3__","DownloadDataTableComponent","sortByEvent","emit","sortOrderEvent","pageChangedEvent","currentPageEvent","inputs","paginationObject","currentPage","outputs","ctx","SOURCE_TOKEN_VALIDATION","SOURCE_APPROVE_DOCUMENTS","SOURCE_ADD_LEAD_CAPTAIN","SOURCE_ADD_LEAD_SUPPLIER","SOURCE_ADD_LEAD_VEHICLE","SOURCE_CAPTAIN_SEARCH_SERVICE","SOURCE_LIMO_COMPANY_SEARCH_SERVICE","SOURCE_SEND_OTP_TO_CAPTAIN","SOURCE_OVERVIEW_V2_CAPTAIN","SOURCE_USER_SERVICE","SOURCE_CITIES_SERVICE","SOURCE_MISC","InterceptorLoggedHttpParams","interceptorConfig","ErrorComponent","hostAttrs","FeatureService","httpBackend","rxjs__WEBPACK_IMPORTED_MODULE_1__","ngHttpClientWithoutInterceptor","_angular_common_http__WEBPACK_IMPORTED_MODULE_2__","Error","features","convertArrayToObject","featureByCityInitialized$","hasFeaturesForSelectedCity","selectedCityId","fetchMergedConfigByCity","obj","featureToggleKey","toggleState","_angular_core__WEBPACK_IMPORTED_MODULE_8__","_angular_core__WEBPACK_IMPORTED_MODULE_4__","ctx_r6","FileUploaderComponent","toastrService","carCheckService","target","files","file","isValidFile","type","openToastr","isPdf","current","preview","uploadFileData","fileReader","FileReader","readAsDataURL","onloadend","result","upload","options","GetCitiesService","_cities","_overview_v2_document_transcription_v2_shared_constants__WEBPACK_IMPORTED_MODULE_2__","allCities","showall","_error_logging_const_error_logging_sources__WEBPACK_IMPORTED_MODULE_1__","_error_logging_interceptor_http_params__WEBPACK_IMPORTED_MODULE_0__","map","timezone_time_offset_mins","country_id","userCities","_angular_core__WEBPACK_IMPORTED_MODULE_6__","LocationTypeEnum","Captain","Car","Online","RoleGroupEnum","CountryAdmin","FranchiseAdmin","FranchiseAgent","SuperAdmin","Trainer","AuditingAgent","PreprocessingAgent","json","profile","_overview_v2_models__WEBPACK_IMPORTED_MODULE_0__","firstName","lastName","ImageViewer","close","image","BaseUriInterceptor","request","baseApiUrl","src_app_overview_v2_document_transcription_v2_shared_constants__WEBPACK_IMPORTED_MODULE_0__","clone","handle","CacheInterceptor","isRequestCachable","cacheResponse","_angular_common_http__WEBPACK_IMPORTED_MODULE_3__","CityInterceptor","storageService","allowedCities","ErrorInterceptor","_interfaces__WEBPACK_IMPORTED_MODULE_2__","handleBadRequest","handleUnAuthorized","handleDefault","isTokenError","getErrors","source","parameter","showReloginPrompt","getErrorMessage","reloginPromptSubscription","setComponentData","_modals_prompt_prompt_component__WEBPACK_IMPORTED_MODULE_1__","confirmButton","getFirstOrDefault","Array","isArray","errors","HttpCode","BAD_REQUEST","UNAUTHORIZED","FORBIDDEN","INTERNAL_SERVER_ERROR","REQUEST_ENTITY_TOO_LARGE","isMessageInApiErrorResponse","TokenInterceptor","fetchToken","isRequestForCaptainGateway","getHeadersForCaptainGateway","getHeadersForServices","isLogoutRequest","refreshTokenSubscription","getRefreshedToken","token$","getRequestHeaders","authTokenUpdate","sgAuthTokenCheck","requestHeaders","LanguagesService","language","LocationsService","getLocations","avoidV2Headers","_angular_common_http__WEBPACK_IMPORTED_MODULE_1__","dataSet","roleGroup","locationId","_angular_core__WEBPACK_IMPORTED_MODULE_5__","AddLimoCompanyModalComponent","formBuilder","limoCompanyService","new_limo","group","_angular_forms__WEBPACK_IMPORTED_MODULE_6__","solution_system_id","onClose","limoModal","show","onHidden","modalOnClose","form","create","addLimoCompany","src_app_common_constants__WEBPACK_IMPORTED_MODULE_0__","hide","reset","closeModal","complete","viewQuery","_limo_company_limo_company_service__WEBPACK_IMPORTED_MODULE_1__","_r0","AddTrainerModalComponent","overviewService","trainerManagementService","locationService","languageService","multiple","theme","autoclose","todayHighlight","new_trainer","first_name","user_id","_angular_forms__WEBPACK_IMPORTED_MODULE_8__","last_name","joining_date","getCityDate","locations","getActiveLanguages","languages","trainerModal","controls","setValue","setSubmitted","update","addTrainer","onSubmitted","updateTrainer","ctx_r3","ctx_r4","ctx_r5","ctx_r19","ctx_r20","ctx_r7","ctx_r1","AddUserModalComponent","userManagementService","countriesService","selectedCity","role_id_key","getRoles","getCountryList","roles","role","displayName","roleObj","find","role_id","setCityCountryDetails","setUserForm","roleId","onChangeRoles","_global_interfaces__WEBPACK_IMPORTED_MODULE_2__","selectedCities","onChangeCities","setDetailsForRole","countries","cityList","selectedCountry","children","countryList","newUser","_angular_forms__WEBPACK_IMPORTED_MODULE_10__","setDetailsForRoleTrainer","setDetailsForRoleFranchiseAdmin","setDetailsForFranchiseAgent","getUser","addTrainerFields","mapUserFields","selectedLanguages","allowedLanguages","lang","selectedLocations","allowedLocations","addFranchiseAdminFields","onChangeLocation","addFranchiseAgentFields","onChangeLanguage","isTrainingScheduled","trainings","upcoming_trainings","getLocationsForUserCreation","userModal","selectedCountries","acc","curr","currentCity","joiningDate","payload","getCitiesForSelectedCountry","addUser","updateUser","captainTypes","addControl","isCityDisabled","setValidators","removeFormFields","removeTrainerFields","openTrainerFields","openFranchiseAgentFields","openFranchiseAdminFields","removeControl","selectedCaptainTypes","openAuditAgentFields","openPreprocessingAgentFields","updateValueAndValidity","setSelectedCountries","addCaptainTypeField","getCaptainTypes","allowedCaptainTypes","captainType","addLocationsField","addLanguagesField","addJoiningDateField","getLanguages","shouldSelectedMultipleLocations","locationsLabel","getJoiningDate","selectedValue","joining_date_key","fields","field","countryCityMapper","isavailable","BookSlotModalComponent","trainingSlotService","training_id","startDate","getStartOfDay","endDate","getEndOfDay","slot","captain_type_id","initializeForm","getSlot","bookedSlot","start_time","updateSlot","modelWindow","slotModal","location_id","language_id","datetime","time_slot","valueChanges","value","getTrainingSlots","slots","_global_interfaces__WEBPACK_IMPORTED_MODULE_1__","getAvailableTrainings","mapSlots","bookSlot","_angular_core__WEBPACK_IMPORTED_MODULE_2__","CameraModalComponent","rxjs__WEBPACK_IMPORTED_MODULE_3__","ngx_webcam__WEBPACK_IMPORTED_MODULE_4__","mediaDevices","multipleWebcamsAvailable","pictureModal","showWebcam","webcamImage","directionOrDeviceId","nextWebcam","pictureTaken","deviceId","dataurl","filename","arr","mime","bstr","n","u8Arr","Uint8Array","charCodeAt","File","imageName","random","dataURLtoFile","imageAsDataUrl","ChangeTrainingModal","list","availableTrainings","to_training_id","_angular_forms__WEBPACK_IMPORTED_MODULE_5__","modalWindow","confirmation","patchValue","selectedTraining","training","available_slots","attendees_count","moveSlotAndDelete","bookedSlotsStats","bookings_left","CheckCarModalComponent","approve","cars","checkCar","car","statuses","plate","registration","ctx_r9","$event","TrainingSlotModalComponent","trainerService","changeDetection","days","modes","startTimeOptions","endDateOptions","types","categories","concat","trainers","mapTrainers","trainingSlot","startSlotTime","languageId","trainerId","formOptionId","form_option","repeatType","category_id","detectChanges","setErrors","day","selectedDays","_day","populateTrainersOnChange","assign","repeat","getFullDateWithCityZone","mergeDateAndTime","createSlot","trainersList","userId","getAllTrainers","DeleteLimoCompanyModalComponent","company","new_limo_delete","limoDeleteModal","delete_","deleteCompany","_limo_company_limo_company_service__WEBPACK_IMPORTED_MODULE_0__","DynamicModalComponent","resolver","inputProviders","inputName","useValue","resolvedInput","dynamicModalContainer","parentInjector","resolveComponentFactory","clear","insert","hostView","changeDetectorRef","createComponent","currentModalComponent","destroy","DynamicModalModule","_dynamic_modal_service__WEBPACK_IMPORTED_MODULE_1__","_angular_common__WEBPACK_IMPORTED_MODULE_3__","_dynamic_modal_component__WEBPACK_IMPORTED_MODULE_0__","DynamicModalService","ImportLimoCompanyModalComponent","limoImportModal","uploadAsBase64","inputValue","limoFileReader","fileName","fileReaderResult","file_data","isFileValid","isFileSelect","isFormSubmitted","LimoImportErrorModalComponent","MessagePopupComponent","closeStatus","promptModal","PromptComponent","cancelButton","SupplierDetailsModalComponent","display","checked","supplierForm","supplier","mobile_number","cell_phone","make","model","year","getCar","uploadingFile","car_check_form","previewImage","permissionsConstant","right","referralPermissions","enable","USER_PERMISSIONS","PermissionGuard","permissionService","states","menuParser","route","permissions","getPermissions","subMenu","link","PermissionService","rolesArr","getUserRoles","rolePermissions","a","b","menu","filteredMenu","_sidebar_menu_constant__WEBPACK_IMPORTED_MODULE_3__","menuItem","isUserAuthorized","getAllRights","_common_constants__WEBPACK_IMPORTED_MODULE_1__","_permissions_constant__WEBPACK_IMPORTED_MODULE_2__","base64Url","sideBarMenu","icon","toggle","RedirectGuard","SpinnerService","SpinnerComponent","StorageService","SwitchButtonComponent","isToggledOn","ToastrService","setToastrTheme","Messenger","extraClasses","delay","showCloseButton","hideAfter","TrainersService","UsersService","title_key","captain","ValidateEqualDirective","reverse","absCtrl","currentVal","passwordControl","root","validateEqual","isReverse","emitEvent","_angular_forms__WEBPACK_IMPORTED_MODULE_1__","useExisting","NotEqualDirective","changes","valFn","currentValue","control","forbiddenName","validationRegex","password","validationError","required","mismatch","emailValidationErrors","requiredValidation","minLengthValidation","validations","min_length","templateOptions","minLength","maxLengthValidation","max_length","maxLength","minValidation","maxValidation","regexValidation","cnicExistsValidation","fileNotUploaded","asycnValidation","notEqualControl","HealthCheckComponent","LimoCompanyService","pageNumber","rsqlFilters","defaultLimit","companyId","update_id","update_name","service","isAddVehicle","_common_error_logging_const_error_logging_sources__WEBPACK_IMPORTED_MODULE_1__","limoCompanyId","_common_error_logging_interceptor_http_params__WEBPACK_IMPORTED_MODULE_0__","body","COLOR","STATUS_KEY","STATUS_MAP","getDescription","GRAY","GREEN","RED","YELLOW","details","transcriber","earnedScore","totalScore","comment","ACTION_PERMISSIONS","viewProfile","checkIn","bookTrainingSlot","forceTrainingResult","sendTrainingReminder","carCheck","viewExternalVerificationDetails","retryExternalVerification","ACTION_STATUS_MAP","transcription","API_V2","V2_HEADER","QA_HOST","LOCAL_HOST","MODULE_TYPE","DOCUMENT_TYPE","VALIDATORS","ERROR_TYPE","DOCTYPE_TITLE_MAP","INFORMATION","COMPONENT_TYPE","DOCUMENT_STATUS","HEADER_KEYS","V2","UPLOAD_ENTITY_MAPPER","FORM_COMPONENT_DATA_TYPES","CaptainLead","appendIconAndColorToStatuses","getFullName","cumulative","breakdown","currentStatus","statusKey","fullName","VehicleLead","SupplierLead","TRAINING_TYPE","Lead","progressStatus","messages","successfulCheckIn","unsuccessfulCheckIn","statusValues","approved","rejected","resubmission","retraining","scheduled","download","yes","no","trainingLocation","online","progressValues","incomplete","inProcess","OverviewService","_overview_constants__WEBPACK_IMPORTED_MODULE_0__","dateType","from","training_from","to","training_to","keyword","progress","company_id","isTrainingWithResult","score","action","object","userid","ServiceAccessDiableToggleService","initialize","galileo","_galileo_galileo_web_sdk__WEBPACK_IMPORTED_MODULE_0__","env","hostname","setEnvironment","variable","tags","defaultValue","getBool","_common_constants__WEBPACK_IMPORTED_MODULE_2__","ServiceAccessDisabledComponent","reload","ServiceAccessDisabledModule","appRef","_service_access_disabled_component__WEBPACK_IMPORTED_MODULE_0__","_angular_platform_browser__WEBPACK_IMPORTED_MODULE_2__","_angular_router__WEBPACK_IMPORTED_MODULE_3__","ServiceAccessDisabledGuardService","isAccessDisabled","AnalytikaV2Service","app_url","setAnalytika","setGlobalAttrs","registerEvents","_analytika_analytika_web__WEBPACK_IMPORTED_MODULE_1__","addEventListener","flush","document","visibilityState","globalAttrs","service_name","host_name","session_token","setSessionUUID","session_id","timestamp_ms","_sessionUUID","sessionStorage","eventName","eventData","event_name","event_trigger_time","event_version","signature","ExperimentationService","getString","getNumber","getObject","captainId","setTags","src_app_common_constants__WEBPACK_IMPORTED_MODULE_1__","isDevelopmentEnv","currentHost","TrainerManagementService","lang_id","TrainingSlotsService","slotPageOptions","limit","initPageFilters","langId","trainer_id","setSlotPageOptions","option","createElement","file_name","href","appendChild","click","removeChild","patch","UserManagementService","current_page","search_text","roldIdInstanceName","isRevampedVersion","forgotPasswordRedirectLink","signupLink","agent","authorization","solutionsBaseUrl","identityIssuer","identityClientId","identityRedirectUri","identityScope","appName","environment","production","_common__WEBPACK_IMPORTED_MODULE_0__","enableProdMode","bootstrapApplication","appInitService","init","moduleToLoad","__NgCli_bootstrap_1","bootstrapModule","console","webpackContext"],"sources":["webpack:///$_lazy_route_resources|lazy|groupOptions:%20%7B%7D|namespace%20object","webpack:///src/app/app-init.service.ts","webpack:///src/app/app.component.ts","webpack:///src/app/app.config.ts","webpack:///src/app/app.interceptors.ts","webpack:///src/app/app.module.ts","webpack:///src/app/app.routing.ts","webpack:///src/app/car-check/car-check.service.ts","webpack:///src/app/common/analytics.service.ts","webpack:///src/app/common/auth/auth-error/auth-error.component.ts","webpack:///src/app/common/auth/auth-error/auth-error.component.html","webpack:///src/app/common/auth/auth.guard.ts","webpack:///src/app/common/auth/auth.helper.ts","webpack:///src/app/common/auth/auth.service.ts","webpack:///src/app/common/auth/login.guard.ts","webpack:///src/app/common/cache.service.ts","webpack:///src/app/common/cities/cities.service.ts","webpack:///src/app/common/common.module.ts","webpack:///src/app/common/constants.ts","webpack:///src/app/common/countries.service.ts","webpack:///src/app/common/date/date.service.ts","webpack:///src/app/common/download-data-table/download-data-table.template.html","webpack:///src/app/common/download-data-table/download-data-table.component.ts","webpack:///src/app/common/error-logging/const/error-logging-sources.ts","webpack:///src/app/common/error-logging/interceptor-http-params.ts","webpack:///src/app/common/error/error.component.ts","webpack:///src/app/common/error/error.template.html","webpack:///src/app/common/feature.service.ts","webpack:///src/app/common/file-uploader/file-uploader.template.html","webpack:///src/app/common/file-uploader/file-uploader.component.ts","webpack:///src/app/common/get-cities.service.ts","webpack:///src/app/common/global-interfaces.ts","webpack:///src/app/common/image-viewer/image-viewer.component.ts","webpack:///src/app/common/image-viewer/image-viewer.template.html","webpack:///src/app/common/interceptors/base-uri.interceptor.ts","webpack:///src/app/common/interceptors/cache.interceptor.ts","webpack:///src/app/common/interceptors/city.interceptor.ts","webpack:///src/app/common/interceptors/error.interceptor.ts","webpack:///src/app/common/interceptors/interfaces/index.ts","webpack:///src/app/common/interceptors/token.interceptor.ts","webpack:///src/app/common/languages.service.ts","webpack:///src/app/common/locations.service.ts","webpack:///src/app/common/modals/add-limo-company/add-limo-company.template.html","webpack:///src/app/common/modals/add-limo-company/add-limo-company.component.ts","webpack:///src/app/common/modals/add-trainer/add-trainer.template.html","webpack:///src/app/common/modals/add-trainer/add-trainer.component.ts","webpack:///src/app/common/modals/add-user/add-user.template.html","webpack:///src/app/common/modals/add-user/add-user.component.ts","webpack:///src/app/common/modals/book-slot/book-slot.template.html","webpack:///src/app/common/modals/book-slot/book-slot.component.ts","webpack:///src/app/common/modals/camera/camera.component.html","webpack:///src/app/common/modals/camera/camera.component.ts","webpack:///src/app/common/modals/change-training/change-training.template.html","webpack:///src/app/common/modals/change-training/change-training.component.ts","webpack:///src/app/common/modals/check-car/check-car.template.html","webpack:///src/app/common/modals/check-car/check-car.component.ts","webpack:///src/app/common/modals/create-training-slot/training-slot.template.html","webpack:///src/app/common/modals/create-training-slot/training-slot.component.ts","webpack:///src/app/common/modals/delete-limo-company/delete-limo-company.component.ts","webpack:///src/app/common/modals/delete-limo-company/delete-limo-company.template.html","webpack:///src/app/common/modals/dynamic-modal/dynamic-modal.component.ts","webpack:///src/app/common/modals/dynamic-modal/dynamic-modal.module.ts","webpack:///src/app/common/modals/dynamic-modal/dynamic-modal.service.ts","webpack:///src/app/common/modals/import-limo-company/import-limo-company.template.html","webpack:///src/app/common/modals/import-limo-company/import-limo-company.component.ts","webpack:///src/app/common/modals/limo-import-error/limo-import-error.template.html","webpack:///src/app/common/modals/limo-import-error/limo-import-error.component.ts","webpack:///src/app/common/modals/message-popup/message-popup.component.ts","webpack:///src/app/common/modals/message-popup/message-popup.template.html","webpack:///src/app/common/modals/prompt/prompt.template.html","webpack:///src/app/common/modals/prompt/prompt.component.ts","webpack:///src/app/common/modals/supplier-details/supplier-details.template.html","webpack:///src/app/common/modals/supplier-details/supplier-detais.component.ts","webpack:///src/app/common/permissions/permissions.constant.ts","webpack:///src/app/common/permissions/permissions.guard.ts","webpack:///src/app/common/permissions/permissions.service.ts","webpack:///src/app/common/permissions/sidebar-menu.constant.ts","webpack:///src/app/common/redirect/redirect.guard.ts","webpack:///src/app/common/spinner/spinner.service.ts","webpack:///src/app/common/spinner/spinner.ts","webpack:///src/app/common/storage.service.ts","webpack:///src/app/common/switch-button/switch-button.component.ts","webpack:///src/app/common/switch-button/switch-button.component.html","webpack:///src/app/common/toastr/toastr.service.ts","webpack:///src/app/common/trainers.service.ts","webpack:///src/app/common/users.service.ts","webpack:///src/app/common/validate-equal/validate-equal.directive.ts","webpack:///src/app/common/validation/not-equal.directive.ts","webpack:///src/app/common/validation/validation.constant.ts","webpack:///src/app/health-check/health-check.component.ts","webpack:///src/app/limo-company/limo-company.service.ts","webpack:///src/app/overview-v2/constants/index.ts","webpack:///src/app/overview-v2/document-transcription-v2/shared/constants/index.ts","webpack:///src/app/overview-v2/models/index.ts","webpack:///src/app/overview/overview.constants.ts","webpack:///src/app/overview/overview.service.ts","webpack:///src/app/service-access-disabled/service-access-disabled-toggle.service.ts","webpack:///src/app/service-access-disabled/service-access-disabled.component.ts","webpack:///src/app/service-access-disabled/service-access-disabled.component.html","webpack:///src/app/service-access-disabled/service-access-disabled.module.ts","webpack:///src/app/service-access-disabled/service-access-disabled.service.guard.ts","webpack:///src/app/shared/analytika-v2.service.ts","webpack:///src/app/shared/experimentation.service.ts","webpack:///src/app/shared/utils/index.ts","webpack:///src/app/trainer-management/trainer-management.service.ts","webpack:///src/app/training-slots/training-slots.service.ts","webpack:///src/app/user-management/user-management.service.ts","webpack:///src/environments/common.ts","webpack:///src/environments/environment.ts","webpack:///src/main.ts","webpack:///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","\n \n \n \n \n \n \n \n Name\n \n \n E-mail\n \n \n Cell Phone\n \n \n Created At\n \n \n \n \n \n {{item.first_name}} {{item.last_name}}\n {{item.email}}\n {{item.cell_phone}}\n {{item.created_at | date: 'EEEE MMM dd yyyy hh:mm a'}}\n \n \n \n No matches\n \n \n \n \n \n \n \n \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 * 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\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","{{options.displayName}} \n\n\n \n Upload {{options.displayName}} - Optional\n \n\n\n\n\n \n \n \n \n \n \n \n \n\n\n\n \n 60% Complete\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","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 \n \n\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","\n\n \n \n \n \n Add Limo Company\n \n ×\n \n \n \n \n\n\n \n \n Limo Company\n ID\n \n This field is required\n Provided id is invalid it should be numeric.\n \n \n\n \n Name\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","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 {{trainer.user_id ? 'Update' : 'Add a New'}} Trainer\n \n ×\n \n \n \n \n \n \n First Name\n \n \n This field is required\n Provided name is invalid\n \n \n \n \n Last Name\n \n This field is required\n Provided name is invalid\n \n \n \n \n \n \n Languages\n \n \n \n \n \n This field is required\n \n \n \n \n Location\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 Email\n \n This field is required\n Not a valid email pattern\n \n \n \n \n Join Date\n \n\n \n This field is required\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 {{user.user_id ? 'Update' : 'Add a New'}} User\n \n ×\n \n \n \n \n \n \n \n Role\n \n \n \n \n \n \n This field is required\n \n \n \n \n Captain Types\n \n \n \n This field is required\n \n \n \n \n Country\n \n \n \n This field is required\n \n \n \n \n City\n \n \n \n This field is required\n \n \n \n \n {{ locationsLabel }}\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 Languages\n \n \n \n This field is required\n \n \n \n \n Email\n \n This field is required\n Not a valid email pattern\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 Slot Booking\n \n ×\n \n \n \n \n \n \n Location\n \n \n \n {{bookedSlot?.location?.title}}\n This field is required\n \n \n Language\n \n \n \n {{bookedSlot?.language?.name}}\n This field is required\n \n \n \n \n {{!training_id ? 'Available' : 'Booked'}} Slot\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","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 \n Take Picture\n \n ×\n \n \n \n \n \n \n \n \n \n \n\n \n \n 0\">Please allow camera to take picture\n \n {{error | json}}\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 Move Captains\n \n ×\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 Available Slots\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","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 Car Check\n \n ×\n \n \n \n \n \n \n \n \n \n \n Registration Number\n \n \n Status\n \n \n Current Status\n \n \n \n \n \n {{car.registration}}\n \n \n \n \n \n \n {{car?.status?.title}}\n \n \n \n No records\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 {{!slot.id ? 'Create New' : 'Update'}} Training Slot\n \n ×\n \n \n \n \n \n \n \n \n \n \n \n Date\n \n This field is required\n \n \n Time\n \n This field is required\n \n \n \n \n Language\n \n This field is required\n \n \n Capacity\n \n This field is required\n Capacity must be between 1 and 1000\n \n \n Location\n \n This field is required\n \n \n Trainer\n \n This field is required\n \n\n \n Category\n \n This field is required\n \n \n Type\n \n This field is required\n \n \n \n \n \n Repeat\n \n \n \n End Date\n \n \n \n Repeats Every\n \n Repeats Every must be between 1 and 25\n \n \n Repeats on\n \n {{day.text}}\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","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 \n \n Delete Limo Company\n \n \n \n \n \n \n \n Are you sure you want to delete this limo company ?\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","\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\t\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 {{fileName ? fileName : 'Choose File'}}\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","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 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 Row#\n Error Details\n \n \n \n {{item.source.row}}\n {{item.title}}\n \n \n \n \n \n \n \n \n \n\n\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","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 \n \n \n {{title}}\n \n ×\n \n \n \n {{message}}\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 \n\n Supplier Personal Details\n\n \n Name\n \n \n\n \n Mobile Number\n \n \n\n Car Details\n\n \n Car Plate Number\n \n \n\n \n Car Make\n \n \n\n \n Car Model\n \n \n\n \n Car Color\n \n \n\n \n Car Year\n \n \n\n \n \n \n\n \n \n \n \n {{status.display}}\n \n \n \n \n\n \n This Car has been {{car?.status?.title}}\n \n \n\n \n Submit\n Cancel\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","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 \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 Come back later\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;"]}
Login failed with error: {{ message || 'N/A' }}. Please contact your administrator!
\n Opps, it seems that this page does not exist.\n
Upload excel (.xlsx) file to save limo companies in bulk
{{message}}