{"version":3,"file":"main.bca5d540b4f35f80.js","mappings":"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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACvSA;;EAAA;AAmBA;AA0DA;AASA;;;;;;;;;;ACtFA","sources":["./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/core/enum.ts","./src/app/core/guards/msal-config.ts","./src/app/core/interceptors/token.interceptor.ts","./src/app/costa/costa.component.ts","./src/app/costa/costa.component.html","./src/app/dashboard-card/dashboard-card.component.ts","./src/app/dashboard-card/dashboard-card.component.html","./src/app/dashboard/dashboard.component.ts","./src/app/dashboard/dashboard.component.html","./src/app/notification-menu/notification-menu.component.ts","./src/app/notification-menu/notification-menu.component.html","./src/app/setting/setting.component.ts","./src/app/setting/setting.component.html","./src/app/shared/constants/api-urls.ts","./src/app/shared/constants/constants.ts","./src/app/shared/directives/sortArrayOfObjects.ts","./src/app/shared/guards/navigation.guard.ts","./src/app/shared/navigation-bar/navigation-bar.component.ts","./src/app/shared/navigation-bar/navigation-bar.component.html","./src/app/shared/responsive/responsive.enum.ts","./src/app/shared/responsive/responsive.service.ts","./src/app/shared/services/api.service.ts","./src/app/shared/services/exception.service.ts","./src/app/shared/services/navigation.service.ts","./src/app/shared/services/notification.service.ts","./src/app/shared/services/price-recommender.service.ts","./src/app/shared/services/storage.service.ts","./src/app/shared/services/url-security.service.ts","./src/app/shared/services/util.service.ts","./src/environments/environment.prod.ts","./src/main.ts","./node_modules/moment/locale/ sync ^\\.\\/.*$","src/theme/theme.scss","ignored|/app/src/ui/node_modules/crypto-js|crypto"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { DashboardComponent } from './dashboard/dashboard.component';\nimport * as component from './costa/costa.component';\nimport { MsalGuard } from '@azure/msal-angular';\nimport { environment } from '../environments/environment';\nimport { navigation_codes } from './core/enum';\nimport { navigationGuard } from './shared/guards/navigation.guard';\nimport { SettingComponent } from './setting/setting.component';\n\nconst routes: Routes = [\n {\n path: '',\n canActivate: environment.IS_AUTHENTICATED ? [MsalGuard]:[],\n canActivateChild: environment.IS_AUTHENTICATED ? [MsalGuard]:[],\n component: component.CostaComponent,\n children: [\n {\n path: '',\n component: DashboardComponent,\n canActivate: environment.IS_AUTHENTICATED ? [MsalGuard]:[],\n },\n {\n path: 'final-recommendation',\n canActivate: environment.IS_AUTHENTICATED ? [MsalGuard, navigationGuard]:[],\n loadChildren: () => import('./modules/recommendation.module').then(m => m.RecommendationModule),\n data: {\n navigationCode: navigation_codes['final-recommendation']\n }\n },\n {\n path: 'price-recommendation/recommendation-list',\n canActivate: environment.IS_AUTHENTICATED ? [MsalGuard,navigationGuard]:[],\n loadChildren: () => import('./modules/price-recommender.module').then(m => m.PriceRecommenderModule),\n data: {\n navigationCode: navigation_codes['price-recommender']\n }\n },\n {\n path: 'price-recommendation/priceband-configuration',\n canActivate: environment.IS_AUTHENTICATED ? [MsalGuard,navigationGuard]:[],\n component: SettingComponent,\n data: {\n navigationCode: navigation_codes['price-recommender']\n }\n },\n {\n path: 'scenario/scenario-planner',\n canActivate: environment.IS_AUTHENTICATED ? [MsalGuard,navigationGuard]:[],\n loadChildren: () => import('./modules/scenerio-planner.module').then(m => m.ScenerioPlannerModule),\n data: {\n navigationCode: navigation_codes['scenario-planner']\n }\n },\n {\n path: 'scenario/approved-scenario',\n canActivate: environment.IS_AUTHENTICATED ? [MsalGuard,navigationGuard]:[],\n loadChildren: () => import('./modules/scenario-approver.module').then(m => m.ScenarioApproverModule),\n data: {\n navigationCode: navigation_codes['scenario-planner']\n }\n },\n {\n path: 'scenario/scenario-comparision',\n canActivate: environment.IS_AUTHENTICATED ? [MsalGuard,navigationGuard]:[],\n loadChildren: () => import('./modules/scenario-comparision.module').then(m => m.ScenarioComparisionModule),\n data: {\n navigationCode: navigation_codes['scenario-planner']\n }\n },\n {\n path: 'competitor',\n canActivate: environment.IS_AUTHENTICATED ? [MsalGuard,navigationGuard]:[],\n loadChildren: () => import('./modules/competitor.module').then(m => m.CompetitorModule),\n data: {\n navigationCode: navigation_codes['competitor']\n }\n },\n {\n path: 'price-performance',\n canActivate: environment.IS_AUTHENTICATED ? [MsalGuard,navigationGuard]:[],\n loadChildren: () => import('./modules/price-performance.module').then(m => m.PricePerformanceModule),\n data: {\n navigationCode: navigation_codes['final-recommendation']\n }\n }\n ],\n\n }\n];\n\n// need to add LazyLoading\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ResponsiveService } from 'src/app/shared/responsive/responsive.service';\nimport { environment as ENV } from './../environments/environment';\nimport * as constant from './../app/shared/constants/constants';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent {\n\n constructor(public responsiveService:ResponsiveService , public translate : TranslateService) {\n translate.use('en')\n }\n title = 'costa-coffee-ui';\n}\n","","/* Angular Pre-Defined Components */\nimport './../theme/theme.scss'\nimport { NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { HTTP_INTERCEPTORS, HttpClient, HttpClientModule } from '@angular/common/http';\n\n/** MSAL Configurations */\nimport { MsalModule, MsalGuard, MSAL_INSTANCE, MSAL_INTERCEPTOR_CONFIG, MsalInterceptorConfiguration, MsalService, MsalGuardConfiguration, MSAL_GUARD_CONFIG, MsalBroadcastService } from '@azure/msal-angular';\nimport { IPublicClientApplication, PublicClientApplication, InteractionType, BrowserCacheLocation, LogLevel } from '@azure/msal-browser';\nimport { msalConfig } from './core/guards/msal-config';\nimport { TokenInterceptor } from './core/interceptors/token.interceptor';\n\n/** user defined components */\nimport { DashboardComponent } from './dashboard/dashboard.component';\nimport { CostaComponent } from './costa/costa.component';\nimport { NavigationBarComponent } from './shared/navigation-bar/navigation-bar.component';\nimport { DashboardCardComponent } from './dashboard-card/dashboard-card.component';\nimport { environment } from '../environments/environment';\n\n/** Third Party Components */\nimport { SidebarModule } from 'primeng/sidebar';\nimport { ScrollPanelModule } from 'primeng/scrollpanel';\nimport { PanelMenuModule } from 'primeng/panelmenu';\nimport { ToastrModule } from 'ngx-toastr';\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\nimport { NgxUiLoaderConfig, NgxUiLoaderHttpModule, NgxUiLoaderModule, PB_DIRECTION, POSITION, SPINNER } from 'ngx-ui-loader';\nimport { DBConfig, NgxIndexedDBModule } from 'ngx-indexed-db';\n\nimport * as constant from './shared/constants/constants';\nimport { NotificationMenuComponent } from './notification-menu/notification-menu.component';\nimport * as apiUrl from '../app/shared/constants/api-urls';\nimport {navigationPermission } from './shared/guards/navigation.guard';\n\nconst ngxUiLoaderConfig: NgxUiLoaderConfig = {\n pbColor: \"$primary-costa-color\",\n fgsColor: '$primary-costa-color',\n fgsPosition: POSITION.centerCenter,\n fgsSize: 0,\n fgsType: SPINNER.squareJellyBox,\n pbDirection: PB_DIRECTION.leftToRight,\n pbThickness: 5,\n logoPosition: \"center-center\",\n logoSize: 80,\n logoUrl: `assets/images/logo/hot-coffee.gif`,\n};\n\nconst isIE = window.navigator.userAgent.indexOf(\"MSIE \") > -1 || window.navigator.userAgent.indexOf(\"Trident/\") > -1;\n\n\nconst dbConfig: DBConfig = {\n name: constant.common.indexed_db_name,\n version: 1,\n objectStoresMeta: [{\n store: constant.common.indexed_db_store,\n storeConfig: { keyPath: 'config_key', autoIncrement: false },\n storeSchema: [\n { name: 'Config Key', keypath: 'config_key', options: { unique: true } },\n { name: 'Config Value', keypath: 'config_value', options: { unique: false } }\n ]\n }]\n};\n\nexport function loggerCallback(logLevel: LogLevel, message: string) {\n}\n\nexport function MSALInstanceFactory(): IPublicClientApplication {\n return new PublicClientApplication({\n auth: {\n clientId: msalConfig.auth.clientId,\n authority: msalConfig.auth.authority,\n redirectUri: msalConfig.auth.redirectUri\n },\n cache: {\n cacheLocation: BrowserCacheLocation.LocalStorage,\n storeAuthStateInCookie: isIE, // set to true for IE 11\n },\n system: {\n loggerOptions: {\n loggerCallback,\n logLevel: LogLevel.Info,\n piiLoggingEnabled: false\n }\n }\n });\n}\n\nexport function MSALInterceptorConfigFactory(): MsalInterceptorConfiguration {\n const protectedResourceMap = new Map();\n protectedResourceMap.set(environment.API_ENDPOINT, ['user.read']);\n\n return {\n interactionType: InteractionType.Redirect,\n protectedResourceMap\n };\n}\n\nexport function MSALGuardConfigFactory(): MsalGuardConfiguration {\n return {\n interactionType: InteractionType.Redirect,\n authRequest: {\n scopes: [environment.AUDIANCE]\n }\n };\n}\n\n@NgModule({\n declarations: [\n AppComponent,\n NavigationBarComponent,\n DashboardComponent,\n CostaComponent,\n DashboardCardComponent,\n NotificationMenuComponent\n ],\n imports: [\n BrowserModule,\n AppRoutingModule,\n BrowserAnimationsModule,\n HttpClientModule,\n SidebarModule,\n ScrollPanelModule,\n PanelMenuModule,\n ToastrModule.forRoot({\n timeOut: 3000,\n positionClass: 'toast-top-center',\n preventDuplicates: true,\n }),\n MsalModule,\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: HttpLoaderFactory,\n deps: [HttpClient]\n }\n }),\n NgxUiLoaderModule.forRoot(ngxUiLoaderConfig),\n NgxUiLoaderHttpModule.forRoot({\n showForeground: true,\n exclude: [],\n excludeRegexp:[apiUrl.dashboard.getNotificationStatus]\n }),\n NgxIndexedDBModule.forRoot(dbConfig)\n ],\n providers: [\n {\n provide: HTTP_INTERCEPTORS,\n useClass: TokenInterceptor,\n multi: true\n },\n {\n provide: MSAL_INSTANCE,\n useFactory: MSALInstanceFactory\n },\n {\n provide: MSAL_GUARD_CONFIG,\n useFactory: MSALGuardConfigFactory\n },\n {\n provide: MSAL_INTERCEPTOR_CONFIG,\n useFactory: MSALInterceptorConfigFactory\n },\n MsalService,\n MsalGuard,\n MsalBroadcastService,\n navigationPermission\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\nexport function HttpLoaderFactory(http: HttpClient) {\n return new TranslateHttpLoader(http);\n}\n","export let StatusCode = {\n '0': 'lang.scenerio.status.invalid',\n '1': 'lang.scenerio.status.submitted',\n '2': 'lang.scenerio.status.in_progress',\n '3': 'lang.scenerio.status.completed',\n '4': 'lang.scenerio.status.failed',\n '5': 'lang.scenerio.status.in_planning',\n '6': 'lang.scenerio.status.in_review',\n '7': 'lang.scenerio.status.approved',\n '8': 'lang.scenerio.status.rejected',\n '9': 'lang.scenerio.status.planned',\n '10': 'lang.scenerio.status.in_market',\n '11': 'lang.scenerio.status.past'\n}\n\nexport let StatusColor = {\n '1': '#FDCB4E',\n '2': '#FDCB4E',\n '3': '#32AC70',\n '4': '#FF0000',\n '5': '#FDCB4E',\n '6': '#B0DDF5',\n '7': '#32AC70',\n '8': '#FF0000',\n '9': '#32AC70',\n '10': '#FDCB4E',\n '11': '#22232233'\n}\n\nexport let componentNavigationLabel = {\n '1001': 'lang.navigation.home',\n '1002': 'lang.navigation.final_recommendation',\n '1003': 'lang.navigation.price_performance',\n '1004': 'lang.navigation.price_recommendation',\n '1005': 'lang.navigation.price_optimiser',\n '1006': 'lang.navigation.scenerio_planner',\n '1007': 'lang.navigation.competitor_pricing',\n '1008': 'lang.navigation.notification',\n '1009': 'lang.navigation.modeling',\n '2003':'lang.navigation.scenario_list',\n '2004':'lang.navigation.scenario_comparison',\n '2001':'lang.navigation.recommendation_list',\n '2002':'lang.navigation.import_pricing_rules',\n '2005':'lang.navigation.recommendation_list',\n '2006': 'lang.navigation.elastic_band'\n}\n\nexport let scenerioType = {\n 'all': '',\n 'scenerio': 'sp',\n 'optimiser': 'opt'\n}\n\nexport let RecommenderScenariosType = {\n 'all': '',\n 'approved': 'Approved',\n 'in_market': 'In Market',\n 'planned': 'Planned',\n 'in_review': 'In Review'\n}\n\nexport let statusCodeValues = {\n 'invalid': '0',\n 'submitted': '1',\n 'in_progress': '2',\n 'completed': '3',\n 'failed': '4',\n 'in_planning': '5',\n 'in_review': '6',\n 'approved': '7',\n 'rejected': '8',\n 'planned': '9',\n 'in_market': '10',\n 'past': '11'\n}\n\nexport let notificationNavigation ={\n '7' : '/final-recommendation',\n '6': 'final-recommendation/in-review',\n '8': '/scenario/scenario-planner'\n}\n\nexport enum sessionStorageKeys {\n configuration = 'configuration',\n}\n\nexport enum localStorageKeys {\n navigation_code = 'navigation_code',\n features_available ='features_available',\n user_name = 'user_name',\n role_id ='role_id',\n api_keys = 'api_keys'\n}\n\nexport enum indexedDBKeys {\n configuration = 'configuration',\n}\n\nexport let priceSensitivity = {\n 1: 'lang.scenerio.price_sensitivity.low',\n 2: 'lang.scenerio.price_sensitivity.medium',\n 3: 'lang.scenerio.price_sensitivity.high',\n}\n\nexport let priceSensitivityTextColor = {\n 1: '#32AC70',\n 2: '#FDCB4E',\n 3: '#FF0000',\n}\n\nexport let dahsboardIcon = {\n '1001': './../../assets/images/dashboard/price-recommendation.svg',\n '1002': \"./../../assets/images/dashboard/final-recommendation.svg\",\n '1003': \"./../../assets/images/dashboard/price-performance.svg\",\n '1004': \"./../../assets/images/dashboard/price-recommendation.svg\",\n '1005': \"./../../assets/images/dashboard/price-recommendation.svg\",\n '1006': \"./../../assets/images/dashboard/scenario-planner.svg\",\n '1007': \"./../../assets/images/dashboard/competitor-pricing.svg\",\n '1008': \"./../../assets/images/dashboard/price-recommendation.svg\",\n}\n\nexport let chart_types = {\n line: 'line',\n bar: 'bar',\n stacked_bar: 'stacked_bar',\n waterfall: 'waterfall',\n bar_line: 'bar_line',\n stacked_bar_line: 'stacked_bar_line',\n}\n\nexport let price_performance_charts = {\n est_v_act: \"estimated_v_actuals\",\n margin_trends: \"margin_trends\",\n price_trends: \"price_trends\",\n metric_trends: \"metric_trends\",\n price_band_analysis: \"price_band_analysis\",\n}\n\nexport let recalculation_type ={\n price_change:1,\n current_price:2,\n recommendation_price:3,\n upload_item_calculation:4,\n price_hierarchy : 5\n}\n\nexport let function_calculation_type ={\n calculate_save: \"calculate_save\",\n recalculate: \"recalculate\"\n}\n\nexport let newPriceRecommenderObjective = {\n maximize_revenue:\"Maximize Revenue\",\n maximize_gross_margin:\"Maximize Gross Margin\",\n maximize_perc_gross_margin:\"Maximize Gross Margin %\"\n}\n\nexport let scenario_error :any ={\n 500:{\n \"Please_check_for_invalidzero_price_entries_for_the_products_that_require_a_price\": \"lang.scenerio.save_error\"\n }\n}\nexport let recalculate_errors :any={\n 406: {\n \"request_id\": \"lang.scenerio.error_messages.request_id\",\n \"scenario_id\":\"lang.scenerio.error_messages.scenario_id\",\n \"re_calculation_type\": \"lang.scenerio.error_messages.re_calculation_type\",\n \"function_calculation_type\":\"lang.scenerio.error_messages.function_calculation_type\",\n \"parent_optimizer_id\":\"lang.scenerio.error_messages.parent_optimizer_id\",\n \"price_changed_items\":\"lang.scenerio.error_messages.price_changed_items\",\n }\n}\nexport let uploadError : any ={\n \"excel_validation_failed\": \"lang.scenerio.upload_validation_error\"\n}\nexport let priceRecommenderErrors : any = {\n 406:{\n \"download_constraint_rule\": \"lang.price_recommendation.error_messages.ErrorWhileDownloadingTemplate\",\n }\n}\n\nexport let newPriceRecommenderErrors : any = {\n 406:{\n \"File_Type_Error_Allowed_file_type_xlsx\": \"lang.new_price_recommender.error_messages.FileTypeErrorAllowedFileTypeXlsx\",\n },\n 500:{\n \"Error_while_writing_file_to_storage\":\"lang.new_price_recommender.error_messages.ErrorWhileWritingFileToStorage\"\n },\n 400:{\n \"Parameters name, description, pricing_cycle_date, request id should be provided.\":\"lang.new_price_recommender.error_messages.ErrorWhileEmptyDataSend\"\n }\n}\n\nexport let http_status_codes: any = {\n // using 404 since exception service uses success for status code 204\n NO_CONTENT: 404,\n}\n\nexport let estimated_panel_duration: any = {\n 'weekly': 'Per Week',\n '12_weeks': 'Next 12 Weeks',\n '52_weeks': 'Next 1 Year',\n 'yte': 'Year to Go',\n}\nexport let estimated_panel_duration_order: any = {\n 'weekly': 1,\n '12_weeks': 2,\n '52_weeks': 4,\n 'yte': 3,\n}\n\nexport let navigation_codes:any ={\n 'price-recommender':1004,\n 'scenario-planner':1006,\n 'final-recommendation':1002 ,\n 'price-performance':1003 ,\n 'competitor':1007\n}\n\nexport let action_items:any ={\n 'create_scenario': 1,\n 'submit_for_approval':2,\n 'approver': 3,\n 'intiate_recommendation': 4,\n 'scenario_past': 5,\n 'scenario_market': 6\n}\n\nexport let role_name:any = {\n 1:'Approver',\n 2:'Analyst',\n 3:'Support',\n 4:'Admin'\n}\n\nexport let category_name :any ={\n food: \"Food\",\n beverage: \"Beverages\",\n and: \"and\"\n}","import { LogLevel, Configuration, BrowserCacheLocation } from '@azure/msal-browser';\nimport { environment } from '../../../environments/environment';\n\n// Replace these values with your Azure AD app registration details\nconst tenantId = environment.TENANT_ID;\nconst clientId = environment.CLIENT_ID;\n\nexport const msalConfig: Configuration = {\n auth: {\n clientId,\n authority: `https://login.microsoftonline.com/${tenantId}`,\n redirectUri: window.location.origin,\n postLogoutRedirectUri: window.location.protocol + '//' + window.location.host,\n },\n cache: {\n cacheLocation: BrowserCacheLocation.LocalStorage,\n storeAuthStateInCookie: false,\n },\n system: {\n loggerOptions: {\n loggerCallback: (level, message, containsPii) => {\n if (containsPii) {\n return;\n }\n switch (level) {\n case LogLevel.Error:\n console.error(message);\n return;\n case LogLevel.Info:\n console.info(message);\n return;\n case LogLevel.Verbose:\n console.debug(message);\n return;\n case LogLevel.Warning:\n console.warn(message);\n return;\n }\n },\n },\n },\n};\n\n","import { Injectable } from '@angular/core';\nimport {\n HttpRequest,\n HttpHandler,\n HttpEvent,\n HttpInterceptor,\n HttpResponse,\n HttpErrorResponse\n} from '@angular/common/http';\nimport { Observable, BehaviorSubject } from 'rxjs';\nimport { tap } from 'rxjs/operators';\nimport { Router } from '@angular/router';\nimport { msalConfig } from '../../core/guards/msal-config';\nimport * as constant from '../../shared/constants/constants'\nimport { UtilService } from 'src/app/shared/services/util.service';\nimport { MsalService } from '@azure/msal-angular';\n\n@Injectable()\nexport class TokenInterceptor implements HttpInterceptor {\n\n tokenSubject: BehaviorSubject = new BehaviorSubject(null);\n\n constructor(private router: Router, private utilService: UtilService,private msalService: MsalService) {}\n\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n // let accessTokenKey = JSON.parse(localStorage.getItem(constant.common.msalTokenKeys + '.' + msalConfig.auth.clientId) || '{}')\n let accessToken = this.utilService.getTokenFromSession();\n if (!this.utilService.isNullOrEmptyOrUndefined(accessToken)) {\n const cloned = request.clone({\n headers: request.headers.set(constant.common.authorization, constant.common.bearer + accessToken.secret),\n });\n return next.handle(cloned).pipe(tap(() => {},\n (error: any) => {\n if (error instanceof HttpErrorResponse) {\n if (error.status === constant.common.unauthorizeStatusCode) {\n this.msalService.logoutRedirect();\n }\n }\n })\n );\n } else {\n return next.handle(request);\n }\n }\n}","import { Component, Inject } from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\nimport * as constant from '../shared/constants/constants'\nimport { AccountInfo, IPublicClientApplication } from '@azure/msal-browser';\nimport { MSAL_INSTANCE } from '@azure/msal-angular';\nimport { NavigationService } from '../shared/services/navigation.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ApiService } from '../shared/services/api.service';\nimport { StorageService } from '../shared/services/storage.service';\nimport { localStorageKeys } from '../core/enum';\nimport { UtilService } from '../shared/services/util.service';\nimport { UrlSecurityService } from '../shared/services/url-security.service';\n\n@Component({\n selector: 'app-costa',\n templateUrl: './costa.component.html',\n styleUrls: ['./costa.component.scss']\n})\nexport class CostaComponent {\n /** to show nav bar only when the username is set */\n show_navbar: boolean = false;\n user_details : any;\n\n constructor(\n private router: Router,\n @Inject(MSAL_INSTANCE) private msalInstance: IPublicClientApplication,\n public navigationService: NavigationService,\n private apiService: ApiService,\n private storageService: StorageService,\n private utilService : UtilService,\n private urlService: UrlSecurityService\n ) {\n this.show_navbar = true;\n /** set username */\n this.getApiKeys();\n // this.getUserDetails();\n }\n\n ngOnInit(): void {\n // this.accountCheckAndRedirect();\n }\n\n /** Get Api Keys From Service */\n getApiKeys(){\n this.apiService.getApiKeys().subscribe({\n next: async (response: any) => {\n this.handleApiKeys(response);\n },\n error: (error: any) => {\n this.utilService.logout();\n }\n })\n }\n\n /** To Handle ApiKeys Response */\n async handleApiKeys(response:any){\n sessionStorage.setItem(constant.storage_keys.api_keys, JSON.stringify(response))\n this.addMapKey();\n await this.urlService.addSecurityKeys();\n this.getUserDetails();\n }\n\n /** To Add Map Key to the DOM */\n async addMapKey(){\n let API_KEYS:any = await sessionStorage.getItem(constant.storage_keys.api_keys)\n API_KEYS = JSON.parse(API_KEYS)\n const body = document.body;\n const script = document.createElement('script');\n script.src = constant.common.gmap_url+API_KEYS.uuid_5+\"&loading=async\";\n body.appendChild(script);\n }\n\n /** Get User Details From Service */\n async getUserDetails(){\n this.apiService.getUserDetails().subscribe({\n next: async (response: any) => {\n this.handleUserDetails(response);\n },\n error: (error: any) => {\n this.utilService.logout();\n }\n })\n }\n\n /** Handle User Details*/\n handleUserDetails(response: any) {\n this.user_details = response.name;\n this.storageService.set(constant.storage_keys.user_name, response.name);\n this.storageService.set(constant.storage_keys.role_id, response.role_id);\n this.roleBasedFeaturesDto()\n }\n\n /** DTO for Role Base Permission */\n async roleBasedFeaturesDto() {\n const role_id = await this.storageService.get(constant.storage_keys.role_id)\n const payload = {\n role_id: role_id\n }\n this.getRoleBasedFeatures(payload)\n }\n\n /** Api Call Role Based Permission */\n getRoleBasedFeatures(payload: any) {\n this.apiService.getRoleBasedFeatures(payload).subscribe((response: any) => {\n this.storageService.set(localStorageKeys.features_available, response.feature_available)\n this.utilService.getFeatures();\n })\n }\n\n /** Check the account and redirect to the dashboard */\n accountCheckAndRedirect() {\n if (this.msalInstance.getAllAccounts().length > constant.common.zero) {\n this.router.navigate([constant.navigation.dashboard]);\n }\n }\n}\n","\n
\n \n \n
\n \n \n
\n
","import { Component, Input } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { NavigationService } from '../shared/services/navigation.service';\nimport { dahsboardIcon } from '../core/enum';\n\n@Component({\n selector: 'app-dashboard-card',\n templateUrl: './dashboard-card.component.html',\n styleUrls: ['./dashboard-card.component.scss']\n})\nexport class DashboardCardComponent {\n\n /** Title For Component */\n @Input() name = 'Price Recommendation'\n\n /** Link to Navigate */\n @Input() link:any = null\n\n /** Code */ \n @Input() code:any = null\n\n /** Dashboard Icon Link */\n image_link :any = dahsboardIcon;\n\n constructor(private router : Router){}\n\n /** Navigate Function for the Provided link */\n navigate(){\n if(this.link)\n {\n this.router.navigate([`/${this.link}`])\n }\n }\n}\n","
\n {{name}}\n \n
\n\n","import { Component, OnInit } from '@angular/core';\nimport { ApiService } from '../shared/services/api.service';\nimport { ResponsiveService } from '../shared/responsive/responsive.service';\nimport { NavigationService } from '../shared/services/navigation.service';\nimport * as constant from './../shared/constants/constants';\nimport { UtilService } from '../shared/services/util.service';\nimport { ExceptionService } from '../shared/services/exception.service';\nimport { StorageService } from '../shared/services/storage.service';\nimport { NotificationService } from '../shared/services/notification.service';\nimport { localStorageKeys, role_name } from '../core/enum';\n\n@Component({\n selector: 'app-dashboard',\n templateUrl: './dashboard.component.html',\n styleUrls: ['./dashboard.component.scss']\n})\nexport class DashboardComponent implements OnInit {\n\n /** component data variable */\n dashboard_data : any = []\n user_name : any =''\n role_name : any = ''\n notification_available: any = false;\n notification_visible : any = true;\n\n constructor(\n public responsiveService: ResponsiveService,\n private apiService: ApiService,\n private navigationService: NavigationService,\n private util: UtilService,\n public exceptionService: ExceptionService,\n private storageService: StorageService,\n private notificationService: NotificationService\n ) { \n this.notificationService.triggerNotificationSymbol.subscribe((value:any)=>{\n this.notification_available = value;\n })\n }\n\n ngOnInit() {\n this.getMenuData()\n this.getUserDetailsAPICall();\n this.getConfiguration()\n }\n\n /** Api for Getting Configuration */\n getConfiguration() {\n this.apiService.getConfiguration().subscribe({\n next: (response: any) => {\n this.storageService.set(constant.storage_keys.configuration, response.data);\n },\n error: (error: any) => {\n this.exceptionService.toastMessage(error.status, error.body);\n }\n })\n }\n\n /** Get User Details API Call */\n async getUserDetailsAPICall() {\n this.user_name = await this.storageService.get(constant.storage_keys.user_name);\n let role_id = await this.storageService.get(constant.storage_keys.role_id);\n this.role_name = role_name[role_id];\n }\n\n /** Api call function for Navigation Data */\n async getMenuData() {\n this.navigationService.getMenuData(await this.menuDto()).subscribe((response: any) => {\n this.handleMenuData(response)\n })\n }\n\n /** Handle Navigation Data */\n handleMenuData(response: any) {\n this.util.setNavigationCodes(response)\n this.dashboard_data = response.filter((data:any)=> data.navigation_code != constant.common.home_code);\n this.dashboard_data.forEach((value: any) => {\n value.link = constant.navigation.dashboardNavigation[value.navigation_code as keyof typeof constant.navigation.dashboardNavigation]\n })\n }\n\n /** Logout from the application */\n logout() {\n this.util.logout();\n }\n\n async menuDto(){\n const role_id = await this.storageService.get(constant.storage_keys.role_id)\n const payload = {role_id: role_id}\n return payload\n }\n\n /**\n * open notification panel\n */\n notificationOpen(){\n this.util.notification_visible.next(this.notification_visible)\n }\n\n\n}","
\n
\n \n
\n \n \n \n \n \n
\n \n \n
\n \n
\n
\n \n
\n
\n

\n {{\"lang.dashboard.welcome\" | translate}}\n

\n

\n {{'lang.dashboard.description' | translate}}\n

\n
\n
\n \n
\n

{{\"lang.dashboard.card_click_text\" | translate}}

\n
\n
\n
","import { Component } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ExceptionService } from '../shared/services/exception.service';\nimport { NotificationService } from '../shared/services/notification.service';\nimport { UtilService } from '../shared/services/util.service';\nimport * as constant from '../shared/constants/constants';\nimport { NavigationExtras, Router } from '@angular/router';\nimport { UrlSecurityService } from '../shared/services/url-security.service';\nimport { notificationNavigation, statusCodeValues } from '../core/enum';\nimport { ResponsiveService } from '../shared/responsive/responsive.service';\n\n\n\n@Component({\n selector: 'app-notification-menu',\n templateUrl: './notification-menu.component.html',\n styleUrls: ['./notification-menu.component.scss']\n})\nexport class NotificationMenuComponent {\n /**variable to show notification panel*/\n is_notification_visible: boolean;\n\n /**notification list variables */\n notification_data: any[] = []\n notification_length:any;\n\n /**get enums*/\n message_status_code : any = statusCodeValues\n notification_navigtion : any = notificationNavigation\n\n constructor(public utilService: UtilService,\n private notificationService: NotificationService,\n private exceptionService: ExceptionService,\n private translateService: TranslateService,\n private router: Router,\n public urlService: UrlSecurityService,\n public responsiveService: ResponsiveService) {\n\n /**show the notification panel*/\n this.utilService.notification_visible.subscribe((value: any) => {\n this.is_notification_visible = value;\n\n /**calling to get notification list and Notification Status*/\n this.getStatus();\n this.getNotificationService();\n })\n\n /**\n * to check notification status after 1min\n */\n this.notificationService.triggerNotificationStatus.subscribe((is_active: any) => {\n if (is_active) {\n this.getNotificationStatus(); \n }\n })\n }\n\n /**calling for notification status */\n getNotificationStatus(){\n this.notificationService.getNotificationStatuService().subscribe({\n next: (response: any) => {\n setTimeout(() => {\n this.notificationService.triggerNotificationStatus.next(true)\n }, constant.common.notification_time)\n this.notificationService.triggerNotificationSymbol.next(response.is_notify)\n },\n error: (error: any) => {\n this.exceptionService.toastMessage(error.status, error.body);\n }\n });\n }\n\n getStatus(){\n this.notificationService.getNotificationStatuService().subscribe({\n next: (response: any) => {\n this.notificationService.triggerNotificationSymbol.next(response.is_notify)\n },\n error: (error: any) => {\n this.exceptionService.toastMessage(error.status, error.body);\n }\n });\n }\n\n \n /**get the notification List */\n getNotificationService() {\n this.notificationService.getNotificationService().subscribe({\n next: (response: any) => {\n \n this.notification_length = response.length;\n\n /**variable for group notification */\n const _groupedNotifications: { [key: string]: any } = {};\n \n /**iterate on notification list */\n response.forEach((_Item: any) => {\n const notificationDate = new Date(_Item.modified_at);\n const _dateKey = this.utilService.describeDate(notificationDate);\n\n /**show messsage status on notification */\n let _messageShow = '';\n\n if (_Item?.opt_status_id == this.message_status_code?.completed) {\n _messageShow = this.translateService.instant(constant.notification.notification_desc) + '\"' + _Item.scenario_name + '\"' + this.translateService.instant(constant.notification.generated_success);\n\n if (_Item?.status_id == this.message_status_code?.approved) {\n _messageShow = _Item.username + this.translateService.instant(constant.notification.submitted_scenario) + '\"' + _Item.scenario_name + '\"';\n }\n if (_Item?.status_id == this.message_status_code?.in_review) {\n _messageShow = _Item.username + this.translateService.instant(constant.notification.submit_for_approval) + '\"' + _Item.scenario_name + '\"';\n }\n if (_Item?.status_id == this.message_status_code?.rejected) {\n _messageShow = _Item.username + this.translateService.instant(constant.notification.rejected_message) + '\"' + _Item.scenario_name + '\"';\n }\n } else if (_Item?.opt_status_id == this.message_status_code?.failed) {\n _messageShow = this.translateService.instant(constant.notification.notification_desc) + '\"' + _Item.scenario_name + '\"' + this.translateService.instant(constant.notification.failed);\n } \n \n /**check notification by day as today,yesterday */\n if (!_groupedNotifications[_dateKey]) {\n _groupedNotifications[_dateKey] = {\n day: notificationDate,\n notification_data: []\n };\n }\n \n /**push the notification details by day to group them*/\n _groupedNotifications[_dateKey].notification_data.push({\n img_url: constant.notification.image_url,\n name: _Item.username,\n desc: _messageShow,\n created_at: _Item.modified_at,\n is_active: _Item.is_active,\n is_notify: _Item?.is_notify,\n scenario_id: _Item?.scenario_id,\n time: new Date(_Item.modified_at),\n status_id: _Item.status_id\n });\n });\n \n /**convert notification object as array */\n this.notification_data = Object.values(_groupedNotifications);\n },\n error: (error: any) => {\n this.exceptionService.toastMessage(error.status, error.body);\n }\n });\n }\n\n /**redirect to price recommender page */\n redirectToRoute(notification: any) {\n let payload = {\n \"scenario_id\": this.urlService.encrypt(notification?.scenario_id.toString())\n }\n const navigationExtras: NavigationExtras = {\n queryParams: { '': new Date().getTime() } , \n };\n if(this.notification_navigtion[notification?.status_id]){\n this.router.navigate([this.notification_navigtion[notification?.status_id]], navigationExtras)\n }else{\n this.router.navigate([constant.navigation.priceRecommendationLanding], navigationExtras);\n } \n this.is_notification_visible = !this.is_notification_visible; \n this.readNotificationService(payload); \n }\n\n /**read the notification status */\n readNotificationService(payload:any) {\n this.notificationService.readNotificationService(payload).subscribe({\n next: (response: any) => {\n this.getIndividualNotificationStatus();\n this.notificationService.triggerNotificationStatus.next(true);\n },\n error: (error: any) => {\n this.exceptionService.toastMessage(error.status, error.body);\n }\n });\n }\n\n getIndividualNotificationStatus(){\n this.notificationService.getNotificationStatuService().subscribe({\n next: (response:any) => {\n this.notificationService.triggerNotificationSymbol.next(response.is_notify)\n }\n })\n }\n\n /**close p-sidebar on close button */\n closePanel(){\n this.is_notification_visible = !this.is_notification_visible;\n }\n\n /**read all the notification */\n readAllNotification(){\n this.notificationService.readAllNotificationService().subscribe({\n next:()=>{\n this.notificationService.triggerNotificationSymbol.next(false)\n this.getNotificationService();\n },\n error: (error: any) => {\n this.exceptionService.toastMessage(error.status, error.body);\n }\n })\n }\n\n}\n","
\n \n \n
\n

{{\"lang.notification.notifications\" | translate}}({{notification_length}})

\n {{\"lang.notification.Mark_all_as_read\" | translate}}\n
\n
\n \n
\n
\n {{utilService.describeDate(data?.day)}}\n
\n \n
\n {{notification?.name}}\n {{notification?.desc}}\n
\n {{utilService.timeDifference(notification?.time)}}\n
\n
\n
\n
\n
\n
\n
\n\n","import { Component, OnInit } from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { RecommendationService } from '../shared/services/recommendation.service';\nimport { PriceRecommenderService } from '../shared/services/price-recommender.service';\nimport * as constant from './../shared/constants/constants';\n\n@Component({\n selector: 'app-setting',\n templateUrl: './setting.component.html',\n styleUrls: ['./setting.component.scss']\n})\nexport class SettingComponent implements OnInit {\n\n dataSource:any = new MatTableDataSource()\n displayedColumns: any =[]\n price_band_data: any =[]\n price_band_configuration_data : any = [];\n save_configuration : any =[]\n\n constructor(public service: PriceRecommenderService){}\n\n ngOnInit(){\n this.getPriceBandConfigurationData()\n this.getPriceBandData();\n }\n \n /** Service Call to Get All Price Bands */\n getPriceBandData(){\n this.service.getPriceBandConfigDropdown().subscribe((response)=>{\n this.price_band_data = response;\n })\n }\n\n /** Create DTO after Drodpdown Change */\n OnPriceBandChange(value:any){\n const existingIndex = this.save_configuration.findIndex(\n (item: any) => item.geo_source_id === value.geo_source_id\n );\n if (existingIndex !== -1) {\n this.save_configuration[existingIndex].geo_elasticity_destination_id = value.geo_elasticity_destination_id;\n } else {\n this.save_configuration.push({\n geo_source_id: value.geo_source_id,\n geo_elasticity_destination_id: value.geo_elasticity_destination_id\n });\n }\n }\n\n /** Save Change Api Call */\n onSavePriceBandConfiguration(){\n this.service.savePriceBandConfig(this.save_configuration).subscribe((response:any)=>{\n this.save_configuration = []\n this.getPriceBandConfigurationData();\n })\n }\n\n /** Get Existing Configuration */\n getPriceBandConfigurationData(){\n this.service.getPriceBandConfig().subscribe((response:any)=>{\n this.price_band_configuration_data = response.map((value:any)=>{\n value['original_geo_elasticity_destination_id'] = value.geo_elasticity_destination_id;\n return value\n });\n this.dataSource = new MatTableDataSource(this.price_band_configuration_data)\n this.displayedColumns = constant.settings.columnData;\n })\n }\n\n /** On Click Of Cancel Clear the Dropdowns */\n onCancel(){\n const geoSourceIds = new Set(this.save_configuration.map((item: any) => item.geo_source_id));\n this.price_band_configuration_data.forEach((value:any)=>{\n if (geoSourceIds.has(value.geo_source_id)) {\n value.geo_elasticity_destination_id = value.original_geo_elasticity_destination_id;\n }\n })\n this.dataSource = new MatTableDataSource(this.price_band_configuration_data)\n this.save_configuration = [];\n }\n}\n","
\n

\n {{'lang.common.home' | translate}} \n \n {{\"lang.pricebandConfiguration.heading\" | translate}} \n

\n

\n \n {{\"lang.pricebandConfiguration.heading\" | translate}}\n

\n
\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{\"lang.pricebandConfiguration.spar_priceband\" | translate}} {{element?.geo_desc}} {{\"lang.pricebandConfiguration.elasticity_price_band\" | translate}} \n \n \n
\n
\n \n \n
\n
\n
\n","export const dashboard = {\n getUserDetails: 'user',\n getMenuList: 'menu',\n configuration: 'configs',\n getNotification:'notification/notificationDetails',\n readNotification:'notification/notificationRead',\n getNotificationStatus: 'notification/notificationStatus',\n allRead: 'notification/notificationMarkAllAsRead ',\n featureApi : 'rolesPermission',\n getApiKeys: 'common/getApiKeys'\n}\n\nexport const scenario = {\n getScenerioList: 'planner/scenarios',\n getApprovalScenerioList: 'planner/approvedScenario',\n dateConfiguaration: '/configs',\n statuslist: 'planner/status',\n scenarioDelete: 'planner/scenario',\n creatorData: 'planner/users',\n priceTier: 'planner/priceTiers',\n skuDetails: 'planner/skuDetails',\n getApprovedScenariopriceBand: 'planner/approvedScenarioPriceBand',\n getApprovedScenarioskuDetails: 'planner/approvedScenarioSKUDetails',\n getApprovedScenarioskuDetailsCount: 'planner/approvedScenarioSKUDetailsCount',\n createSkuDetails: 'planner/saveScenarioDetails',\n scenarioHeader: 'planner/info',\n createScenarioHeader: 'planner/createScenarioInfo',\n estimatedImpact: 'planner/estimatedImpact',\n estimatedImpactPriceBand: 'planner/estimatedImpactPriceBand',\n estimatedImpactPriceBandOverall: 'planner/estimatedImpactPriceBandOverall',\n originalImpact: 'planner/originalImpact',\n originalImpactPriceBand: 'planner/originalImpactPriceBand',\n originalImpactPriceBandOverall: 'planner/originalImpactPriceBandOverall',\n priceTierDropdown: 'planner/priceTierDropdown',\n category: 'planner/skuCategory',\n skuDetailsCount: 'planner/skuDetailsCount',\n recalculateImpact: 'planner/recalculateImpact',\n createScenario: 'planner/createScenario',\n download: 'planner/download',\n upload: 'planner/upload',\n submitForRejected: 'planner/submitForRejected',\n submitForApproved: 'planner/submitForApproved',\n submitForApproval: 'planner/submitForApproval',\n tempAPis: {\n estimatedImpactPriceBandOverall: 'planner/estimatedImpactPriceBandOverallTemp',\n skuDetailsCount: 'planner/skuDetailsCountTemp',\n skuDetails: 'planner/skuDetailsTemp',\n l1Category: 'planner/getTempCategoryLvl1',\n l2Category: 'planner/getTempCategoryLvl2',\n subCategory:'planner/getTempSubCategory',\n tempItemDetails:'planner/getTempItemsDetails',\n tempPriceBand: 'planner/getTempPricebands'\n },\n priceHierarchy : \"planner/priceHierarchy\",\n override: \"planner/override_affected_products\",\n download_violation: \"planner/download_violation_file\",\n constraintList: 'planner/scenarioConstraints',\n exportScenario:'common/scenarioExport',\n estimatedDurationDropdown: 'planner/durationDropdown',\n categoryImpactDropdown : 'planner/categoryImpactDropdown',\n l1Category: 'planner/getCategoryLvl1',\n l2Category: 'planner/getCategoryLvl2',\n subCategory:'planner/getSubCategory',\n ItemDetails:'planner/getItemsDetails'\n}\n\nexport const scenario_comparison = {\n getPlanningCycleList: 'planner/compare/scenarioList',\n getCycleScenarioList: 'planner/compare/innerScenarioList',\n getPlanningCycleCount: 'planner/compare/count',\n getScenarioComparisonResult: 'planner/compare/result',\n getScenarioComparisonTableData: 'planner/compare/scenarioInnerList'\n}\n\nexport const recommendation = {\n getScenarios: \"finalRecommendation/finalRecommenderScenarios\",\n approversList: 'finalRecommendation/approvedScenarios',\n in_review_list: 'finalRecommendation/reviewScenarios',\n status_list: 'finalRecommendation/status',\n finalRecommendationListHeaders: 'finalRecommendation/info',\n finalRecommendationPriceTierTable: 'finalRecommendation/priceTiers',\n estimatedImpact: 'finalRecommendation/estimatedImpact',\n estimatedImpactPriceBand: 'finalRecommendation/estimatedImpactPriceBand',\n originalImpact: 'finalRecommendation/originalImpact',\n originalImpactPriceBand: 'finalRecommendation/originalImpactPriceBand',\n skuDetails: 'finalRecommendation/skuDetails',\n skuCategoryDetails: 'finalRecommendation/categoryDropdown',\n skuPriceBandDetails: 'finalRecommendation/priceBandDropdown',\n skuProductNameDetails: 'finalRecommendation/itemDropdown',\n skuDetailsCount: 'finalRecommendation/skuDetailsCount',\n graphData: 'finalRecommendation/estimatedImpactGraph',\n approvers: 'finalRecommendation/approvers',\n rangingSummaryGraph: 'finalRecommendation/ranging-summary-graph',\n rangingSummaryTable: 'finalRecommendation/ranging-summary-table',\n productsDisplayDropdown: 'finalRecommendation/products-display-dropdown',\n moveToPast: 'finalRecommendation/moveToPast',\n moveToInMarket: 'finalRecommendation/moveToInMarket',\n priceRangingPriceBandDropdown: 'finalRecommendation/priceBandLevelDropdown',\n exportScenario:'finalRecommendation/scenarioExport',\n}\n\nexport const price_recommender = {\n getScenarios: \"priceRecommender/scenarios\",\n approversList: 'priceRecommender/users',\n statusList: 'priceRecommender/status',\n constraintList: 'priceRecommender/scenarioConstraints',\n priceRecommenderListHeaders: 'priceRecommender/info',\n priceRecommenderPriceTierTable: 'priceRecommender/priceTiers',\n estimatedImpact: 'priceRecommender/estimatedImpact',\n estimatedImpactPriceBand: 'priceRecommender/estimatedImpactPriceBand',\n originalImpact: 'priceRecommender/originalImpact',\n originalImpactPriceBand: 'priceRecommender/originalImpactPriceBand',\n skuDetails: 'priceRecommender/skuDetails',\n skuDetailsCount: 'priceRecommender/skuDetailsCount',\n recommenderCaterogyList: 'priceRecommender/category',\n recommenderSKUList: 'priceRecommender/items',\n constraintsGetData: 'priceRecommender/constraints',\n constraintsDrillDown: 'priceRecommender/constraintLevelDetails',\n downloadPriceRecommender: 'priceRecommender/download',\n initiateNewPriceRecommender: 'priceRecommender/requestID',\n generateOptimizerInRecommenderList: 'priceRecommender/generateScenario',\n uploadPriceRecommender: \"priceRecommender/upload\",\n downloadConstraintRules: \"priceRecommender/downloadFiles\"\n}\n\nexport const competitor_pricing = {\n costaStoreDropdown: \"competitorPricing/costaStoreDropdown\",\n costaStore: \"competitorPricing/costaStore\",\n competitorStoreDropdown: \"competitorPricing/competitorStoreDropdown\",\n competitorStore: \"competitorPricing/competitorStores\",\n costaStoreItemDropdown: \"competitorPricing/itemDropdown\",\n result: \"competitorPricing/result\"\n}\n\nexport const price_performance = {\n margin_trends_price_band_dropdown: \"pricePerformance/priceBandDropdown\",\n margin_trends_graph: \"pricePerformance/marginTrends\",\n price_trends_price_band_dropdown: \"pricePerformance/priceBandDropdown?graph_name=price_volume_trends\",\n price_trends_products_dropdown: \"pricePerformance/productsDropdown\",\n price_trends_graph: \"pricePerformance/priceTrends\",\n metric_trends_metric_dropdown: \"pricePerformance/metricDropdown\",\n metric_trends_graph: \"pricePerformance/metricTrends\",\n price_band_analysis_scenarios: \"pricePerformance/scenarios\",\n price_band_analysis_hierarchy: \"pricePerformance/priceBandHierarchy\",\n price_band_analysis_segmentation: \"pricePerformance/priceBandSegmentation\",\n price_band_analysis_metrics: \"pricePerformance/priceBandMetrics\",\n price_band_analysis_export: \"pricePerformance/scenarioReports\",\n price_trends_metric_trends_export: \"pricePerformance/actualsReports\",\n estimated_v_actual: \"pricePerformance/estimatedVsActuals\"\n}\n\nexport const price_band_config = {\n get_price_band_config_data :\"dynamicPriceBand/activePriceBands\",\n get_dropdown_data : \"dynamicPriceBand/activeElasticityPriceBands\",\n save_price_band_config_data: \"dynamicPriceBand/saveElasticityMapping\",\n check_price_recommendation : \"dynamicPriceBand/checkInitiatePriceRecommendation\",\n view_price_band_config : \"planner/getPriceBandMappingInformation\"\n}\n","export const login = {\n loginResponse: 'loginResponse',\n}\n\nexport const navigation = {\n error: \"/\",\n landing: '/logout',\n login: '/login',\n dashboard: '/',\n componentNavigation: {\n \"1001\": '/',\n \"1002\": '/final-recommendation',\n \"1003\": '/price-performance',\n \"1004\": '/price-recommendation',\n \"1006\": '/scenario',\n \"1007\" : '/competitor',\n \"2003\": '/scenario/scenario-planner',\n \"2004\": '/scenario/scenario-comparision',\n \"2005\": '/price-recommendation/recommendation-list',\n \"2006\": '/price-recommendation/priceband-configuration'\n },\n dashboardNavigation: {\n \"1001\": '/',\n \"1002\": '/final-recommendation',\n \"1003\": '/price-performance',\n \"1004\": '/price-recommendation/recommendation-list',\n \"1006\": '/scenario/scenario-planner',\n \"1007\" : '/competitor'\n },\n scenarioLanding: '/scenario/scenario-planner',\n approvedScenariosLanding: '/scenario/approved-scenario',\n approvedScenariosPriceBand: '/scenario/approved-scenario/approver-price-band',\n approvedScenariosSKU: '/scenario/approved-scenario/approver-sku',\n scenarioSKUPriceTier: '/scenario/scenario-planner/scenario-sku',\n scenarioPriceTier: '/scenario/scenario-planner/scenario-price-tier',\n createSceanrio: '/scenario/scenario-planner/create-scenario',\n recommendationLanding: '/final-recommendation',\n recommendationLandingInReview: '/final-recommendation/in-review',\n recommenationPriceTier: '/final-recommendation/recommendation-price-tier',\n recommenationComparison: '/final-recommendation/recommendation-comparison',\n recommendationSKU: '/final-recommendation/recommendation-sku',\n recommendationComparisonSku: '/final-recommendation/recommendation-comparison-sku',\n priceRecommendationLanding: '/price-recommendation/recommendation-list',\n priceRecommenationPriceTier: '/price-recommendation/recommendation-list/recommendation-price-tier',\n priceRecommendationSKU: '/price-recommendation/recommendation-list/recommendation-sku',\n scenarioComparisonResult: '/scenario/scenario-comparision/result',\n newpricerecommender: '/price-recommendation/recommendation-list/new-price-recommender',\n priceRangingSummary: '/final-recommendation/price-range-summary',\n competitorLanding: '/competitor',\n}\n\nexport const currencyFormat = {\n digitFormat: 0.00,\n}\n\nexport const common = {\n gmap_url :'https://maps.googleapis.com/maps/api/js?key=',\n sucess_response: 200,\n failure_response: 500,\n move_to_in_market_failure: 405,\n msalTokenKeys: 'msal.token.keys',\n authorization: 'Authorization',\n bearer: 'Bearer ',\n unauthorizeStatusCode: 401,\n zero: 0,\n itemSize: 40,\n headerHeight: 50,\n totalViewPortRange: 460,\n bufferRange: 80,\n closeExpansionPanel: -1,\n defaultViewPort: 100,\n defaultRegion: '',\n defaultRegionCode: 99,\n defaultRegionId: '',\n defaultTableHeight: 200,\n defaultTableHeightForOptimizer: 250,\n none: 'none',\n block: \"block\",\n locale: 'en-US',\n lang_symbol: 'lang_symbol',\n display_none: 'none',\n display_block: 'block',\n session_storage: 'session_storage',\n local_storage: 'local_storage',\n indexed_db: 'indexed_db',\n indexed_db_name: 'costa_db',\n indexed_db_store: 'costa_store',\n withoutTimezoneConversion: 'YYYY-MM-DD 00:00:00',\n withoutTimezoneConversionJustDate: 'YYYY-MM-DD',\n withoutTimezoneConversionwithoutDate: 'YYYY-MM',\n withoutTimezoneConversionJustDate2: 'yyyy-MM-dd',\n home_code: '1001',\n default_page_size: 50,\n one: 1,\n download_success: \"lang.common.download_success\",\n max_scenarios_for_inmarket: \"lang.recommendation.max_scenarios_for_inmarket\",\n absolute: \"absolute\",\n percentage: \"percentage\",\n notification_time : 5* 60 * 1000,\n no_data_found: \"lang.common.no_data_found\"\n}\n\nexport const dashboard = {\n dashboard_data: []\n}\n\nexport const encryptKey = {\n characters: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'\n}\n\nexport const scenario = {\n delete_message: \"lang.scenerio.delete_message\",\n default_sorting_column: 'price_tier_id',\n default_sorting_direction: 'asc',\n file_name: \"lang.scenerio.file_name\",\n violation_file_name: \"lang.scenerio.vioaltion_file_name\",\n recalculated_rows: \"lang.scenerio.recalculated_rows\",\n upload_recalculate_success: \"lang.scenerio.upload_success\",\n delete_success: 'lang.scenerio.delete_success',\n approve_failure: 'lang.scenerio.approve_failure',\n reject_failure: 'lang.scenerio.reject_failure',\n approve_success: 'lang.scenerio.approve_success',\n approval_success: 'lang.scenerio.approval_success',\n reject_success: 'lang.scenerio.reject_success',\n override_successful: 'lang.scenerio.override_successful',\n scenario_recommender:'lang.scenerio.scenario_recommender',\n scenarios: [\n {\n \"scenario_id\": 1001,\n \"name\": \"Scenario 1\",\n \"description\": \"Scenario 1 description\",\n \"type\": \"sp\",\n \"status_name\": \"Saved\",\n \"created_by\": \"Madhuri Gollakota\",\n \"created_at\": \"2024-01-10T12:20:38.023000\",\n \"market\": \"UK\"\n },\n {\n \"scenario_id\": 1002,\n \"name\": \"Scenario 2\",\n \"description\": \"Scenario 2 description\",\n \"type\": \"sp\",\n \"status_name\": \"In-progress\",\n \"created_by\": \"Madhuri Gollakota\",\n \"created_at\": \"2024-01-10T12:20:38.023000\",\n \"market\": \"UK\"\n },\n {\n \"scenario_id\": 1003,\n \"name\": \"Scenario 3\",\n \"description\": \"Scenario 3 description\",\n \"type\": \"sp\",\n \"status_name\": \"Completed\",\n \"created_by\": \"Madhuri Gollakota\",\n \"created_at\": \"2024-01-10T12:20:38.023000\",\n \"market\": \"UK\"\n },\n {\n \"scenario_id\": 1004,\n \"name\": \"Scenario 4\",\n \"description\": \"Scenario 4 description\",\n \"type\": \"opt\",\n \"status_name\": \"Saved\",\n \"created_by\": \"Madhuri Gollakota\",\n \"created_at\": \"2024-01-10T12:20:38.023000\",\n \"market\": \"UK\"\n },\n {\n \"scenario_id\": 1005,\n \"name\": \"Scenario 5\",\n \"description\": \"Scenario 5 description\",\n \"type\": \"opt\",\n \"status_name\": \"In-progress\",\n \"created_by\": \"Madhuri Gollakota\",\n \"created_at\": \"2024-01-10T12:20:38.023000\",\n \"market\": \"UK\"\n },\n {\n \"scenario_id\": 1006,\n \"name\": \"Scenario 6\",\n \"description\": \"Scenario 6 description\",\n \"type\": \"opt\",\n \"status_name\": \"Completed\",\n \"created_by\": \"Madhuri Gollakota\",\n \"created_at\": \"2024-01-10T12:20:38.023000\",\n \"market\": \"UK\"\n }\n ],\n price_hierarchy_columns :['priceBand','food', 'beverages'],\n\n scenario_type: {\n 'scenerio_planner': 'sp',\n 'optimiser': 'opt',\n },\n\n scenerio_table_columns: ['select', 'scenario_id', 'name', 'objective', 'market', 'description', 'created_by', 'created_at', 'status_name', 'parent_optimizer_id', 'pricing_cycle_date', 'constraints_rules', 'action'],\n common_columns: ['price_tier','category_l1', 'category_l2','sub_category', 'sku_id', 'sku_name'],\n column_selection: [\n { column_id: 'current_price', column_name: 'lang.scenerio.price_tier_table.current_price' },\n { column_id: 'recommended_price', column_name: 'lang.scenerio.price_tier_table.recommended_price' },\n { column_id: 'scenario_price', column_name: 'lang.scenerio.price_tier_table.final_instore_price' },\n { column_id: 'price_change', column_name: 'lang.scenerio.price_tier_table.price_change' },\n { column_id: 'base_units', column_name: 'lang.scenerio.price_tier_table.base_units' },\n { column_id: 'estimated_units_lb', column_name: 'lang.scenerio.price_tier_table.estimated_units' },\n { column_id: 'gross_margin_lb', column_name: 'lang.scenerio.price_tier_table.weekly_margin' },\n { column_id: 'price_sensitivity', column_name: 'lang.scenerio.price_tier_table.price_sensitivity' },\n { column_id: 'avg_comp_price', column_name: 'lang.scenerio.price_tier_table.avg_competitor_price' }\n ],\n approved_scenerio_table_columns: ['scenario_id', 'name', 'market', 'description', 'created_by', 'created_at', 'status_code', 'price_rec_id', 'pricing_cycle_date'], //'select',\n table_columns_with_price_tier: ['price_tier', 'category_l1', 'category_l2', 'sub_category', 'sku_id', 'sku_name', 'price_sensitivity', 'current_price', 'recommended_price', 'scenario_price', 'price_change', 'base_units', 'estimated_units_lb', 'gross_margin_lb', 'avg_comp_price'],\n table_columns_without_price_tier: ['category_l1', 'category_l2', 'sub_category', 'sku_id', 'sku_name', 'price_sensitivity', 'current_price', 'recommended_price', 'scenario_price', 'price_change', 'base_units', 'estimated_units_lb', 'gross_margin_lb', 'avg_comp_price'],\n export_scenario:\"lang.scenerio.export_scenario\",\n export_scenario_pb:\"lang.scenerio.export_scenario_pb\",\n price_hierarchy_error:{\n category_error:\"lang.scenerio.price_hierarchy_error.category_error\",\n general_error:\"lang.scenerio.price_hierarchy_error.general_error\",\n }\n\n}\n\nexport const recommendation = {\n recommendation_table_approved_columns: ['scenario_id', 'name', 'market', 'approved_at', 'approved_by', 'pricing_cycle_date', 'stores_impacted', 'status_name'], //, 'includes_franchise'\n recommendation_table_in_review_columns: ['select', 'scenario_id', 'name', 'market', 'modified_at', 'modified_by', 'pricing_cycle_date', 'stores_impacted', 'status_name'], //, 'includes_franchise'\n}\n\nexport const storage_keys = {\n configuration: 'configuration',\n user_name: 'user_name',\n role_id: 'role_id',\n api_keys: 'api_keys'\n}\n\nexport const impact_screen = {\n percentage_decimal: 1,\n absolute_decimal: 2,\n default_estimated_week_id: 'weekly',\n default_estimated_category_id: null\n}\n\nexport const configuration_keys = {\n date_range_value: 'scenario_summary_date_range',\n default_date_range_value: 'scenario_summary_date_range_default',\n date_format: 'date_format',\n language_code: 'language_code',\n currency_symbol: 'currency_symbol',\n currency_name: 'currency_name',\n price_hierarchy_range_max: 'price_hierarchy_range_max',\n price_hierarchy_range_min: 'price_hierarchy_range_min',\n time_restriction_for_recommendation_creation:'time_restriction_for_recommendation_creation'\n}\n\nexport const scenario_price_tier = {\n price_tier_table_columns: ['price_tier', 'stores', 'sku_affected', 'price_change', 'atv', 'sales', 'transaction', 'margin', 'estimated_units_lb'] //, 'last_saved_by', 'last_saved_on', 'weekly_gm'\n}\n\nexport const translate_text = {\n mandatory_validation: 'lang.validation_messages.mandatory_validation',\n scenario_created_message :'lang.validation_messages.scenario_careted_message',\n scenario_created_message_beginning :'lang.validation_messages.scenario_careted_message_beginning',\n scenario_created_message_ending :'lang.validation_messages.scenario_careted_message_ending',\n valid_price_error :\"lang.validation_messages.valid_price_error\",\n valid_percentage_error : \"lang.validation_messages.valid_percentage_error\"\n}\n\nexport const recommended_price_tier = {\n price_tier_table_columns: ['price_tier', 'stores', 'sku_affected', 'price_change', 'atv', 'sales', 'transaction', 'margin', 'estimated_units_lb'] //, 'last_saved_by', 'last_saved_on', 'weekly_gm'\n}\n\nexport const price_recommender_price_tier_table = {\n price_tier_table_columns: ['price_tier','stores', 'sku_affected', 'price_change', 'atv', 'sales', 'transaction', 'margin', 'estimated_units_lb'] //, 'weekly_gm'\n}\n\nexport let sortHeaders_price_tier_table :any = {\n 'price_tier': \"price_tier\",\n 'stores': 'stores',\n 'sku_affected': 'products_affected',\n 'price_change': 'percentage_price_change',\n 'sales' : 'perc_sales',\n 'transaction' : 'perc_transactions',\n 'weekly_gm': 'weekly_gross_margin',\n 'margin': 'perc_gross_margin',\n 'estimated_units_lb': 'estimated_units',\n 'atv': 'atv'\n}\n\nexport let sortHeaders_sku_table :any = {\n 'price_tier': 'price_tier',\n 'objective': 'objective',\n 'category_name': 'category_name',\n 'sku_id': 'sku_id',\n 'sku_name': 'sku_name',\n 'current_price' : 'current_price',\n 'recommended_price' : 'recommended_price',\n 'scenario_price': 'scenario_price',\n 'price_change': 'price_change',\n 'base_units': 'base_units',\n 'estimated_units_lb': 'estimated_units',\n 'gross_margin_lb': 'gross_margin',\n 'price_sensitivity': 'price_sensitivity',\n 'avg_comp_price': 'avg_comp_price',\n 'category_l1': 'category_lvl1_name',\n 'category_l2': 'category_lvl2_name',\n 'sub_category': 'sub_category_name'\n}\n\nexport const impact_arrow_indicators = {\n arrow_up: 1,\n arrow: 0,\n arrow_down: -1,\n}\n\nexport const price_recommender = {\n landing_table_columns: [\"scenario_id\", \"name\", \"objective\", \"market\", \"description\", \"created_by\", \"created_at\", \"pricing_cycle_date\", \"status_name\", \"constraints_rules\"], //, \"error_logs\"\n constraint_pop_up_table_columns: ['constraint_type', 'constraint_drill', 'minimum_value', 'maximum_value'],\n item_details_pop_up_table_columns: ['product_category', 'items']\n}\nexport const scenario_comparison = {\n page_size: 5,\n scenerio_table_columns: ['select', 'scenario_id', 'name', 'description', 'created_by', 'created_at', 'status_code'],\n stores: 'stores'\n}\n\nexport const unitsByKb = {\n kb: 1,\n mb: 1024,\n fileSize: 200\n}\n\nexport const donwloadFormates: any = {\n excel: {\n type: 'application/vnd.ms-excel',\n extensions: '.xlsx',\n value: 'excel'\n },\n pdf: {\n type: 'application/pdf',\n extensions: '.pdf',\n value: 'pdf'\n },\n zip: {\n type: 'application/zip',\n extensions: '.zip',\n value: 'zip'\n },\n}\n\nexport const newPriceRecommender: any = {\n toastMessageCls: \"toast-message-cls\",\n categoryTable: \"category-table\",\n constraintsTable: \"constraints-table\",\n uploadDialogHeight: \"488px\",\n uploadDialogPanelClass: \"custom-dialog-container\",\n generateDialogHeight: \"175px\",\n generateDialogWidth: \"454px\",\n generateDialogPanelClass: \"generate-dialog-container\",\n createNewRecommenderDialogHeight: \"460px\",\n createNewRecommenderDialogWidth: \"460px\",\n createNewRecommenderDialogPanelClass: \"createNewRec-dialog-container\",\n minValue: 'min',\n maxValue: 'max',\n all:\"All\",\n categoryTableColumns: ['Category', 'Products', 'action'],\n constraintTableColumns: ['constraint_type', 'constraint_description', 'minimum_value', 'maximum_value', 'action'],\n maximizeRevenue: \"maximize_revenue\",\n maximizeGrossMargin: \"maximize_gross_margin\",\n maximizePercGrossMargin: \"maximize_perc_gross_margin\",\n newMaxValue: \"new_max_value\",\n newMinValue: \"new_min_value\",\n all_items_value: 1,\n few_items_value: 0,\n download_error_message:\"lang.new_price_recommender.download_error_message\",\n duplicate_products_exists:\"lang.new_price_recommender.error_messages.duplicateItemsCannotBeAdded\",\n duplicate_constraints_exists:\"lang.new_price_recommender.error_messages.duplicateConstraintsCannotBeAdded\",\n constraints_is_mandatory:\"lang.new_price_recommender.error_messages.constraintsIsMandatory\",\n Please_Fill_Required_Fields:\"lang.new_price_recommender.error_messages.PleaseFillRequiredFields\",\n Pleas_Select_Distinct_All_Products:\"lang.new_price_recommender.error_messages.PleasSelectDistinctAllProducts\"\n\n}\n\nexport const chart_constants: any = {\n chart_colors : {\n pink: \"#CFA8CA\",\n green: \"#3cb44b\",\n light_blue: \"#B0DDF5\",\n orange: \"#F58E90\",\n yellow: \"#FDCB4E\",\n brown: \"#9A6324\",\n red: '#E52F25',\n purple: \"#CF9FFF\",\n teal: \"#469990\",\n lime: \"#bfef45\",\n costa: \"#6B1831\",\n light_blue_transparent: \"#B0DDF510\",\n },\n chart_inc_dec : {\n increase: 'Increase',\n decrease: 'Decrease',\n total: 'Total',\n },\n chart_axis_ids: {\n bar_axis: 'bar_axis',\n line_axis: 'line_axis'\n }\n}\n\nexport const price_ranging_summary: any = {\n ranging_summary_table1_columns: ['products', 'less_than_3', 'between_3_4', 'between_4_5', 'more_than_5'],\n ranging_summary_table2_columns: ['products', 'crossing_3', 'crossing_4', 'crossing_5'],\n defaultProductDisplay: 'All',\n execSummaryDefaultPB: 4,\n productsDisplayMap: {\n All: 'All Products',\n top90Sales: '90% of Sales'\n }\n \n}\n\nexport const competitor : any ={\n data: {\n result_data: [\n {\n category: \"Bevarage\",\n sku_name: \"Latte_Medium\",\n current_price: 2,\n competitorDetails: [\n { competitor_price: 3, competitor_price_difference: 2 },\n { competitor_price: 2, competitor_price_difference: 1 },\n { competitor_price: 2, competitor_price_difference: 1 }\n ],\n },\n {\n category: \"Food\",\n sku_name: \"Sandwich\",\n current_price: 3,\n competitorDetails: [\n { competitor_price: 4, competitor_price_difference: 3 },\n { competitor_price: 2, competitor_price_difference: 1 },\n { competitor_price: 2, competitor_price_difference: 1 }\n ],\n },\n {\n category: \"Bevarage\",\n sku_name: \"Latte_Medium\",\n current_price: 2,\n competitorDetails: [\n { competitor_price: 2, competitor_price_difference: 1 },\n { competitor_price: 2, competitor_price_difference: 1 },\n { competitor_price: 2, competitor_price_difference: 1 }\n ],\n }\n ],\n competitor_ids: [1, 2, 3]\n },\n map_icon_name: 'Competitor-',\n data_column :[\"category\",\"sku_name\",\"current_price\"],\n restaurantColumn: ['header-row-first-group',\"costa\"],\n}\n\n\nexport const dark_theme: google.maps.MapTypeStyle[] = [\n {\n \"elementType\": \"geometry\",\n \"stylers\": [\n {\n \"color\": \"#212121\"\n }\n ]\n },\n {\n \"elementType\": \"labels.icon\",\n \"stylers\": [\n {\n \"visibility\": \"off\"\n }\n ]\n },\n {\n \"elementType\": \"labels.text.fill\",\n \"stylers\": [\n {\n \"color\": \"#757575\"\n }\n ]\n },\n {\n \"elementType\": \"labels.text.stroke\",\n \"stylers\": [\n {\n \"color\": \"#212121\"\n }\n ]\n },\n {\n \"featureType\": \"administrative\",\n \"elementType\": \"geometry\",\n \"stylers\": [\n {\n \"color\": \"#757575\"\n }\n ]\n },\n {\n \"featureType\": \"administrative.country\",\n \"elementType\": \"labels.text.fill\",\n \"stylers\": [\n {\n \"color\": \"#9e9e9e\"\n }\n ]\n },\n {\n \"featureType\": \"administrative.land_parcel\",\n \"stylers\": [\n {\n \"visibility\": \"off\"\n }\n ]\n },\n {\n \"featureType\": \"administrative.locality\",\n \"elementType\": \"labels.text.fill\",\n \"stylers\": [\n {\n \"color\": \"#bdbdbd\"\n }\n ]\n },\n {\n \"featureType\": \"landscape\",\n \"elementType\": \"geometry.fill\",\n \"stylers\": [\n {\n \"color\": \"#303030\"\n }\n ]\n },\n {\n \"featureType\": \"landscape.man_made\",\n \"elementType\": \"geometry.fill\",\n \"stylers\": [\n {\n \"color\": \"#181818\"\n }\n ]\n },\n {\n \"featureType\": \"landscape.natural\",\n \"elementType\": \"geometry.fill\",\n \"stylers\": [\n {\n \"color\": \"#212121\"\n }\n ]\n },\n {\n \"featureType\": \"landscape.natural.terrain\",\n \"elementType\": \"geometry.fill\",\n \"stylers\": [\n {\n \"color\": \"#303030\"\n }\n ]\n },\n {\n \"featureType\": \"poi\",\n \"elementType\": \"geometry.fill\",\n \"stylers\": [\n {\n \"color\": \"#212121\"\n }\n ]\n },\n {\n \"featureType\": \"poi\",\n \"elementType\": \"labels.text.fill\",\n \"stylers\": [\n {\n \"color\": \"#757575\"\n }\n ]\n },\n {\n \"featureType\": \"poi.attraction\",\n \"elementType\": \"geometry.fill\",\n \"stylers\": [\n {\n \"color\": \"#303030\"\n }\n ]\n },\n {\n \"featureType\": \"poi.business\",\n \"elementType\": \"geometry.fill\",\n \"stylers\": [\n {\n \"color\": \"#181818\"\n }\n ]\n },\n {\n \"featureType\": \"poi.park\",\n \"elementType\": \"geometry\",\n \"stylers\": [\n {\n \"color\": \"#181818\"\n }\n ]\n },\n {\n \"featureType\": \"poi.park\",\n \"elementType\": \"geometry.fill\",\n \"stylers\": [\n {\n \"color\": \"#303030\"\n }\n ]\n },\n {\n \"featureType\": \"poi.park\",\n \"elementType\": \"labels.text.fill\",\n \"stylers\": [\n {\n \"color\": \"#616161\"\n }\n ]\n },\n {\n \"featureType\": \"poi.park\",\n \"elementType\": \"labels.text.stroke\",\n \"stylers\": [\n {\n \"color\": \"#1b1b1b\"\n }\n ]\n },\n {\n \"featureType\": \"road\",\n \"elementType\": \"geometry.fill\",\n \"stylers\": [\n {\n \"color\": \"#2c2c2c\"\n }\n ]\n },\n {\n \"featureType\": \"road\",\n \"elementType\": \"labels.text.fill\",\n \"stylers\": [\n {\n \"color\": \"#8a8a8a\"\n }\n ]\n },\n {\n \"featureType\": \"road.arterial\",\n \"elementType\": \"geometry\",\n \"stylers\": [\n {\n \"color\": \"#373737\"\n }\n ]\n },\n {\n \"featureType\": \"road.arterial\",\n \"elementType\": \"geometry.fill\",\n \"stylers\": [\n {\n \"color\": \"#1b1b1b\"\n }\n ]\n },\n {\n \"featureType\": \"road.arterial\",\n \"elementType\": \"geometry.stroke\",\n \"stylers\": [\n {\n \"color\": \"#5f5f5f\"\n }\n ]\n },\n {\n \"featureType\": \"road.highway\",\n \"elementType\": \"geometry\",\n \"stylers\": [\n {\n \"color\": \"#3c3c3c\"\n }\n ]\n },\n {\n \"featureType\": \"road.highway\",\n \"elementType\": \"geometry.fill\",\n \"stylers\": [\n {\n \"color\": \"#000000\"\n }\n ]\n },\n {\n \"featureType\": \"road.highway\",\n \"elementType\": \"geometry.stroke\",\n \"stylers\": [\n {\n \"color\": \"#5f5f5f\"\n }\n ]\n },\n {\n \"featureType\": \"road.highway.controlled_access\",\n \"elementType\": \"geometry\",\n \"stylers\": [\n {\n \"color\": \"#4e4e4e\"\n }\n ]\n },\n {\n \"featureType\": \"road.highway.controlled_access\",\n \"elementType\": \"geometry.fill\",\n \"stylers\": [\n {\n \"color\": \"#000000\"\n }\n ]\n },\n {\n \"featureType\": \"road.local\",\n \"elementType\": \"geometry.stroke\",\n \"stylers\": [\n {\n \"color\": \"#000000\"\n }\n ]\n },\n {\n \"featureType\": \"road.local\",\n \"elementType\": \"labels.text.fill\",\n \"stylers\": [\n {\n \"color\": \"#616161\"\n }\n ]\n },\n {\n \"featureType\": \"transit\",\n \"elementType\": \"labels.text.fill\",\n \"stylers\": [\n {\n \"color\": \"#757575\"\n }\n ]\n },\n {\n \"featureType\": \"water\",\n \"elementType\": \"geometry\",\n \"stylers\": [\n {\n \"color\": \"#000000\"\n }\n ]\n },\n {\n \"featureType\": \"water\",\n \"elementType\": \"labels.text.fill\",\n \"stylers\": [\n {\n \"color\": \"#3d3d3d\"\n }\n ]\n }\n]\n\nexport const light_theme: google.maps.MapTypeStyle[] = [\n {\n \"elementType\": \"geometry\",\n \"stylers\": [\n {\n \"color\": \"#f5f5f5\"\n }\n ]\n },\n {\n \"elementType\": \"labels.icon\",\n \"stylers\": [\n {\n \"visibility\": \"off\"\n }\n ]\n },\n {\n \"elementType\": \"labels.text.fill\",\n \"stylers\": [\n {\n \"color\": \"#616161\"\n }\n ]\n },\n {\n \"elementType\": \"labels.text.stroke\",\n \"stylers\": [\n {\n \"color\": \"#f5f5f5\"\n }\n ]\n },\n {\n \"featureType\": \"administrative.land_parcel\",\n \"elementType\": \"labels.text.fill\",\n \"stylers\": [\n {\n \"color\": \"#bdbdbd\"\n }\n ]\n },\n {\n \"featureType\": \"landscape.man_made\",\n \"elementType\": \"geometry.fill\",\n \"stylers\": [\n {\n \"color\": \"#f0f0f0\"\n }\n ]\n },\n {\n \"featureType\": \"landscape.natural\",\n \"elementType\": \"geometry.fill\",\n \"stylers\": [\n {\n \"color\": \"#fafafa\"\n }\n ]\n },\n {\n \"featureType\": \"poi\",\n \"elementType\": \"geometry\",\n \"stylers\": [\n {\n \"color\": \"#eeeeee\"\n }\n ]\n },\n {\n \"featureType\": \"poi\",\n \"elementType\": \"labels.text.fill\",\n \"stylers\": [\n {\n \"color\": \"#757575\"\n }\n ]\n },\n {\n \"featureType\": \"poi.business\",\n \"elementType\": \"geometry.fill\",\n \"stylers\": [\n {\n \"color\": \"#ffffff\"\n }\n ]\n },\n {\n \"featureType\": \"poi.park\",\n \"elementType\": \"geometry\",\n \"stylers\": [\n {\n \"color\": \"#e5e5e5\"\n }\n ]\n },\n {\n \"featureType\": \"poi.park\",\n \"elementType\": \"geometry.fill\",\n \"stylers\": [\n {\n \"color\": \"#cfcfcf\"\n }\n ]\n },\n {\n \"featureType\": \"poi.park\",\n \"elementType\": \"labels.text.fill\",\n \"stylers\": [\n {\n \"color\": \"#9e9e9e\"\n }\n ]\n },\n {\n \"featureType\": \"road\",\n \"elementType\": \"geometry\",\n \"stylers\": [\n {\n \"color\": \"#ffffff\"\n }\n ]\n },\n {\n \"featureType\": \"road.arterial\",\n \"elementType\": \"geometry.fill\",\n \"stylers\": [\n {\n \"color\": \"#ffffff\"\n }\n ]\n },\n {\n \"featureType\": \"road.arterial\",\n \"elementType\": \"geometry.stroke\",\n \"stylers\": [\n {\n \"color\": \"#6e6e6e\"\n }\n ]\n },\n {\n \"featureType\": \"road.arterial\",\n \"elementType\": \"labels.text.fill\",\n \"stylers\": [\n {\n \"color\": \"#757575\"\n }\n ]\n },\n {\n \"featureType\": \"road.highway\",\n \"elementType\": \"geometry\",\n \"stylers\": [\n {\n \"color\": \"#dadada\"\n }\n ]\n },\n {\n \"featureType\": \"road.highway\",\n \"elementType\": \"geometry.fill\",\n \"stylers\": [\n {\n \"color\": \"#fcfcfc\"\n }\n ]\n },\n {\n \"featureType\": \"road.highway\",\n \"elementType\": \"geometry.stroke\",\n \"stylers\": [\n {\n \"color\": \"#808080\"\n }\n ]\n },\n {\n \"featureType\": \"road.highway\",\n \"elementType\": \"labels.text.fill\",\n \"stylers\": [\n {\n \"color\": \"#616161\"\n }\n ]\n },\n {\n \"featureType\": \"road.highway.controlled_access\",\n \"elementType\": \"geometry.fill\",\n \"stylers\": [\n {\n \"color\": \"#cfcfcf\"\n }\n ]\n },\n {\n \"featureType\": \"road.local\",\n \"elementType\": \"geometry.fill\",\n \"stylers\": [\n {\n \"color\": \"#fafafa\"\n }\n ]\n },\n {\n \"featureType\": \"road.local\",\n \"elementType\": \"geometry.stroke\",\n \"stylers\": [\n {\n \"color\": \"#a6a6a6\"\n }\n ]\n },\n {\n \"featureType\": \"road.local\",\n \"elementType\": \"labels.text.fill\",\n \"stylers\": [\n {\n \"color\": \"#9e9e9e\"\n }\n ]\n },\n {\n \"featureType\": \"transit.line\",\n \"elementType\": \"geometry\",\n \"stylers\": [\n {\n \"color\": \"#e5e5e5\"\n }\n ]\n },\n {\n \"featureType\": \"transit.station\",\n \"elementType\": \"geometry\",\n \"stylers\": [\n {\n \"color\": \"#eeeeee\"\n }\n ]\n },\n {\n \"featureType\": \"water\",\n \"elementType\": \"geometry\",\n \"stylers\": [\n {\n \"color\": \"#c9c9c9\"\n }\n ]\n },\n {\n \"featureType\": \"water\",\n \"elementType\": \"geometry.fill\",\n \"stylers\": [\n {\n \"color\": \"#ffffff\"\n }\n ]\n },\n {\n \"featureType\": \"water\",\n \"elementType\": \"geometry.stroke\",\n \"stylers\": [\n {\n \"color\": \"#050505\"\n }\n ]\n },\n {\n \"featureType\": \"water\",\n \"elementType\": \"labels.text.fill\",\n \"stylers\": [\n {\n \"color\": \"#9e9e9e\"\n }\n ]\n }\n]\n\n\nexport const price_performance: any = {\n default_pice_band: 4,\n default_metric: 'All',\n margin_trends_default_period: 'quarter',\n est_v_act_table_cols: ['price_band', 'est_margin_impact', 'actual_margin_impact', 'est_sales_impact', 'actual_sales_impact', 'est_transaction_impact', 'actual_transaction_impact'],\n price_band_analysis_hierarchy_cols: [\"price_index\", \"price_band_1\", \"price_band_2\", \"price_band_3\", \"price_band_4\", \"price_band_5\", \"price_band_6\", \"scotland\"],\n price_band_analysis_segmentation_cols: [\"row\", \"price_band_1\", \"price_band_2\", \"price_band_3\", \"price_band_4\", \"price_band_5\", \"price_band_6\", \"scotland\", \"grand_total\"],\n margin_trends_period_dropdown: [\n { key: 'week', value: 'Weekly' },\n { key: 'month', value: 'Monthly' },\n { key: 'quarter', value: 'Quarterly' },\n ],\n price_band_analysis_dropdowns: {\n graph_metric_dropdown: [\n // { id: 'wap', name: \"WAP\" },\n { id: 'avg_sales_per_store', name: \"Avg. Monthly Sales/store\" },\n { id: 'avg_margin_percent', name: \"Avg. Margin %\" },\n { id: 'percentage_price_change', name: \"% Price Change\" },\n ],\n price_band_segmentation_row_dropdown: [\n { id: 'segment', name: \"Type of Stores\" }, \n { id: 'city', name: \"Market\" },\n { id: 'region', name: \"Region\" },\n ],\n price_band_segmentation_row_default: 'segment',\n price_band_segmentation_metric_dropdown: [\n { id: 'no_of_stores', name: \"No of Stores\" }, \n // { id: 'wap', name: \"WAP\" },\n { id: 'avg_sales_per_store', name: \"Avg. Monthly Sales/store\" },\n { id: 'avg_margin_percent', name: \"Avg. Margin %\" },\n // { id: 'percentage_price_change', name: \"% Price Change\" },\n ],\n price_band_segmentation_metric_default: 'no_of_stores'\n },\n metric_trends_metric_wap: 'wap',\n metric_trends_metric_atv: 'atv',\n estimated_v_actual_price_band_map: {\n 1: \"price_band_1\",\n 2: \"price_band_2\",\n 3: \"price_band_3\",\n 4: \"price_band_4\",\n 5: \"price_band_5\",\n 6: \"price_band_6\",\n 7: \"scotland\",\n 98: \"all_without_scotland\",\n 99: \"all_price_bands\",\n },\n est_v_act_table_decimal: 2\n}\n\nexport const notification : any = {\n notification_desc : \"lang.notification.notification_desc\",\n generated_success : \"lang.notification.generated_success\",\n yesterday:\"YESTERDAY\",\n today:\"TODAY\",\n min_ago:\"min ago\",\n hr_ago:\"hr ago\",\n two_digits:\"2-digit\",\n failed:\"lang.notification.failed\",\n submitted_scenario:\"lang.notification.submitted_scenario\",\n submit_for_approval: \"lang.notification.submit_for_approval\",\n rejected_message : \"lang.notification.rejected_message\",\n approval:\"lang.notification.approval\",\n approved:\"lang.notification.approved\",\n rejected:\"lang.notification.rejected\",\n image_url : \"./../../../assets/images/navBarIcons/circle-user-regular.svg\"\n\n}\n\nexport const price_band_graphs: any = {\n graph_dropdown: [\n { key: 'NSR', name: 'NSR' },\n { key: 'Transactions', name: 'Transactions' },\n { key: 'Margin', name: 'Margin' },\n { key: 'WAP_Change', name: 'WAP Change' },\n ],\n disable_absolute_toggle_metric: 'WAP_Change',\n transactions: 'Transactions'\n}\n\nexport const scroll: any ={\n classes: {\n scenario_planner : '.scenario_planner',\n price_recommender: '.price_recommender',\n recommendation_landing: '.recommendation_landing',\n price_band_analysis: '.pb_segmentation'\n },\n default_mouse_speed : 0.99\n}\n\nexport const settings : any ={\n columnData : ['column1', 'column2'],\n price_mapping_message: 'lang.pricebandConfiguration.price_band_mapping_not_available'\n}","export const sortArrayOfObjects = (\n data: T[],\n keyToSort: any,\n direction: \"ascending\" | \"descending\" | \"none\"\n): T[] => {\n if (direction === \"none\") {\n return data;\n }\n const compare = (objectA: any, objectB: any) => {\n let valueA, valueB;\n \n /** For Competitor Page Sorting Variation */\n if (keyToSort.includes('competitor')) {\n const index :any= keyToSort[keyToSort.length - 1]\n valueA = objectA['competitorDetails'][index][keyToSort.slice(0, -1)]\n valueB = objectB['competitorDetails'][index][keyToSort.slice(0, -1)]\n }\n else {\n valueA = objectA[keyToSort];\n valueB = objectB[keyToSort];\n }\n if (valueA === valueB) {\n return 0;\n }\n\n if (valueA > valueB) {\n return direction === \"ascending\" ? 1 : -1;\n } else {\n return direction === \"ascending\" ? -1 : 1;\n }\n };\n\n return data.slice().sort(compare);\n};\n","import { CanActivateFn, Router } from '@angular/router';\nimport { Injectable, inject } from '@angular/core';\nimport { StorageService } from '../services/storage.service';\nimport { localStorageKeys } from 'src/app/core/enum';\nimport { UtilService } from '../services/util.service';\n\n@Injectable()\nexport class navigationPermission {\n constructor(private storageService: StorageService, private utilService : UtilService){}\n async canActivate(navigationCode:any){\n var navigation_codes:any = await this.storageService.get(localStorageKeys.navigation_code)\n return navigation_codes.some((code: any) => {\n return code == navigationCode\n })\n }\n\n logout(){\n this.utilService.logout();\n return false;\n }\n}\n\nexport const navigationGuard: CanActivateFn = async (route, state) => {\n const permissionService = inject(navigationPermission);\n const hasPermission = await permissionService.canActivate(route.data['navigationCode']);\n\n if (hasPermission) {\n return true;\n } else {\n return permissionService.logout();\n }\n};\n","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { MenuItem } from 'primeng/api';\nimport * as constant from './../../shared/constants/constants';\nimport { NavigationService } from '../services/navigation.service';\nimport { ResponsiveService } from '../responsive/responsive.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { UtilService } from '../services/util.service';\nimport { MsalService } from '@azure/msal-angular';\nimport { StorageService } from '../services/storage.service';\nimport { NotificationService } from '../services/notification.service';\nimport { role_name } from 'src/app/core/enum';\n\n@Component({\n selector: 'app-navigation-bar',\n templateUrl: './navigation-bar.component.html',\n styleUrls: ['./navigation-bar.component.scss'],\n})\nexport class NavigationBarComponent implements OnInit {\n /** Navigatio Menu Data Variable */\n menu_data: MenuItem[] | any;\n\n /** Selected Navigation Item Varaible */\n selected_menu_item:any ={}\n\n /** Navigation Bar Open Variable */\n navigation_open: boolean = false; \n\n /** User Name Variable */\n user_name: any;\n role_name: any;\n\n notification_available: any = false;\n notification_visible: any = true;\n\n constructor(\n private router: Router,\n public navigationService: NavigationService,\n public responsiveService: ResponsiveService,\n public utilService: UtilService,\n public msalService: MsalService,\n private storageService: StorageService,\n private notificationService: NotificationService\n ) { \n this.notificationService.triggerNotificationSymbol.subscribe((value:any)=>{\n this.notification_available = value;\n })\n }\n\n\n async ngOnInit() {\n await this.getMenuData();\n this.navigationService.navigation_open.subscribe((value: any) => {\n this.navigation_open = value;\n this.selected_menu_item.expanded = false\n })\n this.tooltipShow()\n }\n\n /** Click function for Navigation Items */\n navigationIconOnClick(label:any){\n if(label.item.items && label.item.items.length>0 && !label.item.expanded){\n this.navigation_open = true\n this.selected_menu_item = label.item\n }\n else if(label.item.items && label.item.items.length>0 && !label.item.expanded){\n this.selected_menu_item ={}\n }\n this.tooltipShow();\n }\n\n /** Api call function for Navigation Data */\n async getMenuData() {\n this.navigationService.getMenuData(await this.menuDto()).subscribe(async (response: any) => {\n await this.handleMenuData(response)\n })\n }\n\n async menuDto(){\n const role_id = await this.storageService.get(constant.storage_keys.role_id)\n return {\n role_id: role_id\n }\n }\n\n /** Handle Navigation Data */\n async handleMenuData(response: any) {\n this.utilService.setNavigationCodes(response)\n this.menu_data = this.navigationService.convertMenuData(response, this.navigationIconOnClick.bind(this))\n this.user_name = await this.storageService.get(constant.storage_keys.user_name)\n let role_id = await this.storageService.get(constant.storage_keys.role_id);\n this.role_name = role_name[role_id];\n }\n\n /** Redirect to Home Page */\n homePage(){\n this.router.navigate([constant.navigation.dashboard])\n }\n\n /** For Checking SideBar Visibility */\n checkSideBarVisiblity(){\n if(this.router.url == constant.navigation.dashboard){\n return false\n }\n return true;\n }\n\n /** Logout from the application */\n logout() {\n this.utilService.logout();\n }\n\n /*\n * open notification panel\n */\n notificationOpen(){\n this.utilService.notification_visible.next(this.notification_visible)\n }\n\n tooltipShow() {\n document.body.classList.toggle('tooltipShow', !this.navigation_open);\n }\n\n}","\n\n\n
\n \n \n
\n
\n
\n
\n \n \n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n \n
\n \n \n
\n \n
\n
\n
\n
","export enum OrientationType {\n Unknown = 'Unknown',\n Portrait = 'Portrait',\n Landscape = 'Landscape', \n}\n\nexport enum DeviceType {\n Unknown = 'Unknown',\n Tablet = 'Tablet',\n Handset = 'Handset', //Mobile\n Web = 'Web',\n}\n\nexport enum ScreenSizeType{\n Unknown = 'Unknown',\n XSmall = 'XSmall',\n Small = 'Small',\n Medium = 'Medium',\n Large = 'Large',\n XLarge = 'XLarge',\n}\n\nexport enum BreakpointType{\n Unknown = 'Unknown',\n\n HandsetPortrait = 'HandsetPortrait',\n HandsetLandscape = 'HandsetLandscape',\n \n TabletPortrait = 'TabletPortrait',\n TabletLandscape = 'TabletLandscape',\n \n WebPortrait = 'WebPortrait',\n WebLandscape = 'WebLandscape',\n}","import { Injectable } from '@angular/core';\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport {\n ScreenSizeType,\n BreakpointType,\n DeviceType,\n OrientationType,\n} from './responsive.enum';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ResponsiveService {\n\n\tconstructor(breakpointObserver: BreakpointObserver) {\n\t\tthis.checkScreenSize(breakpointObserver);\n\t\tthis.checkDeviceTypeAndOrientation(breakpointObserver);\n\t}\n\n\tprivate _screenSize = ScreenSizeType.Unknown;\n\tpublic get screenSize(): ScreenSizeType {\n\t\treturn this._screenSize;\n\t}\n\n\tprivate readonly screenSizeBreakpoints = new Map([\n\t\t[Breakpoints.XSmall, ScreenSizeType.XSmall],\n\t\t[Breakpoints.Small, ScreenSizeType.Small],\n\t\t[Breakpoints.Medium, ScreenSizeType.Medium],\n\t\t[Breakpoints.Large, ScreenSizeType.Large],\n\t\t[Breakpoints.XLarge, ScreenSizeType.XLarge],\n\t]);\n\n\tprivate checkScreenSize(breakpointObserver: BreakpointObserver): void {\n\t\tbreakpointObserver\n\t\t\t.observe([\n\t\t\t\tBreakpoints.XSmall,\n\t\t\t\tBreakpoints.Small,\n\t\t\t\tBreakpoints.Medium,\n\t\t\t\tBreakpoints.Large,\n\t\t\t\tBreakpoints.XLarge,\n\t\t\t])\n\t\t\t.subscribe((result:any) => {\n\t\t\t\tfor (const query of Object.keys(result.breakpoints)) {\n\t\t\t\t\tif (result.breakpoints[query]) {\n\t\t\t\t\t\tthis._screenSize =\n\t\t\t\t\t\t\tthis.screenSizeBreakpoints.get(query) ??\n\t\t\t\t\t\t\tScreenSizeType.Unknown;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t}\n\n\tpublic orientationPortrait(): boolean {\n\t\treturn this._orientation === OrientationType.Portrait;\n\t}\n\tpublic orientationLandscape(): boolean {\n\t\treturn this._orientation === OrientationType.Landscape;\n\t}\n\n\tpublic deviceDesktop(): boolean {\n\t\treturn this._deviceType === DeviceType.Web;\n\t}\n\tpublic deviceTablet(): boolean {\n\t\treturn this._deviceType === DeviceType.Tablet;\n\t}\n\tpublic deviceMobile(): boolean {\n\t\treturn this._deviceType === DeviceType.Handset;\n\t}\n\n\tprivate _deviceType = DeviceType.Unknown;\n\tpublic get deviceType(): DeviceType {\n\t\treturn this._deviceType;\n\t}\n\n\tprivate _orientation = OrientationType.Unknown;\n\tpublic get orientation(): OrientationType {\n\t\treturn this._orientation;\n\t}\n\n\tprivate readonly deviceAndOrientation = new Map([\n\t\t[Breakpoints.HandsetLandscape, BreakpointType.HandsetLandscape],\n\t\t[Breakpoints.HandsetPortrait, BreakpointType.HandsetPortrait],\n\t\t[Breakpoints.TabletLandscape, BreakpointType.TabletLandscape],\n\t\t[Breakpoints.TabletPortrait, BreakpointType.TabletPortrait],\n\t\t[Breakpoints.WebLandscape, BreakpointType.WebLandscape],\n\t\t[Breakpoints.WebPortrait, BreakpointType.WebPortrait],\n\t]);\n\n\tprivate checkDeviceTypeAndOrientation(breakpointObserver: BreakpointObserver): void {\n\t\tbreakpointObserver\n\t\t\t.observe([\n\t\t\t\tBreakpoints.HandsetLandscape,Breakpoints.HandsetPortrait,\n\t\t\t\tBreakpoints.WebLandscape,Breakpoints.WebPortrait,\n\t\t\t\tBreakpoints.TabletLandscape,Breakpoints.TabletPortrait,\n\t\t\t])\n\t\t\t.subscribe((result:any) => {\n\t\t\t\tlet orientationTypes = Object.keys(OrientationType).map((key) => key);\n\n\t\t\t\tlet deviceTypes = Object.keys(DeviceType).map((key) => key);\n\t\t\t\tfor (const query of Object.keys(result.breakpoints)) {\n\t\t\t\t\tif (result.breakpoints[query]) {\n\t\t\t\t\t\tlet type = this.deviceAndOrientation.get(query) ?? BreakpointType.Unknown;\n\n\t\t\t\t\t\torientationTypes.forEach((element) => {\n\t\t\t\t\t\t\tif (type.indexOf(element) !== -1) \n\t\t\t\t\t\t\t\tthis._orientation = element as OrientationType;\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tdeviceTypes.forEach((element) => {\n\t\t\t\t\t\t\tif (type.indexOf(element) !== -1) \n\t\t\t\t\t\t\t\tthis._deviceType = element as DeviceType;\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t}\n}\n","import { Injectable } from '@angular/core';\nimport * as apiUrl from '../constants/api-urls';\nimport { environment as ENV } from '../../../environments/environment';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { MsalService } from '@azure/msal-angular';\nimport { Observable, catchError, retry, throwError } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApiService {\n\n constructor(private http: HttpClient, private authService: MsalService) { }\n api_url = `${ENV.API_ENDPOINT}`;\n\n // /** Get The User Details */\n // getUserDetails() {\n // let url = this.api_url + 'userDetails/'\n // return this.http.get(url)\n // }\n\n getUserDetails(): Observable {\n return this.http\n .get(this.api_url + apiUrl.dashboard.getUserDetails)\n .pipe(catchError(this.handleError));\n }\n\n\n getRoleBasedFeatures(payload:any){\n let url = this.api_url + apiUrl.dashboard.featureApi\n return this.http.post(url, payload)\n }\n\n getConfiguration(){\n let url = this.api_url + apiUrl.dashboard.configuration\n return this.http.get(url)\n }\n\n // Error handling\n handleError(error: any) {\n let errorMessage = '';\n if (error.error instanceof ErrorEvent) {\n // Get client-side error\n errorMessage = error.error.message;\n } else {\n // Get server-side error\n errorMessage = `Error Code: ${error.status}\\nMessage: ${error.message}`;\n }\n // window.alert(errorMessage);\n return throwError(() => {\n return errorMessage;\n });\n }\n\n getApiKeys(){\n return this.http\n .get(this.api_url + apiUrl.dashboard.getApiKeys)\n .pipe(catchError(this.handleError));\n }\n \n}\n","import { Injectable } from '@angular/core';\nimport { ToastrService } from 'ngx-toastr';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ExceptionService {\n\n OK = 200;\n CREATED = 201;\n DELETED = 204;\n BAD_REQUEST = 400;\n UNAUTHORIZED = 401;\n NOT_FOUND = 404;\n METHOD_NOT_ALLOWED = 405;\n PAYLOAD_ERROR = 406;\n INTERNAL_SERVER_ERROR= 500;\n SERVICE_UNAVAILABLE = 503;\n\n toastConfig = {\n closeButton: true,\n }\n\n constructor(private toastrService: ToastrService) { }\n\n /** Handling the API Response Using Status Code */\n toastMessage(httpResponse: any, message: any) {\n if (httpResponse != null) {\n \n if (httpResponse == this.OK) {\n this.toastrService.success(this.validateMessage(httpResponse, message), undefined,this.toastConfig );\n } else if (httpResponse == this.CREATED) {\n this.toastrService.success(this.validateMessage(httpResponse, message), undefined,this.toastConfig);\n } else if (httpResponse == this.DELETED) {\n this.toastrService.success(this.validateMessage(httpResponse, message), undefined,this.toastConfig);\n } else if (httpResponse == this.BAD_REQUEST) {\n this.toastrService.error(this.validateMessage(httpResponse, message), undefined,this.toastConfig);\n } else if (httpResponse == this.NOT_FOUND) {\n this.toastrService.warning(this.validateMessage(httpResponse, message), undefined,this.toastConfig);\n } else if (httpResponse == this.METHOD_NOT_ALLOWED) {\n this.toastrService.error(this.validateMessage(httpResponse, message), undefined,this.toastConfig);\n }else if (httpResponse == this.PAYLOAD_ERROR) {\n this.toastrService.error(this.validateMessage(httpResponse, message), undefined,this.toastConfig);\n } else if (httpResponse == this.INTERNAL_SERVER_ERROR) {\n this.toastrService.error(this.validateMessage(httpResponse, message), undefined,this.toastConfig);\n } else if (httpResponse == this.SERVICE_UNAVAILABLE) {\n this.toastrService.error(this.validateMessage(httpResponse, message), undefined,this.toastConfig);\n }\n }\n }\n\n /** Validating the HTTP Response */\n validateMessage(httpResponse: any, message: any): string {\n if (message != undefined && message != '' && message != null) {\n return message;\n }\n return message;\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { environment as ENV } from './../../../environments/environment';\nimport * as apiUrl from '../constants/api-urls';\nimport { Subject } from 'rxjs';\nimport * as constant from './../../shared/constants/constants';\nimport { componentNavigationLabel } from 'src/app/core/enum';\nimport { TranslateService } from '@ngx-translate/core';\nimport { MenuItem } from 'primeng/api';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NavigationService {\n api_url = `${ENV.API_ENDPOINT}`;\n navigation_open = new Subject();\n\n constructor(private http:HttpClient, private translateService : TranslateService) { }\n\n convertKeys(navigationIconOnClick: any,navigation_data:any): any {\n const result:any = {};\n\n for (const key in navigation_data) {\n if (key === 'navigation_name') {\n if(navigation_data['navigation_code'])\n { let navigation_label = componentNavigationLabel[navigation_data['navigation_code'] as keyof typeof componentNavigationLabel] || navigation_data['navigation_name']\n result['label'] = this.translateService.instant(navigation_label);\n result['tooltip'] = this.translateService.instant(navigation_label);\n result['icon'] = navigation_data['navigation_icon'];\n }\n } \n else if(key == 'submenu_name'){\n if(navigation_data['submenu_code'])\n { let navigation_label = componentNavigationLabel[navigation_data['submenu_code'] as keyof typeof componentNavigationLabel] || navigation_data['submenu_name']\n result['label'] = this.translateService.instant(navigation_label);\n result['tooltip'] = this.translateService.instant(navigation_label);\n result['navigation_code'] = navigation_data['submenu_code']\n }\n }\n else if (key === 'submenu') {\n result['items'] = navigation_data[key].map(this.convertKeys.bind(this,navigationIconOnClick));\n } \n else {\n result[key] = navigation_data[key];\n result['command'] = navigationIconOnClick\n }\n result['routerLink'] = constant.navigation.componentNavigation[result['navigation_code'] as keyof typeof constant.navigation.componentNavigation]\n if (result['navigation_code'] == constant.common.home_code)\n result['routerLinkActiveOptions'] = { exact: true }\n }\n\n return result;\n }\n\n convertMenuData(originalData: any[],navigationIconOnClick:any): any[] {\n return originalData.map(this.convertKeys.bind(this,navigationIconOnClick));\n }\n\n getMenuData(paylaod:any){\n let url = this.api_url + apiUrl.dashboard.getMenuList\n return this.http.post(url, paylaod)\n }\n\n\tnavigationCheck(){\n\t\tthis.navigation_open.next(false)\n\t}\n\n}","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { environment as ENV } from './../../../environments/environment';\nimport * as apiUrl from '../constants/api-urls';\nimport { BehaviorSubject, Subject } from 'rxjs';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NotificationService {\n\n /**notification status */\n triggerNotificationStatus : any = new BehaviorSubject(true)\n triggerNotificationSymbol : any = new BehaviorSubject(false);\n\n\n api_url = `${ENV.API_ENDPOINT}`;\n constructor(private http: HttpClient) { }\n\n /** To Get Notification Status */\n getNotificationStatuService(){\n let url = this.api_url + apiUrl.dashboard.getNotificationStatus\n return this.http.get(url)\n }\n\n /** To get the list of notifications */\n getNotificationService() {\n let url = this.api_url + apiUrl.dashboard.getNotification;\n return this.http.get(url)\n }\n\n /** To read the list of notifications */\n readNotificationService(payload:any) {\n let url = this.api_url + apiUrl.dashboard.readNotification\n return this.http.post(url,payload)\n }\n\n /** To read all the notifications */\n readAllNotificationService(){\n let url = this.api_url + apiUrl.dashboard.allRead\n return this.http.get(url)\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { environment as ENV } from './../../../environments/environment';\nimport * as apiUrl from '../constants/api-urls';\nimport { Observable, of } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PriceRecommenderService {\n api_url = `${ENV.API_ENDPOINT}`;\n constructor(private http: HttpClient) { }\n\n /** To get the list of scenarios */\n getScenarioList(params: any) {\n let url = this.api_url + apiUrl.price_recommender.getScenarios;\n return this.http.post(url, params)\n }\n\n /** get list of approvers for filters */\n getApproversList() {\n let url = this.api_url + apiUrl.price_recommender.approversList;\n return this.http.get(url)\n }\n\n /** get list of status for filters */\n getStatusList() {\n let url = this.api_url + apiUrl.price_recommender.statusList;\n return this.http.get(url)\n }\n\n /** get list of constraint for popup */\n getConstraintList(payload: any) {\n let url = this.api_url + apiUrl.price_recommender.constraintList;\n return this.http.post(url, payload);\n }\n\n /*get list of new recommender Category*/\n getPriceRecommenderCaterogy(){\n let url = this.api_url + apiUrl.price_recommender.recommenderCaterogyList;\n return this.http.get(url)\n }\n\n /*get item list on based of category id in new recommender*/\n getProductListData(reqPayload:any){\n let url = this.api_url + apiUrl.price_recommender.recommenderSKUList;\n return this.http.post(url,reqPayload)\n }\n\n getScenarioPriceRecommendationHeaderDetails(payload: any){\n let url = this.api_url + apiUrl.price_recommender.priceRecommenderListHeaders;\n return this.http.post(url, payload);\n }\n \n getScenarioPriceRecommendationPriceTierDetails(payload: any){\n let url = this.api_url + apiUrl.price_recommender.priceRecommenderPriceTierTable;\n return this.http.post(url, payload);\n }\n \n getScenarioPriceRecommendationEstimatedImpactDetails(payload: any){\n let url = this.api_url + apiUrl.price_recommender.estimatedImpact;\n return this.http.post(url, payload);\n }\n \n getScenarioPriceRecommendationSKUEstimatedImpactDetails(payload: any){\n let url = this.api_url + apiUrl.price_recommender.estimatedImpactPriceBand;\n return this.http.post(url, payload);\n }\n \n getScenarioPriceRecommendationOriginalImpactDetails(payload: any){\n let url = this.api_url + apiUrl.price_recommender.originalImpact;\n return this.http.post(url, payload);\n }\n \n getScenarioPriceRecommendationSKUOriginalImpactDetails(payload: any){\n let url = this.api_url + apiUrl.price_recommender.originalImpactPriceBand;\n return this.http.post(url, payload);\n }\n\n getSKUDetails(payload:any){\n let url = this.api_url + apiUrl.price_recommender.skuDetails;\n return this.http.post(url, payload)\n }\n \n getSKUDetailsCount(payload:any){\n let url = this.api_url + apiUrl.price_recommender.skuDetailsCount;\n return this.http.post(url, payload)\n }\n\n getContraintsCall(){\n let url = this.api_url + apiUrl.price_recommender.constraintsGetData;\n return this.http.get(url)\n }\n\n getConstraintListData(constraintCatId:any){\n let url = this.api_url + apiUrl.price_recommender.constraintsDrillDown+'?constraint_category='+constraintCatId;\n return this.http.get(url)\n }\n\n downloadPriceRecommender(){\n let url = this.api_url + apiUrl.price_recommender.downloadPriceRecommender;\n const httpOptions = {\n responseType: 'blob' as 'json',\n };\n return this.http.get(url, httpOptions);\n }\n\n getRequestIdForNewPriceRecommender(){\n let url = this.api_url + apiUrl.price_recommender.initiateNewPriceRecommender;\n return this.http.get(url)\n }\n\n getScenarioIdFromOptimizer(payload:any){\n let url = this.api_url + apiUrl.price_recommender.generateOptimizerInRecommenderList;\n return this.http.post(url, payload)\n }\n\n uploadPriceRecommender(formData:FormData){\n let url = this.api_url + apiUrl.price_recommender.uploadPriceRecommender;\n return this.http.post(url,formData)\n }\n\n downloadConstraintsRules(payload:any){\n let url = this.api_url + apiUrl.price_recommender.downloadConstraintRules;\n const httpOptions = {\n responseType: 'blob' as 'json',\n };\n return this.http.post(url, payload, httpOptions);\n }\n\n /** to get chart data */\n getGraphData(payload: any) {\n let url = this.api_url + apiUrl.recommendation.graphData;\n return this.http.post(url, payload);\n }\n\n downloadRecommenderErrorLogs(payload:any){\n let url = this.api_url + apiUrl.price_recommender.downloadConstraintRules;\n const httpOptions = {\n responseType: 'blob' as 'json',\n };\n return this.http.post(url,payload, httpOptions);\n }\n\n getPriceBandConfig(){\n let url = this.api_url + apiUrl.price_band_config.get_price_band_config_data;\n return this.http.get(url)\n }\n\n getPriceBandConfigDropdown(){\n let url = this.api_url + apiUrl.price_band_config.get_dropdown_data;\n return this.http.get(url)\n }\n\n savePriceBandConfig(payload:any){\n let url = this.api_url + apiUrl.price_band_config.save_price_band_config_data;\n return this.http.post(url, payload)\n }\n\n checkPriceRecommendation(){\n let url = this.api_url + apiUrl.price_band_config.check_price_recommendation;\n return this.http.post(url,{});\n }\n\n viewPriceBandConfig(payload:any){\n let url = this.api_url + apiUrl.price_band_config.view_price_band_config;\n return this.http.post(url, payload)\n }\n}\n","import { Injectable } from '@angular/core';\nimport { UrlSecurityService } from './url-security.service';\nimport { sessionStorageKeys, localStorageKeys, indexedDBKeys } from 'src/app/core/enum';\nimport * as constant from '../constants/constants';\nimport { NgxIndexedDBService } from 'ngx-indexed-db';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class StorageService {\n\n constructor(\n private urlService: UrlSecurityService,\n private indexedDBService: NgxIndexedDBService\n ) { }\n\n /**\n * Get the storage type to use\n * @param key the key to be added in storage\n */\n getStorageType(key: string) {\n if (key in sessionStorageKeys) {\n return constant.common.session_storage;\n }\n\n if (key in localStorageKeys) {\n return constant.common.local_storage;\n }\n\n if (key in indexedDBKeys) {\n return constant.common.indexed_db;\n }\n\n throw 'Invalid key!';\n }\n\n /**\n * Sets the value of given key in respective storage\n * @param key key to be added\n * @param value value to be added\n */\n set(key: string, value: any) {\n // check which storage to use for the given key\n let storage_type = this.getStorageType(key);\n\n // call the respective service\n switch (storage_type) {\n case constant.common.session_storage: {\n sessionStorage.setItem(key, this.urlService.encryptUsingAES256(JSON.stringify(value)));\n break;\n }\n case constant.common.local_storage: {\n localStorage.setItem(key, this.urlService.encryptUsingAES256(JSON.stringify(value)));\n break;\n }\n case constant.common.indexed_db: {\n this.indexedDBService\n .update(constant.common.indexed_db_store, { config_key: key, config_value: this.urlService.encryptUsingAES256(JSON.stringify(value)) })\n .subscribe((key) => {\n });\n }\n }\n }\n\n /**\n * Gets the value of given key from respective storage\n * @param key key to be fetched\n */\n async get(key: string) {\n const storageType = this.getStorageType(key);\n\n switch (storageType) {\n case constant.common.session_storage:\n return this.getFromSessionStorage(key);\n\n case constant.common.local_storage:\n return this.getFromLocalStorage(key);\n\n case constant.common.indexed_db:\n return await this.getFromIndexedDB(key);\n\n default:\n return null;\n }\n }\n\n /**\n * Helper function to get data from session storage\n * @param key\n * @returns decrypted value\n */\n getFromSessionStorage(key: string) {\n const data = sessionStorage.getItem(key);\n return data? JSON.parse(this.urlService.decryptUsingAES256(data)) : data\n }\n\n /**\n * Helper function to get data from local storage\n * @param key\n * @returns decrypted value\n */\n getFromLocalStorage(key: string) {\n const data = localStorage.getItem(key);\n return data? JSON.parse(this.urlService.decryptUsingAES256(data)) : data\n }\n\n /**\n * Helper function to get data from indexedDB\n * @param key\n * @returns decrypted value\n */\n getFromIndexedDB(key: string) {\n return new Promise((resolve, reject) => {\n this.indexedDBService.getByKey(constant.common.indexed_db_store, key).subscribe((result: any) => {\n resolve(JSON.parse(this.urlService.decryptUsingAES256(result['config_value'])))\n }, error => {\n reject(error);\n });\n });\n }\n\n /**\n * Deletes the given key-value from respective storage\n * @param key key to be deleted\n */\n delete(key: string) {\n // check which storage to use for the given key\n let storage_type = this.getStorageType(key);\n\n // call the respective service\n switch (storage_type) {\n case constant.common.session_storage: {\n sessionStorage.removeItem(key);\n break;\n }\n case constant.common.local_storage: {\n localStorage.removeItem(key);\n break;\n }\n case constant.common.indexed_db: {\n this.indexedDBService.delete(constant.common.indexed_db_store, key).subscribe((response) => {\n\n });\n }\n }\n }\n\n /**\n * Clears the given storage\n * @param storage_type the storage type to be cleared\n */\n clear(storage_type: string) {\n // call the respective service\n switch (storage_type) {\n case constant.common.session_storage: {\n sessionStorage.clear()\n break;\n }\n\n case constant.common.local_storage: {\n localStorage.clear()\n break;\n }\n\n case constant.common.indexed_db: {\n this.indexedDBService.clear(constant.common.indexed_db_store).subscribe((successDeleted) => {\n\n });\n }\n }\n }\n}","import { Injectable } from '@angular/core';\nimport { UtilService } from './util.service';\nimport * as CryptoJS from 'crypto-js';\nimport * as constant from '../constants/constants'\nimport { environment } from 'src/environments/environment';\nimport { StorageService } from './storage.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UrlSecurityService {\n\n secretKey: string;\n salt: string;\n API_KEYS:any;\n encrypted: any;\n decrypted: any;\n\n constructor() { \n this.addSecurityKeys()\n }\n\n /** Add Security Keys For Encryption from Session Storage */\n async addSecurityKeys(){\n this.API_KEYS = await sessionStorage.getItem(constant.storage_keys.api_keys)\n if (this.API_KEYS) {\n this.API_KEYS = JSON.parse(this.API_KEYS)\n this.secretKey = this.API_KEYS.uuid_1;\n this.salt = this.API_KEYS.uuid_2\n }\n }\n\n encryptUsingAES256(request: string) {\n if (!this.isNullOrEmptyOrUndefined(request)) {\n this.encrypted = CryptoJS.AES.encrypt(request.toString(), this.secretKey);\n return this.encrypted.toString();\n } else {\n return '';\n }\n }\n\n /**\n * \n * @param value Request payload encrytion\n * @returns \n */\n encrypt(value: any): string {\n let message = value\n let key: any = this.API_KEYS.uuid_3\n key = CryptoJS.enc.Utf8.parse(key);\n let iv = CryptoJS.enc.Utf8.parse(this.API_KEYS.uuid_4)\n let encrypted: any = CryptoJS.AES.encrypt(message, key, { iv: iv, mode: CryptoJS.mode.CBC});\n encrypted =encrypted.toString();\n return encrypted;\n }\n\n /**\n * \n * @param length Random Generated Code Based on the Length\n * @returns \n */\n generateString(length: any) {\n const characters = constant.encryptKey.characters;\n let result = ' ';\n const charactersLength = characters.length;\n for ( let i = 0; i < length; i++ ) {\n result += characters.charAt(Math.floor(Math.random() * charactersLength));\n }\n return result;\n }\n\n decryptUsingAES256(request: any) {\n if (!this.isNullOrEmptyOrUndefined(request)) {\n var decrypted = CryptoJS.AES.decrypt(request, this.secretKey);\n this.decrypted = decrypted.toString(CryptoJS.enc.Utf8);\n return this.decrypted;\n } else {\n return '';\n }\n }\n\n /**\n * param string a string\n * return true if the string is not null, not undefined and has non-whitespace length at least one, else false\n */\n isNullOrEmptyOrUndefined(data: any): boolean {\n return data == null || data == undefined || data === '';\n }\n}","import { Injectable } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { UrlSecurityService } from './url-security.service';\nimport { msalConfig } from '../../core/guards/msal-config';\nimport * as constant from '../constants/constants'\nimport { Sort } from '@angular/material/sort';\nimport { TableVirtualScrollDataSource } from 'ng-table-virtual-scroll';\nimport { sortArrayOfObjects } from '../directives/sortArrayOfObjects';\nimport * as _moment from 'moment';\nimport { StorageService } from './storage.service';\nimport { action_items, localStorageKeys } from 'src/app/core/enum';\nimport { MsalService } from '@azure/msal-angular';\n\nconst moment = _moment;\n\ntype SortDirection = \"ascending\" | \"descending\" | \"none\";\n@Injectable({\n providedIn: 'root'\n})\nexport class UtilService {\n constructor(private translateService: TranslateService, private urlService: UrlSecurityService, private storageService: StorageService, private msalService: MsalService) { }\n\n notification_visible = new Subject();\n navigation_codes:any = [];\n features_available:any = []\n\n /**\n * param translated value\n * Do the translation based on the selected language.\n */\n languageTranslator(key: any, topicName?: any): string {\n let translatedvalue: any;\n this.translateService.get(key, { value: topicName }).subscribe(value => {\n translatedvalue = value;\n });\n return translatedvalue;\n }\n\n /**\n * param string a string\n * return true if the string is not null, not undefined and has non-whitespace length at least one, else false\n */\n isNullOrEmptyOrUndefined(data: any): boolean {\n return data == null || data == undefined || data === '';\n }\n\n /**\n * param string a string\n * return true if the string is not null, not undefined, has empty array and has non-whitespace length at least one, else false\n */\n isNullOrEmptyOrUndefinedOrEmptyArray(data: any): boolean {\n return data == null || data == undefined || data === '' || (Array.isArray(data) && data.length === 0);\n }\n\n /**\n * param key and value\n * set the values in the session storage\n */\n setValuesToSessionStorage(key: any, value: any) {\n let setValue: any;\n setValue = sessionStorage.setItem(key, this.urlService.encryptUsingAES256(JSON.stringify(value)));\n return setValue;\n }\n\n /**\n * param key\n * get the values from the session storage\n */\n getValuesFromSessionStorage(key: any) {\n return JSON.parse(this.urlService.decryptUsingAES256(sessionStorage.getItem((key))));\n }\n\n // isNavBarOpen(){\n // return this.sideBar.getValue()\n // }\n\n // sideBar = new BehaviorSubject(false);\n\n loginPage = new BehaviorSubject(false);\n\n /**\n *\n * @param newPrice\n * @returns rechange into as valid number\n */\n validateNumberCheck(newPrice: any) {\n let removeComma = newPrice?.toString().replace(\",\", \".\")\n return Number(removeComma?.replace(/[^0-9.-]+/g, \"\"))\n }\n\n /**\n *\n * @returns getting the token from the session storage\n */\n\n getTokenFromSession() {\n let accessTokenKey = JSON.parse(localStorage.getItem(constant.common.msalTokenKeys + '.' + msalConfig.auth.clientId) || '{}')\n if(Object.keys(accessTokenKey).length > 0) {\n let accessToken = JSON.parse(localStorage.getItem(accessTokenKey?.accessToken[0]) || '{}');\n return accessToken;\n }else {\n return null;\n }\n \n }\n\n /**\n * \n * virutal scroll view port calulation .. Return dynamic virutal scroll table height in the from of px\n * @param count \n * @returns \n */\n viewPortCalcuation(count: number) {\n return (count * constant.common.itemSize) + constant.common.bufferRange >= constant.common.totalViewPortRange ? \n constant.common.totalViewPortRange : (count * constant.common.itemSize) + constant.common.bufferRange;\n }\n\n /**\n * param date\n * get the values from the session storage\n */\n getStartDate(end_date: any, default_range:any) {\n return new Date(new Date().setDate(end_date.getDate() - default_range))\n }\n\n getEndDate(start_date: any, default_range:any) {\n return new Date(new Date().setDate(start_date.getDate() + default_range))\n }\n \n /**\n * param date\n * get the values from the session storage\n */\n formatDate(date: any) {\n if (date) {\n const day = ('0' + date.getDate()).slice(-2);\n const month = ('0' + (date.getMonth() + 1)).slice(-2);\n const year = date.getFullYear();\n return `${year}-${month}-${day}`;\n }\n return undefined;\n }\n\n /**\n * \n * @param value \n * @returns \n * If it's a negative number, it will be converted to a positive number, \n * fixed with 2, and surrounded by a bracket.\n * If it's a positive number, it will be fixed with 2.\n * it's null or empty, it will return \"-.\"\n */\n priceMetricCalculationWithDecimalService(value: any,decimal_points:any) {\n if (!this.isNullOrEmptyOrUndefined(value)) {\n if (value < 0) {\n return this.negativeNumberValidation(value,decimal_points)\n } else {\n let tem = parseFloat(value).toFixed(decimal_points)\n return tem;\n }\n } else {\n return \"-\"\n }\n }\n\n priceMetricCalculationWithThousandsService(value: any,decimal_points:any) {\n if (!this.isNullOrEmptyOrUndefined(value)) {\n if(Number.isNaN(Number(value))) value = value.replace(/,/g, '');\n if (value >= 1000000) {\n return (value / 1000000).toFixed(decimal_points) + 'M'; // Convert to millions\n } else if (value >= 1000) {\n return (value / 1000).toFixed(decimal_points) + 'k'; // Convert to thousands\n } else if (value < 0) {\n let temp: any = value;\n let thousand_flag: boolean = false;\n let million_flag: boolean = false;\n if(value < -1000000){\n temp = value/1000000;\n million_flag = true;\n } else if(value < -1000){\n temp = value/1000;\n thousand_flag = true;\n }\n temp = million_flag ? this.negativeNumberValidation(temp,decimal_points)+'M' : thousand_flag ? this.negativeNumberValidation(temp,decimal_points)+'k' : this.negativeNumberValidation(temp,decimal_points);\n return temp;\n } else {\n return value.toString(); // Return the original number if it's less than 1000\n }\n } else {\n return \"-\"\n }\n }\n\n /** Negative Number validation. Dynamically add bracket if valid negative number */\n negativeNumberValidation(value: any, decimal_points: any) {\n let num: any = Math.abs(value);\n num = parseFloat(num).toFixed(decimal_points);\n if (Number(num) == 0) {\n return num;\n }\n num = \"(\" + num + \")\";\n return num;\n }\n\n /**\n * \n * @param current_price \n * @param scenario_price \n * @param decimal_points \n * @returns \n * validate price difference between scenario_price - current price\n */\n priceDifferenceCalculation(current_price: any, scenario_price: any, decimal_points: any) {\n let price_difference: any = scenario_price - current_price;\n price_difference = parseFloat(price_difference).toFixed(decimal_points);\n return price_difference;\n }\n\n /**\n * \n * @param stringNumber \n * @returns object enables language-sensitive number formatting.\n */\n languageSensitiveFormatting(stringNumber: any){\n return this.parseLocaleNumber(stringNumber).toString();\n }\n\n /**\n * Parse a localized number to a float.\n * @param {string} stringNumber - the localized number\n * @param {string} locale - [optional] the locale that the number is represented in. Omit this parameter to use the current locale.\n */\n parseLocaleNumber(stringNumber: any) {\n return this.isCurrencyValidation() ? stringNumber : stringNumber.replace(\".\", \",\");\n }\n \n /**Currency Validation*/\n isCurrencyValidation() {\n // --constant.currencyFormat.digitFormat-- Dynamic change has to do from DB configuration ###.##, ###,##\n let currency_code = this.getValuesFromSessionStorage(constant.storage_keys.configuration)[constant.configuration_keys.language_code];\n if (new Intl.NumberFormat(currency_code, { minimumFractionDigits: 2 }).format(constant.currencyFormat.digitFormat).includes('.')) return true;\n else return false;\n }\n\n /**Currency Validation*/\n // isCurrencyValidation() {\n // // --constant.currencyFormat.digitFormat-- Dynamic change has to do from DB configuration ###.##, ###,##\n // let currency_code = localStorage.getItem(constant.common.lang_symbl_front)\n // if (new Intl.NumberFormat(currency_code, { minimumFractionDigits: 2 }).format(constant.currencyFormat.digitFormat).includes('.')) return true;\n // else return false;\n // }\n\n download(response: any, fileType: string, fileName: string) {\n const blob = new Blob([response], {\n type: constant.donwloadFormates[fileType].type\n });\n var downloadURL = window.URL.createObjectURL(response);\n var link = document.createElement('a');\n link.href = downloadURL;\n fileName = fileName.replace(/-\\d+\\.\\w+$/, \"\");\n link.download = fileName + '_' + this.dateToNiceString(new Date()) + constant.donwloadFormates[fileType].extensions;\n link.click(); \n }\n\n dateToNiceString(myDate:any) {\n const d = new Date(myDate)\n const ye = new Intl.DateTimeFormat('en', { year: 'numeric' }).format(d)\n let mo = new Intl.DateTimeFormat('en', { month: 'short' }).format(d)\n const da = new Intl.DateTimeFormat('en', { day: '2-digit' }).format(d)\n return da + '-' + mo + '-' + ye;\n }\n\n sortData(sort: Sort , data: any){\n let direction : SortDirection = sort.direction === 'asc'? \"ascending\" : \"descending\"\n let active : string = constant.sortHeaders_price_tier_table[sort.active]\n data = sortArrayOfObjects(data,active,direction)\n return new TableVirtualScrollDataSource(data);\n }\n\n sortCompetitorData(sort: Sort , data: any){\n let direction : SortDirection = sort.direction === 'asc'? \"ascending\" : \"descending\"\n let active : string = constant.sortHeaders_price_tier_table[sort.active]\n data = sortArrayOfObjects(data,sort.active,direction)\n return new TableVirtualScrollDataSource(data);\n }\n\n maxDateFilter(){\n let timeRestrictionValue = this.getValuesFromSessionStorage(constant.storage_keys.configuration)[constant.configuration_keys.time_restriction_for_recommendation_creation];\n let restrictedDate :any= moment().add(timeRestrictionValue, 'years');\n return new Date(restrictedDate);\n }\n\n setMinYears() {\n const currentYear = moment().year();\n return moment([currentYear, 0, 1]).toDate();\n } \n /**\n * to Describe the date as Today , yesterday or Any date\n * @param inputDate as data\n * @returns day based upon the date\n */\n describeDate(inputDate: any) {\n const today = new Date();\n const yesterday = new Date(new Date().setDate(today.getDate() - 1));\n today.setHours(0, 0, 0, 0);\n yesterday.setHours(0, 0, 0, 0);\n inputDate.setHours(0, 0, 0, 0);\n if (inputDate.getTime() === today.getTime()) {\n return constant.notification.today;\n } else if (inputDate.getTime() === yesterday.getTime()) {\n return constant.notification.yesterday;\n } else {\n return inputDate.toISOString().split('T')[0];\n }\n }\n\n /**\n * to get The Time Differnce of Notification in Minutes, Hours\n * @param pastDate as date\n * @returns hours based upon the date\n */\n timeDifference(pastDate: any) {\n const now = new Date();\n const diff = now.getTime() - pastDate.getTime();\n\n const minutes = Math.floor(diff / 60000);\n const hours = Math.floor(diff / 3600000);\n if (minutes < 60) {\n return `${minutes} ${constant.notification.min_ago}`;\n } else if (hours < 24) {\n return `${hours} ${constant.notification.hr_ago}`;\n } else {\n return pastDate.toLocaleTimeString([], { hour: constant.notification.two_digits, minute: constant.notification.two_digits, hour12: true });\n }\n }\n\n /** Saving Navigation Codes in Local Storage */\n setNavigationCodes(data:any){\n this.navigation_codes = data.map((value:any)=>{\n return value.navigation_code\n })\n this.storageService.set(localStorageKeys.navigation_code, this.navigation_codes)\n }\n\n /** Checking for if Access Available for a Particula Button */\n isAccessAvailable(buttonKey:any){\n return this.features_available.some((feature:any)=>{\n return feature == action_items[buttonKey]\n })\n }\n\n /** Getting Features Available from Local Storage */\n async getFeatures(){\n this.features_available = await this.storageService.get(localStorageKeys.features_available)\n }\n\n /** Logout and Clearing the Local Storage */\n async logout(){\n this.storageService.clear(constant.common.local_storage);\n await this.msalService.logoutRedirect();\n }\n \n /**\n * To Change Wheel Speed of A Particular Element of UI\n * @param container as Element of UI\n * @param speedY as Speed of Scroll\n */\n changeWheelSpeed(container: any, speedY: any) {\n var scrollY = 0;\n var handleScrollReset = function () {\n scrollY = container.scrollTop;\n };\n var handleMouseWheel = function (e: any) {\n if (e.deltaY !== 0) {\n e.preventDefault();\n scrollY += speedY * e.deltaY\n if (scrollY < 0) {\n scrollY = 0;\n } else {\n var limitY = container.scrollHeight - container.clientHeight;\n if (scrollY > limitY) {\n scrollY = limitY;\n }\n }\n container.scrollTop = scrollY;\n }\n };\n container.addEventListener('mouseup', handleScrollReset, false);\n container.addEventListener('mousedown', handleScrollReset, false);\n container.addEventListener('wheel', handleMouseWheel, false);\n }\n\n /**\n* To Set Min and Max Date Depending on Effective Date\n* @param date as Effective Date\n*/\n setEffectiveDateValidation(date: any) {\n let min_date = new Date();\n let max_date = new Date();\n date = new Date(date)\n const month = date.getMonth();\n const year = date.getFullYear();\n min_date = new Date(year, month, 1);\n if (new Date().getTime() > min_date.getTime()) {\n min_date = new Date()\n }\n max_date = new Date(year, month + 1, 0);\n return { max_date: max_date, min_date: min_date };\n }\n}\n\n","export const environment = {\r\n production: true,\r\n API_ENDPOINT: 'https://api.smartpricing.costa-platform.com/api/',\r\n CLIENT_ID: 'cbd709c1-3c5d-4f1e-a450-c3db67bffa70',\r\n TENANT_ID: '04ed63ba-9902-48da-b4cd-52b94b3a487e',\r\n REDIRECT_URL: 'https://smartpricing.costacoffee.com/',\r\n AUDIANCE: 'api://a40c7284-a682-4cda-9452-00154bcb12d7/pricing-app-scope',\r\n IS_AUTHENTICATED:true\r\n };","import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\n\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","var map = {\n\t\"./af\": 85637,\n\t\"./af.js\": 85637,\n\t\"./ar\": 6777,\n\t\"./ar-dz\": 74508,\n\t\"./ar-dz.js\": 74508,\n\t\"./ar-kw\": 67504,\n\t\"./ar-kw.js\": 67504,\n\t\"./ar-ly\": 95373,\n\t\"./ar-ly.js\": 95373,\n\t\"./ar-ma\": 92412,\n\t\"./ar-ma.js\": 92412,\n\t\"./ar-ps\": 78823,\n\t\"./ar-ps.js\": 78823,\n\t\"./ar-sa\": 36670,\n\t\"./ar-sa.js\": 36670,\n\t\"./ar-tn\": 36448,\n\t\"./ar-tn.js\": 36448,\n\t\"./ar.js\": 6777,\n\t\"./az\": 23009,\n\t\"./az.js\": 23009,\n\t\"./be\": 28299,\n\t\"./be.js\": 28299,\n\t\"./bg\": 4685,\n\t\"./bg.js\": 4685,\n\t\"./bm\": 11171,\n\t\"./bm.js\": 11171,\n\t\"./bn\": 23590,\n\t\"./bn-bd\": 5841,\n\t\"./bn-bd.js\": 5841,\n\t\"./bn.js\": 23590,\n\t\"./bo\": 54309,\n\t\"./bo.js\": 54309,\n\t\"./br\": 54130,\n\t\"./br.js\": 54130,\n\t\"./bs\": 8033,\n\t\"./bs.js\": 8033,\n\t\"./ca\": 55294,\n\t\"./ca.js\": 55294,\n\t\"./cs\": 53028,\n\t\"./cs.js\": 53028,\n\t\"./cv\": 5807,\n\t\"./cv.js\": 5807,\n\t\"./cy\": 70342,\n\t\"./cy.js\": 70342,\n\t\"./da\": 38269,\n\t\"./da.js\": 38269,\n\t\"./de\": 11489,\n\t\"./de-at\": 42123,\n\t\"./de-at.js\": 42123,\n\t\"./de-ch\": 17757,\n\t\"./de-ch.js\": 17757,\n\t\"./de.js\": 11489,\n\t\"./dv\": 28152,\n\t\"./dv.js\": 28152,\n\t\"./el\": 7687,\n\t\"./el.js\": 7687,\n\t\"./en-au\": 46668,\n\t\"./en-au.js\": 46668,\n\t\"./en-ca\": 76798,\n\t\"./en-ca.js\": 76798,\n\t\"./en-gb\": 53615,\n\t\"./en-gb.js\": 53615,\n\t\"./en-ie\": 91364,\n\t\"./en-ie.js\": 91364,\n\t\"./en-il\": 79907,\n\t\"./en-il.js\": 79907,\n\t\"./en-in\": 70533,\n\t\"./en-in.js\": 70533,\n\t\"./en-nz\": 33190,\n\t\"./en-nz.js\": 33190,\n\t\"./en-sg\": 51096,\n\t\"./en-sg.js\": 51096,\n\t\"./eo\": 3962,\n\t\"./eo.js\": 3962,\n\t\"./es\": 37726,\n\t\"./es-do\": 65010,\n\t\"./es-do.js\": 65010,\n\t\"./es-mx\": 63654,\n\t\"./es-mx.js\": 63654,\n\t\"./es-us\": 59043,\n\t\"./es-us.js\": 59043,\n\t\"./es.js\": 37726,\n\t\"./et\": 25343,\n\t\"./et.js\": 25343,\n\t\"./eu\": 90728,\n\t\"./eu.js\": 90728,\n\t\"./fa\": 60787,\n\t\"./fa.js\": 60787,\n\t\"./fi\": 71771,\n\t\"./fi.js\": 71771,\n\t\"./fil\": 45335,\n\t\"./fil.js\": 45335,\n\t\"./fo\": 69761,\n\t\"./fo.js\": 69761,\n\t\"./fr\": 1670,\n\t\"./fr-ca\": 28991,\n\t\"./fr-ca.js\": 28991,\n\t\"./fr-ch\": 97280,\n\t\"./fr-ch.js\": 97280,\n\t\"./fr.js\": 1670,\n\t\"./fy\": 24203,\n\t\"./fy.js\": 24203,\n\t\"./ga\": 69858,\n\t\"./ga.js\": 69858,\n\t\"./gd\": 38605,\n\t\"./gd.js\": 38605,\n\t\"./gl\": 27365,\n\t\"./gl.js\": 27365,\n\t\"./gom-deva\": 33896,\n\t\"./gom-deva.js\": 33896,\n\t\"./gom-latn\": 95587,\n\t\"./gom-latn.js\": 95587,\n\t\"./gu\": 97950,\n\t\"./gu.js\": 97950,\n\t\"./he\": 92029,\n\t\"./he.js\": 92029,\n\t\"./hi\": 51897,\n\t\"./hi.js\": 51897,\n\t\"./hr\": 29816,\n\t\"./hr.js\": 29816,\n\t\"./hu\": 22253,\n\t\"./hu.js\": 22253,\n\t\"./hy-am\": 28196,\n\t\"./hy-am.js\": 28196,\n\t\"./id\": 51307,\n\t\"./id.js\": 51307,\n\t\"./is\": 95474,\n\t\"./is.js\": 95474,\n\t\"./it\": 23099,\n\t\"./it-ch\": 45807,\n\t\"./it-ch.js\": 45807,\n\t\"./it.js\": 23099,\n\t\"./ja\": 19127,\n\t\"./ja.js\": 19127,\n\t\"./jv\": 30182,\n\t\"./jv.js\": 30182,\n\t\"./ka\": 10758,\n\t\"./ka.js\": 10758,\n\t\"./kk\": 93444,\n\t\"./kk.js\": 93444,\n\t\"./km\": 72034,\n\t\"./km.js\": 72034,\n\t\"./kn\": 46223,\n\t\"./kn.js\": 46223,\n\t\"./ko\": 83064,\n\t\"./ko.js\": 83064,\n\t\"./ku\": 8714,\n\t\"./ku-kmr\": 10961,\n\t\"./ku-kmr.js\": 10961,\n\t\"./ku.js\": 8714,\n\t\"./ky\": 12062,\n\t\"./ky.js\": 12062,\n\t\"./lb\": 84796,\n\t\"./lb.js\": 84796,\n\t\"./lo\": 19279,\n\t\"./lo.js\": 19279,\n\t\"./lt\": 106,\n\t\"./lt.js\": 106,\n\t\"./lv\": 11840,\n\t\"./lv.js\": 11840,\n\t\"./me\": 42240,\n\t\"./me.js\": 42240,\n\t\"./mi\": 13588,\n\t\"./mi.js\": 13588,\n\t\"./mk\": 15518,\n\t\"./mk.js\": 15518,\n\t\"./ml\": 37823,\n\t\"./ml.js\": 37823,\n\t\"./mn\": 98657,\n\t\"./mn.js\": 98657,\n\t\"./mr\": 61285,\n\t\"./mr.js\": 61285,\n\t\"./ms\": 43014,\n\t\"./ms-my\": 86253,\n\t\"./ms-my.js\": 86253,\n\t\"./ms.js\": 43014,\n\t\"./mt\": 20167,\n\t\"./mt.js\": 20167,\n\t\"./my\": 47940,\n\t\"./my.js\": 47940,\n\t\"./nb\": 50014,\n\t\"./nb.js\": 50014,\n\t\"./ne\": 49023,\n\t\"./ne.js\": 49023,\n\t\"./nl\": 34208,\n\t\"./nl-be\": 71412,\n\t\"./nl-be.js\": 71412,\n\t\"./nl.js\": 34208,\n\t\"./nn\": 81354,\n\t\"./nn.js\": 81354,\n\t\"./oc-lnc\": 40870,\n\t\"./oc-lnc.js\": 40870,\n\t\"./pa-in\": 80389,\n\t\"./pa-in.js\": 80389,\n\t\"./pl\": 7342,\n\t\"./pl.js\": 7342,\n\t\"./pt\": 34774,\n\t\"./pt-br\": 73003,\n\t\"./pt-br.js\": 73003,\n\t\"./pt.js\": 34774,\n\t\"./ro\": 85333,\n\t\"./ro.js\": 85333,\n\t\"./ru\": 73451,\n\t\"./ru.js\": 73451,\n\t\"./sd\": 43921,\n\t\"./sd.js\": 43921,\n\t\"./se\": 59682,\n\t\"./se.js\": 59682,\n\t\"./si\": 80582,\n\t\"./si.js\": 80582,\n\t\"./sk\": 4348,\n\t\"./sk.js\": 4348,\n\t\"./sl\": 95337,\n\t\"./sl.js\": 95337,\n\t\"./sq\": 39358,\n\t\"./sq.js\": 39358,\n\t\"./sr\": 50683,\n\t\"./sr-cyrl\": 69382,\n\t\"./sr-cyrl.js\": 69382,\n\t\"./sr.js\": 50683,\n\t\"./ss\": 51156,\n\t\"./ss.js\": 51156,\n\t\"./sv\": 29855,\n\t\"./sv.js\": 29855,\n\t\"./sw\": 18536,\n\t\"./sw.js\": 18536,\n\t\"./ta\": 15373,\n\t\"./ta.js\": 15373,\n\t\"./te\": 37809,\n\t\"./te.js\": 37809,\n\t\"./tet\": 61297,\n\t\"./tet.js\": 61297,\n\t\"./tg\": 92527,\n\t\"./tg.js\": 92527,\n\t\"./th\": 85862,\n\t\"./th.js\": 85862,\n\t\"./tk\": 79331,\n\t\"./tk.js\": 79331,\n\t\"./tl-ph\": 44387,\n\t\"./tl-ph.js\": 44387,\n\t\"./tlh\": 3592,\n\t\"./tlh.js\": 3592,\n\t\"./tr\": 79732,\n\t\"./tr.js\": 79732,\n\t\"./tzl\": 99570,\n\t\"./tzl.js\": 99570,\n\t\"./tzm\": 83553,\n\t\"./tzm-latn\": 7699,\n\t\"./tzm-latn.js\": 7699,\n\t\"./tzm.js\": 83553,\n\t\"./ug-cn\": 25674,\n\t\"./ug-cn.js\": 25674,\n\t\"./uk\": 69974,\n\t\"./uk.js\": 69974,\n\t\"./ur\": 45773,\n\t\"./ur.js\": 45773,\n\t\"./uz\": 357,\n\t\"./uz-latn\": 77135,\n\t\"./uz-latn.js\": 77135,\n\t\"./uz.js\": 357,\n\t\"./vi\": 20043,\n\t\"./vi.js\": 20043,\n\t\"./x-pseudo\": 40767,\n\t\"./x-pseudo.js\": 40767,\n\t\"./yo\": 80150,\n\t\"./yo.js\": 80150,\n\t\"./zh-cn\": 21828,\n\t\"./zh-cn.js\": 21828,\n\t\"./zh-hk\": 86644,\n\t\"./zh-hk.js\": 86644,\n\t\"./zh-mo\": 79305,\n\t\"./zh-mo.js\": 79305,\n\t\"./zh-tw\": 31860,\n\t\"./zh-tw.js\": 31860\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 = 35358;","/*\n * Application global variables.\n */\n\n// Set Font Awesome font path\n// $fa-font-path: \"~@fortawesome/fontawesome-free/webfonts\";\n\n// ---------------------------------------------------------------------------\n// Bootstrap variables\n//\n// Override Bootstrap variables here to suite your theme.\n// Copy variables you want to customize from node_modules/bootstrap/scss/_variables.scss\n\n// @import \"bootstrap/scss/functions\";\n\n//\n// Color system\n//\n\n/*************************/\n$font-size-sm : 11px;\n$font-size-md : 13px;\n$font-size-lg : 15px;\n$font-size-xlg : 17px;\n\n// Navigation\n$primary-text-color : #89465A;\n$primary-costa-color: #6B1831;\n$secondary-costa-color : #6B18311A;\n\n\n$width-100 : 100%;\n$height-100 : 100%;\n$navbar-bg-color : white;\n$display-none : none;\n$display-flex : flex;\n$flex-direction-column : column;\n$justify-content-space-between : space-between;\n\n$white: #fff;\n$gray-100: #f8f9fa;\n$gray-200: #e9ecef;\n$gray-300: #dee2e6;\n$gray-400: #ced4da;\n$gray-500: #adb5bd;\n$gray-600: #868e96;\n$gray-700: #495057;\n$gray-800: #343a40;\n$gray-900: #212529;\n$gray-93: #EDEDED;\n$gray-92: #EBEBEB;\n$gray-97: #F7F7F8;\n$gray98: #fafafa;\n$gray-44: #707070;\n$red-1: #dc3545;\n\n\n$gray-1: #ddd;\n$gray-2: #B9B9B9;\n$gray-3: #7F7F7F;\n$gray-4: #808080;\n$gray-5: #eee;\n\n$black: #000;\n\n$blue: #175384;\n$indigo: #6610f2;\n$purple: #6f42c1;\n$pink: #e83e8c;\n$red: #c05268;\n$orange: #fd7e14;\n$yellow: #be8f04;\n$green: #089769;\n$teal: #20c997;\n$cyan: #17a2b8;\n\n\n/****************************/\n$primary: #6A1B9A;\n$secondary:$gray-100;\n$ternary: #e2efd9;\n$font-color-1: #000000;\n$font-color-2:black;\n$btn-bg: #fb471f;\n$main-card-bg:#ffffff;\n$card-icons-color:#fb471f;\n/***************************/\n\n\n$cards-bg: $ternary;\n$success: #089769;\n$info: $cyan;\n$warning: $primary;\n$danger: #DB0006;\n$light: $white;\n$dark: $black;\n\n$theme-colors: (\n primary: $primary,\n secondary: $secondary,\n success: $success,\n info: $info,\n warning: $warning,\n danger: $danger,\n light: $light,\n dark: $dark,\n);\n\n$bg-success: #e5fff2;\n$bg-danger: #fdeaee;\n$bg-warning: #fff4d3;\n$bg-default: #e7e3e4;\n$border-color: #D6D6D6;\n$search-icon-color: #a3a3a3;\n$loader-color: #363333;\n$loader-background: #e6e6e6;\n$spinner-border-width-sm: 0.1em;\n$box-shadow: #00000029;\n$smoke-white: #EFEFEF;\n$warm-white: #f1f1f1;\n$strong-red: #e60d0d;\n$black-mana: #868686;\n$gainsboro: #dcdcdc;\n$safetyOrange: #FF6702;\n\n\n// @import \"bootstrap/scss/variables\";\n// @import \"bootstrap/scss/mixins\";\n\n$app-text-color: $black;\n$app-border-color: $gray-400;\n$vit-text-color: #FFBC0D;\n$scroll-track-bg: $gray-100;\n$scroll-thumb-bg: $blue;\n$scroll-thumb-hover-bg: $blue;\n$error-highlight: #fbe3e4;\n$warning-highlight: $bg-warning;\n$saved-text:#777777;\n$saved-background: #F5F5F5;\n$submitted-text:#029039;\n$submitted-background: #E4EFE8;\n$cancelled-text:#E22900;\n$cancelled-background: #F8E1DC;\n$read-only-card: #c0e4f7;\n\n\n$cement-1: #999;\n$cement-2: #676767;\n$cement-3: #22232299;\n$bg-white-1: $ternary;\n$black-1: $font-color-1;\n$black-3: #00000080;\n$black-4: #222322;\n$black-5: #2A2A2A;\n$black-6: #2223221A;\n$black-7: #22232226;\n$bg-red-1: $primary;\n$white-1: #ffff;\n$white-2: #d1cccc;\n$black-2: #3c3c3c;\n$gray-6: #888;\n$gray-7: #555;\n$gray-8: #ccc;\n$gray-9: #8e8e8e;\n$gray-10: #6f7070;\n$gray-11:#646464;\n$gray-12:#E8E8E8;\n$red-2:#da1919;\n$ashgray: #F2F2F2;\n$ashgray-2: #F1F2F2;\n$bg-input:#E3E3E3;\n$gray-94: #F0F0F0;\n$gray-disable: #D0D0D0;\n$green-arrow-icon: #32AC70;\n$red-arrow-icon: #E52F25;\n","/* (ignored) */"],"names":["RouterModule","DashboardComponent","component","MsalGuard","environment","navigation_codes","navigationGuard","SettingComponent","routes","path","canActivate","IS_AUTHENTICATED","canActivateChild","CostaComponent","children","loadChildren","then","m","RecommendationModule","data","navigationCode","PriceRecommenderModule","ScenerioPlannerModule","ScenarioApproverModule","ScenarioComparisionModule","CompetitorModule","PricePerformanceModule","AppRoutingModule","forRoot","imports","i1","exports","AppComponent","constructor","responsiveService","translate","title","use","i0","ɵɵdirectiveInject","ResponsiveService","i2","TranslateService","selectors","decls","vars","template","AppComponent_Template","rf","ctx","ɵɵelement","BrowserModule","BrowserAnimationsModule","HTTP_INTERCEPTORS","HttpClient","HttpClientModule","MsalModule","MSAL_INSTANCE","MSAL_INTERCEPTOR_CONFIG","MsalService","MSAL_GUARD_CONFIG","MsalBroadcastService","PublicClientApplication","InteractionType","BrowserCacheLocation","LogLevel","msalConfig","TokenInterceptor","NavigationBarComponent","DashboardCardComponent","SidebarModule","ScrollPanelModule","PanelMenuModule","ToastrModule","TranslateLoader","TranslateModule","TranslateHttpLoader","NgxUiLoaderHttpModule","NgxUiLoaderModule","PB_DIRECTION","POSITION","SPINNER","NgxIndexedDBModule","constant","NotificationMenuComponent","apiUrl","navigationPermission","ngxUiLoaderConfig","pbColor","fgsColor","fgsPosition","centerCenter","fgsSize","fgsType","squareJellyBox","pbDirection","leftToRight","pbThickness","logoPosition","logoSize","logoUrl","isIE","window","navigator","userAgent","indexOf","dbConfig","name","common","indexed_db_name","version","objectStoresMeta","store","indexed_db_store","storeConfig","keyPath","autoIncrement","storeSchema","keypath","options","unique","loggerCallback","logLevel","message","MSALInstanceFactory","auth","clientId","authority","redirectUri","cache","cacheLocation","LocalStorage","storeAuthStateInCookie","system","loggerOptions","Info","piiLoggingEnabled","MSALInterceptorConfigFactory","protectedResourceMap","Map","set","API_ENDPOINT","interactionType","Redirect","MSALGuardConfigFactory","authRequest","scopes","AUDIANCE","AppModule","bootstrap","provide","useClass","multi","useFactory","timeOut","positionClass","preventDuplicates","loader","HttpLoaderFactory","deps","showForeground","exclude","excludeRegexp","dashboard","getNotificationStatus","declarations","i3","i4","http","StatusCode","StatusColor","componentNavigationLabel","scenerioType","RecommenderScenariosType","statusCodeValues","notificationNavigation","sessionStorageKeys","localStorageKeys","indexedDBKeys","priceSensitivity","priceSensitivityTextColor","dahsboardIcon","chart_types","line","bar","stacked_bar","waterfall","bar_line","stacked_bar_line","price_performance_charts","est_v_act","margin_trends","price_trends","metric_trends","price_band_analysis","recalculation_type","price_change","current_price","recommendation_price","upload_item_calculation","price_hierarchy","function_calculation_type","calculate_save","recalculate","newPriceRecommenderObjective","maximize_revenue","maximize_gross_margin","maximize_perc_gross_margin","scenario_error","recalculate_errors","uploadError","priceRecommenderErrors","newPriceRecommenderErrors","http_status_codes","NO_CONTENT","estimated_panel_duration","estimated_panel_duration_order","action_items","role_name","category_name","food","beverage","and","tenantId","TENANT_ID","CLIENT_ID","location","origin","postLogoutRedirectUri","protocol","host","level","containsPii","Error","console","error","info","Verbose","debug","Warning","warn","HttpErrorResponse","BehaviorSubject","tap","router","utilService","msalService","tokenSubject","intercept","request","next","accessToken","getTokenFromSession","isNullOrEmptyOrUndefined","cloned","clone","headers","authorization","bearer","secret","handle","pipe","status","unauthorizeStatusCode","logoutRedirect","ɵɵinject","Router","UtilService","factory","ɵfac","ɵɵelementStart","ɵɵtemplate","CostaComponent_div_1_app_navigation_bar_1_Template","ɵɵlistener","CostaComponent_div_1_Template_div_click_3_listener","ɵɵrestoreView","_r3","ctx_r2","ɵɵnextContext","ɵɵresetView","navigationService","navigationCheck","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","ctx_r0","show_navbar","msalInstance","apiService","storageService","urlService","getApiKeys","ngOnInit","_this","subscribe","_ref","_asyncToGenerator","response","handleApiKeys","_x","apply","arguments","logout","_this2","sessionStorage","setItem","storage_keys","api_keys","JSON","stringify","addMapKey","addSecurityKeys","getUserDetails","API_KEYS","getItem","parse","body","document","script","createElement","src","gmap_url","uuid_5","appendChild","_this3","_ref2","handleUserDetails","_x2","user_details","user_name","role_id","roleBasedFeaturesDto","_this4","get","payload","getRoleBasedFeatures","features_available","feature_available","getFeatures","accountCheckAndRedirect","getAllAccounts","length","zero","navigate","navigation","NavigationService","ApiService","StorageService","i5","i6","UrlSecurityService","consts","CostaComponent_Template","CostaComponent_div_1_Template","link","code","image_link","inputs","DashboardCardComponent_Template","DashboardCardComponent_Template_div_click_0_listener","ɵɵtext","ɵɵtextInterpolate","ɵɵpropertyInterpolate","ɵɵsanitizeUrl","DashboardComponent_img_4_Template_img_click_0_listener","_r4","ctx_r3","notificationOpen","DashboardComponent_img_5_Template_img_click_0_listener","_r6","ctx_r5","i_r7","navigation_code","navigation_name","util","exceptionService","notificationService","dashboard_data","notification_available","notification_visible","triggerNotificationSymbol","value","getMenuData","getUserDetailsAPICall","getConfiguration","configuration","toastMessage","menuDto","handleMenuData","setNavigationCodes","filter","home_code","forEach","dashboardNavigation","ExceptionService","i7","NotificationService","DashboardComponent_Template","DashboardComponent_img_4_Template","DashboardComponent_img_5_Template","DashboardComponent_Template_button_click_14_listener","DashboardComponent_app_dashboard_card_27_Template","ɵɵtextInterpolate1","ɵɵpipeBind1","NotificationMenuComponent_button_2_Template_button_click_0_listener","closePanel","NotificationMenuComponent_div_13_div_3_Template_div_click_0_listener","restoredCtx","_r8","notification_r6","$implicit","ctx_r7","redirectToRoute","ɵɵpureFunction1","_c0","is_notify","img_url","desc","timeDifference","time","NotificationMenuComponent_div_13_div_3_Template","ctx_r1","describeDate","data_r4","day","notification_data","translateService","message_status_code","notification_navigtion","is_notification_visible","getStatus","getNotificationService","triggerNotificationStatus","is_active","getNotificationStatuService","setTimeout","notification_time","notification_length","_groupedNotifications","_Item","notificationDate","Date","modified_at","_dateKey","_messageShow","opt_status_id","completed","instant","notification","notification_desc","scenario_name","generated_success","status_id","approved","username","submitted_scenario","in_review","submit_for_approval","rejected","rejected_message","failed","push","image_url","created_at","scenario_id","Object","values","encrypt","toString","navigationExtras","queryParams","getTime","priceRecommendationLanding","readNotificationService","getIndividualNotificationStatus","readAllNotification","readAllNotificationService","NotificationMenuComponent_Template","NotificationMenuComponent_Template_p_sidebar_visibleChange_1_listener","$event","NotificationMenuComponent_button_2_Template","NotificationMenuComponent_Template_span_click_7_listener","NotificationMenuComponent_div_13_Template","ɵɵstyleMap","ɵɵpureFunction0","_c1","ɵɵtextInterpolate2","_c2","ɵɵpureFunction5","_c3","deviceTablet","orientationPortrait","screenSize","deviceDesktop","MatTableDataSource","element_r6","geo_desc","SettingComponent_td_20_Template_p_dropdown_ngModelChange_1_listener","_r9","element_r7","geo_elasticity_destination_id","SettingComponent_td_20_Template_p_dropdown_onChange_1_listener","ctx_r10","OnPriceBandChange","price_band_data","is_elasticity_available","service","dataSource","displayedColumns","price_band_configuration_data","save_configuration","getPriceBandConfigurationData","getPriceBandData","getPriceBandConfigDropdown","existingIndex","findIndex","item","geo_source_id","onSavePriceBandConfiguration","savePriceBandConfig","getPriceBandConfig","map","settings","columnData","onCancel","geoSourceIds","Set","has","original_geo_elasticity_destination_id","PriceRecommenderService","SettingComponent_Template","ɵɵelementContainerStart","SettingComponent_th_16_Template","SettingComponent_td_17_Template","ɵɵelementContainerEnd","SettingComponent_th_19_Template","SettingComponent_td_20_Template","SettingComponent_tr_21_Template","SettingComponent_tr_22_Template","SettingComponent_Template_button_click_24_listener","SettingComponent_Template_button_click_27_listener","getMenuList","getNotification","readNotification","allRead","featureApi","scenario","getScenerioList","getApprovalScenerioList","dateConfiguaration","statuslist","scenarioDelete","creatorData","priceTier","skuDetails","getApprovedScenariopriceBand","getApprovedScenarioskuDetails","getApprovedScenarioskuDetailsCount","createSkuDetails","scenarioHeader","createScenarioHeader","estimatedImpact","estimatedImpactPriceBand","estimatedImpactPriceBandOverall","originalImpact","originalImpactPriceBand","originalImpactPriceBandOverall","priceTierDropdown","category","skuDetailsCount","recalculateImpact","createScenario","download","upload","submitForRejected","submitForApproved","submitForApproval","tempAPis","l1Category","l2Category","subCategory","tempItemDetails","tempPriceBand","priceHierarchy","override","download_violation","constraintList","exportScenario","estimatedDurationDropdown","categoryImpactDropdown","ItemDetails","scenario_comparison","getPlanningCycleList","getCycleScenarioList","getPlanningCycleCount","getScenarioComparisonResult","getScenarioComparisonTableData","recommendation","getScenarios","approversList","in_review_list","status_list","finalRecommendationListHeaders","finalRecommendationPriceTierTable","skuCategoryDetails","skuPriceBandDetails","skuProductNameDetails","graphData","approvers","rangingSummaryGraph","rangingSummaryTable","productsDisplayDropdown","moveToPast","moveToInMarket","priceRangingPriceBandDropdown","price_recommender","statusList","priceRecommenderListHeaders","priceRecommenderPriceTierTable","recommenderCaterogyList","recommenderSKUList","constraintsGetData","constraintsDrillDown","downloadPriceRecommender","initiateNewPriceRecommender","generateOptimizerInRecommenderList","uploadPriceRecommender","downloadConstraintRules","competitor_pricing","costaStoreDropdown","costaStore","competitorStoreDropdown","competitorStore","costaStoreItemDropdown","result","price_performance","margin_trends_price_band_dropdown","margin_trends_graph","price_trends_price_band_dropdown","price_trends_products_dropdown","price_trends_graph","metric_trends_metric_dropdown","metric_trends_graph","price_band_analysis_scenarios","price_band_analysis_hierarchy","price_band_analysis_segmentation","price_band_analysis_metrics","price_band_analysis_export","price_trends_metric_trends_export","estimated_v_actual","price_band_config","get_price_band_config_data","get_dropdown_data","save_price_band_config_data","check_price_recommendation","view_price_band_config","login","loginResponse","landing","componentNavigation","scenarioLanding","approvedScenariosLanding","approvedScenariosPriceBand","approvedScenariosSKU","scenarioSKUPriceTier","scenarioPriceTier","createSceanrio","recommendationLanding","recommendationLandingInReview","recommenationPriceTier","recommenationComparison","recommendationSKU","recommendationComparisonSku","priceRecommenationPriceTier","priceRecommendationSKU","scenarioComparisonResult","newpricerecommender","priceRangingSummary","competitorLanding","currencyFormat","digitFormat","sucess_response","failure_response","move_to_in_market_failure","msalTokenKeys","itemSize","headerHeight","totalViewPortRange","bufferRange","closeExpansionPanel","defaultViewPort","defaultRegion","defaultRegionCode","defaultRegionId","defaultTableHeight","defaultTableHeightForOptimizer","none","block","locale","lang_symbol","display_none","display_block","session_storage","local_storage","indexed_db","withoutTimezoneConversion","withoutTimezoneConversionJustDate","withoutTimezoneConversionwithoutDate","withoutTimezoneConversionJustDate2","default_page_size","one","download_success","max_scenarios_for_inmarket","absolute","percentage","no_data_found","encryptKey","characters","delete_message","default_sorting_column","default_sorting_direction","file_name","violation_file_name","recalculated_rows","upload_recalculate_success","delete_success","approve_failure","reject_failure","approve_success","approval_success","reject_success","override_successful","scenario_recommender","scenarios","price_hierarchy_columns","scenario_type","scenerio_table_columns","common_columns","column_selection","column_id","column_name","approved_scenerio_table_columns","table_columns_with_price_tier","table_columns_without_price_tier","export_scenario","export_scenario_pb","price_hierarchy_error","category_error","general_error","recommendation_table_approved_columns","recommendation_table_in_review_columns","impact_screen","percentage_decimal","absolute_decimal","default_estimated_week_id","default_estimated_category_id","configuration_keys","date_range_value","default_date_range_value","date_format","language_code","currency_symbol","currency_name","price_hierarchy_range_max","price_hierarchy_range_min","time_restriction_for_recommendation_creation","scenario_price_tier","price_tier_table_columns","translate_text","mandatory_validation","scenario_created_message","scenario_created_message_beginning","scenario_created_message_ending","valid_price_error","valid_percentage_error","recommended_price_tier","price_recommender_price_tier_table","sortHeaders_price_tier_table","sortHeaders_sku_table","impact_arrow_indicators","arrow_up","arrow","arrow_down","landing_table_columns","constraint_pop_up_table_columns","item_details_pop_up_table_columns","page_size","stores","unitsByKb","kb","mb","fileSize","donwloadFormates","excel","type","extensions","pdf","zip","newPriceRecommender","toastMessageCls","categoryTable","constraintsTable","uploadDialogHeight","uploadDialogPanelClass","generateDialogHeight","generateDialogWidth","generateDialogPanelClass","createNewRecommenderDialogHeight","createNewRecommenderDialogWidth","createNewRecommenderDialogPanelClass","minValue","maxValue","all","categoryTableColumns","constraintTableColumns","maximizeRevenue","maximizeGrossMargin","maximizePercGrossMargin","newMaxValue","newMinValue","all_items_value","few_items_value","download_error_message","duplicate_products_exists","duplicate_constraints_exists","constraints_is_mandatory","Please_Fill_Required_Fields","Pleas_Select_Distinct_All_Products","chart_constants","chart_colors","pink","green","light_blue","orange","yellow","brown","red","purple","teal","lime","costa","light_blue_transparent","chart_inc_dec","increase","decrease","total","chart_axis_ids","bar_axis","line_axis","price_ranging_summary","ranging_summary_table1_columns","ranging_summary_table2_columns","defaultProductDisplay","execSummaryDefaultPB","productsDisplayMap","All","top90Sales","competitor","result_data","sku_name","competitorDetails","competitor_price","competitor_price_difference","competitor_ids","map_icon_name","data_column","restaurantColumn","dark_theme","light_theme","default_pice_band","default_metric","margin_trends_default_period","est_v_act_table_cols","price_band_analysis_hierarchy_cols","price_band_analysis_segmentation_cols","margin_trends_period_dropdown","key","price_band_analysis_dropdowns","graph_metric_dropdown","id","price_band_segmentation_row_dropdown","price_band_segmentation_row_default","price_band_segmentation_metric_dropdown","price_band_segmentation_metric_default","metric_trends_metric_wap","metric_trends_metric_atv","estimated_v_actual_price_band_map","est_v_act_table_decimal","yesterday","today","min_ago","hr_ago","two_digits","approval","price_band_graphs","graph_dropdown","disable_absolute_toggle_metric","transactions","scroll","classes","scenario_planner","recommendation_landing","default_mouse_speed","price_mapping_message","sortArrayOfObjects","keyToSort","direction","compare","objectA","objectB","valueA","valueB","includes","index","slice","sort","inject","some","route","state","permissionService","hasPermission","NavigationBarComponent_p_sidebar_0_ng_template_1_img_1_Template_img_click_0_listener","navigation_open","selected_menu_item","expanded","tooltipShow","NavigationBarComponent_p_sidebar_0_ng_template_1_img_2_Template_img_click_0_listener","NavigationBarComponent_p_sidebar_0_ng_template_1_img_1_Template","NavigationBarComponent_p_sidebar_0_ng_template_1_img_2_Template","NavigationBarComponent_p_sidebar_0_ng_template_1_Template","menu_data","NavigationBarComponent_div_1_img_5_Template_img_click_0_listener","_r12","ctx_r11","NavigationBarComponent_div_1_img_6_Template_img_click_0_listener","_r14","ctx_r13","NavigationBarComponent_div_1_Template_div_click_0_listener","_r16","ctx_r15","NavigationBarComponent_div_1_Template_img_click_1_listener","ctx_r17","homePage","NavigationBarComponent_div_1_img_5_Template","NavigationBarComponent_div_1_img_6_Template","NavigationBarComponent_div_1_Template_button_click_14_listener","ctx_r18","navigationIconOnClick","label","items","convertMenuData","bind","checkSideBarVisiblity","url","classList","toggle","NavigationBarComponent_Template","NavigationBarComponent_p_sidebar_0_Template","NavigationBarComponent_div_1_Template","OrientationType","DeviceType","ScreenSizeType","BreakpointType","Breakpoints","breakpointObserver","_screenSize","Unknown","screenSizeBreakpoints","XSmall","Small","Medium","Large","XLarge","_deviceType","_orientation","deviceAndOrientation","HandsetLandscape","HandsetPortrait","TabletLandscape","TabletPortrait","WebLandscape","WebPortrait","checkScreenSize","checkDeviceTypeAndOrientation","observe","query","keys","breakpoints","Portrait","orientationLandscape","Landscape","Web","Tablet","deviceMobile","Handset","deviceType","orientation","orientationTypes","deviceTypes","element","BreakpointObserver","providedIn","ENV","catchError","throwError","authService","api_url","handleError","post","errorMessage","ErrorEvent","toastrService","OK","CREATED","DELETED","BAD_REQUEST","UNAUTHORIZED","NOT_FOUND","METHOD_NOT_ALLOWED","PAYLOAD_ERROR","INTERNAL_SERVER_ERROR","SERVICE_UNAVAILABLE","toastConfig","closeButton","httpResponse","success","validateMessage","undefined","warning","ToastrService","Subject","convertKeys","navigation_data","navigation_label","exact","originalData","paylaod","getScenarioList","params","getApproversList","getStatusList","getConstraintList","getPriceRecommenderCaterogy","getProductListData","reqPayload","getScenarioPriceRecommendationHeaderDetails","getScenarioPriceRecommendationPriceTierDetails","getScenarioPriceRecommendationEstimatedImpactDetails","getScenarioPriceRecommendationSKUEstimatedImpactDetails","getScenarioPriceRecommendationOriginalImpactDetails","getScenarioPriceRecommendationSKUOriginalImpactDetails","getSKUDetails","getSKUDetailsCount","getContraintsCall","getConstraintListData","constraintCatId","httpOptions","responseType","getRequestIdForNewPriceRecommender","getScenarioIdFromOptimizer","formData","downloadConstraintsRules","getGraphData","downloadRecommenderErrorLogs","checkPriceRecommendation","viewPriceBandConfig","indexedDBService","getStorageType","storage_type","encryptUsingAES256","localStorage","update","config_key","config_value","storageType","getFromSessionStorage","getFromLocalStorage","getFromIndexedDB","decryptUsingAES256","Promise","resolve","reject","getByKey","delete","removeItem","clear","successDeleted","NgxIndexedDBService","CryptoJS","secretKey","uuid_1","salt","uuid_2","encrypted","AES","uuid_3","enc","Utf8","iv","uuid_4","mode","CBC","generateString","charactersLength","i","charAt","Math","floor","random","decrypted","decrypt","TableVirtualScrollDataSource","_moment","moment","loginPage","languageTranslator","topicName","translatedvalue","isNullOrEmptyOrUndefinedOrEmptyArray","Array","isArray","setValuesToSessionStorage","setValue","getValuesFromSessionStorage","validateNumberCheck","newPrice","removeComma","replace","Number","accessTokenKey","viewPortCalcuation","count","getStartDate","end_date","default_range","setDate","getDate","getEndDate","start_date","formatDate","date","month","getMonth","year","getFullYear","priceMetricCalculationWithDecimalService","decimal_points","negativeNumberValidation","tem","parseFloat","toFixed","priceMetricCalculationWithThousandsService","isNaN","temp","thousand_flag","million_flag","num","abs","priceDifferenceCalculation","scenario_price","price_difference","languageSensitiveFormatting","stringNumber","parseLocaleNumber","isCurrencyValidation","currency_code","Intl","NumberFormat","minimumFractionDigits","format","fileType","fileName","blob","Blob","downloadURL","URL","createObjectURL","href","dateToNiceString","click","myDate","d","ye","DateTimeFormat","mo","da","sortData","active","sortCompetitorData","maxDateFilter","timeRestrictionValue","restrictedDate","add","setMinYears","currentYear","toDate","inputDate","setHours","toISOString","split","pastDate","now","diff","minutes","hours","toLocaleTimeString","hour","minute","hour12","isAccessAvailable","buttonKey","feature","changeWheelSpeed","container","speedY","scrollY","handleScrollReset","scrollTop","handleMouseWheel","e","deltaY","preventDefault","limitY","scrollHeight","clientHeight","addEventListener","setEffectiveDateValidation","min_date","max_date","production","REDIRECT_URL","__NgCli_bootstrap_1","platformBrowser","bootstrapModule","catch","err"],"sourceRoot":"webpack:///","x_google_ignoreList":[35,37]}