application-sidebar 1.0.41 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/app-details.mjs +1 -1
- package/esm2022/lib/application-sidebar.component.mjs +839 -88
- package/esm2022/lib/nav-menu-item.mjs +1 -1
- package/esm2022/lib/nav-menus/nav-menus.component.mjs +33 -9
- package/esm2022/lib/navmenu1.mjs +263 -216
- package/esm2022/lib/revised-navigation.mjs +2 -0
- package/esm2022/lib/services/application-sidebar.service.mjs +305 -8
- package/esm2022/lib/services/rest-api.services.mjs +39 -6
- package/esm2022/lib/sidebar-layout.local.mjs +86 -0
- package/esm2022/lib/translations/translations-en.mjs +57 -31
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/application-sidebar.mjs +3031 -135
- package/fesm2022/application-sidebar.mjs.map +1 -1
- package/lib/app-details.d.ts +2 -0
- package/lib/application-sidebar.component.d.ts +132 -1
- package/lib/nav-menu-item.d.ts +7 -0
- package/lib/navmenu1.d.ts +146 -77
- package/lib/revised-navigation.d.ts +83 -0
- package/lib/services/application-sidebar.service.d.ts +49 -1
- package/lib/services/rest-api.services.d.ts +12 -0
- package/lib/sidebar-layout.local.d.ts +19 -0
- package/lib/translations/translations-en.d.ts +53 -27
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application-sidebar.mjs","sources":["../../../projects/application-sidebar/src/lib/constants.ts","../../../projects/application-sidebar/src/lib/services/rest-api.services.ts","../../../projects/application-sidebar/src/lib/services/url-context.service.ts","../../../projects/application-sidebar/src/lib/translations/translations-en.ts","../../../projects/application-sidebar/src/lib/translations/translations-ja.ts","../../../projects/application-sidebar/src/lib/services/translation.service.ts","../../../projects/application-sidebar/src/lib/services/application-sidebar.service.ts","../../../projects/application-sidebar/src/lib/nav-menu.directive.ts","../../../projects/application-sidebar/src/lib/nav-menus/nav-menus.component.ts","../../../projects/application-sidebar/src/lib/nav-menus/nav-menus.component.html","../../../projects/application-sidebar/src/lib/services/mixpanel.service.ts","../../../projects/application-sidebar/src/lib/application-sidebar.component.ts","../../../projects/application-sidebar/src/lib/application-sidebar.template.html","../../../projects/application-sidebar/src/lib/application-sidebar.module.ts","../../../projects/application-sidebar/src/public-api.ts","../../../projects/application-sidebar/src/application-sidebar.ts"],"sourcesContent":["export const constants = {\n baseProdURL:'https://api.intentwise.com/',\n baseStagingURL:'https://apitest.intentwise.com/',\n kBaseDspApiURL: 'https://dspapi.intentwise.com/',\n kBaseDspTestApiURL: 'https://dspapi-test.intentwise.com/',\n STAGING_MENU_BUCKET:'https://s3.us-west-2.amazonaws.com/stagemenu.intentwise.com',\n STAGING_THEME_BUCKET:'https://s3.us-west-2.amazonaws.com/stageassets.intentwise.com',\n PROD_THEME_BUCKET:'https://s3.us-west-2.amazonaws.com/assets.intentwise.com',\n PROD_MENU_BUCKET:'https://s3.us-west-2.amazonaws.com/menu.intentwise.com',\n}","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\nimport { Observable, of, throwError } from 'rxjs';\nimport { retry, catchError, map } from 'rxjs/operators';\nimport { CookieService } from 'ngx-cookie-service';\nimport { constants } from '../constants';\n@Injectable({\n providedIn: 'root'\n})\n\nexport class RestApiService {\n\n private baseURL:string = constants.baseProdURL;\n private DSPbaseURL:string = constants.kBaseDspApiURL;\n private token:any;\n private httpOptions;\n public isStructerApiCalled = false;\n\n constructor(private http: HttpClient,private cookie: CookieService) { \n let domain = window.location.hostname;\n if((domain.includes('apptest.intentwise.com') || domain.includes('herokuapp') || \n domain.includes('localhost')) && !localStorage.getItem('useProd')){\n this.baseURL = constants.baseStagingURL;\n this.DSPbaseURL = constants.kBaseDspTestApiURL;\n }\n const isCookieExists: boolean = this.cookie.check('loggedInUser');\n\n if (isCookieExists) {\n const loggedInUser = JSON.parse(this.cookie.get('loggedInUser'));\n this.token = loggedInUser.token;\n } \n \n this.httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'X-Auth-Token' : this.token\n })\n } \n\n }\n\n /*========================================\n CRUD Methods for consuming RESTful API\n =========================================*/\n\n get menuDownloadURL(){\n let domain = window.location.hostname;\n let apiURL = constants.PROD_MENU_BUCKET+'/navmenu.json'\n if(domain.includes('apptest.intentwise.com') || domain.includes('herokuapp') || domain.includes('localhost')){\n apiURL = constants.STAGING_MENU_BUCKET+'/navmenu.json';\n }\n return apiURL;\n }\n\n // Http Options\n \n\n public getRecommendationData(orgId, businessId, accountId) : Observable<any>{\n let url = this.baseURL+ 'organization/' + orgId + '/businessgroup/' + businessId + '/account/' + accountId +'/recommendation?version=v2';\n let responseType = null;\n let method = 'GET';\n let body = [];\n\n this.httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'X-Auth-Token' : this.token\n })\n } \n return this.http.get(url, this.httpOptions)\n .pipe(\n map((res) => { return res })\n );\n }\n\n public getStructureAPISupportData(organizationId: string, businessGroupId: string, amsAccountId: string): Observable<any> {\n try {\n const url = `${this.DSPbaseURL}organization/${organizationId}/businessGroup/${businessGroupId}/account/${amsAccountId}/dsp/structureapisupport`;\n const localResponse = localStorage.getItem('structure_support_data');\n this.isStructerApiCalled = true;\n if (localResponse) {\n const parsedResponse = JSON.parse(localResponse);\n if (parsedResponse && parsedResponse[amsAccountId]) {\n this.isStructerApiCalled = false;\n return of(parsedResponse[amsAccountId]);\n }\n }\n \n this.httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n authtoken: this.token\n })\n };\n \n return this.http.get(url, this.httpOptions).pipe(\n map((res: any) => {\n const updatedData = localResponse ? JSON.parse(localResponse) : {};\n updatedData[amsAccountId] = res;\n localStorage.setItem('structure_support_data', JSON.stringify(updatedData));\n this.isStructerApiCalled = false;\n return res;\n }),\n catchError((error: HttpErrorResponse) => {\n this.isStructerApiCalled = false;\n if (error.status === 404) {\n return of(null);\n } else {\n throw error;\n }\n })\n );\n } catch (error) {\n console.error('Error in getStructureAPISupportData:', error);\n throw error;\n }\n }\n public getjsonMenulists(applicationDetails): Observable<any> {\n try {\n \n return this.http.get(this.menuDownloadURL)\n .pipe(\n map((res) => { return res })\n );\n } catch (error) {\n throw error;\n }\n }\n\n\n}","import { Injectable } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport moment from 'moment';\n\n@Injectable()\nexport class UrlContextService {\n private queryParams;\n \n\n constructor(private activatedRoute: ActivatedRoute, public router: Router) {\n this.activatedRoute.queryParams.subscribe(params => {\n this.queryParams = params;\n });\n }\n\n public prepareUrlWithQueryParams = function(url, params) {\n if(Object.keys(params).length > 0) {\n url += \"?\";\n for(var key in params) {\n url += key + \"=\" + params[key] + \"&\";\n }\n url = url.replace(/&\\s*$/, \"\");\n }\n return url;\n }\n\n public setDateRangeUrlVal = function(dateRange) {\n if(typeof dateRange == 'object') {\n if(dateRange.value == 'custom') {\n return moment(dateRange.startDate).format('X') + ',' +\n moment(dateRange.endDate).format('X') + ',' +\n moment(dateRange.prevStartDate).format('X') + ',' +\n moment(dateRange.prevEndDate).format('X');\n } else {\n return dateRange.name;\n }\n } else {\n return dateRange;\n }\n }\n\n public validateKeyStroke = function(event) {\n var keystroke;\n console.log(event);\n if(navigator.platform.toUpperCase().indexOf('MAC')>=0) {\n keystroke = 'metaKey';\n } else {\n keystroke = 'ctrlKey';\n }\n\n if(event[keystroke]) return true;\n else return false;\n }\n\n public setUrlAndOpenTab = function(url, params, isRouterLink){\n if(Object.keys(params).length > 0) {\n url = this.prepareUrlWithQueryParams(url, params);\n url += \"&\";\n } else {\n url += \"?\";\n }\n url += 'tid=' + Math.random().toString(36).substring(7) + \"-\" + Math.random().toString(36).substring(7) + \"-\"\n + Math.random().toString(36).substring(7) + \"-\" + Math.random().toString(36).substring(7);\n \n\n if(this.queryParams.hasOwnProperty('useProd')) {\n url += '&useProd='+this.queryParams['useProd'];\n }\n if(isRouterLink){\n console.log(\"New Tab Router Url =\", url);\n this.router.navigate([], { relativeTo: this.activatedRoute, queryParams: this.queryParams, replaceUrl: true}).then(result => { window.open(url, '_blank'); });\n }\n else{\n console.log(\"New Tab Link Url \", `${window.location.origin}/${url}`);\n window.open(`${window.location.origin}/${url}`, '_blank');\n }\n }\n get isDevEnvironment(){\n try{\n if( window.location.href.indexOf('herokuapp') > -1 || window.location.href.indexOf('localhost') > -1 || window.location.href.indexOf('test') > -1){\n if(this.queryParams.hasOwnProperty('useProd') || (localStorage.getItem('useProd') && localStorage.getItem('useProd') !== null)){\n return false;\n }else{\n return true\n }\n }else{\n return false\n }\n }catch(error){\n throw error;\n }\n \n \n }\n}","export const EN_LABELS = {\n \"AMAZON_SPONSORED_ADS\": \"Amazon Sponsored Ads\",\n \"INTENTWISE_ANALYTICS_CLOUD\": \"Intentwise Analytics Cloud\",\n \"INTENTWISE_EXPLORE\": \"Intentwise Explore (AMC)\",\n \"ANALYTICS_CLOUD\": \"Analytics Cloud\",\n \"EXPLORE\": \"Explore (AMC)\",\n \"SHARE_OF_VOICE\": \"Share Of Voice\",\n \"CONTENT_ANALYTICS\": \"Content Analytics\",\n \"AMAZON_DSP\": \"Amazon DSP\",\n \"WALMART\": \"Walmart\",\n \"CRITEO\": \"Criteo\",\n \"INSTACART\": \"Instacart\",\n \"AMAZON_ATTRIBUTION\": \"Amazon Attribution\",\n \"AMAZON_VENDOR_CENTRAL\": \"Amazon Vendor Central\",\n \"AMAZON_SELLER_CENTRAL\": \"Amazon Seller Central\",\n \"GLOBAL_SETTINGS\": \"Global Settings\",\n \"AMAZON_SELLER_ANALYTICS\" : \"Amazon Seller Analytics\",\n \"AMAZON_VENDOR_ANALYTICS\" : \"Amazon Vendor Analytics\",\n \"GETTING_STARTED\": \"Getting Started\",\n \"QUERIES\": \"Queries\",\n \"QUERY_RESULTS\": \"Query Results\",\n \"AUDIENCES\": \"Audiences\",\n \"INSIGHTS\": \"Insights\",\n \"INSTANCES\": \"Instances\",\n \"DASHBOARD_TEMPLATES\": \"Dashboard Templates\",\n\n \"MY_CONNECTIONS\": \"My Connections\",\n \"ANALYTICS_LAB\": \"Analytics Lab\",\n \"SYSTEM_HEALTH\": \"System Health\",\n\n \"ACCOUNT_MANAGEMENT\": \"Account Management\",\n \"BRAND_TERMS\": \"Brand Terms\",\n \"LABELS\": \"Labels\",\n \"SUB_BRANDS\": \"Sub-Brands\",\n \"PRODUCT_META_DATA\": \"Product Meta Data\",\n \"SELLER_ANALYTICS_APP\" : \"Amazon Seller Analytics\",\n \"VENDOR_ANALYTICS_APP\" : \"Amazon Vendor Analytics\",\n\n \"HOURLY_METRICS\": \"Hourly Metrics\",\n \"SPONSORED_PRODUCTS\": \"Sponsored Products\",\n \"SPONSORED_BRANDS\": \"Sponsored Brands\",\n \"SPONSORED_DISPLAY\": \"Sponsored Display\",\n \"CUSTOM_REPORTS\": \"Custom Reports\",\n \"INVENTORY_OVERVIEW\": \"Inventory Overview\",\n \"WHAT_CHANGED\":\"What Changed?\",\n \"SETTINGS\": \"Settings\",\n\n \"ALL_ACCOUNTS\": \"All Accounts\",\n \"USER_SETTINGS\": \"User Settings\",\n \"OVERVIEW\": \"Overview\",\n \"RECOMMENDATIONS\": \"Recommendations\",\n \"CAMPAIGNS\": \"Campaigns\",\n \"AD_GROUPS\": \"Ad Groups\",\n \"KEYWORDS\": \"Keywords\",\n \"PRODUCT_TARGETING\": \"Product Targeting\",\n \"PRODUCTS\": \"Products\",\n \"SEARCH_TERMS\": \"Search Terms\",\n \n \"AMAZON_MARKETING_STREAM\": \"Amazon Marketing Stream\",\n \"RETAIL_ANALYTICS\": \"Retail Analytics\",\n \n \"PLACEMENT\": \"Placement\",\n \"AUTO_TARGETING\": \"Auto Targeting\",\n \n \"PRODUCT_ADS\": \"Product Ads\",\n \"CATEGORY_BENCHMARK\": \"Category Benchmark\",\n \"PRODUCT_AUD_TARGETING\": \"Product/Aud Targeting\",\n \n \"HIGH_LEVEL_METRICS\": \"High Level Metrics\",\n \"ORGANIC_RANKING\": \"Organic Ranking\",\n \"ST_RECOMMENDATIONS\": \"ST Recommendations\",\n \"ASIN_OVERVIEW\": \"ASIN Overview\",\n \"CAMPAIGN_REPORT_DOWNLOAD\": \"Campaign Report Download\",\n \"SC_ORDER_REPORTS\": \"SC Order Reports\",\n \"INVENTORY_FORECAST\": \"Inventory Forecast\",\n \"CONTENT_CHANGE_TRACKER\": \"Content Change Tracker\",\n \"ACCOUNT_VIEW\": \"Account View\",\n \"VENDOR_SALES_AND_AMS\": \"Vendor Sales and AMS\",\n \"DEMAND_AND_FORCAST\": \"Demand and Forcast\",\n \"VENDOR_CHARGE_BACKS\": \"Vendor Charge Backs\",\n \"VENDOR_PRODUCT_MARGIN\": \"Vendor Product Margin\",\n \"SC_TACOS_VIEW\": \"SC Tacos View\",\n \"INTERNAL_DASHBOARD\": \"Internal Dashboard\",\n \"PRODUCT_OVERVIEW_DOWNLOAD\": \"Product Overview Download\",\n \"REVIEW_DETAILS\": \"Review Details\",\n \"SELLER_PRODUCT_PERFORMANCE\": \"Seller Product Performance\",\n \"BUY_BOX_TRACKING\": \"Buy Box Tracking\",\n \"PERFORMANCE_DIAGNOSTICS\": \"Performance Diagnostics\",\n \"PERF_DIAGNOSTICS_DETAIL\": \"Perf Diagnostics Detail\",\n \"POS_NEW_PRODUCTS\": \"POS New Products\",\n \"COMPETITIVE_AD_TRACKING\": \"Competitive Ad Tracking\",\n \n \"ALERTS\": \"Alerts\",\n \"AUTOMATED_RULES\": \"Automated Rules\",\n \"CHANGE_HISTORY\": \"Change History\",\n \"MONTHLY_BUDGET\": \"Monthly Budget\",\n \"CUSTOM_PRODUCT_ATTRIBUTES\": \"Custom Product Attributes\",\n \"PRODUCT_COSTS\": \"Product Costs\"\n}","export const JA_LABELS = {\n \"AMAZON_SPONSORED_ADS\": \"Amazon のスポンサー広告\",\n \"INTENTWISE_ANALYTICS_CLOUD\": \"Intentwise アナリティクス クラウド\",\n \"INTENTWISE_EXPLORE\": \"Intentwise エクスプロア (AMC)\",\n \"ANALYTICS_CLOUD\": \"アナリティクス クラウド\",\n \"EXPLORE\": \"エクスプロア (AMC)\",\n \"SHARE_OF_VOICE\": \"シェア・オブ・ボイス\",\n \"CONTENT_ANALYTICS\": \"コンテンツアナリティクス\",\n \"AMAZON_DSP\": \"Amazon DSP\",\n \"WALMART\": \"ウォルマート\",\n \"CRITEO\": \"クリテオ\",\n \"INSTACART\": \"インスタカート\",\n \"AMAZON_ATTRIBUTION\": \"アマゾンの帰属\",\n \"AMAZON_VENDOR_CENTRAL\": \"アマゾンベンダーセントラル\",\n \"AMAZON_SELLER_CENTRAL\": \"Amazon セラーセントラル\",\n \"GLOBAL_SETTINGS\": \"全体設定\",\n \"AMAZON_SELLER_ANALYTICS\" : \"Amazon セーラーアナリティクス\",\n \"AMAZON_VENDOR_ANALYTICS\" : \"Amazon ベンダーアナリティクス\",\n \"GETTING_STARTED\": \"はじめる\",\n \"QUERIES\": \"クエリ\",\n \"QUERY_RESULTS\": \"クエリ結果\",\n \"AUDIENCES\": \"オーディエンス\",\n \"INSIGHTS\": \"インサイト\",\n \"INSTANCES\": \"インスタンス\",\n \"DASHBOARD_TEMPLATES\": \"ダッシュボードテンプレート\",\n\n \"MY_CONNECTIONS\": \"コネクション\",\n \"ANALYTICS_LAB\": \"アナリティクスラボ\",\n \"SYSTEM_HEALTH\": \"システムヘルス\",\n\n \"ACCOUNT_MANAGEMENT\": \"アカウント管理\",\n \"BRAND_TERMS\": \"ブランドキーワード\",\n \"LABELS\": \"ラベル\",\n \"SUB_BRANDS\": \"サブブランド\",\n \"PRODUCT_META_DATA\": \"製品メタデータ\",\n \"SELLER_ANALYTICS_APP\" : \"Amazon セーラーアナリティクス\",\n \"VENDOR_ANALYTICS_APP\" : \"Amazon ベンダーアナリティクス\",\n\n \"HOURLY_METRICS\": \"時間ごとのメトリクス\",\n \"SPONSORED_PRODUCTS\": \"スポンサープロダクト\",\n \"SPONSORED_BRANDS\": \"スポンサーブランド\",\n \"SPONSORED_DISPLAY\": \"スポンサーディスプレイ\",\n \"CUSTOM_REPORTS\": \"カスタムレポート\",\n \"INVENTORY_OVERVIEW\": \"インベントリの概要\",\n \"WHAT_CHANGED\":\"何が変わったのでしょうか?\",\n \"SETTINGS\": \"設定\",\n \n \"ALL_ACCOUNTS\": \"すべてのアカウント\",\n \"USER_SETTINGS\": \"ユーザー設定\",\n \"OVERVIEW\": \"概要\",\n \"RECOMMENDATIONS\": \"推奨事項\",\n \"CAMPAIGNS\": \"キャンペーン\",\n \"AD_GROUPS\": \"広告グループ\",\n \"KEYWORDS\": \"キーワード\",\n \"PRODUCT_TARGETING\": \"商品ターゲティング\",\n \"PRODUCTS\": \"商品\",\n \"SEARCH_TERMS\": \"検索キーワード\",\n \n \"AMAZON_MARKETING_STREAM\": \"Amazonマーケティングストリーム\",\n \"RETAIL_ANALYTICS\": \"リテールアナリティクス\",\n \n \"PLACEMENT\": \"プレイスメント\",\n \"AUTO_TARGETING\": \"オートターゲティング\",\n \n \"PRODUCT_ADS\": \"商品広告\",\n \"CATEGORY_BENCHMARK\": \"カテゴリベンチマーク\",\n \"PRODUCT_AUD_TARGETING\": \"商品/オーディエンスターゲティング\",\n\n \"HIGH_LEVEL_METRICS\": \"高レベルのメトリクス\",\n \"ORGANIC_RANKING\": \"オーガニックランキング\",\n \"ST_RECOMMENDATIONS\": \"STの推奨事項\",\n \"ASIN_OVERVIEW\": \"ASINの概要\",\n \"CAMPAIGN_REPORT_DOWNLOAD\": \"キャンペーンレポートダウンロード\",\n \"SC_ORDER_REPORTS\": \"SC注文レポート\",\n \"INVENTORY_FORECAST\": \"在庫予測\",\n \"CONTENT_CHANGE_TRACKER\": \"コンテンツ変更トラッカー\",\n \"ACCOUNT_VIEW\": \"アカウントビュー\",\n \"VENDOR_SALES_AND_AMS\": \"ベンダー販売とAMS\",\n \"DEMAND_AND_FORCAST\": \"需要と予測\",\n \"VENDOR_CHARGE_BACKS\": \"ベンダーのチャージバック\",\n \"VENDOR_PRODUCT_MARGIN\": \"ベンダー製品マージン\",\n \"SC_TACOS_VIEW\": \"SCタコスビュー\",\n \"INTERNAL_DASHBOARD\": \"内部ダッシュボード\",\n \"PRODUCT_OVERVIEW_DOWNLOAD\": \"製品概要のダウンロード\",\n \"REVIEW_DETAILS\": \"レビューの詳細\",\n \"SELLER_PRODUCT_PERFORMANCE\": \"販売者の製品パフォーマンス\",\n \"BUY_BOX_TRACKING\": \"購入ボックス追跡\",\n \"PERFORMANCE_DIAGNOSTICS\": \"パフォーマンス診断\",\n \"PERF_DIAGNOSTICS_DETAIL\": \"パフォーマンス診断の詳細\",\n \"POS_NEW_PRODUCTS\": \"POS新製品\",\n \"COMPETITIVE_AD_TRACKING\": \"競合広告の追跡\",\n \n \"ALERTS\": \"アラート\",\n \"AUTOMATED_RULES\": \"自動化されたルール\",\n \"CHANGE_HISTORY\": \"履歴を変更\",\n \"MONTHLY_BUDGET\": \"月々の予算\",\n \"CUSTOM_PRODUCT_ATTRIBUTES\": \"カスタム商品属性\",\n \"PRODUCT_COSTS\": \"商品コスト\",\n}","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, CanLoad, Route, RouterStateSnapshot, UrlSegment, UrlTree } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { EN_LABELS } from '../translations/translations-en';\nimport { JA_LABELS } from '../translations/translations-ja';\nimport { CookieService } from 'ngx-cookie-service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TranslationService {\n private translation: any;\n constructor(private cookie: CookieService){\n if (this.cookie.get('selectedLanguage') && this.cookie.get('selectedLanguage') == 'ja') {\n this.translation = JA_LABELS;\n } else {\n this.translation = EN_LABELS;\n }\n }\n\n public getLabel(key){\n return this.translation[key];\n }\n public selectedApplication(applicationDetails, headmenu){\n if(applicationDetails && headmenu){\n let siteId = applicationDetails?.sidebarInfo?.siteId ? applicationDetails?.sidebarInfo?.siteId : 1;\n let name = Number(siteId) == 1 ? headmenu?.name : headmenu?.name.replace(/Intentwise/gi, \"\");\n return this.translateName(name) ? this.translateName(name) : name;\n }\n return '';\n }\n public translateName(name){\n let translateName = name;\n if(name.includes('TranslationService')){\n translateName = name.replace(/TranslationService.getLabel/gi,'').replace(/[\\])}[{(]/g, '').replace(/(\"|')/g, \"\");\n }\n return this.translation[translateName] ? this.translation[translateName] : translateName; \n }\n}","import { Injectable } from '@angular/core';\nimport { RestApiService } from './rest-api.services';\nimport {ActivatedRoute } from '@angular/router';\nimport { UrlContextService } from './url-context.service';\nimport { EN_LABELS } from '../translations/translations-en';\nimport { JA_LABELS } from '../translations/translations-ja';\nimport { TranslationService } from './translation.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApplicationSidebarService {\n\n\tconditions \t\t\t= ['org_user_ctrl', 'visibility_roles', 'visibility_roles_not_in', 'account_ids', 'customer_types_not_in','customer_types','organization_ids', 'organization_ids_not_in', 'account_type', 'account_ids_not_in', 'organization_setting', 'organization_setting_not_in', 'app_spacific_config_check', 'campaign_types', 'incontext_campaign_targeting', 'incontext_campaign_targeting_walmart', 'subscription_types', 'siteIds', 'siteNotIds', 'not_account_type', 'not_account_name', 'disable_readonly_org', 'user_emails', 'hide_for_user', 'app_org_setting','app_org_setting_not_in','ng_app_setting','ng_app_setting_not_in','targetting_types','targetting_types_not_in','hide_for_user'];\n\tMenuList \t\t\t= [];\n\n\tapplicationIds \t\t= [];\n\tenableAllMenusByOrg = [30780]\n\t\n\tappDetails:\tany;\n\tisStructureApiSupport:\tany;\n\tisManagedServiceAcc: boolean;\n\tSettingsMenuList: any[];\n\tappNames: string[];\n\tprivate menulists: any;\n\tcontentAppRoutes\t\t\t=['content-insight','content-analytics','content','product-meta-data','brand-terms-settings','labels-settings','sub-brands','sub-brands-mapping','sov-settings' ,'content-settings','search-query-performance']\n\tsovAppRoutes\t\t\t\t=['insights','share-of-voice','brands','keywords','products','daily-tracker','daily-tracker/brands','daily-tracker/keywords','daily-tracker/products','raw-data','overview','sov','product-meta-data','brand-terms-settings','labels-settings','sub-brands','sub-brands-mapping','sov-settings' ,'content-settings','search-query-performance']\n\tsellerAnalyticsAppRoutes \t=['seller/insights','product-meta-data','brand-terms-settings','labels-settings','sub-brands','sub-brands-mapping','sov-settings' ,'content-settings','search-query-performance']\n\tvendorAnalyticsAppRoutes\t=['vendor/insights','product-meta-data','brand-terms-settings','labels-settings','sub-brands','sub-brands-mapping','sov-settings' ,'content-settings','search-query-performance']\n\t\n\ttypeStatusConfigs = {\n 'SPONSORED_KEYWORD_BIDS' : true,\n 'SPONSORED_PRODUCT_MANUAL_TARGETING_BIDS' : true,\n 'SPONSORED_PRODUCT_AUTO_TARGETING_BIDS' : true,\n 'SPONSORED_KEYWORD_AUTO' : true,\n 'SPONSORED_KEYWORD' : true,\n 'SP_KEYWORDS_BID_GAP' : false,\n 'SP_PLACEMENT_BID' : false,\n 'SP_TARGETING_TYPE_BREAKDOWN' : false,\n 'SP_MATCH_TYPE_BREAKDOWN' : false,\n 'SP_SB_KEYWORD_PARITY' : true,\n 'HEADLINE_KEYWORD_BIDS' : true,\n 'SB_KEYWORDS_BID_GAP' : false,\n 'SB_MATCH_TYPE_BREAKDOWN' : false,\n 'SB_SP_KEYWORD_PARITY' : true,\n 'NO_KEYWORD_BIDS' : true,\n 'CAMPAIGN_TYPE_BREAKDOWN' : false,\n 'AUTO_TO_MANUAL_ASIN_PARITY' : true,\n 'MANUAL_TO_AUTO_ASIN_PARITY' : true,\n 'COMPETITOR_PRODUCT' : true,\n 'SPONSORED_BRAND_KEYWORD': true\n }\n\n\t\n\n\tconstructor(\n\t\tprivate RestApiService: RestApiService,\n\t\tprivate activatedRoute:ActivatedRoute,\n\t\tprivate translate:TranslationService,\n\t\tprivate urlContextService: UrlContextService) {}\n\n\tgetTypeStatusConfigs(){\n\t\treturn this.typeStatusConfigs;\n\t}\n\tconstructChildMenus(menuItems) {\n if (this.appDetails.listMenus) {\n for (let item of menuItems) {\n if (this.appDetails.appSet) {\n if (item.id.includes(this.appDetails.applicationId)) {\n for (let listMenuItem of this.appDetails.listMenus) {\n if (item.id == listMenuItem.id) {\n item.children = listMenuItem.children;\n }\n }\n }\n }\n else if (item.id == this.appDetails.applicationId) {\n item.children = this.appDetails.listMenus;\n }\n }\n }\n return menuItems;\n }\n\n\tgetMenuList(appDetails, menulists) {\n this.appDetails = appDetails;\n this.MenuList = [];\n let appendChildMenus;\n if (window.location.href.indexOf('herokuapp') > -1 || window.location.href.indexOf('localhost') > -1) {\n appendChildMenus = this.constructChildMenus(menulists);\n }\n else {\n appendChildMenus = menulists;\n }\n appendChildMenus.forEach((menu) => {\n menu.name = this.translate.translateName(menu.name);\n menu.children && menu.children.forEach((childMenu) => {\n childMenu.name = this.translate.translateName(childMenu.name);\n childMenu.children && childMenu.children.forEach((child) => {\n child.name = this.translate.translateName(child.name);\n });\n });\n });\n this.menulists = appendChildMenus.filter(list => list.id !== 'app_global_settings' && list.id !== 'app_intentwise_community');\n let sortedMenulists = this.menulists.sort((a, b) => (a.order > b.order) ? 1 : -1);\n this.applicationIds = sortedMenulists.map((appId) => appId.id);\n this.appNames = this.applicationIds;\n // if((this.appDetails.currentOrganization.organizationId === 10390 ||\n // this.appDetails.currentOrganization.organizationId === 10530) &&\n // this.appDetails.userInfo.email == \"sreenath@intentwise.com\") {\n // this.appNames = this.applicationIds.filter((name) => {\n // return (name != 'ads_amazon_content_share_of_voice' && name != 'ads_amazon_content_content_analytics');\n // });\n // }\n for (let appName of sortedMenulists) {\n if (this.appNames.indexOf(appName.id) >= 0) {\n let list = this.getApplicationMenuItem(appName);\n if (list && list.children != undefined) {\n if (appName.id == 'ads_amazon_dsp') {\n if (list.children && list.children.length > 0) {\n for (let child of list.children) {\n if (this.isManagedServiceAcc && child.id == \"ams_dsp_settings\") {\n child.children = child.children.filter(s_child => s_child.id !== 'ams_dsp_rules');\n }\n }\n }\n this.MenuList.push(list);\n }\n else {\n this.MenuList.push(list);\n }\n }\n }\n else if (appName.type != 'expandable') {\n let list = this.getApplicationMenuItem(appName);\n if (list != undefined) {\n this.MenuList.push(list);\n }\n }\n }\n return this.MenuList;\n }\n\n\tgetApplicationMenuItem(currentMenuItem:any): any {\n\t\tlet menuItem = {\n\t\t\tchildren : []\n\t\t};\n\n\t\tif(currentMenuItem.type != 'expandable'){\n\t\t\tlet allKeys = Object.keys(currentMenuItem);\n\t\t\tconst hasConditionstoCheck = this.conditions.some(condition => allKeys.includes(condition))\n\t\t\tif(hasConditionstoCheck){\n\t\t\t\tlet isMenuAllowed = this.checkAllConditions(currentMenuItem, this.conditions, allKeys);\n\t\t\t\tif(isMenuAllowed){\n\t\t\t\t\tmenuItem = currentMenuItem;\n\t\t\t\t}\n\t\t\t\telse{\n\t\t\t\t\t// console.log('return empty');\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse{\n\t\t\t\tmenuItem = currentMenuItem;\n\t\t\t}\n\t\t}\n\t\telse{\n\t\t\tlet allKeys = Object.keys(currentMenuItem);\n\t\t\tconst hasConditionstoCheck = this.conditions.some(condition => allKeys.includes(condition))\n\t\t\tif(!hasConditionstoCheck || (hasConditionstoCheck && this.checkAllConditions(currentMenuItem, this.conditions, allKeys))) {\n\t\t\t\tObject.keys(currentMenuItem).forEach((key)=>{ \n\t\t\t\t\tif (typeof currentMenuItem[key] != \"object\" ) {\n\t\t\t\t\t\tmenuItem[key] = currentMenuItem[key];\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\tmenuItem.children = [];\n\t\t\t\tfor(let child of currentMenuItem.children){\n\t\t\t\t\tlet nav_menu = this.getApplicationMenuItem(child);\n\t\t\t\t\tif(nav_menu != null){ \n\t\t\t\t\t\tif(nav_menu.children != undefined){\n\t\t\t\t\t\t\tif(nav_menu.children.length > 0){\n\t\t\t\t\t\t\t\tmenuItem.children.push(nav_menu);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse{\n\t\t\t\t\t\t\tmenuItem.children.push(nav_menu);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}else{\n\t\t\t\treturn;\n\t\t\t}\t\t\t\n\t\t}\n\t\treturn menuItem;\n\t}\n\n\tgetGlobalSettingsMenu(appDetails : any, menulists) {\n\t\tthis.appDetails = appDetails;\t\n\t\tthis.SettingsMenuList = [];\n\t\tlet globalSettingMenus = menulists.filter(list=> list.id == 'app_global_settings')\n\t\tlet GLOBAL_SETTING_LIST_SORTED = globalSettingMenus.sort((a, b) => (a.order > b.order) ? 1 : -1);\n\t\tfor (let appName of GLOBAL_SETTING_LIST_SORTED) {\n\t\t\tif(appName.type == 'expandable'){\n\t\t\t\tlet list = this.getApplicationMenuItem(appName);\n\t\t\t\tif(list && list.children && list.children.length > 0){\n\t\t\t\t\tthis.SettingsMenuList.push(list);\n\t\t\t\t}\t\t\t\t\n\t\t\t}else if(appName.type != 'expandable'){\n\t\t\t\tlet list = this.getApplicationMenuItem(appName);\n\t\t\t\tif(list != undefined){\n\t\t\t\t\tthis.SettingsMenuList.push(list)\n\t\t\t\t}\n\t\t\t}\n\t\t}\t\t\n\t\treturn this.SettingsMenuList;\n\t}\n\n\tcheckAllConditions(currentMenuItem: any, conditions, allKeys: string[]): any {\n\t\t// Initialize as true - all conditions must pass (AND logic)\n\t\tlet includeMenu = true;\n\t\tif((!this.appDetails.currentAccount && currentMenuItem.id == \"ads_overview\" && \n\t\t\t!this.appDetails.currentOrganization['noActiveAccounts'])){\n\t\t\treturn true;\n\t\t}\n\t\telse if(currentMenuItem.id === \"ads_signup_overview\") {\n\t\t\tif(!this.appDetails.currentAccount && this.appDetails.currentOrganization['noActiveAccounts']){\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\telse{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\tfor(let cond of conditions){\n\t\t\tif(currentMenuItem[cond] != undefined){\n\t\t\t\tlet conditionResult = true;\n\t\t\t\t\n\t\t\t\tswitch(cond){\n\t\t\t\t\tcase 'visibility_roles': { \n\t\t\t\t\t\tconditionResult = this.checkForRoles(currentMenuItem[cond]);\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\tbreak; \n\t\t\t\t\t} \n\t\t\t\t\tcase 'visibility_roles_not_in': { \n\t\t\t\t\t\tconditionResult = this.checkForvisibilityRolesNotIn(currentMenuItem[cond]);\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\tbreak; \n\t\t\t\t\t} \n\t\t\t\t\tcase 'disable_readonly_org':{\n\t\t\t\t\t\tconditionResult = this.disableForOrgwithReadOnly(currentMenuItem[cond]);\n\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase 'organization_ids' : {\n\t\t\t\t\t\tif(this.appDetails.currentAccount && this.appDetails.currentAccount.organizationId) {\n\t\t\t\t\t\t\tconditionResult = this.checkForSpecifiedIds(currentMenuItem[cond],currentMenuItem,this.appDetails.currentAccount.organizationId);\t\t\t\t\t\t\t\n\t\t\t\t\t\t} else if(this.appDetails.currentOrganization && this.appDetails.currentOrganization.organizationId) {\n\t\t\t\t\t\t\tconditionResult = this.checkForSpecifiedIds(currentMenuItem[cond],currentMenuItem,this.appDetails.currentOrganization.organizationId);\t\t\t\t\t\t\t\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconditionResult = false;\n\t\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase 'organization_ids_not_in' : {\n\t\t\t\t\t\tif(this.appDetails.currentAccount && this.appDetails.currentAccount.organizationId) {\n\t\t\t\t\t\t\tconditionResult = this.checkForSpecifiedIdsNotIn(currentMenuItem[cond],currentMenuItem,this.appDetails.currentAccount.organizationId);\n\t\t\t\t\t\t} else if(this.appDetails.currentOrganization && this.appDetails.currentOrganization.organizationId) {\n\t\t\t\t\t\t\tconditionResult = this.checkForSpecifiedIdsNotIn(currentMenuItem[cond],currentMenuItem,this.appDetails.currentOrganization.organizationId);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconditionResult = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase 'org_user_ctrl':{\n\t\t\t\t\t\tif(this.appDetails.currentOrganization && this.appDetails.currentOrganization.organizationId) {\n\t\t\t\t\t\t\tconditionResult = this.checkForOrgWithUserRole(currentMenuItem[cond],currentMenuItem,this.appDetails.currentOrganization.organizationId);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconditionResult = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase 'account_ids' : { \n\t\t\t\t\t\tif(this.appDetails.currentAccount && this.appDetails.currentAccount.amsAccountId) {\n\t\t\t\t\t\t\tconditionResult = this.checkForSpecifiedIds(currentMenuItem[cond],currentMenuItem,this.appDetails.currentAccount.amsAccountId);\t\t\t\t\t\t\t\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconditionResult = false;\n\t\t\t\t\t\t}\n\t\t\t\t\tbreak; \n\t\t\t\t\t}\n\t\t\t\t\tcase 'account_ids_not_in' : {\n\t\t\t\t\t\tconditionResult = this.checkForSpecifiedAccountIdsNotIn(currentMenuItem[cond],currentMenuItem,this.appDetails.currentAccount.amsAccountId);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\t\t\t\t\t\n\t\t\t\t\tcase 'not_account_name' : {\n\t\t\t\t\t\tif(this.appDetails.currentAccount){\n\t\t\t\t\t\t\tconditionResult = this.checkForNotAccName(currentMenuItem[cond]);\n\t\t\t\t\t\t}else {\n\t\t\t\t\t\t\tconditionResult = false;\n\t\t\t\t\t\t}\t\t\t\t\t\t\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase 'account_type' : { \n\t\t\t\t\t\tif(this.appDetails.currentAccount && this.appDetails.currentAccount.type) {\n\t\t\t\t\t\t\tconditionResult = this.checkForAccType(currentMenuItem);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconditionResult = false;\n\t\t\t\t\t\t}\n\t\t\t\t\tbreak; \n\t\t\t\t\t}\n\t\t\t\t\tcase 'organization_setting' : { \n\t\t\t\t\t\tconditionResult = this.checkForOrgSettings(currentMenuItem[cond]);\t\t\t\t\t\t\n\t\t\t\t\tbreak; \n\t\t\t\t\t}case 'app_org_setting' : { \n\t\t\t\t\t\tconditionResult = this.checkForOrgAppSettings(currentMenuItem[cond]);\t\t\t\t\t\t\n\t\t\t\t\tbreak; \n\t\t\t\t\t}\n\t\t\t\t\tcase 'app_org_setting_not_in': {\n\t\t\t\t\t\tconditionResult = this.checkForOrgAppSettingsNotIn(currentMenuItem[cond]);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase 'organization_setting_not_in' : { \n\t\t\t\t\t\tconditionResult = this.checkForNotOrgSettings(currentMenuItem[cond]);\t\t\t\t\t\t\n\t\t\t\t\tbreak; \n\t\t\t\t\t} \n\t\t\t\t\t// TODO : This is temporery solution for Amc spacific org setting check.\n\t\t\t\t\tcase 'app_spacific_config_check': {\n\t\t\t\t\t\tconditionResult = this.appSpecificConfig(currentMenuItem[cond]);\n\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase 'siteIds' : { \n\t\t\t\t\t\tconditionResult = this.checkForSiteIds(currentMenuItem[cond]);\n\t\t\t\t\tbreak; \n\t\t\t\t\t} \n\t\t\t\t\tcase 'siteNotIds' : { \n\t\t\t\t\t\tconditionResult = this.checkForSiteNotIds(currentMenuItem[cond]);\n\t\t\t\t\tbreak; \n\t\t\t\t\t} \n\t\t\t\t\tcase 'subscription_types' : { \n\t\t\t\t\t\tif(currentMenuItem['account_type'] == undefined){\n\t\t\t\t\t\t\tif(this.appDetails.currentAccount && this.appDetails.currentAccount.subscription) {\n\t\t\t\t\t\t\t\tconditionResult = this.checkForSubscriptions(currentMenuItem[cond])\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tconditionResult = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\tif(this.appDetails.currentAccount && this.appDetails.currentAccount.type) {\n\t\t\t\t\t\t\t\tconditionResult = this.checkForAccType(currentMenuItem);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tconditionResult = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\tbreak; \n\t\t\t\t\t} \n\t\t\t\t\tcase 'campaign_types' : {\n\t\t\t\t\t\tif(this.appDetails.campaignInContext){\n\t\t\t\t\t\t\tconditionResult = this.checkForCampaignType(currentMenuItem[cond])\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse{\n\t\t\t\t\t\t\tconditionResult = true;\n\t\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase 'targetting_types': {\n\t\t\t\t\t\tif (this.appDetails.campaignInContext) {\n\t\t\t\t\t\t\tconditionResult = this.checkForTargettingType(currentMenuItem[cond])\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tconditionResult = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase 'targetting_types_not_in': {\n\t\t\t\t\t\tif (this.appDetails.campaignInContext) {\n\t\t\t\t\t\t\tconditionResult = this.checkForNotTargettingType(currentMenuItem[cond])\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tconditionResult = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase 'incontext_campaign_targeting' : { \n\t\t\t\t\t\tif(this.appDetails.campaignInContext){\n\t\t\t\t\t\t\tconditionResult = this.checkForCampaignTargeting(currentMenuItem[cond])\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse{\n\t\t\t\t\t\t\tconditionResult = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak; \n\t\t\t\t\t}\n\t\t\t\t\tcase 'incontext_campaign_targeting_walmart' : { \n\t\t\t\t\t\tif(this.appDetails.campaignInContextwalmart){\n\t\t\t\t\t\t\tconditionResult = this.checkForCampaignTargetingWalmart(currentMenuItem[cond])\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse{\n\t\t\t\t\t\t\tconditionResult = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak; \n\t\t\t\t\t}\n\t\t\t\t\tcase 'user_emails' : { \n\t\t\t\t\t\tconditionResult = this.authenticateUserMailMenu(currentMenuItem[cond])\n\t\t\t\t\t\tbreak; \n\t\t\t\t\t}\n\t\t\t\t\tcase 'hide_for_user' : {\n\t\t\t\t\t\tconditionResult = this.checkForHiddenUserRole(currentMenuItem[cond])\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase 'ng_app_setting': {\n\t\t\t\t\t\tif (!this.appDetails.campaignInContext) {\n\t\t\t\t\t\t\tconditionResult = this.checkContextSettings(currentMenuItem[cond])\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase 'ng_app_setting_not_in': {\n\t\t\t\t\t\tconditionResult = this.checkContextSettingNotIn(currentMenuItem[cond]);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase 'customer_types': {\n\t\t\t\t\t\tconditionResult = this.checkCustomerTypeIn(currentMenuItem[cond]);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase 'customer_types_not_in': {\n\t\t\t\t\t\tconditionResult = this.checkCustomerTypeNotIn(currentMenuItem[cond]);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\t// default: { \n\t\t\t\t\t// //statements; \n\t\t\t\t\t// break; \n\t\t\t\t\t// } \n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t// If any condition fails, the menu should be hidden (AND logic)\n\t\t\t\tif(!conditionResult){\n\t\t\t\t\tincludeMenu = false;\n\t\t\t\t\tbreak; // No need to check further conditions\n\t\t\t\t}\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t// If condition is undefined, it doesn't affect the result (neutral)\n\t\t}\n\n\t\treturn includeMenu;\n\t}\n\n\tcheckForNotAccName(possibleValues: any): boolean {\n\t\tif(possibleValues.indexOf(this.appDetails.currentAccount.name) == -1){\n\t\t\treturn true;\n\t\t}\n\t\telse{\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tcheckForCampaignType(possibleValues: any):boolean{\n\t\tif(this.appDetails.campaignInContext && possibleValues.indexOf(this.appDetails.campaignInContext[0].dataType) >= 0){\n\t\t\treturn true;\n\t\t}\n\t\telse{\n\t\t\treturn false;\n\t\t}\n\t}\n\tcheckForTargettingType(possibleValues: any):boolean{\n\t\tvar allow = false;\n\t\tif(this.appDetails.campaignInContext && possibleValues.indexOf(this.appDetails.campaignInContext[0].targetingType) >= 0){\n\t\t\tallow = true;\n\t\t}\n\t\treturn allow;\n\t}\n\tcheckForNotTargettingType(possibleValues: any):boolean{\n\t\tvar allow = true;\n\t\tif(this.appDetails.campaignInContext && possibleValues.indexOf(this.appDetails.campaignInContext[0].targetingType) >= 0){\n\t\t\tallow = false;\n\t\t}\n\t\treturn allow;\n\t}\n\tcheckForCampaignTargeting(possibleValues: any):boolean{\n\t\tif(this.appDetails.campaignInContext && possibleValues.indexOf(this.appDetails.campaignInContext[0].campaignTargeting) >= 0){\n\t\t\treturn true;\n\t\t}\n\t\telse{\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tcheckForCampaignTargetingWalmart(possibleValues: any):boolean{\n\t\tif(this.appDetails.campaignInContextwalmart && possibleValues.indexOf(this.appDetails.campaignInContextwalmart[0].campaignTargeting) >= 0){\n\t\t\treturn true;\n\t\t}\n\t\telse{\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tauthenticateUserMailMenu(possibleValues: any):boolean{\n\t\treturn possibleValues && possibleValues.includes(this.appDetails.userInfo.email);\n\t}\n\n\tcheckForSubscriptions(possibleValues: any): boolean{\n\t\tfor(let settings of this.appDetails.currentAccount.subscription){\n\t\t\tif((possibleValues.indexOf(settings.type) >= 0) && settings.status == \"ACTIVE\"){\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tcheckForSiteIds(possibleValues: any): boolean {\n\t\tif(this.appDetails.sidebarInfo && this.appDetails.sidebarInfo.siteId && possibleValues.includes(Number(this.appDetails.sidebarInfo.siteId))){\n\t\t\treturn true;\n\t\t}\n\t\telse{\n\t\t\treturn false;\n\t\t}\n\t}\n\tcheckForSiteNotIds(possibleValues: any): boolean {\n\t\tif(this.appDetails.sidebarInfo && this.appDetails.sidebarInfo.siteId && possibleValues.includes(Number(this.appDetails.sidebarInfo.siteId))){\n\t\t\treturn false;\n\t\t}\n\t\telse{\n\t\t\treturn true;\n\t\t}\n\t}\n\n\t// TODO : This is temporery solution for Amc spacific org setting check.\n\tappSpecificConfig(possibleValues: Array<String>): boolean {\n\t\ttry {\n\t\t\tconst role = ['SUPER_ADMIN', 'SUPER_ADMIN_READ_ONLY'];\n\t\t\t// Check role condition and org setting is availablity\n\t\t\tif (!role.includes(this.appDetails.userInfo.role) && this.appDetails.orgSettings && this.appDetails.orgSettings.length > 0) {\n\t\t\t\tlet allow = false;\n\n\t\t\t\t// To verify if the org setting is available\n\t\t\t\t\n\t\t\t\tlet keymatched = possibleValues.some((key: String) => {\n\t\t\t\t\treturn this.appDetails.orgSettings.findIndex(function (setting: any) { return key == setting.setting; }) > -1\n\t\t\t\t});\n\n\t\t\t\t// To verify if the org setting is available and enabled/Active\n\n\t\t\t\tlet AllActive = possibleValues.every((key: String) => {\n\t\t\t\t\treturn this.appDetails.orgSettings.findIndex(function (setting: any) { return key == setting.setting && setting.value == \"ACTIVE\"; }) > -1\n\t\t\t\t});\n\n\t\t\t\t// If No org setting is available OR setting is available but with active status\n\t\t\t\tif (!keymatched || AllActive) {\n\t\t\t\t\tallow = true;\n\t\t\t\t}\n\t\t\t\treturn allow;\n\t\t\t} else {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.error(error)\n\t\t}\n\t}\n\n\tcheckForOrgSettings(possibleValues: any): boolean {\n\t\ttry{\n\t\t\tvar allow = false;\n\t\t\tif (this.appDetails.orgSettings && this.appDetails.orgSettings.length > 0) {\n\t\t\t\tallow = this.appDetails.orgSettings.some(function(orgSetting){\n\t\t\t\t\tif(!orgSetting.value || orgSetting.value && orgSetting.value == 'ACTIVE') {\n\t\t\t\t\t\treturn possibleValues.includes(orgSetting.setting);\n\t\t\t\t\t};\n\t\t\t\t})\n\t\t\t\treturn allow;\n\t\t\t} else {\n\t\t\t\treturn allow;\n\t\t\t}\n\t\t}catch(error){\n\t\t\tconsole.error(error)\n\t\t}\n\t}\n\n\tcheckForOrgAppSettings(possibleValues: any): boolean {\n\t\tif(this.appDetails.orgAppSettings){\n\t\t\tfor(let settings of this.appDetails.orgAppSettings){\n\t\t\t\tif(possibleValues.indexOf(settings.type) >= 0 && settings.status == 'ACTIVE'){\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t}else{\n\t\t\treturn false;\n\t\t}\n\t}\n\tcheckForOrgAppSettingsNotIn(possibleValues: any): boolean {\n\t\ttry{\n\t\t\tvar allow = true;\n\t\t\tif (this.appDetails.orgAppSettings && this.appDetails.orgAppSettings.length > 0) {\n\t\t\t\tallow = this.appDetails.orgAppSettings.some((orgAppSetting) => {\n\t\t\t\t\treturn (!possibleValues.includes(orgAppSetting.type) || \n\t\t\t\t\t\t\t(possibleValues.includes(orgAppSetting.type) && \n\t\t\t\t\t\t\torgAppSetting.status && orgAppSetting.status == 'IN_ACTIVE'))\n\t\t\t\t});\n\t\t\t\treturn allow;\n\t\t\t} else {\n\t\t\t\treturn allow;\n\t\t\t}\n\t\t}catch(error){\n\t\t\tconsole.error(error)\n\t\t}\n\t}\n\n\tcheckCustomerTypeIn(possibleValues: any): boolean {\n\t\tif (this.appDetails.currentOrganization.customerType && \n\t\t\tpossibleValues.includes(this.appDetails.currentOrganization.customerType)) {\n\t\t\treturn true;\n\t\t}\n\t\telse {\n\t\t\treturn false;\n\t\t}\n\t}\n\tcheckCustomerTypeNotIn(possibleValues: any): boolean {\n\t\tif (!this.appDetails.currentOrganization.customerType || (this.appDetails.currentOrganization.customerType && \n\t\t\t!possibleValues.includes(this.appDetails.currentOrganization.customerType))) {\n\t\t\treturn true;\n\t\t}\n\t\telse {\n\t\t\treturn false;\n\t\t}\n\t}\n\tcheckForNotOrgSettings(possibleValues: any): boolean {\n\t\tlet allow = true;\n\t\tif(this.appDetails.orgSettings && this.appDetails.orgSettings.length > 0){\n\t\t\t// Check if any of the settings in possibleValues are present and active\n\t\t\tconst hasActiveRestrictedSetting = this.appDetails.orgSettings.some(function(orgSetting){\n\t\t\t\treturn possibleValues.includes(orgSetting.setting) && \n\t\t\t\t\t(!orgSetting.value || orgSetting.value == 'ACTIVE');\n\t\t\t});\n\t\t\t// If any restricted setting is active, hide the menu (return false)\n\t\t\t// If no restricted settings are active, show the menu (return true)\n\t\t\treturn !hasActiveRestrictedSetting;\n\t\t}else{\n\t\t\treturn allow;\n\t\t}\n\t}\n\t\n\tcheckContextSettings(possibleValues: any): boolean {\n\t\tvar allow = false;\n\t\tif(this.appDetails.ngOrgSettings){\n\t\t\tfor (let item of possibleValues) {\n\t\t\t\tallow = this.appDetails.ngOrgSettings[item];\n\t\t\t\tallow = allow == undefined ? true : allow;\n\t\t\t}\n\t\t}\n\t\treturn allow;\n\t}\n\n\tcheckContextSettingNotIn(possibleValues: any): boolean {\n\t\tvar allow = true;\n\t\tif(this.appDetails.ngOrgSettings){\n\t\t\tfor (let item of possibleValues) {\n\t\t\t\tallow = !this.appDetails.ngOrgSettings[item];\n\t\t\t}\n\t\t}\n\t\treturn allow;\n\t}\n\n\tcheckForAccType(menuItem: any): boolean {\n\t\tif(menuItem['account_type'].indexOf(this.appDetails.currentAccount.type) >= 0){\n\t\t\treturn true;\n\t\t}\n\t\telse{\n\t\t\tif(menuItem['subscription_types']){\n\t\t\t\treturn this.checkForSubscriptions(menuItem['subscription_types'])\n\t\t\t}\n\t\t\telse{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\n\tcheckForSpecifiedIds(possibleValues: any , currentMenuItem:any , id:number): boolean {\n\t\tif(possibleValues[0].id){\n\t\t\tfor (let item of possibleValues) {\n\t\t\t\tif( item.id === id ){\n\t\t\t\t\tObject.keys(item).forEach((key)=>{ \n\t\t\t\t\t\tif (key != 'id') {\n\t\t\t\t\t\t\tcurrentMenuItem[key] = item[key];\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\tconsole.log('Link changed to '+currentMenuItem.link+' and route changed to '+currentMenuItem.route);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\telse {\n\t\t\tif(possibleValues.indexOf(id) >= 0){\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\telse{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\tcheckForOrgWithUserRole(possibleValues: any , currentMenuItem:any , id:number): boolean {\n\t\tlet allow = true;\n\t\tif (possibleValues && possibleValues.length > 0) {\n\t\t\tvar flagArray = [];\n\t\t\tfor (let item of possibleValues) {\n\t\t\t\tvar allKeys = Object.keys(item);\n\t\t\t\tvar flag = this.checkAllConditions(item, allKeys, allKeys)\n\t\t\t\tflagArray.push(flag);\n\t\t\t}\n\t\t\tallow = flagArray.includes(true) ? true : false;\n\t\t\t\n\t\t}\n\t\treturn allow;\n\t}\n\tcheckForSpecifiedIdsNotIn(possibleValues: any , currentMenuItem:any , id:number): boolean {\n\t\treturn possibleValues.indexOf(id) < 0;\n\t}\n\n\tcheckForSpecifiedAccountIdsNotIn(possibleValues: any , currentMenuItem:any , id:number): boolean {\n\t\treturn possibleValues.indexOf(id) < 0;\n\t}\n\n\tcheckForRoles(possibleValues: any): boolean {\n\t\tif(possibleValues && possibleValues.length > 0){\n\t\t\tif(possibleValues.indexOf(this.appDetails.userInfo.role) >= 0){\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\telse{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\tcheckForvisibilityRolesNotIn(possibleValues: any): boolean {\n\t\tif(possibleValues && possibleValues.length > 0){\n\t\t\tif(possibleValues.indexOf(this.appDetails.userInfo.role) >= 0){\n\t\t\t\treturn false;\n\t\t\t}else{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\tcheckForHiddenUserRole(possibleValues: any): boolean {\n\t\tif(possibleValues && possibleValues.length > 0){\n\t\t\tif(possibleValues.indexOf(this.appDetails.userInfo.role) >= 0 && this.appDetails.userInfo.isHiddenUser){\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\telse{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic disableForOrgwithReadOnly(possibleValues: any): boolean{\n\t\tif(this.appDetails.userInfo.role === 'READ_ONLY' && possibleValues.indexOf(this.appDetails.currentAccount.organizationId) >= 0){\n\t\t\treturn false;\n\t\t}\n\t\telse{\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tpublic getHostOriginAndNavigate(route , applicationId=undefined) {\n\t\t// if (window.location.href.indexOf(route) == -1) {\n\t\t\tthis.activatedRoute.queryParams.subscribe(params => {\n\t\t\t\tif (applicationId) {\n\t\t\t\t\tparams = {...params, ...applicationId};\t\n\t\t\t\t}\n\n\t\t\t\tif (route.indexOf('?') > -1 && route.indexOf('usermgmt') > -1){\n\t\t\t\t\troute = route.split('?')[0];\n\t\t\t\t\tlet newQParam = { usermgmt : true}\n\t\t\t\t\tparams = { ...params , ...newQParam}\n\t\t\t\t}\n\t\t\t\tlet urlToNavigate = this.urlContextService.prepareUrlWithQueryParams(route, params);\n\t\t\t\turlToNavigate = `${window.location.origin}/${urlToNavigate}`\n\t\t\t\t// urlToNavigate = `http://localhost:3000/${urlToNavigate}`\n\t\t\t\tconsole.log('Navigating to - ',urlToNavigate);\n\t\t\t\twindow.open(urlToNavigate, '_self');\n\t\t\t});\n\t\t// }\n }\n\t\n\tpublic fetchKeyValue(key: string) {\n\t\tif(this.appDetails && this.appDetails.currentAccount) {\n\t\t\treturn (this.appDetails.currentAccount[key]);\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t\t\n\t}\n\n\tpublic setActiveRecoCount(count:number){\n\t\tthis.appDetails.currentAccount['activeRecommendation'] = count;\n\t}\n\t\n\tpublic isHavingAnyActiveSubs(id,subs,type){\n if(id === 'ads_amazon_attribution' && this.checkSubscriptionActive(subs, type, 'AMS_ATTRIBUTION')) {\n return true;\n } else if(id === 'ads_amazon_dsp' && this.checkSubscriptionActive(subs, type, 'DSP')) {\n return true;\n } else if((id === 'ads_amazon_content') && this.checkSubscriptionActive(subs, type, 'CONTENT')) {\n return true;\n } else if((id === 'ads_instacart') && this.checkSubscriptionActive(subs, type, 'INSTACART')) {\n return true;\n }else if((id === 'ads_criteo') && this.checkSubscriptionActive(subs, type, 'CRITEO')) {\n\t\treturn true;\n\t}else if((id === 'ads_walmart') && this.checkSubscriptionActive(subs, type, 'WALMART')) {\n\t\treturn true;\n\t}else if(id === 'ads_data_platform'|| id === 'amc-platform-web' || id === 'ads_amazon_seller') {\n\t\treturn true;\n\t}else if(id === 'ads_amazon_advertising' || id === 'ads_vendor_sales' || id === 'ads_seller_sales') {\n for(let settings of subs){\n if(settings.type != type && settings.status == \"ACTIVE\"){\n return true;\n }\n }\n return false;\n }\n return false\n \t}\n\n\tpublic checkSubscriptionActive(subs, accType ,subType) {\n\t\tif(subType === accType){\n\t\treturn true;\n\t\t}\n\t\tconst currentTypeSub = subs.filter(subscription => subscription.type === subType);\n\t\tif(currentTypeSub.length === 0) {\n\t\treturn false;\n\t\t}\n\t\tif (currentTypeSub[0].status === 'ACTIVE' || currentTypeSub[0].type === accType) {\n\t\t\treturn true;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic getApplicationID() {\n\t\tlet urlArray = this.urlContextService.router.url.split('/');\n\t\tlet currentRoute = urlArray[urlArray.length - 1];\n\t\t\n\t\tif(this.contentAppRoutes.indexOf(currentRoute)>-1 ) {\n\t\t\treturn \"ads_amazon_content_content_analytics\";\n\t\t} else if(this.sovAppRoutes.indexOf(currentRoute)>-1) {\n\t\t\treturn \"ads_amazon_content_share_of_voice\";\n\t\t}\n\t}\n}","import { Directive, ElementRef, Input } from '@angular/core';\n\n@Directive({ selector: '[appOffsetTop]'})\nexport class OffsetTopDirective {\n constructor(private _el: ElementRef) { }\n @Input() isActiveItem: boolean;\n get offsetTop(): number { return this._el.nativeElement.offsetTop; }\n}\n\n@Directive({selector: '[appScrollable]'})\nexport class ScrollableDirective {\n constructor(private _el: ElementRef) {}\n set scrollTop(value: number) { this._el.nativeElement.scrollTop = value; }\n}","import { Component, ElementRef, HostBinding, Input, OnInit, QueryList, ViewChild, Output, EventEmitter } from '@angular/core';\nimport { NavMenuItem } from '../nav-menu-item';\nimport {Router,ActivatedRoute } from '@angular/router';\nimport { ApplicationSidebarService } from '../services/application-sidebar.service'\nimport { UrlContextService } from '../services/url-context.service';\nimport { CookieService } from 'ngx-cookie-service';\nimport { MatMenuTrigger } from '@angular/material/menu';\nimport { TranslationService } from '../services/translation.service';\n@Component({\n selector: 'lnc-nav-menus',\n templateUrl: './nav-menus.component.html',\n styleUrls: ['./nav-menus.component.scss']\n})\nexport class NavMenusComponent implements OnInit {\n @Output() menuClicked = new EventEmitter<object>();\n @Input() item: NavMenuItem;\n @Input() applicationId:string;\n @Input() parentMenuId:string;\n @Input() parentPanelId:string;\n @Input() isActiveItem:boolean\n expanded: boolean;\n\n queryParams: any;\n @ViewChild(MatMenuTrigger)\n contextMenu: MatMenuTrigger;\n\n contextMenuPosition = { x: '0px', y: '0px' };\n\n translation: any;\n recCount: any;\n\n constructor(\n public navigation: ApplicationSidebarService, \n private router: Router,\n private activatedRoute:ActivatedRoute,\n private urlContextService: UrlContextService,\n private cookie: CookieService,\n private translate:TranslationService\n ) {\n this.activatedRoute.queryParams.subscribe(params => {\n this.queryParams = Object.assign({}, params);\n });\n\n }\n\n ngOnInit() {\n // @HostBinding('attr.aria-expanded') ariaExpanded = this.expanded;\n }\n\n public hasIcon(item:NavMenuItem){\n return (item.icon != undefined && item.icon != '');\n }\n\n public hasWalmartRecommendation(item:NavMenuItem){\n if(item.id == \"walmart_recommendations\"){\n this.recCount = this.navigation.appDetails.recCount;\n if(this.recCount && this.recCount>0){\n return true;\n } else {\n return false;\n } \n } else {\n return false;\n }\n }\n \n public selectedApplication(name){\n return this.translate.selectedApplication(this.navigation.appDetails, name);\n }\n \n public getSpecifiedValue(key:string){\n return this.navigation.fetchKeyValue(key);\n }\n\n public onSelectMenu(event:any,listMenu:NavMenuItem, appId?:any) {\n var promise = new Promise<void>(async (resolve, reject) => {\n console.log('appId' , this.parentPanelId , this.applicationId);\n // on shift+click open url in new tab along with context params\n if((this.parentPanelId === 'iac_insights' && this.applicationId === 'ads_data_platform') || this.parentMenuId === 'app_global_settings' || appId === 'app_global_settings'){\n if(listMenu.id === 'global_account_mgmt' || listMenu.id === 'iac_insights_user_mgmt'){\n const url = listMenu.route;\n if (this.applicationId == \"ads_amazon_content\") {\n this.applicationId = this.navigation.getApplicationID();\n }\n if(this.urlContextService.validateKeyStroke(event)) {\n this.openInNewTab(url,false,{ appId : this.applicationId})\n resolve();\n }else{\n this.showLoader();\n this.navigation.getHostOriginAndNavigate(url , { appId : this.applicationId});\n resolve();\n }\n }else{\n if (listMenu.route != '') {\n if(this.urlContextService.validateKeyStroke(event)) {\n this.openInNewTab(listMenu.route,true)\n resolve();\n }else{\n console.log(\"Query Params = \" ,this.queryParams);\n this.router.navigate([listMenu.route] , { queryParams : this.queryParams })\n this.menuClicked.emit({activePanel : this.parentPanelId});\n resolve();\n }\n }else{\n alert('no route to navigate');\n resolve();\n }\n }\n }else if(listMenu.defaulturl){\n const url = listMenu.defaulturl;\n if(listMenu.id == \"ads_vendor_sales\" || listMenu.id == 'ads_seller_sales'){\n this.showLoader();\n this.navigation.getHostOriginAndNavigate(url, { appId : listMenu.id});\n resolve();\n }\n if(this.urlContextService.validateKeyStroke(event)) {\n this.openInNewTab(url,false);\n resolve();\n }else{\n this.showLoader();\n this.navigation.getHostOriginAndNavigate(url);\n resolve();\n }\n }else{\n if(listMenu.external_link && listMenu.external_link != ''){\n window.open(`${listMenu.external_link}`, '_blank');\n resolve();\n }\n if((this.parentMenuId.indexOf(this.applicationId) >= 0 && !appId) || (appId && appId.indexOf(this.applicationId) >= 0) ){\n if (listMenu.route != '') {\n if(this.urlContextService.validateKeyStroke(event)) {\n this.openInNewTab(listMenu.route,true)\n resolve();\n }else{\n console.log(\"Length = \" ,this.queryParams);\n if (this.isActiveItem == false) {\n if(Object.keys(this.queryParams).length != 0){\n \n await this.router.navigate([listMenu.route], { queryParams : this.queryParams })\n this.menuClicked.emit({activePanel : this.parentPanelId});\n resolve();\n }\n else{\n await this.router.navigate([listMenu.route])\n this.menuClicked.emit({activePanel : this.parentPanelId});\n resolve();\n }\n } else {\n reject();\n }\n }\n } \n else{\n alert('no route to navigate');\n resolve();\n }\n }else{\n const url = listMenu.link;\n if(this.urlContextService.validateKeyStroke(event)) {\n this.openInNewTab(url,false)\n resolve();\n }\n else{\n this.showLoader();\n this.navigation.getHostOriginAndNavigate(url);\n resolve();\n }\n }\n }\n });\n }\n\n public onContextMenu(event: MouseEvent, item: NavMenuItem) {\n event.preventDefault();\n this.contextMenuPosition.x = event.clientX + 'px';\n this.contextMenuPosition.y = event.clientY + 'px';\n this.contextMenu.menuData = { 'item': item };\n this.contextMenu.menu.focusFirstItem('mouse');\n this.contextMenu.openMenu();\n }\n\n onContextMenuAction(item: NavMenuItem) {\n\n if(this.parentMenuId === 'app_global_settings'){\n if(item.id === 'global_account_mgmt'){\n const url = item.route;\n this.openInNewTab(url,false,{ appId : this.applicationId})\n }\n else if(item.route != '') {\n this.openInNewTab(item.route,true)\n }\n }else{\n if(item.external_link && item.external_link != ''){\n window.open(`${item.external_link}`, '_blank');\n return;\n }\n else if(item.id === 'iac_insights_user_mgmt'){\n const url = item.route.split('?')[0];\n this.openInNewTab(url,false,{ appId : this.applicationId , usermgmt : true})\n }\n else if(this.parentMenuId.indexOf(this.applicationId) >= 0 ){\n if (item.route != '') {\n this.openInNewTab(item.route,true)\n }\n } \n else{\n const url = item.link;\n this.openInNewTab(url,false)\n }\n }\n }\n\n public openInNewTab(link,isRouterLink,applicationId = undefined){\n let dateTitle = this.fetchDateRange();\n let dateRangeVal = this.urlContextService.setDateRangeUrlVal(dateTitle);\n \n if (this.navigation.appDetails.currentAccount == undefined){\n let queryParams = {\n oid : this.navigation.appDetails.currentOrganization.organizationId,\n dr : dateRangeVal,\n }\n if(applicationId){\n queryParams = {...queryParams, ...applicationId}\n }\n this.urlContextService.setUrlAndOpenTab(link,queryParams,isRouterLink);\n return\n } else {\n let queryParams = {\n aid : this.navigation.appDetails.currentAccount.amsAccountId,\n bid : this.navigation.appDetails.currentAccount.businessGroupId,\n oid : this.navigation.appDetails.currentAccount.organizationId,\n dr : dateRangeVal,\n }\n if(applicationId){\n queryParams = {...queryParams, ...applicationId}\n }\n this.urlContextService.setUrlAndOpenTab(link,queryParams,isRouterLink);\n return;\n }\n }\n\n public fetchDateRange(){\n if(this.queryParams.hasOwnProperty('tid') && this.queryParams.hasOwnProperty('dr')){\n return this.queryParams['dr'];\n }else{\n const loggedInUser = JSON.parse(this.cookie.get('loggedInUser'));\n console.log('Logged = ',loggedInUser);\n return loggedInUser.dateRange;\n }\n }\n\n public showLoader(){\n let loader_div=document.getElementById('loader_sov');\n if(loader_div){\n loader_div.style.display = \"block\";\n }\n \n setTimeout(function() {\n if(loader_div){\n loader_div.style.display = \"none\";\n }\n }, 5000);\n }\n\n}\n","<a appOffsetTop class=\"sidemenu-option {{item.style_classes}}\" mat-list-item (click)=\"onSelectMenu($event,item)\"\n *ngIf=\"item.type === 'leaf'\" [ngClass]=\"{'active': isActiveItem}\" (contextmenu)=\"onContextMenu($event, item)\">\n <!-- <span class=\"{{item.id}}_icon\" *ngIf=\"item.id == 'global_account_mgmt'\"></span> -->\n <h3 matLine class=\"sidemenu-text font-color-black navMenus applicationMenu\" [ngClass]=\"{'margin-left-10': item.level == 'two', \n 'margin-left-36': item.level != 'two'}\">\n {{selectedApplication(item)}}\n <span id=\"activeCount\" *ngIf=\"item.countKey && getSpecifiedValue(item.countKey)\" class=\"ng-binding ng-scope\">\n {{ getSpecifiedValue(item.countKey) }}\n </span>\n <!-- <span id=\"activeRecCount\" *ngIf=\"item.name == 'Recommendations' && item.recCount != '' && item.recCount != '0' && item.recCount != null\" class=\"activeRecCount\">{{item.recCount}}</span> -->\n <span *ngIf=\"item.badge\" class=\"badge-text sov-beta-position\" [innerHTML]=\"item.badge\"></span>\n <span id=\"activeRecCount\" class=\"activeRecCount\" *ngIf=\"hasWalmartRecommendation(item)\">{{recCount}}</span> \n </h3>\n</a>\n<div style=\"visibility: hidden; position: fixed\" [style.left]=\"contextMenuPosition.x\"\n [style.top]=\"contextMenuPosition.y\" [matMenuTriggerFor]=\"contextMenu\">\n</div>\n<mat-menu #contextMenu=\"matMenu\">\n <ng-template matMenuContent let-item=\"item\">\n <button mat-menu-item class=\"newTabMenu\"></button>\n <button mat-menu-item (click)=\"onContextMenuAction(item)\" class=\"newTabMenu\" id=\"newTabActionBtn\">Open in new\n tab</button>\n <button mat-menu-item class=\"newTabMenu\"></button>\n </ng-template>\n</mat-menu>\n<mat-divider *ngIf=\"item.type === 'separator'\" class=\"separator\"></mat-divider>","import { Injectable } from '@angular/core';\ndeclare var window: any;\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class MixpanelService {\n constructor() {}\n\n /**\n * Push new action to mixpanel.\n *\n * @param {string} id Name of the action to track.\n * @param {*} [action={}] Actions object with custom capitalizeproperties.\n * @memberof MixpanelService\n */\n productTrackEvent(event: string, properties: any = {}): void {\n if(window.mixpanel){\n var superProperties = window.mixpanel.persistence?.props;\n if(superProperties?.app_name !== properties.AppName){\n this.registerTrackEvent({'app_name':properties.AppName});\n }\n window.mixpanel && window.mixpanel.track(event, properties);\n }\n }\n registerTrackEvent(updateInfo) {\n window.mixpanel && window.mixpanel.register(updateInfo);\n }\n}\n","import { ChangeDetectorRef } from '@angular/core';\nimport { Router, RouterEvent, NavigationStart, Route } from '@angular/router';\nimport { Component, OnInit, OnDestroy, Input, ChangeDetectionStrategy, ViewChildren, QueryList, ViewChild } from '@angular/core';\nimport { ApplicationSidebarService } from './services/application-sidebar.service'\nimport { MatSidenav } from '@angular/material/sidenav';\nimport { appDetails } from './app-details'\nimport { OffsetTopDirective, ScrollableDirective } from './nav-menu.directive';\nimport { RestApiService } from './services/rest-api.services'\nimport { NavMenusComponent } from './nav-menus/nav-menus.component'\nimport { CookieService } from 'ngx-cookie-service';\nimport { TranslationService } from './services/translation.service';\nimport { GLOBAL_LIST } from './navmenu1';\nimport { constants } from './constants';\nimport { MixpanelService } from './services/mixpanel.service';\n\n@Component({\n selector: 'lnc-navigation-sidebar',\n templateUrl:'./application-sidebar.template.html',\n styleUrls:['./application-sidebar.scss','application-sidebar.theme.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ApplicationSidebarComponent implements OnInit, OnDestroy {\n\n @Input() applicationDetails :appDetails;\n\n @Input() sidenav: MatSidenav;\n\n @ViewChildren(OffsetTopDirective) listItems: QueryList<OffsetTopDirective>;\n @ViewChild(ScrollableDirective) list: ScrollableDirective;\n @ViewChild('navMenusComponent') navMenusComponent:NavMenusComponent;\n\n accountName: any;\n activePanel: any;\n navExpanded:boolean = false;\n oldListItems: QueryList<OffsetTopDirective>;\n isAdminRole: boolean = false;\n adminRoles = ['SUPER_ADMIN','SUPER_ADMIN_READ_ONLY'];\n currentApp: any;\n sideNavStatusSubscription: any;\n myObserver: any;\n expandGlobalSettings: any = false;\n inContextInsightsWLApp: boolean;\n public themePoint: string; // Public variable for theme point\n showTitle: boolean = false;\n\n // isGlobalSettingsMenuActive:boolean = false\n\n constructor(\n public navigation: ApplicationSidebarService,\n private router: Router,\n private RestApiService: RestApiService,\n private cookie: CookieService,\n private cdref: ChangeDetectorRef,\n private translation:TranslationService,\n private mixpanel: MixpanelService\n ) {\n this.myObserver = this.router.events.subscribe((event) => {\n if (event instanceof NavigationStart) {\n this.expandGlobalSettings = this.router.getCurrentNavigation().extras.state && this.router.getCurrentNavigation().extras.state.expandPanel; \n }\n });\n \n // Determine theme point based on domain\n this.determineThemePoint();\n }\n\n /**\n * Determines the theme point based on the current domain\n * Uses STAGING_THEME_POINT for local, heroku, or apptest domains\n * Uses PROD_THEME_POINT for all other domains\n */\n private determineThemePoint(): void {\n const currentDomain = window.location.hostname.toLowerCase();\n \n // Check if domain contains local, heroku, or apptest\n const isStagingDomain = currentDomain.includes('local') || \n currentDomain.includes('heroku') || \n currentDomain.includes('apptest') ||\n currentDomain.includes('localhost') ||\n currentDomain.includes('127.0.0.1');\n \n if (isStagingDomain) {\n this.themePoint = constants.STAGING_THEME_BUCKET;\n } else {\n this.themePoint = constants.PROD_THEME_BUCKET;\n }\n \n console.log(`Theme point determined: ${this.themePoint} for domain: ${currentDomain}`);\n }\n\n /**\n * Public getter to access the current theme point\n * @returns The current theme point URL\n */\n public getThemePoint(): string {\n return this.themePoint;\n }\n\n /**\n * Public getter to check if current environment is staging\n * @returns True if staging environment, false if production\n */\n public isStagingEnvironment(): boolean {\n return this.themePoint === constants.STAGING_THEME_BUCKET;\n }\n\n /**\n * Manually update theme point and trigger change detection\n * @param forceStaging - Force staging theme point if true\n */\n public updateThemePoint(forceStaging?: boolean): void {\n if (forceStaging !== undefined) {\n this.themePoint = forceStaging ? constants.STAGING_THEME_BUCKET : constants.PROD_THEME_BUCKET;\n } else {\n this.determineThemePoint();\n }\n this.cdref.detectChanges();\n }\n\n /**\n * Get the full URL for an asset using the current theme point\n * @param assetPath - The asset path (e.g., 'logos/logo.png')\n * @returns The full URL for the asset\n */\n public getAssetUrl(assetPath: string): string {\n if (!this.themePoint) {\n this.determineThemePoint();\n }\n return `${this.themePoint}/${assetPath}`;\n }\n\n /**\n * Get the full URL for an icon using the current theme point\n * @param iconName - The icon name (e.g., 'menu-icon.svg')\n * @returns The full URL for the icon with theme/assets/icons/ path\n */\n public getIconUrl(iconName: string): string {\n if (!this.themePoint) {\n this.determineThemePoint();\n }\n return `${this.themePoint}/theme/assets/icons/${iconName}`;\n }\n\n panelOpenState = false;\n mainPanelOpenState = false;\n public prevActiveHeadMenu;\n public toDisplayApplications = [];\n public toDisplayGlobalSettingsMenu: any[];\n public toDisplayLinkMenu: any[];\n public errorMsg:string;\n\n\n public ngOnInit(): void {\n if(this.applicationDetails['userInfo']){\n let userRole = this.applicationDetails['userInfo'].role;\n this.isAdminRole = this.adminRoles.indexOf(userRole) > -1 ? true : false;\n }\n this.calculateLeftnavStatus();\n // const configs = this.router.config;\n // for(let config of configs){\n // if(config.children){\n // for(let child of config.children){\n // child.canActivate = [CanLoadGuard]\n // }\n // }\n // }\n // this.router.resetConfig(configs);\n this.checkApplicationDetails(this.applicationDetails);\n }\n\n calculateLeftnavStatus(){\n if(this.sidenav && this.sidenav.openedChange){\n let status = sessionStorage.getItem('leftNavOpenStatus');\n this.navExpanded = status && status == 'false' ? false : true;\n this.sidenav.opened = status && status == 'false' ? false : true;\n this.showTitle = this.navExpanded;\n this.cdref.detectChanges();\n this.sideNavStatusSubscription = this.sidenav.openedChange.subscribe((status)=>{\n sessionStorage.setItem('leftNavOpenStatus',JSON.stringify(status));\n this.navExpanded = status;\n this.sidenav.opened = status;\n this.showTitle = status;\n this.cdref.detectChanges();\n });\n }\n }\n\n public checkApplicationDetails(applicationDetails: appDetails) {\n this.errorMsg = '';\n if(applicationDetails.applicationId != 'ads_amazon_dsp'){\n this.createAppDetails(applicationDetails)\n }\n }\n\n public createAppDetails(applicationDetails: appDetails){\n this.createNavigationSideBar(this.applicationDetails);\n // if(this.applicationDetails.currentAccount){\n // this.getActiveRecoCount(this.applicationDetails.currentAccount);\n // }\n }\n\n public createNavigationSideBar(applicationDetails: appDetails) {\n this.RestApiService.getjsonMenulists(applicationDetails).subscribe((menulists: any) => {\n // let menulists = GLOBAL_LIST\n this.toDisplayApplications = this.navigation.getMenuList(applicationDetails, menulists);\n this.toDisplayGlobalSettingsMenu = this.navigation.getGlobalSettingsMenu(applicationDetails, menulists);\n // Use proper filtering system for Join Intentwise Community link\n const found = menulists.find(list => list.id === 'app_intentwise_community');\n this.toDisplayLinkMenu = found ? this.navigation.getApplicationMenuItem(found) ? [found] : [] : [];\n this.expandCurrentMenuOnly(applicationDetails, false);\n this.expandChildMenuOnly(this.toDisplayGlobalSettingsMenu);\n this.checkForRedirection(this.toDisplayApplications,this.toDisplayGlobalSettingsMenu,applicationDetails);\n console.log(this.toDisplayApplications , this.toDisplayGlobalSettingsMenu , this.toDisplayLinkMenu);\n this.scrollToActiveMenu();\n this.setMenuList(applicationDetails.applicationId,this.toDisplayApplications);\n this.inContextInsightsWLApp = this.hideMenuForWL();\n this.cdref.detectChanges();\n })\n }\n\n private setMenuList(appId,menuList){\n var appDetails:any = new Object();\n appDetails.appicationId = appId;\n appDetails.menuList = menuList.find((menu)=>{ return menu.id == appId})\n localStorage.setItem('appDetails',JSON.stringify(appDetails));\n }\n\n public menuClicked(obj: any) {\n this.expandCurrentMenuOnly(this.applicationDetails, true);\n this.expandChildMenuOnly(this.toDisplayGlobalSettingsMenu);\n if(obj) {\n this.activePanel = obj.activePanel;\n }\n this.cdref.detectChanges();\n }\n \n public expandChildMenuOnly(toDisplayGlobalSettingsMenu) {\n setTimeout(()=>{\n // this.isGlobalSettingsMenuActive = false;\n let urlArray = this.router.url.split('/');\n let routeUrl = urlArray[urlArray.length - 1];\n let currentRoute = routeUrl.split('?')[0];\n if(toDisplayGlobalSettingsMenu && toDisplayGlobalSettingsMenu.length) {\n toDisplayGlobalSettingsMenu[0].panelOpenState = false;\n if(toDisplayGlobalSettingsMenu[0].children && toDisplayGlobalSettingsMenu[0].children.length){\n for(let menu of toDisplayGlobalSettingsMenu[0].children){\n if(menu.route==currentRoute){\n toDisplayGlobalSettingsMenu[0].panelOpenState = true;\n // this.isGlobalSettingsMenuActive = true;\n break;\n }\n }\n }\n }\n this.cdref.detectChanges(); // Trigger change detection after setTimeout operation\n }, 100)\n \n }\n\n public expandCurrentMenuOnly(applicationDetails, onMenuClicked) {\n for(let headMenu of this.toDisplayApplications) {\n headMenu.panelOpenState = false;\n }\n \n for(let headMenu of this.toDisplayApplications) {\n if(headMenu.id == applicationDetails.applicationId) {\n headMenu.panelOpenState = true;\n this.currentApp = headMenu;\n } else if(headMenu.id.indexOf(applicationDetails.applicationId) > -1) {\n headMenu.panelOpenState = false;\n\n let urlArray = this.router.url.split('/');\n let routeUrl = urlArray[urlArray.length - 1];\n if((headMenu.id== \"ads_amazon_seller_seller_analytics\" || headMenu.id== \"ads_amazon_seller_vendor_analytics\") && urlArray.length >2){\n urlArray= urlArray.slice(urlArray.length-2);\n routeUrl= urlArray.join('/');\n }\n let currentRoute = routeUrl.split('?')[0];\n if(headMenu.id == \"ads_amazon_content_content_analytics\" && this.navigation.contentAppRoutes.indexOf(currentRoute)>-1 ) {\n headMenu.panelOpenState = true;\n this.currentApp = headMenu;\n } else if(headMenu.id == \"ads_amazon_content_share_of_voice\" && this.navigation.sovAppRoutes.indexOf(currentRoute)>-1) {\n if((currentRoute != 'product-meta-data' && currentRoute != 'brand-terms-settings' && currentRoute != 'labels-settings' && currentRoute != 'sub-brands' && currentRoute != 'sub-brands-mapping' && currentRoute != 'sov-settings' && currentRoute != 'content-settings' && currentRoute != 'search-query-performance') || !this.currentApp || this.currentApp.name == 'Share Of Voice') {\n headMenu.panelOpenState = true;\n this.currentApp = headMenu;\n if(onMenuClicked || this.currentApp.name == 'Share Of Voice') {\n break;\n }\n }\n\n }\n else if(headMenu.id == \"ads_amazon_seller_seller_analytics\" && this.navigation.sellerAnalyticsAppRoutes.indexOf(currentRoute)>-1){\n headMenu.panelOpenState = true;\n this.currentApp = headMenu;\n }\n else if(headMenu.id == \"ads_amazon_seller_vendor_analytics\" && this.navigation.vendorAnalyticsAppRoutes.indexOf(currentRoute)>-1) {\n if((currentRoute != 'product-meta-data' && currentRoute != 'brand-terms-settings' && currentRoute != 'labels-settings' && currentRoute != 'sub-brands' && currentRoute != 'sub-brands-mapping' && currentRoute != 'sov-settings' && currentRoute != 'content-settings' && currentRoute != 'search-query-performance') || !this.currentApp || this.currentApp.name == 'Vendor Analytics') {\n headMenu.panelOpenState = true;\n this.currentApp = headMenu;\n if(onMenuClicked || this.currentApp.name == 'Vendor Analytics') {\n break;\n }\n }\n }\n } else {\n headMenu.panelOpenState = false;\n }\n // if(headMenu.children){\n // headMenu.children.forEach(menu => {\n // if (menu.children && menu.type == \"expandable\") {\n // headMenu.children.forEach(submenu => {\n // if(this.isCheckActiveRoute(submenu.route,headMenu)){\n // menu.panelOpenState = true;\n // headMenu.panelOpenState = true;\n\n // }\n // })\n // }\n // });\n // }\n }\n this.cdref.detectChanges();\n }\n\n public getTooltipInfo(headmenu){\n if(this.sidenav && this.sidenav.opened){\n return null;\n }else{\n return this.selectedApplication(headmenu);\n }\n }\n\n public selectedApplication(headmenu){\n return this.translation.selectedApplication(this.applicationDetails, headmenu);\n }\n get sideIdInfo(){\n if(this.applicationDetails && this.applicationDetails.sidebarInfo && this.applicationDetails.sidebarInfo.siteId){\n return Number(this.applicationDetails.sidebarInfo.siteId)\n }else if(this.applicationDetails && this.applicationDetails && this.applicationDetails['siteId']){\n return Number(this.applicationDetails['siteId'])\n }\n return 1;\n }\n\n\n public checkForRedirection(appMenus, gsMenus, applicationDetails) {\n const currentRoute = this.router.url.split('?')[0];\n const currentAppMenus = appMenus.find(app => app.id.indexOf(applicationDetails.applicationId) >= 0);\n\n if (currentAppMenus) {\n const allMenus = [currentAppMenus, ...gsMenus];\n const isMenuAvailable = findLink(allMenus);\n if (!isMenuAvailable) {\n this.navigation.getHostOriginAndNavigate(currentAppMenus.defaulturl);\n }\n } else {\n this.navigation.getHostOriginAndNavigate(this.toDisplayApplications[0].defaulturl);\n }\n\n\n function isMenuRouteMatch(link) {\n return currentRoute === `/${link}`;\n } \n\n function findLink(menuArray) {\n return menuArray.some(function(menu) {\n if(menu.level == \"one\" && menu.children && menu.children.length > 0){\n // If the menu has children, search recursively\n if (menu.children) {\n return findLink(menu.children);\n }\n\n // Check if the current menu item has a matching link\n if (isMenuRouteMatch(menu.route)) {\n return true;\n }\n\n // If there are child routes, search within them\n if (menu.child_routes) {\n return menu.child_routes.some(function(childRoute) {\n return isMenuRouteMatch(childRoute);\n });\n }\n\n return false;\n }\n return true;\n }\n );\n }\n }\n\n\n\n\n\n // public checkForRedirection(applicationDetails: appDetails, menulists) {\n // try{\n // let isMenuVisibleByorgSetting = true;\n // let isMenuVisibleByRole = true;\n // let isMenuNotVisibleByRole = true;\n // let isMenurOrgWithUserRole = true;\n // let isMenuNotVisibleByappspacificconfigcheck =true;\n // let isredirected = false;\n // let applicationIdList = [\"ads_amazon_seller_seller_analytics\" , \"ads_amazon_seller_vendor_analytics\"]\n\n // let menulist = applicationIdList.indexOf(applicationDetails.applicationId) > -1 && applicationDetails.listMenus && applicationDetails.listMenus.length > 0 ? applicationDetails.listMenus : menulists;\n\n // const role = ['SUPER_ADMIN', 'SUPER_ADMIN_READ_ONLY'];\n // if (role.indexOf(applicationDetails.userInfo.role) == -1) {\n \n // let applicationMenues = menulist && menulist.length > 0 && menulist.find((menus)=>{\n // return menus.id == applicationDetails.applicationId\n // })\n\n // if (applicationMenues && applicationMenues.organization_setting_not_in) {\n // isMenuVisibleByorgSetting = this.navigation.checkForNotOrgSettings(applicationMenues.organization_setting_not_in);\n // }\n\n // if (applicationMenues && applicationMenues.visibility_roles) {\n // isMenuVisibleByRole = this.navigation.checkForRoles(applicationMenues.visibility_roles);\n // }\n // if (applicationMenues && applicationMenues.visibility_roles_not_in) {\n // isMenuNotVisibleByRole = this.navigation.checkForvisibilityRolesNotIn(applicationMenues.visibility_roles_not_in);\n // }\n\n // if (applicationMenues && applicationMenues.app_spacific_config_check) {\n // isMenuNotVisibleByappspacificconfigcheck = this.navigation.appSpecificConfig(applicationMenues.app_spacific_config_check);\n // }\n\n // if (applicationMenues && applicationMenues.org_user_ctrl) {\n // isMenurOrgWithUserRole = this.navigation.checkForOrgWithUserRole(applicationMenues.org_user_ctrl,applicationMenues, applicationDetails.currentOrganization.organizationId);\n // }\n // if (applicationMenues && applicationMenues.id == \"amc-platform-web\" && applicationMenues.children) {\n // let isChildMenuVisibleByRole = true;\n // let isChildMenuNotVisibleByRole = true;\n // let isChildMenurOrgWithUserRole = true;\n\n // const childmenu = this.validateRouteByState( this.router , applicationMenues.children);\n\n // if (childmenu && childmenu.visibility_roles_not_in) {\n // isChildMenuNotVisibleByRole = this.navigation.checkForvisibilityRolesNotIn(childmenu.visibility_roles_not_in);\n // }\n\n // if (childmenu && childmenu.visibility_roles) {\n // isChildMenuVisibleByRole = this.navigation.checkForRoles(childmenu.visibility_roles);\n // }\n\n // if (childmenu && childmenu.org_user_ctrl) {\n // isChildMenurOrgWithUserRole = this.navigation.checkForOrgWithUserRole(childmenu.org_user_ctrl,childmenu, applicationDetails.currentOrganization.organizationId);\n // }\n\n // if ((!isChildMenuNotVisibleByRole || !isChildMenuVisibleByRole || !isChildMenurOrgWithUserRole) && childmenu) {\n // isredirected = true;\n // this.router.navigate([\"/\"]);\n // }\n // }\n // if ((!isMenuVisibleByorgSetting || !isMenuVisibleByRole || !isMenuNotVisibleByRole || !isMenurOrgWithUserRole || !isMenuNotVisibleByappspacificconfigcheck) && !isredirected) {\n // if (!this.currentApp) {\n // this.navigation.getHostOriginAndNavigate(this.toDisplayApplications[0].defaulturl); \n // }else{\n // this.navigation.getHostOriginAndNavigate(applicationMenues.defaulturl);\n // }\n // }\n // }\n // }catch(error){\n // throw error;\n // }\n // }\n\n validateRouteByState(state , listMenus){\n try{\n const findRoute = listMenus.find(list => {\n if(list.link == 'amc'+state.url) {\n return list;\n } else if(list.matchRoutes && list.matchRoutes.length > 0){\n if(list.matchRoutes.includes(state.url)){\n return list;\n };\n }\n });\n return findRoute;\n }catch(error){\n throw error;\n }\n}\n \n // public checkForRedirection(applicationDetails: appDetails) {\n // let route = '';\n // if(applicationDetails.currentAccount && !(this.navigation.isHavingAnyActiveSubs(applicationDetails.applicationId,applicationDetails.currentAccount.subscription,applicationDetails.currentAccount.type))){\n // switch(applicationDetails.currentAccount.type){\n // case 'CONTENT': {\n // route = 'content/share-of-voice'\n // break;\n // }\n // case 'DSP': {\n // route = 'dsp/order'\n // break;\n // }\n // case 'AMS_ATTRIBUTION': {\n // route = 'attribution/attribution-campaigns'\n // break;\n // }\n // case 'SELLER_CENTRAL': {\n // route = '#!/ams-content-dashboard/seller-sales-overview';\n // break;\n // }\n // case 'VENDOR_CENTRAL': {\n // route = '#!/ams-content-dashboard/custom-reports-vendor-sales-overview';\n // break;\n // }\n // case 'INSTACART': {\n // route = 'instacart/instacart-overview';\n // break;\n // }\n // case 'CRITEO': {\n // route = 'criteo/criteo-overview';\n // break;\n // }\n // case 'WALMART': {\n // route = 'walmart/';\n // break;\n // }\n // case 'AMAZON_MARKETING_CLOUD': {\n // route = 'dp/data-analytics-getting-started';\n // break;\n // }\n // case 'AMS_VENDOR':\n // case 'AMS_SELLER': {\n // route = '#!/ams-page-overview';\n // break;\n // }\n // }\n // this.navigation.getHostOriginAndNavigate(route);\n // }\n // }\n\n public async getStructureAPISupportData(currentAccount){\n try {\n this.RestApiService.getStructureAPISupportData(currentAccount.organizationId,currentAccount.businessGroupId,currentAccount.amsAccountId).subscribe( \n (response:any) => {\n this.navigation.isStructureApiSupport = response ? response['structureApiSupport'] : undefined;\n this.navigation.isManagedServiceAcc = response ? response['isManagedAccount'] : undefined;\n this.createAppDetails(this.applicationDetails);\n this.cdref.detectChanges(); // Trigger change detection after API response\n },\n (error:any) =>{\n this.navigation.isStructureApiSupport = undefined;\n this.navigation.isManagedServiceAcc = undefined;\n this.createAppDetails(this.applicationDetails);\n this.cdref.detectChanges(); // Trigger change detection after error\n });\n } catch (error) {\n throw error;\n }\n\n }\n \n public scrollToActiveMenu(){\n setTimeout(() => {\n if(this.listItems && this.listItems.find((_, i) => _.isActiveItem) != undefined){\n this.list.scrollTop = this.listItems.find((_, i) => _.isActiveItem).offsetTop;\n }\n }, 500);\n }\n\n public isCheckActiveRoute(menu,headmenu,parentMenu = null) {\n // let urlArray = this.router.url.split('/');\n // let routeUrl = urlArray[urlArray.length - 1];\n // let currentRoute = routeUrl.split('?')[0];\n // let route=menu.route;\n // let pageName;\n // if(route){\n // let splitedURL = route.split(\"/\");\n // pageName = splitedURL.length >0 ? splitedURL[splitedURL.length - 1] : route;\n // }\n\n let routeUrl = this.router.url;\n let currentRoute = routeUrl.split('?')[0];\n let route=menu.route;\n let pageName;\n if(route){\n pageName = route;\n }\n\n if ((currentRoute === \"/\"+pageName || currentRoute === \"/\"+pageName+\"/keyword-report\" || currentRoute === \"/\"+pageName+\"/keyword-suggestions/auto\" || currentRoute === \"/\"+pageName+\"/keyword-suggestions/manual\") && headmenu!=undefined) {\n if(this.prevActiveHeadMenu=== undefined){\n headmenu.isActive=true;\n this.prevActiveHeadMenu=headmenu;\n }else{\n this.prevActiveHeadMenu.isActive=false;\n headmenu.isActive=true;\n this.prevActiveHeadMenu=headmenu;\n }\n if(parentMenu != null){\n this.activePanel = parentMenu.id;\n }\n return true;\n }else if(menu && menu.matchRoutes && this.router.url){\n if (menu.matchRoutes.indexOf(this.router.url.split('?')[0]) > -1) {\n headmenu.isActive=true;\n this.prevActiveHeadMenu=headmenu;\n\n if(parentMenu != null){\n this.activePanel = parentMenu.id;\n }\n return true;\n }\n else{\n return false;\n }\n }\n else{\n return false;\n }\n }\n\n public keepMenuExpanded(parentMenuId:string) {\n if(parentMenuId.indexOf(this.applicationDetails.applicationId) >= 0 ){\n return true;\n }\n else{\n return false;\n }\n }\n\n public allMenuCollapse(){\n for(let headMenu of this.toDisplayGlobalSettingsMenu) {\n headMenu.panelOpenState = false;\n }\n }\n\n public modficationData(data: any): any {\n let configs = this.navigation.getTypeStatusConfigs();\n\t\tlet order = Object.keys(configs);\n\t\tif(order.indexOf(data.type) > -1){\n\t\t\tdata.active = configs[data.type] ? configs[data.type] : false;\n\t\t}\n\t\treturn data;\n\t}\n\n ngOnChanges() {\n // this.showMenuIcon();\n this.checkApplicationDetails(this.applicationDetails);\n if(this.applicationDetails.applicationId == 'ads_amazon_dsp'){\n this.getStructureAPISupportData(this.applicationDetails.currentAccount);\n }\n this.cdref.detectChanges(); // Trigger change detection when inputs change\n }\n\n public goToApplication(item) {\n window.localStorage.removeItem('selectedAppId');\n if(item.defaulturl){\n this.goToAppDefaultPage(item, item.id);\n }else{\n if(item.children && item.children.length > 0) {\n if(item.children[0].children && item.children[0].children.length > 0) {\n this.goToAppDefaultPage(item.children[0].children[0], item.id);\n } else {\n this.goToAppDefaultPage(item.children[0], item.id);\n }\n } else {\n this.goToAppDefaultPage(item, item.id);\n }\n }\n }\n\n public goToMenuLink(item) {\n if (item && item.link) {\n window.open(item.link, '_blank');\n const prams = {\n \"location\": location.href,\n \"AppName\": item?.name,\n \"module_name\" : null\n }\n this.mixpanel.productTrackEvent(\"Page Viewed\",prams);\n }\n }\n\n public ngOnDestroy(): void {\n if(this.sideNavStatusSubscription){\n this.sideNavStatusSubscription.unsubscribe();\n }\n }\n\n public goToAppDefaultPage(item, appId) {\n this.navMenusComponent.onSelectMenu(event, item, appId);\n }\n\n public hideMenuForWL(){\n let isOrgSetting;\n if(this.applicationDetails['userInfo'].role === 'IAC_BRAND_READ_ONLY' || (this.applicationDetails.orgSettings && this.applicationDetails.orgSettings.length == 0)){\n return true;\n }else{\n if (this.applicationDetails.orgSettings && this.applicationDetails.orgSettings.length > 0) {\n isOrgSetting = this.applicationDetails.orgSettings.filter(function(orgSetting){\n if( orgSetting.setting === 'IAC_INSIGHTS' && (!orgSetting.value || orgSetting.value && orgSetting.value == 'ACTIVE')) {\n return true;\n };\n })\n }\n return (isOrgSetting != null && ( this.applicationDetails.sidebarInfo.siteId > 11 || this.applicationDetails['userInfo'].role === 'IAC_BRAND_READ_ONLY'));\n }\n }\n\n // public isApplicationActive(parentMenuId) {\n // if(parentMenuId.indexOf(this.applicationDetails.applicationId) >= 0 && this.isGlobalSettingsMenuActive){\n // return true;\n // }\n // else{\n // return false;\n // }\n // }\n\n \n}\n","<div id=\"loader_sov\">\n <div id=\"loading_div\" *ngIf=\"applicationDetails?.sidebarInfo\">\n <div>\n <div id=\"loader\" *ngIf=\"sideIdInfo !== 1\"\n class=\"site_{{sideIdInfo}}\">\n <img src=\"{{applicationDetails?.sidebarInfo?.logo}}\">\n </div>\n <div id=\"loader_img\" *ngIf=\"sideIdInfo == 1\">\n <img src=\"/assets/images/happy_eyes_closed_small.svg\">\n </div>\n <mat-progress-bar class=\"loader_progress-bar-position\" mode=\"indeterminate\"></mat-progress-bar>\n </div>\n </div>\n</div>\n\n<div fxLayout=\"column\" fxFlexFill *ngIf=\"errorMsg.length == 0 else errorBlock\" translate=\"no\" id=\"angular-16-version\" [ngClass]=\"{'navmenu-expanded' : !navExpanded}\">\n <mat-toolbar class=\"portal-side-menu-top-toolbar\">\n <mat-toolbar-row fxLayout=\"row\">\n <div class=\"portal-forget-heading-card\">\n <div class=\"sidemenu-logo-holder\">\n <span *ngIf=\"sideIdInfo !== 1\">\n <img [src]=\"applicationDetails?.sidebarInfo?.favicon\" style=\"width: 40px !important;display: flex !important;\" *ngIf=\"!navExpanded\" [alt]=\"applicationDetails?.sidebarInfo?.firstName\" class=\"favicon-dimension\" />\n <img [src]=\"applicationDetails?.sidebarInfo?.logo\" style=\"display: flex !important;\" *ngIf=\"navExpanded\" class=\"logo-dimension\" />\n </span>\n <span *ngIf=\"sideIdInfo == 1\">\n <img src=\"assets/logos/intentwiselogo.svg\" style=\"width: 40px !important;display: flex !important;\" *ngIf=\"!navExpanded\" [alt]=\"applicationDetails?.sidebarInfo?.firstName\" class=\"favicon-dimension intentwise-favicon\">\n <img src=\"assets/logos/Intentwise.svg\" style=\"display: flex !important;\" *ngIf=\"navExpanded\" [alt]=\"applicationDetails?.sidebarInfo?.firstName\" class=\"logo-dimension intentwise-logo\">\n </span>\n </div>\n </div>\n </mat-toolbar-row>\n </mat-toolbar>\n <!-- <div class=\"sidebar-collapse-icon\" *ngIf=\"isAdminRole\">\n <button mat-menu-item class=\"sidemenu-icon-top\" (click)=\"allMenuCollapse()\">\n <mat-icon *ngIf=\"sidenav && sidenav.opened\">keyboard_arrow_up</mat-icon>\n </button>\n </div> -->\n <div *ngIf=\"sidenav && sidenav.opened && !inContextInsightsWLApp\" class=\"app-menu-container\">\n <button class=\"app-menu-button selected-app-button\" *ngIf=\"toDisplayApplications && toDisplayApplications.length == 1\">\n <span class=\"app-name selected-app-container\">\n <!-- <mat-icon *ngIf=\"currentApp?.name\" class=\"sideNavIcon {{currentApp?.name.split(' ').join('')}}\"></mat-icon> -->\n <img *ngIf=\"currentApp?.name\" class=\"icon side-menu-icon children-icon\" [src]=\"getIconUrl(currentApp.icon || 'default-icon.svg')\"/>\n <label style=\"margin-left: -4px;\" [innerHTML]=\"selectedApplication(currentApp)\"></label>\n <span *ngIf=\"currentApp?.badge\" class=\"badge-text sov-beta-position\">{{currentApp.badge}}</span>\n </span>\n </button>\n <button class=\"app-menu-button selected-app-button\" [mat-menu-trigger-for]=\"appMenu\" *ngIf=\"toDisplayApplications && toDisplayApplications.length > 1\">\n <span class=\"app-name selected-app-container\">\n <!-- <mat-icon *ngIf=\"currentApp?.name\" class=\"sideNavIcon {{currentApp?.name.split(' ').join('')}}\"></mat-icon> -->\n <img *ngIf=\"currentApp?.name\" class=\"icon side-menu-icon children-icon\" [src]=\"getIconUrl(currentApp.icon || 'default-icon.svg')\"/>\n <label style=\"margin-left: -4px;\" [innerHTML]=\"selectedApplication(currentApp)\"></label>\n <span *ngIf=\"currentApp?.badge\" class=\"badge-text sov-beta-position\">{{currentApp.badge}}</span>\n </span>\n <span class=\"dropdown-icon\"></span>\n </button>\n <mat-menu #appMenu=\"matMenu\" class=\"app-menu\" [backdropClass]=\"'all-module-menus'\">\n <ng-container *ngFor=\"let headmenu of toDisplayApplications\">\n <button class=\"menu-option\" mat-menu-item (click)=\"goToApplication(headmenu)\" [ngClass]=\"{'active': headmenu.panelOpenState}\" class=\"{{headmenu.id}}_icon\" *ngIf=\"headmenu.name != 'Account Management'\" translate=\"no\">\n <!-- <mat-icon class=\"sideNavIcon children-icon\" [ngClass]=\"headmenu.name.split(' ').join('')\"></mat-icon> -->\n <img class=\"icon children-icon side-menu-icon\" [src]=\"getIconUrl(headmenu.icon || 'default-icon.svg')\"/>\n <label [innerHTML]=\"selectedApplication(headmenu)\"></label>\n <span *ngIf=\"headmenu.badge\" class=\"badge-text sov-beta-position\" [innerHTML]=\"headmenu.badge\"></span>\n </button>\n </ng-container>\n </mat-menu>\n </div>\n <div class=\"portal-sidnav-menu\" fxFlex=\"nogrow noshrink\" appScrollable [ngClass]=\"{'whiteLabelSidenav' : inContextInsightsWLApp}\">\n <mat-expansion-panel [expanded]=\"headmenu.panelOpenState == true\" hideToggle=\"true\"\n *ngFor=\"let headmenu of toDisplayApplications\" [ngClass]=\"{'active': currentApp.id === headmenu.id }\"\n (opened)=\"headmenu.panelOpenState = true\" (closed)=\"headmenu.panelOpenState = false\">\n <mat-expansion-panel-header matTooltip=\"{{getTooltipInfo(headmenu)}}\" matTooltipClass=\"left-nav-tooltip\" matTooltipPosition=\"right\"\n *ngIf=\"headmenu.type == 'expandable' else singleMenus\" class=\"main-expansion-panel-header\"\n (click)=\"goToApplication(headmenu)\">\n <mat-panel-title>\n <img class=\"icon side-menu-icon side-menu-icon-color\" [src]=\"getIconUrl(headmenu.icon || 'default-icon.svg')\"/>\n <h3 class=\"sidemenu-heading applicationMenu\">\n <label [innerHTML]=\"selectedApplication(headmenu)\"></label>\n <span *ngIf=\"headmenu.badge\" class=\"badge-text sov-beta-position\" [innerHTML]=\"headmenu.badge\"></span>\n </h3>\n </mat-panel-title>\n <mat-panel-description class=\"headmenu-description\" *ngIf=\"navExpanded\">\n <mat-icon class=\"main-chevron-icon\" *ngIf=\"!headmenu.panelOpenState\">arrow_right</mat-icon>\n <mat-icon class=\"main-chevron-icon\" *ngIf=\"headmenu.panelOpenState\">arrow_drop_down</mat-icon>\n </mat-panel-description>\n </mat-expansion-panel-header>\n <mat-list class=\"padding-0px\" *ngFor=\"let menu of headmenu.children\" [attr.id]=\"headmenu.id\" [ngClass]=\"{'group-nav-menu': menu.children }\">\n <mat-expansion-panel *ngIf=\"menu.children else listMenu\" class=\"div-background-color-white\" [expanded]=\"menu.id == activePanel\"\n [ngClass]=\"{'activePanel': menu.id == activePanel , 'whiteLabelActive' : inContextInsightsWLApp}\" hideToggle=\"true\"\n (opened)=\"menu.panelOpenState = true\" (closed)=\"menu.panelOpenState = false\">\n <mat-expansion-panel-header\n [ngClass]=\"{'header-border': menu.panelOpenState === true, 'header-border-none': menu.panelOpenState === false }\">\n <mat-panel-title>\n <img style=\"margin-right: 10px\" *ngIf=\"(menu.icon && menu.icon != '') else displayInitials\"\n class=\"icon side-menu-icon side-menu-icon-color\" [src]=\"getIconUrl(menu.icon)\" />\n <ng-template #displayInitials>\n <div class=\"sidemenu-symbol\">\n {{menu.symbol}}\n </div>\n </ng-template>\n <h3 class=\"menu-heading applicationSubmenus\"><span class=\"menu-name-expandable\" [innerHTML]=\"selectedApplication(menu)\"></span>\n <span *ngIf=\"menu.badge\" class=\"badge-text sov-beta-position level-two-badge\"\n [innerHTML]=\"menu.badge\"></span>\n </h3>\n </mat-panel-title>\n <mat-panel-description class=\"children-description\" *ngIf=\"navExpanded\">\n <mat-icon class=\"sub-chevron-icon\" *ngIf=\"!menu.panelOpenState\">keyboard_arrow_right</mat-icon>\n <mat-icon class=\"sub-chevron-icon\" *ngIf=\"menu.panelOpenState\">keyboard_arrow_down</mat-icon>\n </mat-panel-description>\n </mat-expansion-panel-header>\n <!-- <mat-divider></mat-divider> -->\n <mat-nav-list *ngFor=\"let childMenu of menu.children;\" class=\"sub-child-menu\">\n <lnc-nav-menus appOffsetTop [isActiveItem]=\"isCheckActiveRoute(childMenu,headmenu,menu)\" [item]=\"childMenu\"\n [applicationId]=\"applicationDetails.applicationId\" [parentMenuId]=\"headmenu.id\" [parentPanelId]=\"menu.id\"\n (menuClicked)=\"menuClicked($event)\" #navMenusComponent>\n </lnc-nav-menus>\n </mat-nav-list>\n </mat-expansion-panel>\n <ng-template #listMenu>\n <mat-nav-list>\n <lnc-nav-menus appOffsetTop [isActiveItem]=\"isCheckActiveRoute(menu,headmenu)\" [item]=\"menu\"\n [applicationId]=\"applicationDetails.applicationId\" [parentMenuId]=\"headmenu.id\"\n (menuClicked)=\"menuClicked($event)\" #navMenusComponent>\n </lnc-nav-menus>\n </mat-nav-list>\n </ng-template>\n </mat-list>\n <ng-template #singleMenus>\n <mat-list>\n <lnc-nav-menus id=\"{{headmenu.id}}\" appOffsetTop [isActiveItem]=\"isCheckActiveRoute(headmenu,headmenu)\"\n [item]=\"headmenu\" [applicationId]=\"applicationDetails.applicationId\" [parentMenuId]=\"headmenu.id\"\n matTooltip=\"{{getTooltipInfo(headmenu)}}\" matTooltipClass=\"left-nav-tooltip\" matTooltipPosition=\"right\"\n (menuClicked)=\"menuClicked($event)\" #navMenusComponent>\n </lnc-nav-menus>\n </mat-list>\n </ng-template>\n </mat-expansion-panel>\n </div>\n <div class=\"portal-global-setting-menu sticky_bottom_menu\" *ngIf=\"!inContextInsightsWLApp\">\n <div *ngIf=\"!inContextInsightsWLApp\" class=\"app-menu-container\">\n <button class=\"app-menu-Link-button\" *ngIf=\"toDisplayLinkMenu && toDisplayLinkMenu.length > 0\">\n <div *ngFor=\"let menuLink of toDisplayLinkMenu\" id=\"{{menuLink.id + 'menu'}}\" [style.margin-left]=\"sidenav && sidenav.opened ? '0px' : '5px'\">\n <span class=\"app-name\" (click)=\"goToMenuLink(menuLink)\">\n <div *ngIf=\"sidenav && sidenav.opened\" style=\"display: flex; align-items: center;\">\n <img *ngIf=\"menuLink?.name\" matTooltip=\"{{getTooltipInfo(menuLink)}}\" matTooltipPosition=\"right\" matTooltipClass=\"left-nav-tooltip\" class=\"icon side-menu-icon children-icon\" [src]=\"getIconUrl(menuLink.icon || 'default-icon.svg')\"/>\n <label *ngIf=\"showTitle\" class=\"app-name-label\" [innerHTML]=\"selectedApplication(menuLink)\"></label>\n <span *ngIf=\"menuLink?.badge\" class=\"badge-text sov-beta-position\">{{menuLink.badge}}</span>\n </div>\n <div *ngIf=\"sidenav && !sidenav.opened\">\n <img *ngIf=\"menuLink?.name\" matTooltip=\"{{getTooltipInfo(menuLink)}}\" matTooltipPosition=\"right\" matTooltipClass=\"left-nav-tooltip\" class=\"icon side-menu-icon children-icon\" [src]=\"getIconUrl(menuLink.icon || 'default-icon.svg')\"/>\n <span *ngIf=\"menuLink?.badge\" class=\"badge-text sov-beta-position\">{{menuLink.badge}}</span>\n </div>\n </span>\n </div>\n </button>\n </div>\n <mat-expansion-panel [expanded]=\"settingsHeadMenu.panelOpenState == true || expandGlobalSettings\" hideToggle=\"true\" id=\"{{settingsHeadMenu.id + 'menu'}}\"\n *ngFor=\"let settingsHeadMenu of toDisplayGlobalSettingsMenu\" [ngClass]=\"{'active': settingsHeadMenu.isActive }\"\n (opened)=\"sidenav.open(); settingsHeadMenu.panelOpenState = true\" (closed)=\"settingsHeadMenu.panelOpenState = false; expandGlobalSettings = false\" [style.border]=\"sidenav && sidenav.opened ? '' : 'none !important'\">\n <mat-expansion-panel-header matTooltip=\"{{getTooltipInfo(settingsHeadMenu)}}\" matTooltipPosition=\"right\" matTooltipClass=\"left-nav-tooltip\"\n *ngIf=\"settingsHeadMenu.type == 'expandable' else singleMenus\" class=\"main-expansion-panel-header\"\n [ngClass]=\"sidenav && sidenav.opened ? '' : 'sticky-bottom-closed'\">\n <mat-panel-title>\n <img class=\"icon side-menu-icon side-menu-icon-color\" [src]=\"getIconUrl(settingsHeadMenu.icon || 'settings-icon.svg')\" />\n <h3 class=\"sidemenu-heading applicationMenu\">\n <label [innerHTML]=\"selectedApplication(settingsHeadMenu)\"></label>\n <span *ngIf=\"settingsHeadMenu.badge\" class=\"badge-text sov-beta-position\"\n [innerHTML]=\"settingsHeadMenu.badge\"></span>\n </h3>\n </mat-panel-title>\n <mat-panel-description class=\"setting-description\" *ngIf=\"navExpanded\">\n <mat-icon class=\"main-chevron-icon\" *ngIf=\"!settingsHeadMenu.panelOpenState\">arrow_right</mat-icon>\n <mat-icon class=\"main-chevron-icon\" *ngIf=\"settingsHeadMenu.panelOpenState\">arrow_drop_down</mat-icon>\n </mat-panel-description>\n </mat-expansion-panel-header>\n <mat-list class=\"padding-0px\" *ngFor=\"let menu of settingsHeadMenu.children\" [attr.id]=\"settingsHeadMenu.id\"\n [ngClass]=\"{'group-nav-menu': menu.children }\">\n <mat-nav-list>\n <lnc-nav-menus appOffsetTop [isActiveItem]=\"isCheckActiveRoute(menu,settingsHeadMenu)\" [item]=\"menu\"\n [applicationId]=\"applicationDetails.applicationId\" [parentMenuId]=\"settingsHeadMenu.id\"\n (menuClicked)=\"menuClicked($event)\" #navMenusComponent>\n </lnc-nav-menus>\n </mat-nav-list>\n </mat-list>\n <ng-template #singleMenus>\n <mat-list>\n <lnc-nav-menus [attr.id]=\"settingsHeadMenu.id\" appOffsetTop\n [isActiveItem]=\"isCheckActiveRoute(settingsHeadMenu,settingsHeadMenu)\" [item]=\"settingsHeadMenu\"\n [applicationId]=\"applicationDetails.applicationId\" [parentMenuId]=\"settingsHeadMenu.id\"\n matTooltip=\"{{getTooltipInfo(settingsHeadMenu)}}\" matTooltipClass=\"left-nav-tooltip\" matTooltipPosition=\"right\"\n (menuClicked)=\"menuClicked($event)\" #navMenusComponent>\n </lnc-nav-menus>\n </mat-list>\n </ng-template>\n </mat-expansion-panel>\n\n </div>\n</div>\n<ng-template #errorBlock>\n <div class=\"errorMsg\">\n <span class=\"material-icons\">error</span>\n <span class=\"errorTxt\">{{errorMsg}}</span>\n </div>\n</ng-template>\n\n<a class=\"hamburger-icon expanded-hamburger-icon\" title=\"Toggle Menu\" (click)=\"sidenav.close();allMenuCollapse(); \">\n <mat-icon class=\"left-chevron-icon\">keyboard_arrow_left</mat-icon>\n</a>\n\n<!-- <img *ngIf=\"showMenuIcon()\" class=\"favicon-dimension\" src={{applicationDetails.sidebarInfo.favicon}} alt=\"Intentwise Favicon\" />\n <a *ngIf=\"showMenuIcon()\" title=\"Toggle Menu\" class=\"hamburger-icon collapsed-hamburger\"\n (click)=\"sidenav.open()\">\n <mat-icon class=\"right-chevron-icon\">keyboard_arrow_right</mat-icon>\n </a> -->","import { NgModule } from '@angular/core';\nimport { ApplicationSidebarComponent } from './application-sidebar.component';\nimport { CdkTableModule } from '@angular/cdk/table';\nimport { CommonModule } from '@angular/common';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { HttpClientModule } from '@angular/common/http';\nimport { UrlContextService } from './services/url-context.service'\n\n//Navigation\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { MatMenuModule } from '@angular/material/menu';\n\n//Layout\nimport { MatListModule } from '@angular/material/list';\nimport { MatGridListModule } from '@angular/material/grid-list';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatStepperModule } from '@angular/material/stepper';\n\n//Buttons & Indicators\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\n\n// Form Controls.\nimport {\tMatCheckboxModule\t}\tfrom '@angular/material/checkbox';\nimport {\tMatInputModule\t}\tfrom '@angular/material/input';\nimport {\tMatRadioModule\t}\tfrom '@angular/material/radio';\nimport {\tMatDatepickerModule\t}\tfrom '@angular/material/datepicker';\nimport {\tMatNativeDateModule\t}\tfrom '@angular/material/core';\nimport {\tMatAutocompleteModule\t}\tfrom '@angular/material/autocomplete';\nimport {\tMatSliderModule\t}\tfrom '@angular/material/slider';\nimport {\tMatSlideToggleModule\t}\tfrom '@angular/material/slide-toggle';\nimport {\tMatSelectModule\t}\tfrom '@angular/material/select';\n\n//Popups & Modals\nimport {\tMatDialogModule\t}\tfrom '@angular/material/dialog';\nimport {\tMatTooltipModule\t}\tfrom '@angular/material/tooltip';\nimport {\tMatSnackBarModule\t}\tfrom '@angular/material/snack-bar';\n\n//Tables\nimport {\tMatTableModule\t}\tfrom\t'@angular/material/table';\nimport {\tMatSortModule\t}\tfrom\t'@angular/material/sort';\nimport {\tMatPaginatorModule\t}\tfrom\t'@angular/material/paginator';\n\n//Services\nimport { NavMenusComponent } from './nav-menus/nav-menus.component';\nimport { OffsetTopDirective, ScrollableDirective } from './nav-menu.directive';\n\nconst matModules = [\n // Navigation.\n MatToolbarModule,\n MatSidenavModule,\n MatMenuModule,\n\n // Layout\n MatListModule,\n MatGridListModule,\n MatExpansionModule,\n MatCardModule,\n MatTabsModule,\n MatStepperModule,\n\n // Buttons & Indicators\n MatButtonModule,\n MatButtonToggleModule,\n MatChipsModule,\n MatIconModule,\n MatProgressSpinnerModule,\n MatProgressBarModule,\n\n // Form Controls.\n MatCheckboxModule,\n MatInputModule,\n MatRadioModule,\n MatDatepickerModule,\n MatNativeDateModule,\n MatAutocompleteModule,\n MatSliderModule,\n MatSlideToggleModule,\n MatSelectModule,\n\n // Popups & Modals\n MatDialogModule,\n MatTooltipModule,\n MatSnackBarModule,\n\n // Table\n CdkTableModule,\n MatTableModule,\n MatSortModule,\n MatPaginatorModule\n];\n\n@NgModule({\n declarations: [ApplicationSidebarComponent, NavMenusComponent,ScrollableDirective, OffsetTopDirective],\n imports: [\n matModules, \n CommonModule,\n BrowserAnimationsModule,\n FlexLayoutModule,\n HttpClientModule\n ],\n exports: [ApplicationSidebarComponent],\n providers:[UrlContextService]\n})\nexport class ApplicationSidebarModule { }\n","/*\n * Public API Surface of application-sidebar\n */\n\nexport * from './lib/services/application-sidebar.service';\nexport * from './lib/application-sidebar.component';\nexport * from './lib/application-sidebar.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i1","i1.RestApiService","i3.TranslationService","i4.UrlContextService","i1.ApplicationSidebarService","i3.UrlContextService","i5.TranslationService","i7","i9","i10","i12.OffsetTopDirective","i3.RestApiService","i6.MixpanelService","i8","i11","i16","i17.NavMenusComponent","i18.ScrollableDirective","i18.OffsetTopDirective"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"application-sidebar.mjs","sources":["../../../projects/application-sidebar/src/lib/constants.ts","../../../projects/application-sidebar/src/lib/sidebar-layout.local.ts","../../../projects/application-sidebar/src/lib/navmenu1.ts","../../../projects/application-sidebar/src/lib/services/rest-api.services.ts","../../../projects/application-sidebar/src/lib/services/url-context.service.ts","../../../projects/application-sidebar/src/lib/translations/translations-en.ts","../../../projects/application-sidebar/src/lib/translations/translations-ja.ts","../../../projects/application-sidebar/src/lib/services/translation.service.ts","../../../projects/application-sidebar/src/lib/services/application-sidebar.service.ts","../../../projects/application-sidebar/src/lib/nav-menu.directive.ts","../../../projects/application-sidebar/src/lib/nav-menus/nav-menus.component.ts","../../../projects/application-sidebar/src/lib/nav-menus/nav-menus.component.html","../../../projects/application-sidebar/src/lib/services/mixpanel.service.ts","../../../projects/application-sidebar/src/lib/application-sidebar.component.ts","../../../projects/application-sidebar/src/lib/application-sidebar-revised.template.html","../../../projects/application-sidebar/src/lib/application-sidebar.module.ts","../../../projects/application-sidebar/src/public-api.ts","../../../projects/application-sidebar/src/application-sidebar.ts"],"sourcesContent":["export const constants = {\n baseProdURL:'https://api.intentwise.com/',\n baseStagingURL:'https://apitest.intentwise.com/',\n kBaseDspApiURL: 'https://dspapi.intentwise.com/',\n kBaseDspTestApiURL: 'https://dspapi-test.intentwise.com/',\n STAGING_MENU_BUCKET:'https://s3.us-west-2.amazonaws.com/stagemenu.intentwise.com',\n STAGING_THEME_BUCKET:'https://s3.us-west-2.amazonaws.com/stageassets.intentwise.com',\n PROD_THEME_BUCKET:'https://s3.us-west-2.amazonaws.com/assets.intentwise.com',\n PROD_MENU_BUCKET:'https://s3.us-west-2.amazonaws.com/menu.intentwise.com',\n}","import { RevisedNavigationConfig } from './revised-navigation';\n\n/**\n * Bundled fallback for `sidebar-layout.json` when the S3 request fails (network, CORS, 4xx/5xx).\n * `RestApiService` always loads from S3 first (`menuBucketBaseURL/sidebar-layout.json`), then falls back here.\n * Edit this file to match `ui-resources/sidebar-layout.json` or to ship a safe default in the bundle.\n *\n * ## Shape (grouped-menus, non-Optimize)\n * - **Sections/groups decide structure, nav JSON decides labels.**\n * - `groups[]`: each block is a **titled** group (`id` + `title` + `items`) or **untitled** flat list (`title` omitted).\n * - Each `items[]` entry: `{ \"menuId\": \"<id from navmenu1>\" }`\n * - We **do not** override leaf titles here; names come from `navmenu1` (+ translations).\n * - **Leaf** (no children in nav JSON): one row link.\n * - **Expandable** (menu has `children` in navmenu1): one `mat-expansion-panel` row; children render as links (or a second panel if you use `children` below).\n * - Optional **`children`** / `childMenuIds` / `includeChildMenuIds` are still supported for advanced cases; see `RevisedGroupMenuConfig`.\n * - Group size is dynamic:\n * - `items.length === 1` → rendered as a **single row** under the group title (e.g. Product 360 today).\n * - `items.length > 1` → rendered as a **titled, expandable group** (e.g. Commerce Insights), with one row per item.\n */\nexport const LOCAL_SIDEBAR_LAYOUT: RevisedNavigationConfig = {\n \"enabled\": true,\n \"sections\": [\n {\n \"id\": \"optimize\",\n \"title\": \"Optimize\",\n \"type\": \"app-tabs\",\n \"iconSvg\": \"<svg width=\\\"13\\\" height=\\\"13\\\" viewBox=\\\"0 0 16 16\\\" fill=\\\"none\\\"><path d=\\\"M2 4h12M2 8h8M2 12h5\\\" stroke=\\\"#6D6E6F\\\" stroke-width=\\\"1.4\\\" stroke-linecap=\\\"round\\\"></path><circle cx=\\\"13\\\" cy=\\\"8\\\" r=\\\"1.4\\\" fill=\\\"#6D6E6F\\\"></circle><circle cx=\\\"11\\\" cy=\\\"4\\\" r=\\\"1.4\\\" fill=\\\"#6D6E6F\\\"></circle><circle cx=\\\"8\\\" cy=\\\"12\\\" r=\\\"1.4\\\" fill=\\\"#6D6E6F\\\"></circle></svg>\",\n \"appIds\": [\n \"ads_amazon_advertising\",\n \"ads_amazon_dsp\",\n \"ads_walmart\",\n \"ads_criteo\",\n \"ads_instacart\"\n ],\n \"defaultAppId\": \"ads_amazon_advertising\"\n },\n {\n \"id\": \"intelligence\",\n \"title\": \"Intelligence\",\n \"type\": \"grouped-menus\",\n \"iconSvg\": \"<svg width=\\\"13\\\" height=\\\"13\\\" viewBox=\\\"0 0 16 16\\\" fill=\\\"none\\\"><path d=\\\"M2 12L7 7L10 10L14 4\\\" stroke=\\\"#6D6E6F\\\" stroke-width=\\\"1.4\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"></path><path d=\\\"M10.5 4H14V7.5\\\" stroke=\\\"#6D6E6F\\\" stroke-width=\\\"1.4\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"></path></svg>\",\n \"groups\": [\n {\n \"id\": \"commerce_insights\",\n \"title\": \"Commerce Insights\",\n \"items\": [\n \"iac_insights_dashboard\",\n \"amc_insights_dashboard\",\n \"ads_amazon_content_share_of_voice\",\n \"ads_amazon_content_content_analytics\"\n ]\n },\n {\n \"id\": \"product_360\",\n \"title\": \"Product 360\",\n \"items\": [\"ads_product_360\"]\n },\n {\n \"id\": \"explore_amc\",\n \"title\": \"Explore (AMC)\",\n \"items\": [\"amc-platform-web\"]\n }\n ]\n },\n {\n \"id\": \"foundation\",\n \"title\": \"Foundation\",\n \"type\": \"grouped-menus\",\n \"iconSvg\": \"<svg width=\\\"13\\\" height=\\\"13\\\" viewBox=\\\"0 0 16 16\\\" fill=\\\"none\\\"><rect x=\\\"2\\\" y=\\\"2\\\" width=\\\"5\\\" height=\\\"5\\\" rx=\\\"1\\\" stroke=\\\"#6D6E6F\\\" stroke-width=\\\"1.4\\\"></rect><rect x=\\\"9\\\" y=\\\"2\\\" width=\\\"5\\\" height=\\\"5\\\" rx=\\\"1\\\" stroke=\\\"#6D6E6F\\\" stroke-width=\\\"1.4\\\"></rect><rect x=\\\"2\\\" y=\\\"9\\\" width=\\\"5\\\" height=\\\"5\\\" rx=\\\"1\\\" stroke=\\\"#6D6E6F\\\" stroke-width=\\\"1.4\\\"></rect><rect x=\\\"9\\\" y=\\\"9\\\" width=\\\"5\\\" height=\\\"5\\\" rx=\\\"1\\\" stroke=\\\"#6D6E6F\\\" stroke-width=\\\"1.4\\\"></rect></svg>\",\n \"groups\": [\n { \"id\": \"getting_started\", \"title\": \"Getting Started\", \"items\": [\"data_platform_get_started\"] },\n { \"id\": \"my_connections\", \"title\": \"My connections\", \"items\": [\"data_sources_destinations\"] },\n { \"id\": \"dashboard_templates\", \"title\": \"Dashboard Templates\", \"items\": [\"data_platform_templates\"] },\n {\n \"id\": \"white_label\",\n \"title\": \"White Label\",\n \"items\": [\n \"iac_insights_whitelabel-settings\",\n \"iac_insights_user_mgmt\"\n ]\n },\n { \"id\": \"custom_reports\", \"title\": \"Custom Reports\", \"items\": [\"iac_custom_reports\"] },\n { \"id\": \"analytics_lab\", \"title\": \"Analytics Lab\", \"items\": [\"data_platform_sql_lab\"] }\n ]\n }\n ]\n}\n","export const GLOBAL_LIST = [\n {\n \"id\": \"ads_amazon_advertising\",\n \"name\": \"Sponsored Ads\",\n \"app_name\": \"Adverstising\",\n \"type\": \"expandable\",\n \"level\": \"one\",\n \"icon\": \"speakerphone.svg\",\n \"order\": 1,\n \"defaulturl\": \"#!/ams-page-overview\",\n \"visibility_roles_not_in\" : [\"AMC_BRAND_READ_ONLY\",\"IAC_BRAND_READ_ONLY\",\"ANALYTICS_LAB\"],\n \"organization_setting_not_in\":[\"SHOW_ONLY_IW_AMC_IAC_P360_LEFT_NAV\"],\n \"siteIds\":[1,2,3,4,5,6,7,8,9,10,11],\n \"children\": [\n {\n \"id\": \"ams_ads_all_accounts\",\n \"name\": \"TranslationService.getLabel('ALL_ACCOUNTS')\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"portfolio-grid.svg\",\n \"link\": \"triangular.ams-all-accounts-overview\",\n \"route\": \"#!/all-accounts\",\n \"child_routes\" :[\"triangular.ams-account-status\",\"triangular.ams-signup-overview\"],\n \"all_accounts\":true\n },\n {\n \"id\": \"ams_ads_user_settings\",\n \"name\": \"TranslationService.getLabel('USER_SETTINGS')\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"portfolio-grid.svg\",\n \"link\": \"triangular.profile\",\n \"route\": \"#!/profile\",\n \"all_accounts\":true\n },\n {\n \"id\": \"ams_ads_overview\",\n \"name\": \"TranslationService.getLabel('OVERVIEW')\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"portfolio-grid.svg\",\n \"link\": \"triangular.ams-page-overview\",\n \"route\": \"#!/ams-page-overview\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"]\n },\n {\n \"id\": \"ams_ads_recommendations\",\n \"name\": \"TranslationService.getLabel('RECOMMENDATIONS')\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"mental-health.svg\",\n \"link\": \"triangular.ams-current-recommendations\",\n \"route\": \"#!/current-recommendations\",\n \"child_routes\":[\"triangular.ams-recommendations-sponsored-keywords\",\"triangular.ams-current-recommendations.recommendation-detail\"],\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"],\n \"incontext_campaign_targeting\":[]\n },\n {\n \"id\": \"ams_ads_campaigns\",\n \"name\": \"TranslationService.getLabel('CAMPAIGNS')\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"file-explorer.svg\",\n \"link\": \"triangular.ams-page-campaigns\",\n \"route\": \"#!/ams-page-campaigns\",\n \"child_routes\" : [\"triangular.ams-page-campaigns.all-campaigns\",\"triangular.ams-page-campaigns.draft-campaigns\"]\n },\n { \n \"id\": \"ams_ads_adgroups\",\n \"name\": \"TranslationService.getLabel('AD_GROUPS')\",\n \"icon\": \"sp_ad-groups.svg\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"link\": \"triangular.ams-consolidated-adGroups\"\n }, \n { \n \"id\": \"ams_ads_products\",\n \"name\": \"TranslationService.getLabel('PRODUCTS')\",\n \"icon\": \"search-place.svg\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"link\": \"triangular.ams-consolidated-products\",\n \"route\": \"#!/consolidated-products\",\n \"incontext_campaign_targeting\":[\"SP_A\", \"SP_M_KT\", \"SP_M_PT\", \"SD_A\", \"SD_PT\",\"STV\"]\n },\n {\n \"id\": \"ams_ads_targeting\",\n \"name\": \"TranslationService.getLabel('TARGETING')\",\n \"type\": \"expandable\",\n \"icon\": \"setting.svg\",\n \"level\": \"two\",\n \"children\": [\n { \n \"id\": \"ams_ads_keywords\",\n \"name\": \"TranslationService.getLabel('KEYWORDS')\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"search-place.svg\",\n \"link\": \"triangular.ams-consolidated-keyword-container\",\n \"route\": \"#!/ams-consolidated-keyword-container\",\n \"child_routes\":[\"triangular.ams-consolidated-keyword-container.ams-consolidated-keywords\",\"triangular.ams-consolidated-keyword-container.ams-consolidated-negative-keywords\",\"triangular.ams-consolidated-keyword-container.ams-keyword-suggestions\"],\n \"incontext_campaign_targeting\":[\"SP_M_KT\",\"SB_M_KT\",\"SB_M_V\",\"SP_A\"]\n },\n { \n \"id\": \"ams_ads_product_targeting\",\n \"name\": \"TranslationService.getLabel('PRODUCT_AUD_TARGETING')\",\n \"icon\": \"search-place.svg\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"link\": \"triangular.ams-consolidated-targeting-report\",\n \"route\": \"#!/ams-consolidated-targeting-report\",\n \"child_routes\":[\"triangular.ams-consolidated-targeting-report.consolidated-targeting-report\",\"triangular.ams-consolidated-targeting-report.consolidated-negative-targeting-report\"],\n \"incontext_campaign_targeting\":[\"SP_M_PT\",\"SB_M_PT\", \"SB_M_V_PT\", \"SD_A\", \"SD_PT\", \"STV\"]\n },\n { \n \"id\": \"ams_ads_auto_targeting\",\n \"name\": \"TranslationService.getLabel('AUTO_TARGETING')\",\n \"icon\": \"auto_targeting.svg\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"link\": \"triangular.ams-auto-targeting-report\",\n \"route\": \"#!/auto-targeting-report\",\n \"child_routes\":[\"triangular.ams-auto-targeting-report.negative-targeting-report\",\"triangular.ams-auto-targeting-report.targeting-report\"],\n \"targetting_types_not_in\":[\"manual\"]\n },\n { \n \"id\": \"ams_ads_search_terms\",\n \"name\": \"TranslationService.getLabel('SEARCH_TERMS')\",\n \"icon\": \"search-place.svg\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"child_routes\":[\"triangular.ams-search-term.all-search-terms\",\"triangular.ams-search-term.ngram\"],\n \"link\": \"triangular.ams-search-term\"\n }\n ]\n },\n {\n \"id\": \"ams_ads_insights\",\n \"name\": \"TranslationService.getLabel('INSIGHTS')\",\n \"type\": \"expandable\",\n \"icon\": \"setting.svg\",\n \"level\": \"two\",\n \"children\": [\n { \n \"id\": \"ams_ads_what_changed\",\n \"name\": \"TranslationService.getLabel('WHAT_CHANGED')\",\n \"icon\": \"what_changed.svg\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"link\": \"triangular.what-changed\",\n \"route\": \"#!/ams-what-changed\",\n \"hide_for_user\" : [\"READ_ONLY\"],\n \"child_routes\":[\"triangular.what-changed-details\",\"triangular.create-request\"],\n \"account_type\": [\"AMS_SELLER\",\"AMS_VENDOR\"]\n },\n { \n \"id\": \"ams_ads_market_share_by_sqp\",\n \"name\": \"TranslationService.getLabel('MARKET_SHARE_BY_SQP')\",\n \"icon\": \"market_share_by_sqp.svg\",\n \"type\": \"leaf\",\n \"badge\": \"NEW\",\n \"level\": \"two\",\n \"link\": \"triangular.marketShareBySqp\",\n \"route\": \"#!/market-share-by-sqp\",\n \"hide_for_user\" : [\"READ_ONLY\"],\n \"account_type\": [\"AMS_SELLER\",\"SELLER_CENTRAL\"],\n \"subscription_types\": [\"SELLER_CENTRAL\"]\n },\n { \n \"id\": \"ams_ads_audits\",\n \"name\": \"TranslationService.getLabel('AUDITS')\",\n \"icon\": \"what_changed.svg\",\n \"type\": \"leaf\",\n \"badge\": \"BETA\",\n \"level\": \"two\",\n \"link\": \"triangular.insights-audits\",\n \"route\": \"#!/audits\",\n \"hide_for_user\" : [\"READ_ONLY\"],\n \"child_routes\": [\"triangular.insights-audits.audit-details\"],\n \"account_type\": [\"AMS_SELLER\",\"AMS_VENDOR\"]\n }\n ]\n },\n { \n \"id\": \"ams_ads_hourly_metrics\",\n \"name\": \"TranslationService.getLabel('HOURLY_METRICS')\",\n \"icon\": \"search-place.svg\",\n \"type\": \"expandable\",\n \"level\": \"two\",\n \"badge\": \"BETA\",\n \"children\": [\n { \n \"id\": \"ams_ads_amazon_markering_stream\",\n \"name\": \"TranslationService.getLabel('AMAZON_MARKETING_STREAM')\",\n \"icon\": \"what_changed.svg\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"link\": \"triangular.ams-realtime-data\",\n \"route\": \"#!/ams-realtime-data\",\n \"child_routes\":[\"triangular.ams-realtime-data.ams-stream\",\"triangular.ams-realtime-data.out-of-budget-campaign\"]\n },\n { \n \"id\": \"ams_ads_amazon_retail_analytics\",\n \"name\": \"TranslationService.getLabel('RETAIL_ANALYTICS')\",\n \"icon\": \"search-place.svg\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"link\": \"triangular.ams-retail-data\",\n \"route\": \"#!/ams-retail-data\",\n \"child_routes\":[\"triangular.ams-retail-data.retail-analytics\"],\n \"account_type\": [\"AMS_VENDOR\"],\n \"incontext_campaign_targeting\":[]\n }\n ]\n },\n { \n \"id\": \"ams_ads_placements\",\n \"name\": \"TranslationService.getLabel('PLACEMENT')\",\n \"icon\": \"placement.svg\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"link\": \"triangular.placement-report\",\n \"route\": \"#!/ams-placement-report\",\n \"campaign_types\": [\"SP\"]\n },\n { \n \"id\": \"ams_ads_sponsored_brands\",\n \"name\": \"TranslationService.getLabel('SPONSORED_BRANDS')\",\n \"icon\": \"search-place.svg\",\n \"type\": \"expandable\",\n \"level\": \"two\",\n \"campaign_types\": [\"HSA\",\"SB\"],\n \"children\": [\n { \n \"id\": \"ams_ads_product_ads\",\n \"name\": \"TranslationService.getLabel('PRODUCT_ADS')\",\n \"icon\": \"targeting.svg\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"link\": \"triangular.ams-sb-product-ads\",\n \"route\": \"#!/ams-sb-product-ads\",\n \"incontext_campaign_targeting\":[\"SB_M_KT\", \"SB_M_PT\", \"SB_M_V\", \"SB_M_V_PT\"]\n },\n { \n \"id\": \"ams_ads_category_benchmark\",\n \"name\": \"TranslationService.getLabel('CATEGORY_BENCHMARK')\",\n \"icon\": \"category-icon.svg\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"link\": \"triangular.ams-category-benchmark-report\",\n \"route\": \"#!/ams-category-benchmark-report\",\n \"incontext_campaign_targeting\":[]\n }\n ]\n },\n { \n \"id\": \"ams_ads_sponsored_display\",\n \"name\": \"TranslationService.getLabel('SPONSORED_DISPLAY')\",\n \"icon\": \"search-place.svg\",\n \"type\": \"expandable\",\n \"level\": \"two\",\n \"campaign_types\": [\"SD\"],\n \"children\": []\n },\n { \n \"id\": \"ams_ads_custom_reports\",\n \"name\": \"TranslationService.getLabel('CUSTOM_REPORTS')\",\n \"icon\": \"search-place.svg\",\n \"type\": \"expandable\",\n \"level\": \"two\",\n \"incontext_campaign_targeting\":[],\n \"children\": [\n \n { \n \"id\": \"ams_ads_sc_order_reports\",\n \"name\": \"TranslationService.getLabel('SC_ORDER_REPORTS')\",\n \"icon\": \"targeting.svg\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"link\": \"triangular.ams-cluvio-mws-reports\",\n \"route\": \"#!/ams-content-dashboard/mws-reports\",\n \"account_ids\": [128510, 168000],\n \"organization_setting\":[\"MWS_CHARTS\"]\n },\n { \n \"id\": \"ams_ads_inventory_forcast\",\n \"name\": \"TranslationService.getLabel('INVENTORY_FORECAST')\",\n \"icon\": \"inventory_forecast.svg\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"link\": \"triangular.ams-cluvio-seller-inventory-forecast\",\n \"route\": \"#!/ams-content-dashboard/seller-inventory-forecast\",\n \"subscription_types\": [\"SELLER_CENTRAL\"],\n \"organization_setting\":[\"INVENTORY_FORECAST\"]\n },\n { \n \"id\": \"ams_ads_organic_ranking\",\n \"name\": \"TranslationService.getLabel('ORGANIC_RANKING')\",\n \"icon\": \"organic_ranking.svg\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"link\": \"triangular.ams-cluvio-organic-ranking\",\n \"route\": \"#!/ams-content-dashboard/organic-ranking\",\n \"account_ids\": [21710]\n },\n { \n \"id\": \"ams_ads_asin_overview\",\n \"name\": \"TranslationService.getLabel('ASIN_OVERVIEW')\",\n \"icon\": \"asin_overview.svg\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"link\": \"triangular.ams-cluvio-asin-overview\",\n \"route\": \"#!/ams-content-dashboard/asin-overview\",\n \"organization_setting\":[\"ASIN_OVERVIEW\"]\n },\n { \n \"id\": \"ams_ads_campaign_report_download\",\n \"name\": \"TranslationService.getLabel('CAMPAIGN_REPORT_DOWNLOAD')\",\n \"icon\": \"campaign_report.svg\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"link\": \"triangular.ams-cluvio-campaign-report-download\",\n \"route\": \"#!/ams-content-dashboard/campaign-report-download\",\n \"organization_setting\":[\"CAMPAIGN_REPORT_DOWNLOAD\"]\n },\n { \n \"id\": \"ams_ads_performance_diagnostics\",\n \"name\": \"TranslationService.getLabel('PERFORMANCE_DIAGNOSTICS')\",\n \"icon\": \"Performance_Diagnostics.svg\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"link\": \"triangular.ams-analytics-performance-diagnostics\",\n \"route\": \"#!/ams-analytics/performance-diagnostics\",\n \"organization_setting\":[\"PERFORMANCE_DIAGNOSTICS\"]\n },\n { \n \"id\": \"ams_ads_perf_diagnostics_detail\",\n \"name\": \"TranslationService.getLabel('PERF_DIAGNOSTICS_DETAIL')\",\n \"icon\": \"Perf_Diagnostics_Detail.svg\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"link\": \"triangular.ams-analytics-performance-diagnostics-detail\",\n \"route\": \"#!/ams-analytics/performance-diagnostics-detail\",\n \"organization_setting\":[\"PERFORMANCE_DIAGNOSTICS_DETAIL\"]\n },\n { \n \"id\": \"ams_ads_pos_new_products\",\n \"name\": \"TranslationService.getLabel('POS_NEW_PRODUCTS')\",\n \"icon\": \"new_product.svg\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"link\": \"triangular.ams-custom-reports-lr-new-products\",\n \"route\": \"#!/ams-analytics/custom-reports-lr-new-products\",\n \"organization_setting\":[\"LR_POS_NEW_PRODUCTS\"]\n },\n { \n \"id\": \"ams_ads_account_view\",\n \"name\": \"TranslationService.getLabel('ACCOUNT_VIEW')\",\n \"icon\": \"new_product.svg\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"link\": \"triangular.ams-custom-reports-lr-new-products\",\n \"route\": \"#!/ams-analytics/custom-reports-lr-new-products\",\n \"organization_setting\":[\"MULTI_ACC_VIEW\"]\n },\n { \n \"id\": \"ams_ads_vendor_sales_and_ams\",\n \"name\": \"TranslationService.getLabel('VENDOR_SALES_AND_AMS')\",\n \"icon\": \"new_product.svg\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"link\": \"triangular.ams-analytics-pos-view\",\n \"route\": \"#!/ams-analytics/pos-view\",\n \"organization_setting\":[\"DISPLAY_POS_DATA\"]\n },\n { \n \"id\": \"ams_ads_vendor_sales_and_ams\",\n \"name\": \"TranslationService.getLabel('DEMAND_AND_FORCAST')\",\n \"icon\": \"vendor_replenishment_code.svg\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"link\": \"triangular.ams-cluvio-demand-and-forcast\",\n \"route\": \"#!/ams-content-dashboard/demand-and-forcast\",\n \"subscription_types\": [\"VENDOR_CENTRAL\"],\n \"organization_setting\":[\"DEMAND_AND_FORECAST\"]\n },\n { \n \"id\": \"ams_ads_vendor_charge_backs\",\n \"name\": \"TranslationService.getLabel('VENDOR_CHARGE_BACKS')\",\n \"icon\": \"vendor_charge_backs.svg\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"link\": \"triangular.ams-custom-reports-vendor-chargeback\",\n \"route\": \"#!/ams-analytics/custom-reports-vendor-chargeback\",\n \"organization_setting\": [\"VENDOR_CHARGE_BACK\"]\n },\n { \n \"id\": \"ams_ads_vendor_product_margin\",\n \"name\": \"TranslationService.getLabel('VENDOR_PRODUCT_MARGIN')\",\n \"icon\": \"vendor_charge_backs.svg\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"link\": \"triangular.ams-cluvio-custom-reports-vendor-product-margin\",\n \"route\": \"#!/ams-content-dashboard/custom-reports-vendor-product-margin\",\n \"organization_setting\": [\"VENDOR_PRODUCT_MARGIN\"],\n \"subscription_types\": [\"VENDOR_CENTRAL\"] \n },\n { \n \"id\": \"ams_ads_internal_dashboard\",\n \"name\": \"TranslationService.getLabel('INTERNAL_DASHBOARD')\",\n \"icon\": \"vendor_charge_backs.svg\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"link\": \"triangular.ams-custom-reports-internal-playground\",\n \"route\": \"#!/ams-analytics/custom-reports-internal-playground\",\n \"organization_setting\": [\"INTERNAL_PLAYGROUND\"]\n },\n { \n \"id\": \"ams_ads_product_overview_download\",\n \"name\": \"TranslationService.getLabel('PRODUCT_OVERVIEW_DOWNLOAD')\",\n \"icon\": \"vendor_charge_backs.svg\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"link\": \"triangular.ams-cluvio-product-overview-download\",\n \"route\": \"#!/ams-content-dashboard/product-overview-download\",\n \"organization_setting\": [\"PRODUCT_OVERVIEW_DOWNLOAD\"]\n }\n ]\n },\n {\n \"id\": \"ams_ads_inventory_overview\",\n \"name\": \"TranslationService.getLabel('INVENTORY_OVERVIEW')\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"portfolio-grid.svg\",\n \"link\": \"triangular.InventoryOverview\",\n \"route\": \"#!/inventoryOverview\",\n \"badge\": \"BETA\",\n \"account_type\": [\"AMS_SELLER\"],\n \"regions\":[\"NA\"]\n },\n { \n \"id\": \"ams_ads_settings\",\n \"name\": \"TranslationService.getLabel('SETTINGS')\",\n \"icon\": \"setting.svg\",\n \"type\": \"expandable\",\n \"level\": \"two\",\n \"visibility_roles_not_in\" : [\"READ_ONLY\"],\n \"children\": [\n { \n \"id\": \"ams_ads_alerts\",\n \"name\": \"TranslationService.getLabel('ALERTS')\",\n \"icon\": \"document-error.svg\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"link\": \"triangular.ams-admin-alerts-list\",\n \"route\": \"#!/ams-admin-alerts-list\",\n \"child_routes\":[\"triangular.ams-admin-alerts\",\"triangular.ams-admin-alerts-exec-history-list\",\"triangular.ams-admin-rules-execution-details\"],\n \"incontext_campaign_targeting\":[]\n },\n { \n \"id\": \"ams_ads_automated_rules\",\n \"name\": \"TranslationService.getLabel('AUTOMATED_RULES')\",\n \"icon\": \"automated_rule.svg\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"link\": \"triangular.ams-admin-automated-rules-list\",\n \"route\": \"#!/ams-admin-automated-rules-list\",\n \"incontext_campaign_targeting\":[],\n \"child_routes\":[\"triangular.ams-admin-rules\",\"triangular.ams-admin-rules-exec-history-list\",\"triangular.ams-admin-rules-execution-details\"],\n \"visibility_roles_not_in\" : [\"DP_USER\",\"DP_ANALYST\"],\n \"customer_types_not_in\":[\"intent_analytics\"]\n },\n { \n \"id\": \"ams_ads_change_history\",\n \"name\": \"TranslationService.getLabel('CHANGE_HISTORY')\",\n \"icon\": \"quit.svg\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"link\": \"triangular.ams-admin-change-history\"\n },\n {\n \"id\": \"ams_ads_budget_management\",\n \"name\": \"TranslationService.getLabel('BUDGET_MANAGEMENT')\",\n \"icon\": \"quit.svg\",\n \"badge\": \"NEW\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"link\": \"triangular.ams-admin-budget-management\",\n \"route\": \"#!/ams-admin-budget-management\",\n \"incontext_campaign_targeting\": []\n }\n ]\n }\n ]\n },\n {\n \"id\": \"ads_amazon_dsp\",\n \"name\": \"Amazon DSP\",\n \"app_name\": \"dsp\",\n \"type\": \"expandable\",\n \"level\": \"one\",\n \"icon\": \"user-group.svg\",\n \"order\": 2,\n \"defaulturl\": \"dsp/\",\n \"visibility_roles_not_in\" : [\"AMC_BRAND_READ_ONLY\",\"IAC_BRAND_READ_ONLY\",\"ANALYTICS_LAB\"],\n \"hide_for_user\" : [\"READ_ONLY\"],\n \"organization_setting_not_in\":[\"SHOW_ONLY_IW_AMC_IAC_P360_LEFT_NAV\"],\n \"siteIds\":[1,2,3,4,5,6,7,8,9,10,11],\n \"children\": [\n {\n \"id\": \"ams_dsp_overview\",\n \"name\": \"Overview\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"portfolio-grid.svg\",\n \"route\": \"overview\",\n \"link\": \"dsp/overview\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"]\n },\n {\n \"id\": \"ams_dsp_order\",\n \"name\": \"Orders\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"orders.svg\",\n \"route\": \"order\",\n \"link\": \"dsp/order\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"],\n \"matchRoutes\":[\"/order-v2\"],\n \"child_routes\":[\"order-v2\"]\n },\n {\n \"id\": \"ams_dsp_line_items\",\n \"name\": \"Line Items\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"line-item.svg\",\n \"route\": \"line-item\",\n \"link\": \"dsp/line-item\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"],\n \"matchRoutes\":[\"/line-items-v2\"],\n \"child_routes\":[\"line-items-v2\"]\n },\n {\n \"id\": \"ams_dsp_audiences\",\n \"name\": \"Audiences\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"audiences.svg\",\n \"route\": \"audience\",\n \"badge\": \"BETA\",\n \"link\": \"dsp/audience\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"],\n \"matchRoutes\":[\"/audiences-v2\"],\n \"child_routes\":[\"audiences-v2\"]\n },\n {\n \"id\": \"ams_dsp_inventory\",\n \"name\": \"Supply Sources\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"inventory.svg\",\n \"route\": \"inventory\",\n \"badge\": \"BETA\",\n \"link\": \"dsp/inventory\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"],\n \"matchRoutes\":[\"/inventories-v2\"],\n \"child_routes\":[\"inventories-v2\"]\n },\n {\n \"id\": \"ams_dsp_creatives\",\n \"name\": \"Creatives\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"creatives.svg\",\n \"route\": \"creatives\",\n \"link\": \"dsp/creatives\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"],\n \"matchRoutes\":[\"/creatives-v2\"],\n \"child_routes\":[\"creatives-v2\"]\n },\n {\n \"id\": \"ams_dsp_products\",\n \"name\": \"Products\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"cardboard-box.svg\",\n \"route\": \"products\",\n \"link\": \"dsp/products\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"]\n },\n {\n \"id\": \"ams_dsp_settings\",\n \"name\": \"Automation & Controls\",\n \"type\": \"expandable\",\n \"icon\": \"setting.svg\",\n \"level\": \"two\",\n \"campaign_types\": [],\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"DP_USER\", \"DP_ANALYST\"],\n \"children\": [\n {\n \"id\": \"ams_dsp_rules\",\n \"name\": \"Automated Rules\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"automated_rule.svg\",\n \"link\": \"dsp/rules\",\n \"route\": \"rules\",\n \"visibility_roles_not_in\" : [\"DP_USER\",\"DP_ANALYST\"]\n },\n {\n \"id\": \"ams_dsp_flight_budget_management\",\n \"name\": \"Flight Management\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"quit.svg\",\n \"route\": \"flight-budget-management\",\n \"link\": \"dsp/flight-budget-management\",\n \"matchRoutes\":[\"/flight-budget-management/active-budget\",\"/flight-budget-management/flight-budget\"],\n \"child_routes\":[\"flight-budget-management/active-budget\",\"flight-budget-management/flight-budget\"]\n },\n {\n \"id\": \"ams_dsp_change_history\",\n \"name\": \"Change History\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"quit.svg\",\n \"route\": \"change-history\",\n \"link\": \"dsp/change-history\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"DP_USER\", \"DP_ANALYST\"]\n }\n ]\n }\n ]\n },\n {\n \"id\": \"ads_amazon_content_share_of_voice\",\n \"name\": \"Share Of Voice\",\n \"app_name\": \"share_of_voice\",\n \"type\": \"expandable\",\n \"level\": \"one\",\n \"icon\": \"chart-pie.svg\",\n \"defaulturl\":\"content/overview\",\n \"order\": 8,\n \"visibility_roles_not_in\" : [\"AMC_BRAND_READ_ONLY\",\"IAC_BRAND_READ_ONLY\",\"ANALYTICS_LAB\"],\n \"hide_for_user\" : [\"READ_ONLY\"],\n \"organization_setting_not_in\":[\"SHOW_ONLY_IW_AMC_IAC_P360_LEFT_NAV\"],\n \"siteIds\":[1,2,3,4,5,6,7,8,9,10,11],\n \"children\": [\n {\n \"id\": \"ads_shareofvoice_overview\",\n \"name\": \"Overview\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"organic_ranking.svg\",\n \"route\": \"overview\",\n \"link\": \"content/overview\",\n \"child_routes\":[\"about-app/sov\"],\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"]\n },\n {\n \"id\": \"ads_shareofvoice_brands\",\n \"name\": \"Brands\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"organic_ranking.svg\",\n \"route\": \"brands\",\n \"link\": \"content/brands\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"]\n },\n {\n \"id\": \"ads_shareofvoice_keywords\",\n \"name\": \"Keywords\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"organic_ranking.svg\",\n \"route\": \"keywords\",\n \"link\": \"content/keywords\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"]\n },\n {\n \"id\": \"ads_shareofvoice_products\",\n \"name\": \"Products\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"organic_ranking.svg\",\n \"route\": \"products\",\n \"link\": \"content/products\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"]\n },\n {\n \"id\": \"ads_shareofvoice_daily_tracker\",\n \"name\": \"Daily Tracker\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"organic_ranking.svg\",\n \"route\": \"daily-tracker\",\n \"link\": \"content/daily-tracker\",\n \"matchRoutes\":[\"/daily-tracker/brands\",\"/daily-tracker/keywords\",\"/daily-tracker/products\"],\n \"child_routes\":[\"daily-tracker/brands\",\"daily-tracker/keywords\",\"daily-tracker/products\"],\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"]\n },\n {\n \"id\": \"ads_shareofvoice_raw_data\",\n \"name\": \"Raw Data\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"organic_ranking.svg\",\n \"route\": \"raw-data\",\n \"link\": \"content/raw-data\",\n \"org_user_ctrl\" : [\n {\n \"organization_setting\": [\"SOV_SHOW_RAW_DATA\"]\n },\n {\n \"visibility_roles\": [\"SUPER_ADMIN\",\"SUPER_ADMIN_READ_ONLY\"]\n }\n ] \n }\n ]\n },\n {\n \"id\": \"ads_amazon_content_content_analytics\",\n \"name\": \"Content Analytics\",\n \"app_name\": \"Content\",\n \"type\": \"expandable\",\n \"level\": \"one\",\n \"icon\": \"view-grid.svg\",\n \"defaulturl\":\"content/content-insight\",\n \"order\": 9,\n \"visibility_roles_not_in\" : [\"AMC_BRAND_READ_ONLY\",\"IAC_BRAND_READ_ONLY\",\"ANALYTICS_LAB\"],\n \"hide_for_user\" : [\"READ_ONLY\"],\n \"organization_setting_not_in\":[\"SHOW_ONLY_IW_AMC_IAC_P360_LEFT_NAV\"],\n \"siteIds\":[1,2,3,4,5,6,7,8,9,10,11],\n \"children\": [\n {\n \"id\": \"ads_content_analytics_insights\",\n \"name\": \"Insights\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"organic_ranking.svg\",\n \"route\": \"content-insight\",\n \"link\": \"content/content-insight\",\n \"child_routes\":[\"about-app/sov\"],\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"]\n }\n ]\n },\n {\n \"id\": \"ads_data_platform\",\n \"name\": \"TranslationService.getLabel('INTENTWISE_ANALYTICS_CLOUD')\",\n \"app_name\": \"data_platform\",\n \"type\": \"expandable\",\n \"level\": \"one\",\n \"icon\": \"share.svg\",\n \"order\": 10,\n \"defaulturl\": \"dp/\",\n \"siteNotIds\": [3,4,6,7,8,9],\n \"visibility_roles_not_in\" : [\"AMC_BRAND_READ_ONLY\"],\n \"hide_for_user\" : [\"READ_ONLY\"],\n \"children\": [\n {\n \"id\": \"data_platform_get_started\",\n \"name\": \"Getting Started\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"portfolio-grid.svg\",\n \"route\": \"data-analytics-getting-started\",\n \"link\": \"dp/data-analytics-getting-started\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"],\n \"siteIds\": [1,10,11]\n },\n {\n \"id\": \"data_sources_destinations\",\n \"name\": \"My Connections\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"organic_ranking.svg\",\n \"route\": \"data-sources\",\n \"link\": \"dp/data-sources\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"],\n \"siteIds\": [1,10,11]\n },\n {\n \"id\": \"data_platform_templates\",\n \"name\": \"Dashboard Templates\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"file-explorer.svg\",\n \"route\": \"templates\",\n \"link\": \"dp/templates\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"],\n \"siteIds\": [1,10,11]\n },\n {\n \"id\": \"data_platform_cumul_insights\",\n \"name\": \"Insights\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"file-explorer.svg\",\n \"route\": \"insights\",\n \"link\": \"dp/insights\",\n \"badge\": \"BETA\",\n \"organization_setting\": [\"SHOW_ONLY_INSIGHTS_IN_IAC\"],\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\",\"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\",\"IAC_BRAND_READ_ONLY\"],\n \"siteIds\": [1,2,5,10,11]\n },\n {\n \"id\": \"iac_insights\",\n \"name\": \"White Label\",\n \"type\": \"expandable\",\n \"icon\": \"setting.svg\",\n \"level\": \"two\",\n \"organization_setting\": [\"IAC_INSIGHTS\",\"AMC_INSIGHTS\"],\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\",\"IAC_BRAND_READ_ONLY\"],\n \"children\": [\n {\n \"id\": \"iac_insights_dashboard\",\n \"name\": \"Retail Insights\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"file-explorer.svg\",\n \"route\": \"iac-analytics\",\n \"link\": \"dp/iac-analytics\",\n \"matchRoutes\": [\"/iac-dashboard-view\"],\n \"child_routes\":[\"iac-dashboard-view\"],\n \"organization_setting\": [\"IAC_INSIGHTS\"],\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\",\"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\",\"IAC_BRAND_READ_ONLY\"]\n },\n {\n \"id\": \"amc_insights_dashboard\",\n \"name\": \"AMC Insights\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"file-explorer.svg\",\n \"route\": \"amc-analytics\",\n \"link\": \"dp/amc-analytics\",\n \"matchRoutes\": [\"/amc-dashboard-view\"],\n \"child_routes\":[\"amc-dashboard-view\"],\n \"organization_setting\": [\"AMC_INSIGHTS\"],\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\",\"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\",\"IAC_BRAND_READ_ONLY\"]\n },\n {\n \"id\": \"iac_insights_whitelabel-settings\",\n \"name\": \"White Label Settings\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"file-explorer.svg\",\n \"route\": \"whitelabel-settings\",\n \"link\": \"dp/whitelabel-settings\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\",\"ADMIN\",\"DP_USER\"]\n },\n {\n \"id\": \"iac_insights_user_mgmt\",\n \"name\": \"User Access Management\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"file-explorer.svg\",\n \"route\": \"#!/ams-admin-user-management?usermgmt=true\",\n \"link\": \"triangular.ams-admin-user-management\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\",\"ADMIN\",\"DP_USER\"]\n }\n ]\n },\n {\n \"id\": \"iac_custom_reports\",\n \"name\": \"Custom Reports\",\n \"type\": \"expandable\",\n \"icon\": \"setting.svg\",\n \"level\": \"two\",\n \"siteIds\": [1,10,11],\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"],\n \"children\": [\n {\n \"id\": \"iac_inventory_forecast\",\n \"name\": \"Inventory Forecast\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"file-explorer.svg\",\n \"route\": \"inventory-forecast\",\n \"link\": \"dp/inventory-forecast\",\n \"organization_setting\":[\"INVENTORY_FORECAST\"],\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"],\n \"siteIds\": [1,10,11]\n },\n {\n \"id\": \"iac_seller_product_performance\",\n \"name\": \"Seller Product Performance\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"file-explorer.svg\",\n \"route\": \"seller-product-performance\",\n \"link\": \"dp/seller-product-performance\",\n \"organization_setting\": [\"SC_PRODUCT_PERFORMANCE_TACOS\"],\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"],\n \"siteIds\": [1,10,11]\n },\n {\n \"id\": \"iac_custom_sales_overview\",\n \"name\": \"Sales Overview\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"file-explorer.svg\",\n \"route\": \"sales-overview\",\n \"link\": \"dp/sales-overview\",\n \"organization_setting\": [\"SALES_OVERVIEW\"],\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"],\n \"siteIds\": [1,10,11]\n },\n {\n \"id\": \"iac_custom_sov-brand-analysis\",\n \"name\": \"SOV Brand Analysis\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"file-explorer.svg\",\n \"route\": \"sov-brand-analysis\",\n \"link\": \"dp/sov-brand-analysis\",\n \"organization_setting\": [\"SOV_BRAND_ANALYSIS\"],\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"],\n \"siteIds\": [1,10,11]\n },\n {\n \"id\": \"iac_custom_sov-keyword-drilldown\",\n \"name\": \"SOV Keyword Drilldown\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"file-explorer.svg\",\n \"route\": \"sov-keyword-drilldown\",\n \"link\": \"dp/sov-keyword-drilldown\",\n \"organization_setting\": [\"SOV_KEYWORD_DRILLDOWN\"],\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"],\n \"siteIds\": [1,10,11]\n },\n {\n \"id\": \"iac_custom_replenishment-dashboard\",\n \"name\": \"Replenishment Dashboard\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"file-explorer.svg\",\n \"route\": \"replenishment-dashboard\",\n \"link\": \"dp/replenishment-dashboard\",\n \"organization_setting\": [\"ASIN_LEVEL_INVENTORY_FORECASTING\"],\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"],\n \"siteIds\": [1,10,11]\n }\n ]\n },\n {\n \"id\": \"data_platform_sql_lab\",\n \"name\": \"Analytics Lab\",\n \"type\": \"leaf\",\n \"badge\": \"BETA\",\n \"level\": \"two\",\n \"icon\": \"file-explorer.svg\",\n \"route\": \"analytics-lab\",\n \"link\": \"dp/analytics-lab\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\", \"ANALYTICS_LAB\"],\n \"siteIds\": [1,10,11]\n }\n ]\n },\n {\n \"id\": \"amc-platform-web\",\n \"name\": \"Intentwise Explore (AMC)\",\n \"app_name\": \"amc-platform-web\",\n \"type\": \"expandable\",\n \"level\": \"one\",\n \"icon\": \"amc.svg\",\n \"order\": 11,\n \"defaulturl\": \"amc/\",\n \"siteIds\": [1],\n \"visibility_roles_not_in\" : [\"IAC_BRAND_READ_ONLY\",\"ANALYTICS_LAB\"],\n \"hide_for_user\" : [\"READ_ONLY\"],\n \"organization_setting_not_in\":[\"SHOW_ONLY_INSIGHTS_IN_IAC\"],\n \"children\": [\n {\n \"id\": \"amc_platform_web_getting_started\",\n \"name\":\"Getting Started\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"\",\n \"route\": \"getting-started\",\n \"link\" : \"amc/getting-started\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\",\"DP_USER\"],\n \"visibility_roles_not_in\" : [\"AMC_BRAND_READ_ONLY\"]\n },\n {\n \"id\": \"amc_platform_web_advance_insights\",\n \"name\": \"Insights\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"file-explorer.svg\",\n \"route\": \"advanced-insights\",\n \"link\": \"amc/advanced-insights\",\n \"siteIds\" : [1],\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"DP_ANALYST\",\"DP_USER\",\"READ_ONLY\",\"AMC_BRAND_READ_ONLY\"],\n \"badge\": \"NEW\"\n },\n {\n \"id\": \"amc_platform_web_amc_queries\",\n \"name\":\"Queries\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"\",\n \"route\": \"amc-queries\",\n \"link\" : \"amc/amc-queries/amc-my-queries\",\n \"matchRoutes\": [\"/amc-queries/setting\",\"/amc-queries/amc-my-queries\",\"/amc-queries/amc-query-library\",\"/amc-queries/amc-query-results\"],\n \"child_routes\": [\"amc-queries/setting\",\"amc-queries/amc-my-queries\",\"amc-queries/amc-query-library\",\"amc-queries/amc-query-results\"],\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\",\"DP_USER\",\"ANALYST\", \"DP_ANALYST\"],\n \"visibility_roles_not_in\" : [\"AMC_BRAND_READ_ONLY\"]\n },\n {\n \"id\": \"amc_platform_web_audiences\",\n \"name\":\"Audiences\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"\",\n \"route\": \"amc-audiences\",\n \"link\" : \"amc/amc-audiences/amc-my-audiences\",\n \"matchRoutes\": [\"/amc-audiences/setting\",\"/amc-audiences/edit-setting\",\"/amc-audiences/amc-audience-library\",\"/amc-audiences/amc-my-audiences\"],\n \"child_routes\":[\"amc-audiences/setting\",\"amc-audiences/edit-setting\",\"amc-audiences/amc-audience-library\",\"amc-audiences/amc-my-audiences\"],\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\",\"DP_USER\",\"ANALYST\", \"DP_ANALYST\"],\n \"visibility_roles_not_in\" : [\"AMC_BRAND_READ_ONLY\"]\n },\n \n {\n \"id\": \"amc_platform_web_amc_template\",\n \"name\": \"Dashboard Templates\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"file-explorer.svg\",\n \"route\": \"amc-templates\",\n \"link\" : \"amc/amc-templates\",\n \"siteIds\" : [1],\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\",\"DP_USER\"],\n \"visibility_roles_not_in\" : [\"AMC_BRAND_READ_ONLY\"]\n },\n {\n \"id\": \"amc_platform_web_amc_Data_Upload\",\n \"name\":\"Data Upload\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"\",\n \"route\": \"data-upload\",\n \"link\" : \"amc/data-upload\",\n \"matchRoutes\": [\"/data-upload/datasets\"],\n \"child_routes\": [\"data-upload/datasets\"],\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"DP_USER\",\"AMC_BRAND_READ_ONLY\"]\n },\n {\n \"id\": \"amc_platform_web_amc_instances\",\n \"name\":\"Instances\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"\",\n \"route\": \"amc-instances\",\n \"link\" : \"amc/amc-instances\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"DP_ANALYST\",\"DP_USER\",\"READ_ONLY\",\"AMC_BRAND_READ_ONLY\"]\n }\n ]\n },\n {\n \"id\": \"ads_walmart\",\n \"name\": \"Walmart\",\n \"app_name\": \"walmart\",\n \"type\": \"expandable\",\n \"level\": \"one\",\n \"icon\": \"Walmart.svg\",\n \"defaulturl\": \"walmart/\",\n \"hide_for_user\" : [\"READ_ONLY\"],\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"],\n \"order\": 12,\n \"visibility_roles_not_in\" : [\"AMC_BRAND_READ_ONLY\",\"IAC_BRAND_READ_ONLY\",\"ANALYTICS_LAB\"],\n \"organization_setting_not_in\":[\"SHOW_ONLY_IW_AMC_IAC_P360_LEFT_NAV\"],\n \"siteIds\":[1,2,3,4,5,6,7,8,9,10,11],\n \"children\": [\n {\n \"id\": \"walmart_overview\",\n \"name\": \"Overview\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"vendor_sales_overivew.svg\",\n \"route\": \"walmart-overview\",\n \"link\": \"walmart/walmart-overview\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"]\n },\n {\n \"id\": \"walmart_recommendations\",\n \"name\": \"Recommendations\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"file-explorer.svg\",\n \"badge\": \"BETA\",\n \"route\": \"walmart-recommendations\",\n \"link\": \"walmart/walmart-recommendations\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"],\n \"recCount\": \"\",\n \"incontext_campaign_targeting_walmart\": [],\n \"matchRoutes\":[\"/walmart-recommendations/walmart-suggested-keywords\"],\n \"child_routes\":[\"walmart-recommendations/walmart-suggested-keywords\"]\n },\n {\n \"id\": \"walmart_campaigns\",\n \"name\": \"Campaigns\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"file-explorer.svg\",\n \"route\": \"walmart-campaigns\",\n \"link\": \"walmart/walmart-campaigns\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"]\n },\n {\n \"id\": \"walmart_adgroup\",\n \"name\": \"Ad Groups\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"adgroup.svg\",\n \"route\": \"walmart-adgroup\",\n \"link\": \"walmart/walmart-adgroup\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"]\n },\n {\n \"id\": \"walmart_keywords\",\n \"name\": \"Keywords\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"keywords.svg\",\n \"route\": \"walmart-keywords\",\n \"link\": \"walmart/walmart-keywords/keyword-report\",\n \"child_routes\":[\"walmart-keywords/keyword-report\",\"walmart-keywords/keyword-suggestions/manual\",\"walmart-keywords/keyword-suggestions/auto\"],\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"],\n \"incontext_campaign_targeting_walmart\": [ \"SP_M_KT\", \"SB_M_KT\", \"SV_M_KT\"]\n },\n {\n \"id\": \"walmart_searchterm\",\n \"name\": \"Search Terms\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"search-place.svg\",\n \"route\": \"walmart-searchterm\",\n \"link\": \"walmart/walmart-searchterm\",\n \"visibility_roles\": [\"SUPER_ADMIN\",\"SUPER_ADMIN_READ_ONLY\",\"ADMIN\",\"ANALYST\",\"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"],\n \"incontext_campaign_targeting_walmart\": [ \"SP_M_KT\", \"SP_A\" ,\"SB_M_KT\", \"SV_M_KT\"],\n \"matchRoutes\":[\"/walmart-searchterm/search-term\",\"/walmart-searchterm/search-term-impressions\"],\n \"child_routes\":[\"walmart-searchterm/search-term\",\"walmart-searchterm/search-term-impressions\"]\n },\n {\n \"id\": \"walmart_products\",\n \"name\": \"Products\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"products.svg\",\n \"route\": \"walmart-products\",\n \"link\": \"walmart/walmart-products\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"]\n },\n {\n \"id\": \"walmart_creative\",\n \"name\": \"Creatives\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"keywords.svg\",\n \"route\": \"walmart-creative\",\n \"link\": \"walmart/walmart-creative\",\n \"badge\": \"BETA\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"],\n \"incontext_campaign_targeting_walmart\": [ \"SD\" ]\n },\n {\n \"id\": \"walmart_advanced\",\n \"name\": \"Advanced\",\n \"type\": \"expandable\",\n \"icon\": \"setting.svg\",\n \"level\": \"two\",\n \"campaign_types\": [],\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"],\n \"children\": [\n {\n \"id\": \"walmart_placement\",\n \"name\": \"Placement\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"keywords.svg\",\n \"route\": \"walmart-placement\",\n \"link\": \"walmart/walmart-placement\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"],\n \"incontext_campaign_targeting_walmart\": [ \"SP_M_KT\", \"SP_A\"]\n },\n {\n \"id\": \"walmart_platform\",\n \"name\": \"Platform\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"keywords.svg\",\n \"route\": \"walmart-platform\",\n \"link\": \"walmart/walmart-platform\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"],\n \"incontext_campaign_targeting_walmart\": [ \"SP_M_KT\", \"SP_A\" ,\"SB_M_KT\", \"SV_M_KT\"]\n },\n {\n \"id\": \"walmart_pagetype\",\n \"name\": \"Page Type\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"keywords.svg\",\n \"route\": \"walmart-pagetype\",\n \"link\": \"walmart/walmart-pagetype\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"],\n \"incontext_campaign_targeting_walmart\": [ \"SP_M_KT\", \"SP_A\" ,\"SB_M_KT\", \"SV_M_KT\"]\n }\n ]\n },\n {\n \"id\": \"walmart_settings\",\n \"name\": \"Automation & Controls\",\n \"type\": \"expandable\",\n \"icon\": \"setting.svg\",\n \"level\": \"two\",\n \"campaign_types\": [],\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"DP_USER\", \"DP_ANALYST\"],\n \"incontext_campaign_targeting_walmart\": [ \"SP_M_KT\", \"SP_A\" ,\"SB_M_KT\", \"SV_M_KT\"],\n \"children\": [\n {\n \"id\": \"walmart_alerts\",\n \"name\": \"Alerts\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"quit.svg\",\n \"route\": \"walmart-alerts\",\n \"link\": \"walmart/walmart-alerts\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"DP_USER\", \"DP_ANALYST\"],\n \"incontext_campaign_targeting_walmart\": [],\n \"matchRoutes\":[\"/walmart-alerts/exec-history\",\"/walmart-alerts/exec-history-detail\"],\n \"child_routes\":[\"walmart-alerts/exec-history\",\"walmart-alerts/exec-history-detail\"]\n },\n {\n \"id\": \"walmart_rules\",\n \"name\": \"Automated Rules\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"quit.svg\",\n \"route\": \"walmart-rules\",\n \"link\": \"walmart/walmart-rules\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"DP_USER\", \"DP_ANALYST\"],\n \"incontext_campaign_targeting_walmart\": [],\n \"matchRoutes\":[\"/walmart-rules/exec-history\",\"/walmart-rules/exec-history-detail\"],\n \"child_routes\":[\"walmart-rules/exec-history\",\"walmart-rules/exec-history-detail\"]\n },\n {\n \"id\": \"walmart_monthly_budget\",\n \"name\": \"Budget Management\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"quit.svg\",\n \"route\": \"walmart-monthly-budget\",\n \"link\": \"walmart/walmart-monthly-budget\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"DP_USER\", \"DP_ANALYST\"],\n \"incontext_campaign_targeting_walmart\": []\n },\n {\n \"id\": \"walmart_change_history\",\n \"name\": \"Change History\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"quit.svg\",\n \"route\": \"walmart-change-history\",\n \"link\": \"walmart/walmart-change-history\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"DP_USER\", \"DP_ANALYST\"]\n }\n ]\n }\n ]\n },\n {\n \"id\": \"ads_instacart\",\n \"name\": \"Instacart\",\n \"app_name\": \"instacart\",\n \"type\": \"expandable\",\n \"level\": \"one\",\n \"icon\": \"Instacart.svg\",\n \"defaulturl\":\"instacart/\",\n \"order\": 13,\n \"hide_for_user\" : [\"READ_ONLY\"],\n \"visibility_roles_not_in\" : [\"AMC_BRAND_READ_ONLY\",\"IAC_BRAND_READ_ONLY\",\"ANALYTICS_LAB\"],\n \"organization_setting_not_in\":[\"SHOW_ONLY_IW_AMC_IAC_P360_LEFT_NAV\"],\n \"siteIds\":[1,2,3,4,5,6,7,8,9,10,11],\n \"children\": [\n {\n \"id\": \"instacart_overview\",\n \"name\": \"Overview\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"vendor_sales_overview.svg\",\n \"route\": \"instacart-overview\",\n \"link\": \"instacart/instacart-overview\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"]\n },\n {\n \"id\": \"instacart_campaigns\",\n \"name\": \"Campaigns\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"file-explorer.svg\",\n \"route\": \"instacart-campaigns\",\n \"link\": \"instacart/instacart-campaigns\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"]\n }, {\n \"id\": \"instacart_adgroups\",\n \"name\": \"Ad Groups\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"sp_ad-groups.svg\",\n \"route\": \"instacart-adgroups\",\n \"link\": \"instacart/instacart-adgroups\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"]\n }, {\n \"id\": \"instacart_keywords\",\n \"name\": \"Keywords\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"price-tag.svg\",\n \"route\": \"instacart-keywords\",\n \"link\": \"instacart/instacart-keywords\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"]\n },{\n \"id\": \"instacart_products\",\n \"name\": \"Products\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"cardboard-box.svg\",\n \"route\": \"instacart-products\",\n \"link\": \"instacart/instacart-products\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"]\n }, \n {\n \"id\": \"instacart_settings\",\n \"name\": \"Automation & Controls\",\n \"type\": \"expandable\",\n \"icon\": \"setting.svg\",\n \"level\": \"two\",\n \"campaign_types\": [],\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"DP_USER\", \"DP_ANALYST\"],\n \"children\": [\n {\n \"id\": \"instacart_rules\",\n \"name\": \"Automated Rules\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"automated_rule.svg\",\n \"link\": \"instacart/instacart-rules\",\n \"route\": \"instacart-rules\",\n \"campaign_types\": [],\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"DP_USER\", \"DP_ANALYST\"]\n },\n {\n \"id\": \"instacart_monthly_budget\",\n \"name\": \"Budget Management\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"quit.svg\",\n \"link\": \"instacart/instacart-monthly-budget\",\n \"route\": \"instacart-monthly-budget\",\n \"campaign_types\": [],\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"DP_USER\", \"DP_ANALYST\"]\n },\n {\n \"id\": \"instacart_change_history\",\n \"name\": \"Change History\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"quit.svg\",\n \"link\": \"instacart/instacart-change-history\",\n \"route\": \"instacart-change-history\",\n \"campaign_types\": [],\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"DP_USER\", \"DP_ANALYST\"]\n }\n ]\n }\n ]\n },\n {\n \"id\": \"ads_criteo\",\n \"name\": \"Criteo\",\n \"app_name\": \"criteo\",\n \"type\": \"expandable\",\n \"level\": \"one\",\n \"icon\": \"Criteo.svg\",\n \"defaulturl\":\"criteo/\",\n \"hide_for_user\" : [\"READ_ONLY\"],\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"],\n \"order\": 14,\n \"visibility_roles_not_in\" : [\"AMC_BRAND_READ_ONLY\",\"IAC_BRAND_READ_ONLY\",\"ANALYTICS_LAB\"],\n \"organization_setting_not_in\":[\"SHOW_ONLY_IW_AMC_IAC_P360_LEFT_NAV\"],\n \"siteIds\":[1,2,3,4,5,6,7,8,9,10,11],\n \"children\": [\n {\n \"id\": \"criteo_overview\",\n \"name\": \"Overview\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"vendor_sales_overivew.svg\",\n \"route\": \"criteo-overview\",\n \"link\": \"criteo/criteo-overview\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"]\n },\n {\n \"id\": \"criteo_campaigns\",\n \"name\": \"Campaigns\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"file-explorer.svg\",\n \"route\": \"criteo-campaigns\",\n \"link\": \"criteo/criteo-campaigns\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"]\n },\n {\n \"id\": \"criteo_line_items\",\n \"name\": \"Line Items\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"line-item.svg\",\n \"route\": \"criteo-line-items\",\n \"link\": \"criteo/criteo-line-items\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"]\n },\n {\n \"id\": \"criteo_keywords\",\n \"name\": \"Keywords\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"keywords.svg\",\n \"route\": \"criteo-keywords\",\n \"link\": \"criteo/criteo-keywords\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"]\n },\n {\n \"id\": \"criteo_products\",\n \"name\": \"Products\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"cardboard-box.svg\",\n \"route\": \"criteo-products\",\n \"link\": \"criteo/criteo-products\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"READ_ONLY\", \"DP_USER\", \"DP_ANALYST\"]\n },\n {\n \"id\": \"criteo_settings\",\n \"name\": \"Automation & Controls\",\n \"type\": \"expandable\",\n \"icon\": \"setting.svg\",\n \"level\": \"two\",\n \"campaign_types\": [],\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"DP_USER\", \"DP_ANALYST\"],\n \"children\": [\n {\n \"id\": \"criteo_monthly_budget\",\n \"name\": \"Budget Management\",\n \"type\": \"leaf\",\n \"icon\": \"quit.svg\",\n \"level\": \"two\",\n \"route\": \"criteo-monthly-budget\",\n \"link\": \"criteo/criteo-monthly-budget\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"DP_USER\", \"DP_ANALYST\"]\n },\n {\n \"id\": \"criteo_change_history\",\n \"name\": \"Change History\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"quit.svg\",\n \"route\": \"criteo-change-history\",\n \"link\": \"criteo/criteo-change-history\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"ANALYST\", \"DP_USER\", \"DP_ANALYST\"]\n }\n ]\n }\n ]\n },\n {\n \"id\": \"ads_product_360\",\n \"name\": \"Product 360\",\n \"app_name\": \"product360\",\n \"type\": \"expandable\",\n \"level\": \"one\",\n \"icon\": \"Product360.svg\",\n \"defaulturl\":\"product360/\",\n \"org_user_ctrl\" : [\n {\n \"organization_setting\": [\"PRODUCT_360\"]\n },\n {\n \"visibility_roles\": [\"SUPER_ADMIN\",\"SUPER_ADMIN_READ_ONLY\"]\n }\n ],\n \"order\": 15,\n \"siteIds\":[1,2,3,4,5,6,7,8,9,10,11],\n \"children\": [\n {\n \"id\": \"product360_getting_started\",\n \"name\": \"Getting Started\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"route\": \"getting-started\",\n \"link\": \"product360/getting-started\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\"]\n },\n {\n \"id\": \"product360_event_stream\",\n \"name\": \"Event Stream\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"route\": \"event-stream\",\n \"link\": \"product360/event-stream\",\n \"organization_setting\": [\"P360_EVENTS_DEMO\"]\n },\n {\n \"id\": \"product360_anomalies\",\n \"name\": \"Sales Anomalies\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"route\": \"anomalies\",\n \"link\": \"product360/anomalies\",\n \"matchRoutes\": [\"/anomalies/product\"],\n \"child_routes\": [\"anomalies/product\"]\n },\n \n {\n \"id\": \"product360_all_products\",\n \"name\": \"All Products\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"route\": \"all-products\",\n \"link\": \"product360/all-products\",\n \"matchRoutes\": [\"/all-products/product\"],\n \"child_routes\": [\"all-products/product\"]\n }\n ]\n },\n {\n \"id\": \"app_intentwise_community\",\n \"name\": \"Join Intentwise Community\",\n \"type\": \"link\",\n \"level\": \"one\",\n \"icon\": \"Icon_community.svg\",\n \"order\": 1,\n \"sticky\":\"bottom\",\n \"siteIds\":[1],\n \"children\": [],\n \"route\": \"https://community.intentwise.com/\",\n \"link\": \"https://community.intentwise.com/\"\n },\n {\n \"id\": \"app_global_settings\",\n \"name\": \"Global Settings\",\n \"type\": \"expandable\",\n \"level\": \"one\",\n \"icon\": \"account-mgmt.svg\",\n \"order\": 1,\n \"sticky\":\"bottom\",\n \"visibility_roles_not_in\" : [\"AMC_BRAND_READ_ONLY\",\"IAC_BRAND_READ_ONLY\",\"ANALYTICS_LAB\"],\n \"hide_for_user\" : [\"READ_ONLY\"],\n \"siteIds\":[1,2,3,4,5,6,7,8,9,10,11],\n \"children\": [\n {\n \"id\": \"global_account_mgmt\",\n \"name\": \"Account Management\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"setting.svg\",\n \"route\": \"#!/ams-admin-account-management\",\n \"link\": \"triangular.ams-admin-account-management\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"DP_USER\"]\n },\n {\n \"id\": \"global_email_schedules\",\n \"name\": \"Email Schedules\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"setting.svg\",\n \"route\": \"email-schedules\",\n \"badge\": \"NEW\",\n \"link\": \"triangular.email-schedules\",\n \"siteIds\": [1,5,10,11],\n \"organization_setting\": [\"IAC_INSIGHTS\",\"AMC_INSIGHTS\"],\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"DP_USER\", \"IAC_BRAND_READ_ONLY\"]\n \n },\n {\n \"name\": \"Separator\",\n \"type\": \"separator\",\n \"separator\": true,\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"DP_USER\"]\n },\n {\n \"id\": \"global_content\",\n \"name\": \"Content Analytics\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"quit.svg\",\n \"route\": \"content-settings\",\n \"link\": \"triangular.content-settings\",\n \"organization_setting_not_in\":[\"SHOW_ONLY_IW_AMC_IAC_P360_LEFT_NAV\"],\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"DP_USER\", \"DP_ANALYST\", \"ANALYST\"]\n },\n {\n \"id\": \"global_sov\",\n \"name\": \"Share Of Voice\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"quit.svg\",\n \"route\": \"sov-settings\",\n \"link\": \"triangular.sov-settings\",\n \"organization_setting_not_in\":[\"SHOW_ONLY_IW_AMC_IAC_P360_LEFT_NAV\"],\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"DP_USER\", \"DP_ANALYST\", \"ANALYST\"]\n },\n {\n \"id\": \"global_sqp\",\n \"name\": \"Search Query Performance\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"quit.svg\",\n \"route\": \"search-query-performance\",\n \"link\": \"triangular.search-query-performance\",\n \"account_type\": [\"AMS_SELLER\",\"SELLER_CENTRAL\"],\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"DP_USER\", \"DP_ANALYST\", \"ANALYST\"],\n \"subscription_types\": [\"SELLER_CENTRAL\"]\n },\n {\n \"name\": \"Separator\",\n \"type\": \"separator\",\n \"separator\": true,\n \"organization_setting_not_in\":[\"SHOW_ONLY_IW_AMC_IAC_P360_LEFT_NAV\"],\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"DP_USER\", \"DP_ANALYST\", \"ANALYST\"]\n },\n {\n \"id\": \"global_brand_terms\",\n \"name\": \"Brand & Competitor Terms\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"quit.svg\",\n \"route\": \"brand-terms-settings\",\n \"link\": \"triangular.brand-terms-settings\",\n \"account_type\": [\"AMS_SELLER\",\"AMS_VENDOR\",\"SELLER_CENTRAL\",\"VENDOR_CENTRAL\"],\n \"subscription_types\": [\"AMS_SELLER\",\"AMS_VENDOR\",\"SELLER_CENTRAL\",\"VENDOR_CENTRAL\"],\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"DP_USER\", \"DP_ANALYST\", \"ANALYST\"]\n },\n {\n \"id\": \"global_labels\",\n \"name\": \"Labels\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"quit.svg\",\n \"route\": \"labels-settings\",\n \"link\": \"triangular.labels-settings\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"DP_USER\", \"DP_ANALYST\", \"ANALYST\"]\n },\n {\n \"id\": \"global_sub_brands\",\n \"name\": \"Sub-Brands\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"quit.svg\",\n \"route\": \"sub-brands\",\n \"link\": \"triangular.sub-brands\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"DP_USER\", \"DP_ANALYST\", \"ANALYST\"]\n },\n {\n \"name\": \"Separator\",\n \"type\": \"separator\",\n \"separator\": true,\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"DP_USER\", \"DP_ANALYST\", \"ANALYST\"]\n },\n {\n \"id\": \"global_products\",\n \"name\": \"Product Meta Data\",\n \"type\": \"leaf\",\n \"level\": \"two\",\n \"icon\": \"quit.svg\",\n \"route\": \"product-meta-data\",\n \"link\": \"triangular.product-meta-data\",\n \"visibility_roles\": [\"SUPER_ADMIN\", \"SUPER_ADMIN_READ_ONLY\", \"ADMIN\", \"DP_USER\", \"DP_ANALYST\", \"ANALYST\"]\n }\n ]\n }\n]\n\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\nimport { Observable, of } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\nimport { CookieService } from 'ngx-cookie-service';\nimport { constants } from '../constants';\nimport { LOCAL_SIDEBAR_LAYOUT } from '../sidebar-layout.local';\nimport { GLOBAL_LIST } from '../navmenu1';\n@Injectable({\n providedIn: 'root'\n})\n\nexport class RestApiService {\n\n private baseURL:string = constants.baseProdURL;\n private DSPbaseURL:string = constants.kBaseDspApiURL;\n private token:any;\n private httpOptions;\n public isStructerApiCalled = false;\n\n constructor(private http: HttpClient,private cookie: CookieService) { \n let domain = window.location.hostname;\n if((domain.includes('apptest.intentwise.com') || domain.includes('herokuapp') || \n domain.includes('localhost')) && !localStorage.getItem('useProd')){\n this.baseURL = constants.baseStagingURL;\n this.DSPbaseURL = constants.kBaseDspTestApiURL;\n }\n const isCookieExists: boolean = this.cookie.check('loggedInUser');\n\n if (isCookieExists) {\n const loggedInUser = JSON.parse(this.cookie.get('loggedInUser'));\n this.token = loggedInUser.token;\n } \n \n this.httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'X-Auth-Token' : this.token\n })\n } \n\n }\n\n /*========================================\n CRUD Methods for consuming RESTful API\n =========================================*/\n\n get menuBucketBaseURL(){\n let domain = window.location.hostname;\n let apiURL = constants.PROD_MENU_BUCKET;\n if(domain.includes('apptest.intentwise.com') || domain.includes('herokuapp') || domain.includes('localhost')){\n apiURL = constants.STAGING_MENU_BUCKET;\n }\n return apiURL;\n }\n\n get menuDownloadURL(){\n return this.menuBucketBaseURL + '/navmenu.json';\n }\n\n get sidebarLayoutDownloadURL(){\n return this.menuBucketBaseURL + '/sidebar-layout.json';\n }\n\n /**\n * True when using bundled menu + sidebar layout from the repo instead of S3:\n * - `localhost` (Angular dev server)\n * - `apptest.intentwise.com`\n *\n * Not tied to `useProd` — that flag only affects REST `baseURL` / DSP URLs in the constructor,\n * so you can point at prod APIs while still loading nav + layout from the bundle.\n */\n get isLocalMenuSource(): boolean {\n const domain = typeof window !== 'undefined' ? window.location.hostname : '';\n return domain.includes('localhost') || domain.includes('apptest.intentwise.com');\n }\n\n // Http Options\n \n\n public getRecommendationData(orgId, businessId, accountId) : Observable<any>{\n let url = this.baseURL+ 'organization/' + orgId + '/businessgroup/' + businessId + '/account/' + accountId +'/recommendation?version=v2';\n let responseType = null;\n let method = 'GET';\n let body = [];\n\n this.httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'X-Auth-Token' : this.token\n })\n } \n return this.http.get(url, this.httpOptions)\n .pipe(\n map((res) => { return res })\n );\n }\n\n public getStructureAPISupportData(organizationId: string, businessGroupId: string, amsAccountId: string): Observable<any> {\n try {\n const url = `${this.DSPbaseURL}organization/${organizationId}/businessGroup/${businessGroupId}/account/${amsAccountId}/dsp/structureapisupport`;\n const localResponse = localStorage.getItem('structure_support_data');\n this.isStructerApiCalled = true;\n if (localResponse) {\n const parsedResponse = JSON.parse(localResponse);\n if (parsedResponse && parsedResponse[amsAccountId]) {\n this.isStructerApiCalled = false;\n return of(parsedResponse[amsAccountId]);\n }\n }\n \n this.httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n authtoken: this.token\n })\n };\n \n return this.http.get(url, this.httpOptions).pipe(\n map((res: any) => {\n const updatedData = localResponse ? JSON.parse(localResponse) : {};\n updatedData[amsAccountId] = res;\n localStorage.setItem('structure_support_data', JSON.stringify(updatedData));\n this.isStructerApiCalled = false;\n return res;\n }),\n catchError((error: HttpErrorResponse) => {\n this.isStructerApiCalled = false;\n if (error.status === 404) {\n return of(null);\n } else {\n throw error;\n }\n })\n );\n } catch (error) {\n console.error('Error in getStructureAPISupportData:', error);\n throw error;\n }\n }\n public getjsonMenulists(applicationDetails): Observable<any> {\n try {\n // if (this.isLocalMenuSource) {\n // return of(GLOBAL_LIST);\n // }\n return this.http.get(this.menuDownloadURL).pipe(\n map((res) => { return res }),\n catchError(() => of(GLOBAL_LIST))\n );\n } catch (error) {\n throw error;\n }\n }\n\n public getSidebarLayoutConfig(): Observable<any> {\n try {\n // if (this.isLocalMenuSource) {\n // return of(LOCAL_SIDEBAR_LAYOUT);\n // }\n return this.http.get(this.sidebarLayoutDownloadURL).pipe(\n map((res) => { return res }),\n catchError(() => of(LOCAL_SIDEBAR_LAYOUT))\n );\n } catch (error) {\n return of(LOCAL_SIDEBAR_LAYOUT);\n }\n }\n\n\n}","import { Injectable } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport moment from 'moment';\n\n@Injectable()\nexport class UrlContextService {\n private queryParams;\n \n\n constructor(private activatedRoute: ActivatedRoute, public router: Router) {\n this.activatedRoute.queryParams.subscribe(params => {\n this.queryParams = params;\n });\n }\n\n public prepareUrlWithQueryParams = function(url, params) {\n if(Object.keys(params).length > 0) {\n url += \"?\";\n for(var key in params) {\n url += key + \"=\" + params[key] + \"&\";\n }\n url = url.replace(/&\\s*$/, \"\");\n }\n return url;\n }\n\n public setDateRangeUrlVal = function(dateRange) {\n if(typeof dateRange == 'object') {\n if(dateRange.value == 'custom') {\n return moment(dateRange.startDate).format('X') + ',' +\n moment(dateRange.endDate).format('X') + ',' +\n moment(dateRange.prevStartDate).format('X') + ',' +\n moment(dateRange.prevEndDate).format('X');\n } else {\n return dateRange.name;\n }\n } else {\n return dateRange;\n }\n }\n\n public validateKeyStroke = function(event) {\n var keystroke;\n console.log(event);\n if(navigator.platform.toUpperCase().indexOf('MAC')>=0) {\n keystroke = 'metaKey';\n } else {\n keystroke = 'ctrlKey';\n }\n\n if(event[keystroke]) return true;\n else return false;\n }\n\n public setUrlAndOpenTab = function(url, params, isRouterLink){\n if(Object.keys(params).length > 0) {\n url = this.prepareUrlWithQueryParams(url, params);\n url += \"&\";\n } else {\n url += \"?\";\n }\n url += 'tid=' + Math.random().toString(36).substring(7) + \"-\" + Math.random().toString(36).substring(7) + \"-\"\n + Math.random().toString(36).substring(7) + \"-\" + Math.random().toString(36).substring(7);\n \n\n if(this.queryParams.hasOwnProperty('useProd')) {\n url += '&useProd='+this.queryParams['useProd'];\n }\n if(isRouterLink){\n console.log(\"New Tab Router Url =\", url);\n this.router.navigate([], { relativeTo: this.activatedRoute, queryParams: this.queryParams, replaceUrl: true}).then(result => { window.open(url, '_blank'); });\n }\n else{\n console.log(\"New Tab Link Url \", `${window.location.origin}/${url}`);\n window.open(`${window.location.origin}/${url}`, '_blank');\n }\n }\n get isDevEnvironment(){\n try{\n if( window.location.href.indexOf('herokuapp') > -1 || window.location.href.indexOf('localhost') > -1 || window.location.href.indexOf('test') > -1){\n if(this.queryParams.hasOwnProperty('useProd') || (localStorage.getItem('useProd') && localStorage.getItem('useProd') !== null)){\n return false;\n }else{\n return true\n }\n }else{\n return false\n }\n }catch(error){\n throw error;\n }\n \n \n }\n}","export const EN_LABELS = {\n \"AMAZON_SPONSORED_ADS\" : \"Amazon Sponsored Ads\",\n \"AMAZON_DSP\" : \"Amazon DSP\",\n \"AMAZON_ATTRIBUTION\" : \"Amazon Attribution\",\n \"AMAZON_VENDOR_CENTRAL\" : \"Amazon Vendor Central\",\n \"AMAZON_SELLER_CENTRAL\" : \"Amazon Seller Central\",\n \"SHARE_OF_VOICE\" : \"Share of Voice\",\n \"CONTENT_ANALYTICS\" : \"Content Analytics\",\n \"INTENTWISE_ANALYTICS_CLOUD\" : \"Intentwise Analytics Cloud\",\n \"INTENTWISE_EXPLORE\": \"Intentwise Explore (AMC)\",\n \"CRITEO\": \"Criteo\",\n \"INSTACART\": \"Instacart\",\n \"WALMART\": \"Walmart\",\n \"SELLER_ANALYTICS_APP\" : \"Amazon Seller Analytics\",\n \"VENDOR_ANALYTICS_APP\" : \"Amazon Vendor Analytics\",\n \"SHOPIFY\" : \"Shopify\",\n \"GOOGLE_ADS\" : \"Google Ads\",\n \"TIKTOK_SHOP\" : \"TikTok Shop\",\n \"META_ADS\" : \"Meta Ads\",\n \"HOURLY_METRICS\": \"Hourly Metrics\",\n \"SPONSORED_PRODUCTS\": \"Sponsored Products\",\n \"SPONSORED_BRANDS\": \"Sponsored Brands\",\n \"SPONSORED_DISPLAY\": \"Sponsored Display\",\n \"CUSTOM_REPORTS\": \"Custom Reports\",\n \"INVENTORY_OVERVIEW\": \"Inventory Overview\",\n \"AMC_INSIGHTS_MENU\": \"AMC Insights\",\n \"INSIGHTS\":\"Insights\",\n \"WHAT_CHANGED\":\"What Changed?\",\n \"AUDITS\": \"Performance Audits\",\n \"MARKET_SHARE_BY_SQP\": \"Market Share By SQP\",\n \"PRODUCT_360\": \"Product 360\",\n \"SETTINGS\": \"Automation & Controls\",\n \"GLOBAL_SETTINGS\": \"Global Settings\",\n\n \"ALL_ACCOUNTS\": \"All Accounts\",\n \"USER_SETTINGS\": \"User Settings\",\n \"OVERVIEW\": \"Overview\",\n \"RECOMMENDATIONS\": \"Recommendations\",\n \"CAMPAIGNS\": \"Campaigns\",\n \"AD_GROUPS\": \"Ad Groups\",\n \"KEYWORDS\": \"Keywords\",\n \"TARGETING\" : \"Targeting\",\n \"PRODUCT_TARGETING\": \"Product Targeting\",\n \"PRODUCTS\": \"Products\",\n \"SEARCH_TERMS\": \"Search Terms\",\n \n \"AMAZON_MARKETING_STREAM\": \"Amazon Marketing Stream\",\n \"RETAIL_ANALYTICS\": \"Retail Analytics\",\n \n \"PLACEMENT\": \"Placement\",\n \"AUTO_TARGETING\": \"Auto Targeting\",\n \n \"PRODUCT_ADS\": \"Product Ads\",\n \"CATEGORY_BENCHMARK\": \"Category Benchmark\",\n \"PRODUCT_AUD_TARGETING\": \"Product / Audience Targeting\",\n \n \"HIGH_LEVEL_METRICS\": \"High Level Metrics\",\n \"ORGANIC_RANKING\": \"Organic Ranking\",\n \"ST_RECOMMENDATIONS\": \"ST Recommendations\",\n \"ASIN_OVERVIEW\": \"ASIN Overview\",\n \"CAMPAIGN_REPORT_DOWNLOAD\": \"Campaign Report Download\",\n \"SC_ORDER_REPORTS\": \"SC Order Reports\",\n \"INVENTORY_FORECAST\": \"Inventory Forecast\",\n \"CONTENT_CHANGE_TRACKER\": \"Content Change Tracker\",\n \"ACCOUNT_VIEW\": \"Account View\",\n \"VENDOR_SALES_AND_AMS\": \"Vendor Sales and AMS\",\n \"DEMAND_AND_FORCAST\": \"Demand and Forcast\",\n \"VENDOR_CHARGE_BACKS\": \"Vendor Charge Backs\",\n \"VENDOR_PRODUCT_MARGIN\": \"Vendor Product Margin\",\n \"SC_TACOS_VIEW\": \"SC Tacos View\",\n \"INTERNAL_DASHBOARD\": \"Internal Dashboard\",\n \"PRODUCT_OVERVIEW_DOWNLOAD\": \"Product Overview Download\",\n \"REVIEW_DETAILS\": \"Review Details\",\n \"SELLER_PRODUCT_PERFORMANCE\": \"Seller Product Performance\",\n \"BUY_BOX_TRACKING\": \"Buy Box Tracking\",\n \"PERFORMANCE_DIAGNOSTICS\": \"Performance Diagnostics\",\n \"PERF_DIAGNOSTICS_DETAIL\": \"Perf Diagnostics Detail\",\n \"POS_NEW_PRODUCTS\": \"POS New Products\",\n \"COMPETITIVE_AD_TRACKING\": \"Competitive Ad Tracking\",\n \n \"ALERTS\": \"Alerts\",\n \"AUTOMATED_RULES\": \"Automated Rules\",\n \"CHANGE_HISTORY\": \"Change History\",\n \"MONTHLY_BUDGET\": \"Monthly Budget\",\n \"BUDGET_MANAGEMENT\": \"Budget Management\",\n \n \"ACCOUNT_MANAGEMENT\": \"Account Management\",\n \"BRAND_TERMS\": \"Brand Terms\",\n \"LABELS\": \"Labels\",\n \"SUB_BRANDS\": \"Sub-Brands\",\n \"CUSTOM_PRODUCT_ATTRIBUTES\": \"Custom Product Attributes\",\n \"PRODUCT_COSTS\": \"Product Costs\",\n \"PRODUCT_META_DATA\": \"Product Meta Data\",\n\n \"LOGIN\": \"Login\",\n \"AUTHENTICATING\": \"Authenticating...\",\n \"ENTER_YOUR_PASSWORD\":\"Enter your password\",\n \"TERMS_AND_CONDITONS\": \"Terms & Conditions\",\n \"PRIVACY_POLICY\": \"Privacy Policy\",\n\n \"RESET_YOUR_PASSWORD\": \"Reset your password\",\n \"RESET_YOUR_PASSWORD_QUESTION\": \"Reset your password?\",\n \"YOUR_EMAIL\": \"Your email\",\n \"RESET_PASSWORD\": \"Reset Password\",\n \"REMEMBER_THEN_LOGIN_HERE\": \"Remembered it? Log In here\",\n\n \"ROLL_UP\": \"Roll Up\",\n \"SHOW_CHART\": \"Show Chart\",\n \"HIDE_CHART\": \"Hide Chart\",\n \"BY_LABEL\": \"By Label\",\n \n \"TODAY\": \"Today\",\n \"YESTERDAY\": \"Yesterday\",\n \"LAST_7_DAYS\": \"Last 7 days\",\n \"LAST_14_DAYS\": \"Last 14 days\",\n \"LAST_30_DAYS\": \"Last 30 days\",\n \"LAST_60_DAYS\": \"Last 60 days\",\n \"LAST_90_DAYS\": \"Last 90 days\",\n \"LAST_120_DAYS\": \"Last 120 days\",\n \"CURRENT_MONTH\": \"Current Month\",\n \"PREVIOUS_MONTH\": \"Previous Month\",\n \"CURRENT_WEEK\": \"Current Week\",\n \"PREVIOUS_WEEK\": \"Previous Week\",\n \"YEAR_TO_DATE\": \"Year to Date\",\n \"CUSTOM\": \"Custom\",\n \"COMPARE\": \"Compare\"\n}","export const JA_LABELS = {\n \"AMAZON_SPONSORED_ADS\": \"Amazon のスポンサー広告\",\n \"INTENTWISE_ANALYTICS_CLOUD\": \"Intentwise アナリティクス クラウド\",\n \"INTENTWISE_EXPLORE\": \"Intentwise エクスプロア (AMC)\",\n \"ANALYTICS_CLOUD\": \"アナリティクス クラウド\",\n \"EXPLORE\": \"エクスプロア (AMC)\",\n \"SHARE_OF_VOICE\": \"シェア・オブ・ボイス\",\n \"CONTENT_ANALYTICS\": \"コンテンツアナリティクス\",\n \"AMAZON_DSP\": \"Amazon DSP\",\n \"WALMART\": \"ウォルマート\",\n \"CRITEO\": \"クリテオ\",\n \"INSTACART\": \"インスタカート\",\n \"AMAZON_ATTRIBUTION\": \"アマゾンの帰属\",\n \"AMAZON_VENDOR_CENTRAL\": \"アマゾンベンダーセントラル\",\n \"AMAZON_SELLER_CENTRAL\": \"Amazon セラーセントラル\",\n \"GLOBAL_SETTINGS\": \"全体設定\",\n \"AMAZON_SELLER_ANALYTICS\" : \"Amazon セーラーアナリティクス\",\n \"AMAZON_VENDOR_ANALYTICS\" : \"Amazon ベンダーアナリティクス\",\n \"GETTING_STARTED\": \"はじめる\",\n \"QUERIES\": \"クエリ\",\n \"QUERY_RESULTS\": \"クエリ結果\",\n \"AUDIENCES\": \"オーディエンス\",\n \"INSIGHTS\": \"インサイト\",\n \"INSTANCES\": \"インスタンス\",\n \"DASHBOARD_TEMPLATES\": \"ダッシュボードテンプレート\",\n\n \"MY_CONNECTIONS\": \"コネクション\",\n \"ANALYTICS_LAB\": \"アナリティクスラボ\",\n \"SYSTEM_HEALTH\": \"システムヘルス\",\n\n \"ACCOUNT_MANAGEMENT\": \"アカウント管理\",\n \"BRAND_TERMS\": \"ブランドキーワード\",\n \"LABELS\": \"ラベル\",\n \"SUB_BRANDS\": \"サブブランド\",\n \"PRODUCT_META_DATA\": \"製品メタデータ\",\n \"SELLER_ANALYTICS_APP\" : \"Amazon セーラーアナリティクス\",\n \"VENDOR_ANALYTICS_APP\" : \"Amazon ベンダーアナリティクス\",\n\n \"HOURLY_METRICS\": \"時間ごとのメトリクス\",\n \"SPONSORED_PRODUCTS\": \"スポンサープロダクト\",\n \"SPONSORED_BRANDS\": \"スポンサーブランド\",\n \"SPONSORED_DISPLAY\": \"スポンサーディスプレイ\",\n \"CUSTOM_REPORTS\": \"カスタムレポート\",\n \"INVENTORY_OVERVIEW\": \"インベントリの概要\",\n \"WHAT_CHANGED\":\"何が変わったのでしょうか?\",\n \"SETTINGS\": \"設定\",\n \n \"ALL_ACCOUNTS\": \"すべてのアカウント\",\n \"USER_SETTINGS\": \"ユーザー設定\",\n \"OVERVIEW\": \"概要\",\n \"RECOMMENDATIONS\": \"推奨事項\",\n \"CAMPAIGNS\": \"キャンペーン\",\n \"AD_GROUPS\": \"広告グループ\",\n \"KEYWORDS\": \"キーワード\",\n \"PRODUCT_TARGETING\": \"商品ターゲティング\",\n \"PRODUCTS\": \"商品\",\n \"SEARCH_TERMS\": \"検索キーワード\",\n \n \"AMAZON_MARKETING_STREAM\": \"Amazonマーケティングストリーム\",\n \"RETAIL_ANALYTICS\": \"リテールアナリティクス\",\n \n \"PLACEMENT\": \"プレイスメント\",\n \"AUTO_TARGETING\": \"オートターゲティング\",\n \n \"PRODUCT_ADS\": \"商品広告\",\n \"CATEGORY_BENCHMARK\": \"カテゴリベンチマーク\",\n \"PRODUCT_AUD_TARGETING\": \"商品/オーディエンスターゲティング\",\n\n \"HIGH_LEVEL_METRICS\": \"高レベルのメトリクス\",\n \"ORGANIC_RANKING\": \"オーガニックランキング\",\n \"ST_RECOMMENDATIONS\": \"STの推奨事項\",\n \"ASIN_OVERVIEW\": \"ASINの概要\",\n \"CAMPAIGN_REPORT_DOWNLOAD\": \"キャンペーンレポートダウンロード\",\n \"SC_ORDER_REPORTS\": \"SC注文レポート\",\n \"INVENTORY_FORECAST\": \"在庫予測\",\n \"CONTENT_CHANGE_TRACKER\": \"コンテンツ変更トラッカー\",\n \"ACCOUNT_VIEW\": \"アカウントビュー\",\n \"VENDOR_SALES_AND_AMS\": \"ベンダー販売とAMS\",\n \"DEMAND_AND_FORCAST\": \"需要と予測\",\n \"VENDOR_CHARGE_BACKS\": \"ベンダーのチャージバック\",\n \"VENDOR_PRODUCT_MARGIN\": \"ベンダー製品マージン\",\n \"SC_TACOS_VIEW\": \"SCタコスビュー\",\n \"INTERNAL_DASHBOARD\": \"内部ダッシュボード\",\n \"PRODUCT_OVERVIEW_DOWNLOAD\": \"製品概要のダウンロード\",\n \"REVIEW_DETAILS\": \"レビューの詳細\",\n \"SELLER_PRODUCT_PERFORMANCE\": \"販売者の製品パフォーマンス\",\n \"BUY_BOX_TRACKING\": \"購入ボックス追跡\",\n \"PERFORMANCE_DIAGNOSTICS\": \"パフォーマンス診断\",\n \"PERF_DIAGNOSTICS_DETAIL\": \"パフォーマンス診断の詳細\",\n \"POS_NEW_PRODUCTS\": \"POS新製品\",\n \"COMPETITIVE_AD_TRACKING\": \"競合広告の追跡\",\n \n \"ALERTS\": \"アラート\",\n \"AUTOMATED_RULES\": \"自動化されたルール\",\n \"CHANGE_HISTORY\": \"履歴を変更\",\n \"MONTHLY_BUDGET\": \"月々の予算\",\n \"CUSTOM_PRODUCT_ATTRIBUTES\": \"カスタム商品属性\",\n \"PRODUCT_COSTS\": \"商品コスト\",\n}","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, CanLoad, Route, RouterStateSnapshot, UrlSegment, UrlTree } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { EN_LABELS } from '../translations/translations-en';\nimport { JA_LABELS } from '../translations/translations-ja';\nimport { CookieService } from 'ngx-cookie-service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TranslationService {\n private translation: any;\n constructor(private cookie: CookieService){\n if (this.cookie.get('selectedLanguage') && this.cookie.get('selectedLanguage') == 'ja') {\n this.translation = JA_LABELS;\n } else {\n this.translation = EN_LABELS;\n }\n }\n\n public getLabel(key){\n return this.translation[key];\n }\n public selectedApplication(applicationDetails, headmenu){\n if(applicationDetails && headmenu){\n let siteId = applicationDetails?.sidebarInfo?.siteId ? applicationDetails?.sidebarInfo?.siteId : 1;\n let name = Number(siteId) == 1 ? headmenu?.name : headmenu?.name.replace(/Intentwise/gi, \"\");\n return this.translateName(name) ? this.translateName(name) : name;\n }\n return '';\n }\n public translateName(name){\n let translateName = name;\n if(name.includes('TranslationService')){\n translateName = name.replace(/TranslationService.getLabel/gi,'').replace(/[\\])}[{(]/g, '').replace(/(\"|')/g, \"\");\n }\n return this.translation[translateName] ? this.translation[translateName] : translateName; \n }\n}","import { Injectable } from '@angular/core';\nimport { RestApiService } from './rest-api.services';\nimport {ActivatedRoute } from '@angular/router';\nimport { UrlContextService } from './url-context.service';\nimport { EN_LABELS } from '../translations/translations-en';\nimport { JA_LABELS } from '../translations/translations-ja';\nimport { TranslationService } from './translation.service';\nimport { RevisedAppTabsSection, RevisedGroupMenuConfig, RevisedGroupedSection, RevisedIntelligenceGroup, RevisedIntelligenceGroupConfig, RevisedNavigationConfig, RevisedNavMenuItem, RevisedNavigationState, RevisedSection, RevisedSectionConfig } from '../revised-navigation';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApplicationSidebarService {\n\tconditions \t\t\t= ['org_user_ctrl', 'visibility_roles', 'visibility_roles_not_in', 'account_ids', 'customer_types_not_in','customer_types','organization_ids', 'organization_ids_not_in', 'account_type', 'account_ids_not_in', 'organization_setting', 'organization_setting_not_in', 'app_spacific_config_check', 'campaign_types', 'incontext_campaign_targeting', 'incontext_campaign_targeting_walmart', 'subscription_types', 'siteIds', 'siteNotIds', 'not_account_type', 'not_account_name', 'disable_readonly_org', 'user_emails', 'hide_for_user', 'app_org_setting','app_org_setting_not_in','ng_app_setting','ng_app_setting_not_in','targetting_types','targetting_types_not_in','hide_for_user'];\n\tMenuList \t\t\t= [];\n\n\tapplicationIds \t\t= [];\n\tenableAllMenusByOrg = [30780]\n\t\n\tappDetails:\tany;\n\tisStructureApiSupport:\tany;\n\tisManagedServiceAcc: boolean;\n\tSettingsMenuList: any[];\n\tappNames: string[];\n\tprivate menulists: any;\n\tcontentAppRoutes\t\t\t=['content-insight','content-analytics','content','product-meta-data','brand-terms-settings','labels-settings','sub-brands','sub-brands-mapping','sov-settings' ,'content-settings','search-query-performance']\n\tsovAppRoutes\t\t\t\t=['insights','share-of-voice','brands','keywords','products','daily-tracker','daily-tracker/brands','daily-tracker/keywords','daily-tracker/products','raw-data','overview','sov','product-meta-data','brand-terms-settings','labels-settings','sub-brands','sub-brands-mapping','sov-settings' ,'content-settings','search-query-performance']\n\tsellerAnalyticsAppRoutes \t=['seller/insights','product-meta-data','brand-terms-settings','labels-settings','sub-brands','sub-brands-mapping','sov-settings' ,'content-settings','search-query-performance']\n\tvendorAnalyticsAppRoutes\t=['vendor/insights','product-meta-data','brand-terms-settings','labels-settings','sub-brands','sub-brands-mapping','sov-settings' ,'content-settings','search-query-performance']\n\t\n\ttypeStatusConfigs = {\n 'SPONSORED_KEYWORD_BIDS' : true,\n 'SPONSORED_PRODUCT_MANUAL_TARGETING_BIDS' : true,\n 'SPONSORED_PRODUCT_AUTO_TARGETING_BIDS' : true,\n 'SPONSORED_KEYWORD_AUTO' : true,\n 'SPONSORED_KEYWORD' : true,\n 'SP_KEYWORDS_BID_GAP' : false,\n 'SP_PLACEMENT_BID' : false,\n 'SP_TARGETING_TYPE_BREAKDOWN' : false,\n 'SP_MATCH_TYPE_BREAKDOWN' : false,\n 'SP_SB_KEYWORD_PARITY' : true,\n 'HEADLINE_KEYWORD_BIDS' : true,\n 'SB_KEYWORDS_BID_GAP' : false,\n 'SB_MATCH_TYPE_BREAKDOWN' : false,\n 'SB_SP_KEYWORD_PARITY' : true,\n 'NO_KEYWORD_BIDS' : true,\n 'CAMPAIGN_TYPE_BREAKDOWN' : false,\n 'AUTO_TO_MANUAL_ASIN_PARITY' : true,\n 'MANUAL_TO_AUTO_ASIN_PARITY' : true,\n 'COMPETITOR_PRODUCT' : true,\n 'SPONSORED_BRAND_KEYWORD': true\n }\n\n\t\n\n\tconstructor(\n\t\tprivate RestApiService: RestApiService,\n\t\tprivate activatedRoute:ActivatedRoute,\n\t\tprivate translate:TranslationService,\n\t\tprivate urlContextService: UrlContextService) {}\n\n\t/** `true` when the sectioned (new) sidebar should render — default unless host sets `useLegacyNavigation`. */\n\tisRevisedNavigationEnabled(appDetails: any = this.appDetails): boolean {\n\t\treturn !this.isLegacyNavigationEnabled(appDetails);\n\t}\n\n\t/** `true` when the host requested the classic per-app sidebar via `revisedNavigation.useLegacyNavigation`. */\n\tisLegacyNavigationEnabled(appDetails: any = this.appDetails): boolean {\n\t\treturn !!(appDetails && appDetails.revisedNavigation && appDetails.revisedNavigation.useLegacyNavigation === true);\n\t}\n\n\tannotateMenusWithSource(menus: any[] = []): RevisedNavMenuItem[] {\n\t\treturn menus.map((menu) => this.annotateMenuTree(menu, menu && menu.id ? menu.id : undefined, [], undefined));\n\t}\n\n\tbuildRevisedNavigationState(appDetails: any, appMenus: any[] = [], globalSettingsMenus: any[] = [], communityLinks: any[] = []): RevisedNavigationState {\n\t\tconst revisedConfig: RevisedNavigationConfig = appDetails && appDetails.revisedNavigation\n\t\t\t? appDetails.revisedNavigation\n\t\t\t: { useLegacyNavigation: false, sections: [] };\n\t\tconst annotatedApps = this.annotateMenusWithSource(this.cloneMenus(appMenus));\n\t\tconst annotatedGlobalSettings = this.annotateMenusWithSource(this.cloneMenus(globalSettingsMenus));\n\t\tconst annotatedCommunityLinks = this.annotateMenusWithSource(this.cloneMenus(communityLinks));\n\t\tconst sections = this.buildRevisedSections(annotatedApps, revisedConfig.sections || []);\n\n\t\treturn {\n\t\t\tsections,\n\t\t\tglobalSettings: annotatedGlobalSettings,\n\t\t\tcommunityLinks: annotatedCommunityLinks\n\t\t};\n\t}\n\n\tfindRevisedMenuById(menuList: RevisedNavMenuItem[] = [], menuId: string): RevisedNavMenuItem {\n\t\tfor (const menu of menuList) {\n\t\t\tif (!menu) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (menu.id === menuId || menu.sourceMenuId === menuId) {\n\t\t\t\treturn menu;\n\t\t\t}\n\t\t\tif (menu.children && menu.children.length > 0) {\n\t\t\t\tconst childMenu = this.findRevisedMenuById(menu.children, menuId);\n\t\t\t\tif (childMenu) {\n\t\t\t\t\treturn childMenu;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tfindFirstNavigableMenu(menuList: RevisedNavMenuItem[] = []): RevisedNavMenuItem {\n\t\tfor (const menu of menuList) {\n\t\t\tif (!menu) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (menu.type !== 'expandable' && (menu.route || menu.link || menu.defaulturl)) {\n\t\t\t\treturn menu;\n\t\t\t}\n\t\t\tif (menu.children && menu.children.length > 0) {\n\t\t\t\tconst childMenu = this.findFirstNavigableMenu(menu.children);\n\t\t\t\tif (childMenu) {\n\t\t\t\t\treturn childMenu;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tprivate buildRevisedIntelligenceGroups(appMenus: RevisedNavMenuItem[], intelligenceGroups: RevisedIntelligenceGroupConfig[]): RevisedIntelligenceGroup[] {\n\t\treturn intelligenceGroups.map((group) => {\n\t\t\tconst items = this.collectIntelligenceItems(appMenus, group);\n\t\t\treturn {\n\t\t\t\tid: group.id,\n\t\t\t\ttitle: group.title,\n\t\t\t\titems\n\t\t\t};\n\t\t}).filter((group) => group.items.length > 0);\n\t}\n\n\tprivate buildRevisedSections(appMenus: RevisedNavMenuItem[], sections: RevisedSectionConfig[]): RevisedSection[] {\n\t\treturn (sections || []).map((section) => {\n\t\t\tif (section.type === 'app-tabs') {\n\t\t\t\tconst apps = this.filterOptimizeApps(appMenus, section.appIds || []);\n\t\t\t\tif (apps.length === 0) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tid: section.id,\n\t\t\t\t\ttitle: section.title,\n\t\t\t\t\ttype: 'app-tabs',\n\t\t\t\t\ticonSvg: section.iconSvg,\n\t\t\t\t\tapps,\n\t\t\t\t\tdefaultAppId: section.defaultAppId\n\t\t\t\t} as RevisedAppTabsSection;\n\t\t\t}\n\n\t\t\tconst groups = this.buildRevisedIntelligenceGroups(appMenus, section.groups || []);\n\t\t\tif (groups.length === 0) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tid: section.id,\n\t\t\t\ttitle: section.title,\n\t\t\t\ttype: 'grouped-menus',\n\t\t\t\ticonSvg: section.iconSvg,\n\t\t\t\tgroups\n\t\t\t} as RevisedGroupedSection;\n\t\t}).filter((section) => !!section);\n\t}\n\n\tprivate collectIntelligenceItems(appMenus: RevisedNavMenuItem[], group: RevisedIntelligenceGroupConfig): RevisedNavMenuItem[] {\n\t\tconst items: RevisedNavMenuItem[] = [];\n\t\tconst seenIds = new Set<string>();\n\t\tconst menuIds = group.menuIds || [];\n\t\tconst routeIds = group.routeIds || [];\n\t\tconst configuredItems = group.items || [];\n\n\t\tconfiguredItems.forEach((configuredItem) => {\n\t\t\tconst matchedItem = this.resolveConfiguredGroupItem(appMenus, configuredItem);\n\t\t\tif (matchedItem && !seenIds.has(matchedItem.id)) {\n\t\t\t\tseenIds.add(matchedItem.id);\n\t\t\t\titems.push(matchedItem);\n\t\t\t}\n\t\t});\n\n\t\tmenuIds.forEach((menuId) => {\n\t\t\tconst matchedMenu = this.findRevisedMenuById(appMenus, menuId);\n\t\t\tif (matchedMenu && !seenIds.has(matchedMenu.id)) {\n\t\t\t\tseenIds.add(matchedMenu.id);\n\t\t\t\titems.push(this.cloneMenus([matchedMenu])[0] as RevisedNavMenuItem);\n\t\t\t}\n\t\t});\n\n\t\tif (routeIds.length > 0) {\n\t\t\tthis.walkMenus(appMenus, (menu) => {\n\t\t\t\tif (menu.route && routeIds.indexOf(menu.route) > -1 && !seenIds.has(menu.id)) {\n\t\t\t\t\tseenIds.add(menu.id);\n\t\t\t\t\titems.push(this.cloneMenus([menu])[0] as RevisedNavMenuItem);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\treturn items;\n\t}\n\n\tprivate resolveConfiguredGroupItem(\n\t\tappMenus: RevisedNavMenuItem[],\n\t\tconfiguredItem: RevisedGroupMenuConfig | string,\n\t\tdepth = 0\n\t): RevisedNavMenuItem {\n\t\tconst maxDepth = 8;\n\t\tif (depth > maxDepth) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst normalizedConfig: RevisedGroupMenuConfig =\n\t\t\ttypeof configuredItem === 'string'\n\t\t\t\t? { menuId: configuredItem }\n\t\t\t\t: configuredItem;\n\n\t\tconst matchedMenu = this.findRevisedMenuById(appMenus, normalizedConfig.menuId);\n\t\tif (!matchedMenu) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst clonedMenu = this.cloneMenus([matchedMenu])[0] as RevisedNavMenuItem;\n\t\tif (normalizedConfig.title) {\n\t\t\tclonedMenu.name = normalizedConfig.title;\n\t\t}\n\n\t\tconst nestedConfigs = normalizedConfig.children || [];\n\t\tif (nestedConfigs.length > 0) {\n\t\t\tconst nested: RevisedNavMenuItem[] = [];\n\t\t\tnestedConfigs.forEach((childCfg) => {\n\t\t\t\tconst resolved = this.resolveConfiguredGroupItem(appMenus, childCfg, depth + 1);\n\t\t\t\tif (resolved) {\n\t\t\t\t\tnested.push(resolved);\n\t\t\t\t}\n\t\t\t});\n\t\t\tclonedMenu.children = nested;\n\t\t\tif (nested.length > 0) {\n\t\t\t\tclonedMenu.type = 'expandable';\n\t\t\t}\n\t\t\treturn clonedMenu;\n\t\t}\n\n\t\tconst injectedChildIds = normalizedConfig.childMenuIds || [];\n\t\tif (injectedChildIds.length > 0) {\n\t\t\tconst injected: RevisedNavMenuItem[] = [];\n\t\t\tinjectedChildIds.forEach((childId) => {\n\t\t\t\tconst child = this.findRevisedMenuById(appMenus, childId);\n\t\t\t\tif (child) {\n\t\t\t\t\tinjected.push(this.cloneMenus([child])[0] as RevisedNavMenuItem);\n\t\t\t\t}\n\t\t\t});\n\t\t\tclonedMenu.children = injected;\n\t\t\tif (injected.length > 0 && clonedMenu.type === 'leaf') {\n\t\t\t\tclonedMenu.type = 'expandable';\n\t\t\t}\n\t\t} else if (clonedMenu.children && clonedMenu.children.length > 0) {\n\t\t\tclonedMenu.children = this.filterConfiguredChildren(clonedMenu.children, normalizedConfig);\n\t\t}\n\t\treturn clonedMenu;\n\t}\n\n\tprivate filterConfiguredChildren(children: RevisedNavMenuItem[], configuredItem: RevisedGroupMenuConfig): RevisedNavMenuItem[] {\n\t\tconst includeIds = configuredItem.includeChildMenuIds || [];\n\t\tconst excludeIds = configuredItem.excludeChildMenuIds || [];\n\n\t\treturn (children || []).filter((child) => {\n\t\t\tif (includeIds.length > 0 && includeIds.indexOf(child.id) === -1) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (excludeIds.length > 0 && excludeIds.indexOf(child.id) > -1) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t});\n\t}\n\n\tprivate walkMenus(menuList: RevisedNavMenuItem[], iterator: (menu: RevisedNavMenuItem) => void) {\n\t\tmenuList.forEach((menu) => {\n\t\t\tif (!menu) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\titerator(menu);\n\t\t\tif (menu.children && menu.children.length > 0) {\n\t\t\t\tthis.walkMenus(menu.children, iterator);\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate filterOptimizeApps(appMenus: RevisedNavMenuItem[], optimizeAppIds: string[] = []): RevisedNavMenuItem[] {\n\t\tconst appIdsToDisplay = optimizeAppIds || [];\n\t\tif (!appIdsToDisplay || appIdsToDisplay.length === 0) {\n\t\t\treturn appMenus;\n\t\t}\n\t\treturn appIdsToDisplay\n\t\t\t.map((appId) => appMenus.find((menu) => menu.id === appId))\n\t\t\t.filter((menu) => !!menu);\n\t}\n\n\tprivate annotateMenuTree(menu: any, ownerAppId: string, sourcePath: string[] = [], sourceParentId?: string): RevisedNavMenuItem {\n\t\tconst annotatedMenu = menu as RevisedNavMenuItem;\n\t\tif (!annotatedMenu) {\n\t\t\treturn annotatedMenu;\n\t\t}\n\n\t\tconst currentPath = [...sourcePath, annotatedMenu.id];\n\t\tannotatedMenu.ownerAppId = ownerAppId;\n\t\tannotatedMenu.sourceMenuId = annotatedMenu.id;\n\t\tannotatedMenu.sourceParentId = sourceParentId;\n\t\tannotatedMenu.sourcePath = currentPath;\n\t\tif (annotatedMenu.children && annotatedMenu.children.length > 0) {\n\t\t\tannotatedMenu.children = annotatedMenu.children.map((child) => this.annotateMenuTree(child, ownerAppId, currentPath, annotatedMenu.id));\n\t\t}\n\t\treturn annotatedMenu;\n\t}\n\n\tprivate cloneMenus<T>(menus: T[]): T[] {\n\t\treturn JSON.parse(JSON.stringify(menus || []));\n\t}\n\n\tgetTypeStatusConfigs(){\n\t\treturn this.typeStatusConfigs;\n\t}\n\n\t/**\n\t * Optional merge: replace current app’s `children` from `appDetails.listMenus`.\n\t * Only runs when `listMenus` is a **non-empty** array (empty `[]` is ignored so we don’t wipe menus).\n\t * Account-based visibility is applied separately and does **not** depend on this flag.\n\t */\n\tprivate hasNonEmptyListMenusMerge(): boolean {\n\t\tconst lm = this.appDetails?.listMenus;\n\t\tif (lm == null) {\n\t\t\treturn false;\n\t\t}\n\t\tif (Array.isArray(lm)) {\n\t\t\treturn lm.length > 0;\n\t\t}\n\t\treturn true;\n\t}\n\n\tconstructChildMenus(menuItems) {\n if (this.hasNonEmptyListMenusMerge()) {\n for (let item of menuItems) {\n if (this.appDetails.appSet) {\n if (item.id.includes(this.appDetails.applicationId)) {\n for (let listMenuItem of this.appDetails.listMenus) {\n if (item.id == listMenuItem.id) {\n item.children = listMenuItem.children;\n }\n }\n }\n }\n else if (item.id == this.appDetails.applicationId) {\n item.children = this.appDetails.listMenus;\n }\n }\n }\n return menuItems;\n }\n\n\t/** Top-level app id for “Sponsored Ads” in `navmenu` — only this app uses `all_accounts` visibility below. */\n\tprivate static readonly SPONSORED_ADS_APP_ID = 'ads_amazon_advertising';\n\n\t/**\n\t * Sponsored Ads only — parity with AngularJS `NavMenuService.constructChildMenus` in intentwise-platform-web\n\t * `src/app/layouts/leftsidenav/leftsidenav.service.js`:\n\t * - No `currentAccount`: keep only children with `all_accounts === true` (e.g. All Accounts, Signup Overview).\n\t * - With `currentAccount`: keep only children where `all_accounts` is not truthy (account-scoped items).\n\t *\n\t * Applied in `getMenuList` (after optional `constructChildMenus` merge) for `ads_amazon_advertising` only, independent of `listMenus`.\n\t */\n\tprivate filterChildrenByAllAccountsContext(children: any[] | undefined, hasAccount: boolean): any[] {\n\t\tif (!children || !children.length) {\n\t\t\treturn children || [];\n\t\t}\n\t\treturn children.filter((row) => (hasAccount ? !row.all_accounts : !!row.all_accounts));\n\t}\n\n\tprivate applyAllAccountsVisibilityToAppMenus(menus: any[]): void {\n\t\tif (!menus || !menus.length || !this.appDetails) {\n\t\t\treturn;\n\t\t}\n\t\tconst hasAccount = !!this.appDetails.currentAccount;\n\t\tfor (const app of menus) {\n\t\t\tif (!app || app.id !== ApplicationSidebarService.SPONSORED_ADS_APP_ID || app.id === 'app_global_settings' || app.id === 'app_intentwise_community') {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (app.children && app.children.length) {\n\t\t\t\tapp.children = this.filterChildrenByAllAccountsContext(app.children, hasAccount);\n\t\t\t}\n\t\t}\n\t}\n\n\t/** Global Settings: no account → only Account Management (`global_account_mgmt`), same as AngularJS. */\n\tprivate trimGlobalSettingsChildrenWhenNoAccount(globalSettingsApp: any): void {\n\t\tif (this.appDetails?.currentAccount) {\n\t\t\treturn;\n\t\t}\n\t\tif (!globalSettingsApp?.children?.length) {\n\t\t\treturn;\n\t\t}\n\t\tglobalSettingsApp.children = globalSettingsApp.children.filter((c: any) => c && c.id === 'global_account_mgmt');\n\t}\n\n\tgetMenuList(appDetails, menulists) {\n this.appDetails = appDetails;\n this.MenuList = [];\n let appendChildMenus = JSON.parse(JSON.stringify(menulists || []));\n if (window.location.href.indexOf('herokuapp') > -1 || window.location.href.indexOf('localhost') > -1) {\n appendChildMenus = this.constructChildMenus(appendChildMenus);\n }\n this.applyAllAccountsVisibilityToAppMenus(appendChildMenus);\n appendChildMenus.forEach((menu) => {\n menu.name = this.translate.translateName(menu.name);\n menu.children && menu.children.forEach((childMenu) => {\n childMenu.name = this.translate.translateName(childMenu.name);\n childMenu.children && childMenu.children.forEach((child) => {\n child.name = this.translate.translateName(child.name);\n });\n });\n });\n this.menulists = appendChildMenus.filter(list => list.id !== 'app_global_settings' && list.id !== 'app_intentwise_community');\n let sortedMenulists = this.menulists.sort((a, b) => (a.order > b.order) ? 1 : -1);\n this.applicationIds = sortedMenulists.map((appId) => appId.id);\n this.appNames = this.applicationIds;\n // if((this.appDetails.currentOrganization.organizationId === 10390 ||\n // this.appDetails.currentOrganization.organizationId === 10530) &&\n // this.appDetails.userInfo.email == \"sreenath@intentwise.com\") {\n // this.appNames = this.applicationIds.filter((name) => {\n // return (name != 'ads_amazon_content_share_of_voice' && name != 'ads_amazon_content_content_analytics');\n // });\n // }\n for (let appName of sortedMenulists) {\n if (this.appNames.indexOf(appName.id) >= 0) {\n let list = this.getApplicationMenuItem(appName);\n if (list && list.children != undefined) {\n if (appName.id == 'ads_amazon_dsp') {\n if (list.children && list.children.length > 0) {\n for (let child of list.children) {\n if (this.isManagedServiceAcc && child.id == \"ams_dsp_settings\") {\n child.children = child.children.filter(s_child => s_child.id !== 'ams_dsp_rules');\n }\n }\n }\n this.MenuList.push(list);\n }\n else {\n this.MenuList.push(list);\n }\n }\n }\n else if (appName.type != 'expandable') {\n let list = this.getApplicationMenuItem(appName);\n if (list != undefined) {\n this.MenuList.push(list);\n }\n }\n }\n return this.MenuList;\n }\n\n\tgetApplicationMenuItem(currentMenuItem:any): any {\n\t\tlet menuItem = {\n\t\t\tchildren : []\n\t\t};\n\n\t\tif(currentMenuItem.type != 'expandable'){\n\t\t\tlet allKeys = Object.keys(currentMenuItem);\n\t\t\tconst hasConditionstoCheck = this.conditions.some(condition => allKeys.includes(condition))\n\t\t\tif(hasConditionstoCheck){\n\t\t\t\tlet isMenuAllowed = this.checkAllConditions(currentMenuItem, this.conditions, allKeys);\n\t\t\t\tif(isMenuAllowed){\n\t\t\t\t\tmenuItem = currentMenuItem;\n\t\t\t\t}\n\t\t\t\telse{\n\t\t\t\t\t// console.log('return empty');\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse{\n\t\t\t\tmenuItem = currentMenuItem;\n\t\t\t}\n\t\t}\n\t\telse{\n\t\t\tlet allKeys = Object.keys(currentMenuItem);\n\t\t\tconst hasConditionstoCheck = this.conditions.some(condition => allKeys.includes(condition))\n\t\t\tif(!hasConditionstoCheck || (hasConditionstoCheck && this.checkAllConditions(currentMenuItem, this.conditions, allKeys))) {\n\t\t\t\tObject.keys(currentMenuItem).forEach((key)=>{ \n\t\t\t\t\tif (typeof currentMenuItem[key] != \"object\" ) {\n\t\t\t\t\t\tmenuItem[key] = currentMenuItem[key];\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\tmenuItem.children = [];\n\t\t\t\tfor(let child of currentMenuItem.children){\n\t\t\t\t\tlet nav_menu = this.getApplicationMenuItem(child);\n\t\t\t\t\tif(nav_menu != null){ \n\t\t\t\t\t\tif(nav_menu.children != undefined){\n\t\t\t\t\t\t\tif(nav_menu.children.length > 0){\n\t\t\t\t\t\t\t\tmenuItem.children.push(nav_menu);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse{\n\t\t\t\t\t\t\tmenuItem.children.push(nav_menu);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}else{\n\t\t\t\treturn;\n\t\t\t}\t\t\t\n\t\t}\n\t\treturn menuItem;\n\t}\n\n\tgetGlobalSettingsMenu(appDetails : any, menulists) {\n\t\tthis.appDetails = appDetails;\t\n\t\tthis.SettingsMenuList = [];\n\t\tconst clonedMenulists = JSON.parse(JSON.stringify(menulists || []));\n\t\tlet globalSettingMenus = clonedMenulists.filter(list=> list.id == 'app_global_settings')\n\t\tlet GLOBAL_SETTING_LIST_SORTED = globalSettingMenus.sort((a, b) => (a.order > b.order) ? 1 : -1);\n\t\tfor (let appName of GLOBAL_SETTING_LIST_SORTED) {\n\t\t\tif(appName.type == 'expandable'){\n\t\t\t\tthis.trimGlobalSettingsChildrenWhenNoAccount(appName);\n\t\t\t\tlet list = this.getApplicationMenuItem(appName);\n\t\t\t\tif(list && list.children && list.children.length > 0){\n\t\t\t\t\tthis.SettingsMenuList.push(list);\n\t\t\t\t}\t\t\t\t\n\t\t\t}else if(appName.type != 'expandable'){\n\t\t\t\tlet list = this.getApplicationMenuItem(appName);\n\t\t\t\tif(list != undefined){\n\t\t\t\t\tthis.SettingsMenuList.push(list)\n\t\t\t\t}\n\t\t\t}\n\t\t}\t\t\n\t\treturn this.SettingsMenuList;\n\t}\n\n\tcheckAllConditions(currentMenuItem: any, conditions, allKeys: string[]): any {\n\t\t// Initialize as true - all conditions must pass (AND logic)\n\t\tlet includeMenu = true;\n\t\tif((!this.appDetails.currentAccount && currentMenuItem.id == \"ads_overview\" && \n\t\t\t!this.appDetails.currentOrganization['noActiveAccounts'])){\n\t\t\treturn true;\n\t\t}\n\t\telse if(currentMenuItem.id === \"ads_signup_overview\") {\n\t\t\tif(!this.appDetails.currentAccount && this.appDetails.currentOrganization['noActiveAccounts']){\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\telse{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\tfor(let cond of conditions){\n\t\t\tif(currentMenuItem[cond] != undefined){\n\t\t\t\tlet conditionResult = true;\n\t\t\t\t\n\t\t\t\tswitch(cond){\n\t\t\t\t\tcase 'visibility_roles': { \n\t\t\t\t\t\tconditionResult = this.checkForRoles(currentMenuItem[cond]);\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\tbreak; \n\t\t\t\t\t} \n\t\t\t\t\tcase 'visibility_roles_not_in': { \n\t\t\t\t\t\tconditionResult = this.checkForvisibilityRolesNotIn(currentMenuItem[cond]);\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\tbreak; \n\t\t\t\t\t} \n\t\t\t\t\tcase 'disable_readonly_org':{\n\t\t\t\t\t\tconditionResult = this.disableForOrgwithReadOnly(currentMenuItem[cond]);\n\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase 'organization_ids' : {\n\t\t\t\t\t\tif(this.appDetails.currentAccount && this.appDetails.currentAccount.organizationId) {\n\t\t\t\t\t\t\tconditionResult = this.checkForSpecifiedIds(currentMenuItem[cond],currentMenuItem,this.appDetails.currentAccount.organizationId);\t\t\t\t\t\t\t\n\t\t\t\t\t\t} else if(this.appDetails.currentOrganization && this.appDetails.currentOrganization.organizationId) {\n\t\t\t\t\t\t\tconditionResult = this.checkForSpecifiedIds(currentMenuItem[cond],currentMenuItem,this.appDetails.currentOrganization.organizationId);\t\t\t\t\t\t\t\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconditionResult = false;\n\t\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase 'organization_ids_not_in' : {\n\t\t\t\t\t\tif(this.appDetails.currentAccount && this.appDetails.currentAccount.organizationId) {\n\t\t\t\t\t\t\tconditionResult = this.checkForSpecifiedIdsNotIn(currentMenuItem[cond],currentMenuItem,this.appDetails.currentAccount.organizationId);\n\t\t\t\t\t\t} else if(this.appDetails.currentOrganization && this.appDetails.currentOrganization.organizationId) {\n\t\t\t\t\t\t\tconditionResult = this.checkForSpecifiedIdsNotIn(currentMenuItem[cond],currentMenuItem,this.appDetails.currentOrganization.organizationId);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconditionResult = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase 'org_user_ctrl':{\n\t\t\t\t\t\tif(this.appDetails.currentOrganization && this.appDetails.currentOrganization.organizationId) {\n\t\t\t\t\t\t\tconditionResult = this.checkForOrgWithUserRole(currentMenuItem[cond],currentMenuItem,this.appDetails.currentOrganization.organizationId);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconditionResult = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase 'account_ids' : { \n\t\t\t\t\t\tif(this.appDetails.currentAccount && this.appDetails.currentAccount.amsAccountId) {\n\t\t\t\t\t\t\tconditionResult = this.checkForSpecifiedIds(currentMenuItem[cond],currentMenuItem,this.appDetails.currentAccount.amsAccountId);\t\t\t\t\t\t\t\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconditionResult = false;\n\t\t\t\t\t\t}\n\t\t\t\t\tbreak; \n\t\t\t\t\t}\n\t\t\t\t\tcase 'account_ids_not_in' : {\n\t\t\t\t\t\tconditionResult = this.checkForSpecifiedAccountIdsNotIn(currentMenuItem[cond],currentMenuItem,this.appDetails.currentAccount.amsAccountId);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\t\t\t\t\t\n\t\t\t\t\tcase 'not_account_name' : {\n\t\t\t\t\t\tif(this.appDetails.currentAccount){\n\t\t\t\t\t\t\tconditionResult = this.checkForNotAccName(currentMenuItem[cond]);\n\t\t\t\t\t\t}else {\n\t\t\t\t\t\t\tconditionResult = false;\n\t\t\t\t\t\t}\t\t\t\t\t\t\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase 'account_type' : { \n\t\t\t\t\t\tif(this.appDetails.currentAccount && this.appDetails.currentAccount.type) {\n\t\t\t\t\t\t\tconditionResult = this.checkForAccType(currentMenuItem);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconditionResult = false;\n\t\t\t\t\t\t}\n\t\t\t\t\tbreak; \n\t\t\t\t\t}\n\t\t\t\t\tcase 'organization_setting' : { \n\t\t\t\t\t\tconditionResult = this.checkForOrgSettings(currentMenuItem[cond]);\t\t\t\t\t\t\n\t\t\t\t\tbreak; \n\t\t\t\t\t}case 'app_org_setting' : { \n\t\t\t\t\t\tconditionResult = this.checkForOrgAppSettings(currentMenuItem[cond]);\t\t\t\t\t\t\n\t\t\t\t\tbreak; \n\t\t\t\t\t}\n\t\t\t\t\tcase 'app_org_setting_not_in': {\n\t\t\t\t\t\tconditionResult = this.checkForOrgAppSettingsNotIn(currentMenuItem[cond]);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase 'organization_setting_not_in' : { \n\t\t\t\t\t\tconditionResult = this.checkForNotOrgSettings(currentMenuItem[cond]);\t\t\t\t\t\t\n\t\t\t\t\tbreak; \n\t\t\t\t\t} \n\t\t\t\t\t// TODO : This is temporery solution for Amc spacific org setting check.\n\t\t\t\t\tcase 'app_spacific_config_check': {\n\t\t\t\t\t\tconditionResult = this.appSpecificConfig(currentMenuItem[cond]);\n\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase 'siteIds' : { \n\t\t\t\t\t\tconditionResult = this.checkForSiteIds(currentMenuItem[cond]);\n\t\t\t\t\tbreak; \n\t\t\t\t\t} \n\t\t\t\t\tcase 'siteNotIds' : { \n\t\t\t\t\t\tconditionResult = this.checkForSiteNotIds(currentMenuItem[cond]);\n\t\t\t\t\tbreak; \n\t\t\t\t\t} \n\t\t\t\t\tcase 'subscription_types' : { \n\t\t\t\t\t\tif(currentMenuItem['account_type'] == undefined){\n\t\t\t\t\t\t\tif(this.appDetails.currentAccount && this.appDetails.currentAccount.subscription) {\n\t\t\t\t\t\t\t\tconditionResult = this.checkForSubscriptions(currentMenuItem[cond])\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tconditionResult = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\tif(this.appDetails.currentAccount && this.appDetails.currentAccount.type) {\n\t\t\t\t\t\t\t\tconditionResult = this.checkForAccType(currentMenuItem);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tconditionResult = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\tbreak; \n\t\t\t\t\t} \n\t\t\t\t\tcase 'campaign_types' : {\n\t\t\t\t\t\tif(this.appDetails.campaignInContext){\n\t\t\t\t\t\t\tconditionResult = this.checkForCampaignType(currentMenuItem[cond])\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse{\n\t\t\t\t\t\t\tconditionResult = true;\n\t\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase 'targetting_types': {\n\t\t\t\t\t\tif (this.appDetails.campaignInContext) {\n\t\t\t\t\t\t\tconditionResult = this.checkForTargettingType(currentMenuItem[cond])\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tconditionResult = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase 'targetting_types_not_in': {\n\t\t\t\t\t\tif (this.appDetails.campaignInContext) {\n\t\t\t\t\t\t\tconditionResult = this.checkForNotTargettingType(currentMenuItem[cond])\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tconditionResult = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase 'incontext_campaign_targeting' : { \n\t\t\t\t\t\tif(this.appDetails.campaignInContext){\n\t\t\t\t\t\t\tconditionResult = this.checkForCampaignTargeting(currentMenuItem[cond])\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse{\n\t\t\t\t\t\t\tconditionResult = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak; \n\t\t\t\t\t}\n\t\t\t\t\tcase 'incontext_campaign_targeting_walmart' : { \n\t\t\t\t\t\tif(this.appDetails.campaignInContextwalmart){\n\t\t\t\t\t\t\tconditionResult = this.checkForCampaignTargetingWalmart(currentMenuItem[cond])\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse{\n\t\t\t\t\t\t\tconditionResult = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak; \n\t\t\t\t\t}\n\t\t\t\t\tcase 'user_emails' : { \n\t\t\t\t\t\tconditionResult = this.authenticateUserMailMenu(currentMenuItem[cond])\n\t\t\t\t\t\tbreak; \n\t\t\t\t\t}\n\t\t\t\t\tcase 'hide_for_user' : {\n\t\t\t\t\t\tconditionResult = this.checkForHiddenUserRole(currentMenuItem[cond])\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase 'ng_app_setting': {\n\t\t\t\t\t\tif (!this.appDetails.campaignInContext) {\n\t\t\t\t\t\t\tconditionResult = this.checkContextSettings(currentMenuItem[cond])\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase 'ng_app_setting_not_in': {\n\t\t\t\t\t\tconditionResult = this.checkContextSettingNotIn(currentMenuItem[cond]);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase 'customer_types': {\n\t\t\t\t\t\tconditionResult = this.checkCustomerTypeIn(currentMenuItem[cond]);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase 'customer_types_not_in': {\n\t\t\t\t\t\tconditionResult = this.checkCustomerTypeNotIn(currentMenuItem[cond]);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\t// default: { \n\t\t\t\t\t// //statements; \n\t\t\t\t\t// break; \n\t\t\t\t\t// } \n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t// If any condition fails, the menu should be hidden (AND logic)\n\t\t\t\tif(!conditionResult){\n\t\t\t\t\tincludeMenu = false;\n\t\t\t\t\tbreak; // No need to check further conditions\n\t\t\t\t}\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t// If condition is undefined, it doesn't affect the result (neutral)\n\t\t}\n\n\t\treturn includeMenu;\n\t}\n\n\tcheckForNotAccName(possibleValues: any): boolean {\n\t\tif(possibleValues.indexOf(this.appDetails.currentAccount.name) == -1){\n\t\t\treturn true;\n\t\t}\n\t\telse{\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tcheckForCampaignType(possibleValues: any):boolean{\n\t\tif(this.appDetails.campaignInContext && possibleValues.indexOf(this.appDetails.campaignInContext[0].dataType) >= 0){\n\t\t\treturn true;\n\t\t}\n\t\telse{\n\t\t\treturn false;\n\t\t}\n\t}\n\tcheckForTargettingType(possibleValues: any):boolean{\n\t\tvar allow = false;\n\t\tif(this.appDetails.campaignInContext && possibleValues.indexOf(this.appDetails.campaignInContext[0].targetingType) >= 0){\n\t\t\tallow = true;\n\t\t}\n\t\treturn allow;\n\t}\n\tcheckForNotTargettingType(possibleValues: any):boolean{\n\t\tvar allow = true;\n\t\tif(this.appDetails.campaignInContext && possibleValues.indexOf(this.appDetails.campaignInContext[0].targetingType) >= 0){\n\t\t\tallow = false;\n\t\t}\n\t\treturn allow;\n\t}\n\tcheckForCampaignTargeting(possibleValues: any):boolean{\n\t\tif(this.appDetails.campaignInContext && possibleValues.indexOf(this.appDetails.campaignInContext[0].campaignTargeting) >= 0){\n\t\t\treturn true;\n\t\t}\n\t\telse{\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tcheckForCampaignTargetingWalmart(possibleValues: any):boolean{\n\t\tif(this.appDetails.campaignInContextwalmart && possibleValues.indexOf(this.appDetails.campaignInContextwalmart[0].campaignTargeting) >= 0){\n\t\t\treturn true;\n\t\t}\n\t\telse{\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tauthenticateUserMailMenu(possibleValues: any):boolean{\n\t\treturn possibleValues && possibleValues.includes(this.appDetails.userInfo.email);\n\t}\n\n\tcheckForSubscriptions(possibleValues: any): boolean{\n\t\tfor(let settings of this.appDetails.currentAccount.subscription){\n\t\t\tif((possibleValues.indexOf(settings.type) >= 0) && settings.status == \"ACTIVE\"){\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tcheckForSiteIds(possibleValues: any): boolean {\n\t\tif(this.appDetails.sidebarInfo && this.appDetails.sidebarInfo.siteId && possibleValues.includes(Number(this.appDetails.sidebarInfo.siteId))){\n\t\t\treturn true;\n\t\t}\n\t\telse{\n\t\t\treturn false;\n\t\t}\n\t}\n\tcheckForSiteNotIds(possibleValues: any): boolean {\n\t\tif(this.appDetails.sidebarInfo && this.appDetails.sidebarInfo.siteId && possibleValues.includes(Number(this.appDetails.sidebarInfo.siteId))){\n\t\t\treturn false;\n\t\t}\n\t\telse{\n\t\t\treturn true;\n\t\t}\n\t}\n\n\t// TODO : This is temporery solution for Amc spacific org setting check.\n\tappSpecificConfig(possibleValues: Array<String>): boolean {\n\t\ttry {\n\t\t\tconst role = ['SUPER_ADMIN', 'SUPER_ADMIN_READ_ONLY'];\n\t\t\t// Check role condition and org setting is availablity\n\t\t\tif (!role.includes(this.appDetails.userInfo.role) && this.appDetails.orgSettings && this.appDetails.orgSettings.length > 0) {\n\t\t\t\tlet allow = false;\n\n\t\t\t\t// To verify if the org setting is available\n\t\t\t\t\n\t\t\t\tlet keymatched = possibleValues.some((key: String) => {\n\t\t\t\t\treturn this.appDetails.orgSettings.findIndex(function (setting: any) { return key == setting.setting; }) > -1\n\t\t\t\t});\n\n\t\t\t\t// To verify if the org setting is available and enabled/Active\n\n\t\t\t\tlet AllActive = possibleValues.every((key: String) => {\n\t\t\t\t\treturn this.appDetails.orgSettings.findIndex(function (setting: any) { return key == setting.setting && setting.value == \"ACTIVE\"; }) > -1\n\t\t\t\t});\n\n\t\t\t\t// If No org setting is available OR setting is available but with active status\n\t\t\t\tif (!keymatched || AllActive) {\n\t\t\t\t\tallow = true;\n\t\t\t\t}\n\t\t\t\treturn allow;\n\t\t\t} else {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.error(error)\n\t\t}\n\t}\n\n\tcheckForOrgSettings(possibleValues: any): boolean {\n\t\ttry{\n\t\t\tvar allow = false;\n\t\t\tif (this.appDetails.orgSettings && this.appDetails.orgSettings.length > 0) {\n\t\t\t\tallow = this.appDetails.orgSettings.some(function(orgSetting){\n\t\t\t\t\tif(!orgSetting.value || orgSetting.value && orgSetting.value == 'ACTIVE') {\n\t\t\t\t\t\treturn possibleValues.includes(orgSetting.setting);\n\t\t\t\t\t};\n\t\t\t\t})\n\t\t\t\treturn allow;\n\t\t\t} else {\n\t\t\t\treturn allow;\n\t\t\t}\n\t\t}catch(error){\n\t\t\tconsole.error(error)\n\t\t}\n\t}\n\n\tcheckForOrgAppSettings(possibleValues: any): boolean {\n\t\tif(this.appDetails.orgAppSettings){\n\t\t\tfor(let settings of this.appDetails.orgAppSettings){\n\t\t\t\tif(possibleValues.indexOf(settings.type) >= 0 && settings.status == 'ACTIVE'){\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t}else{\n\t\t\treturn false;\n\t\t}\n\t}\n\tcheckForOrgAppSettingsNotIn(possibleValues: any): boolean {\n\t\ttry{\n\t\t\tvar allow = true;\n\t\t\tif (this.appDetails.orgAppSettings && this.appDetails.orgAppSettings.length > 0) {\n\t\t\t\tallow = this.appDetails.orgAppSettings.some((orgAppSetting) => {\n\t\t\t\t\treturn (!possibleValues.includes(orgAppSetting.type) || \n\t\t\t\t\t\t\t(possibleValues.includes(orgAppSetting.type) && \n\t\t\t\t\t\t\torgAppSetting.status && orgAppSetting.status == 'IN_ACTIVE'))\n\t\t\t\t});\n\t\t\t\treturn allow;\n\t\t\t} else {\n\t\t\t\treturn allow;\n\t\t\t}\n\t\t}catch(error){\n\t\t\tconsole.error(error)\n\t\t}\n\t}\n\n\tcheckCustomerTypeIn(possibleValues: any): boolean {\n\t\tif (this.appDetails.currentOrganization.customerType && \n\t\t\tpossibleValues.includes(this.appDetails.currentOrganization.customerType)) {\n\t\t\treturn true;\n\t\t}\n\t\telse {\n\t\t\treturn false;\n\t\t}\n\t}\n\tcheckCustomerTypeNotIn(possibleValues: any): boolean {\n\t\tif (!this.appDetails.currentOrganization.customerType || (this.appDetails.currentOrganization.customerType && \n\t\t\t!possibleValues.includes(this.appDetails.currentOrganization.customerType))) {\n\t\t\treturn true;\n\t\t}\n\t\telse {\n\t\t\treturn false;\n\t\t}\n\t}\n\tcheckForNotOrgSettings(possibleValues: any): boolean {\n\t\tlet allow = true;\n\t\tif(this.appDetails.orgSettings && this.appDetails.orgSettings.length > 0){\n\t\t\t// Check if any of the settings in possibleValues are present and active\n\t\t\tconst hasActiveRestrictedSetting = this.appDetails.orgSettings.some(function(orgSetting){\n\t\t\t\treturn possibleValues.includes(orgSetting.setting) && \n\t\t\t\t\t(!orgSetting.value || orgSetting.value == 'ACTIVE');\n\t\t\t});\n\t\t\t// If any restricted setting is active, hide the menu (return false)\n\t\t\t// If no restricted settings are active, show the menu (return true)\n\t\t\treturn !hasActiveRestrictedSetting;\n\t\t}else{\n\t\t\treturn allow;\n\t\t}\n\t}\n\t\n\tcheckContextSettings(possibleValues: any): boolean {\n\t\tvar allow = false;\n\t\tif(this.appDetails.ngOrgSettings){\n\t\t\tfor (let item of possibleValues) {\n\t\t\t\tallow = this.appDetails.ngOrgSettings[item];\n\t\t\t\tallow = allow == undefined ? true : allow;\n\t\t\t}\n\t\t}\n\t\treturn allow;\n\t}\n\n\tcheckContextSettingNotIn(possibleValues: any): boolean {\n\t\tvar allow = true;\n\t\tif(this.appDetails.ngOrgSettings){\n\t\t\tfor (let item of possibleValues) {\n\t\t\t\tallow = !this.appDetails.ngOrgSettings[item];\n\t\t\t}\n\t\t}\n\t\treturn allow;\n\t}\n\n\tcheckForAccType(menuItem: any): boolean {\n\t\tif(menuItem['account_type'].indexOf(this.appDetails.currentAccount.type) >= 0){\n\t\t\treturn true;\n\t\t}\n\t\telse{\n\t\t\tif(menuItem['subscription_types']){\n\t\t\t\treturn this.checkForSubscriptions(menuItem['subscription_types'])\n\t\t\t}\n\t\t\telse{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\n\tcheckForSpecifiedIds(possibleValues: any , currentMenuItem:any , id:number): boolean {\n\t\tif(possibleValues[0].id){\n\t\t\tfor (let item of possibleValues) {\n\t\t\t\tif( item.id === id ){\n\t\t\t\t\tObject.keys(item).forEach((key)=>{ \n\t\t\t\t\t\tif (key != 'id') {\n\t\t\t\t\t\t\tcurrentMenuItem[key] = item[key];\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\tconsole.log('Link changed to '+currentMenuItem.link+' and route changed to '+currentMenuItem.route);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\telse {\n\t\t\tif(possibleValues.indexOf(id) >= 0){\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\telse{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\tcheckForOrgWithUserRole(possibleValues: any , currentMenuItem:any , id:number): boolean {\n\t\tlet allow = true;\n\t\tif (possibleValues && possibleValues.length > 0) {\n\t\t\tvar flagArray = [];\n\t\t\tfor (let item of possibleValues) {\n\t\t\t\tvar allKeys = Object.keys(item);\n\t\t\t\tvar flag = this.checkAllConditions(item, allKeys, allKeys)\n\t\t\t\tflagArray.push(flag);\n\t\t\t}\n\t\t\tallow = flagArray.includes(true) ? true : false;\n\t\t\t\n\t\t}\n\t\treturn allow;\n\t}\n\tcheckForSpecifiedIdsNotIn(possibleValues: any , currentMenuItem:any , id:number): boolean {\n\t\treturn possibleValues.indexOf(id) < 0;\n\t}\n\n\tcheckForSpecifiedAccountIdsNotIn(possibleValues: any , currentMenuItem:any , id:number): boolean {\n\t\treturn possibleValues.indexOf(id) < 0;\n\t}\n\n\tcheckForRoles(possibleValues: any): boolean {\n\t\tif(possibleValues && possibleValues.length > 0){\n\t\t\tif(possibleValues.indexOf(this.appDetails.userInfo.role) >= 0){\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\telse{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\tcheckForvisibilityRolesNotIn(possibleValues: any): boolean {\n\t\tif(possibleValues && possibleValues.length > 0){\n\t\t\tif(possibleValues.indexOf(this.appDetails.userInfo.role) >= 0){\n\t\t\t\treturn false;\n\t\t\t}else{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\tcheckForHiddenUserRole(possibleValues: any): boolean {\n\t\tif(possibleValues && possibleValues.length > 0){\n\t\t\tif(possibleValues.indexOf(this.appDetails.userInfo.role) >= 0 && this.appDetails.userInfo.isHiddenUser){\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\telse{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic disableForOrgwithReadOnly(possibleValues: any): boolean{\n\t\tif(this.appDetails.userInfo.role === 'READ_ONLY' && possibleValues.indexOf(this.appDetails.currentAccount.organizationId) >= 0){\n\t\t\treturn false;\n\t\t}\n\t\telse{\n\t\t\treturn true;\n\t\t}\n\t}\n\n\t/**\n\t * Nav JSON shape for legacy AngularJS admin screens: `link` is the ui-router state prefix (`triangular.*`)\n\t * and `route` is the hash URL (`#!/...`). Cross-app clicks (e.g. User Access from Walmart) must use `route`\n\t * plus current `appId`, not `origin/triangular....`.\n\t * Does not match test fixtures that swap route/link for triangular vs hash.\n\t */\n\tpublic shouldUseHashRouteForCrossAppHostNav(menu: { route?: string; link?: string }): boolean {\n\t\treturn !!(\n\t\t\tmenu &&\n\t\t\ttypeof menu.link === 'string' &&\n\t\t\tmenu.link.indexOf('triangular.') === 0 &&\n\t\t\ttypeof menu.route === 'string' &&\n\t\t\tmenu.route.indexOf('#') >= 0\n\t\t);\n\t}\n\n\tpublic getHostOriginAndNavigate(route , applicationId=undefined) {\n\t\t// if (window.location.href.indexOf(route) == -1) {\n\t\t\tthis.activatedRoute.queryParams.subscribe(params => {\n\t\t\t\tif (applicationId) {\n\t\t\t\t\tparams = {...params, ...applicationId};\t\n\t\t\t\t}\n\n\t\t\t\tif (route.indexOf('?') > -1 && route.indexOf('usermgmt') > -1){\n\t\t\t\t\troute = route.split('?')[0];\n\t\t\t\t\tlet newQParam = { usermgmt : true}\n\t\t\t\t\tparams = { ...params , ...newQParam}\n\t\t\t\t}\n\t\t\t\tlet urlToNavigate = this.urlContextService.prepareUrlWithQueryParams(route, params);\n\t\t\t\turlToNavigate = `${window.location.origin}/${urlToNavigate}`\n\t\t\t\t// urlToNavigate = `http://localhost:3000/${urlToNavigate}`\n\t\t\t\tconsole.log('Navigating to - ',urlToNavigate);\n\t\t\t\twindow.open(urlToNavigate, '_self');\n\t\t\t});\n\t\t// }\n }\n\t\n\tpublic fetchKeyValue(key: string) {\n\t\tif(this.appDetails && this.appDetails.currentAccount) {\n\t\t\treturn (this.appDetails.currentAccount[key]);\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t\t\n\t}\n\n\tpublic setActiveRecoCount(count:number){\n\t\tthis.appDetails.currentAccount['activeRecommendation'] = count;\n\t}\n\t\n\tpublic isHavingAnyActiveSubs(id,subs,type){\n if(id === 'ads_amazon_attribution' && this.checkSubscriptionActive(subs, type, 'AMS_ATTRIBUTION')) {\n return true;\n } else if(id === 'ads_amazon_dsp' && this.checkSubscriptionActive(subs, type, 'DSP')) {\n return true;\n } else if((id === 'ads_amazon_content') && this.checkSubscriptionActive(subs, type, 'CONTENT')) {\n return true;\n } else if((id === 'ads_instacart') && this.checkSubscriptionActive(subs, type, 'INSTACART')) {\n return true;\n }else if((id === 'ads_criteo') && this.checkSubscriptionActive(subs, type, 'CRITEO')) {\n\t\treturn true;\n\t}else if((id === 'ads_walmart') && this.checkSubscriptionActive(subs, type, 'WALMART')) {\n\t\treturn true;\n\t}else if(id === 'ads_data_platform'|| id === 'amc-platform-web' || id === 'ads_amazon_seller') {\n\t\treturn true;\n\t}else if(id === 'ads_amazon_advertising' || id === 'ads_vendor_sales' || id === 'ads_seller_sales') {\n for(let settings of subs){\n if(settings.type != type && settings.status == \"ACTIVE\"){\n return true;\n }\n }\n return false;\n }\n return false\n \t}\n\n\tpublic checkSubscriptionActive(subs, accType ,subType) {\n\t\tif(subType === accType){\n\t\treturn true;\n\t\t}\n\t\tconst currentTypeSub = subs.filter(subscription => subscription.type === subType);\n\t\tif(currentTypeSub.length === 0) {\n\t\treturn false;\n\t\t}\n\t\tif (currentTypeSub[0].status === 'ACTIVE' || currentTypeSub[0].type === accType) {\n\t\t\treturn true;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic getApplicationID() {\n\t\tlet urlArray = this.urlContextService.router.url.split('/');\n\t\tlet currentRoute = urlArray[urlArray.length - 1];\n\t\t\n\t\tif(this.contentAppRoutes.indexOf(currentRoute)>-1 ) {\n\t\t\treturn \"ads_amazon_content_content_analytics\";\n\t\t} else if(this.sovAppRoutes.indexOf(currentRoute)>-1) {\n\t\t\treturn \"ads_amazon_content_share_of_voice\";\n\t\t}\n\t}\n}","import { Directive, ElementRef, Input } from '@angular/core';\n\n@Directive({ selector: '[appOffsetTop]'})\nexport class OffsetTopDirective {\n constructor(private _el: ElementRef) { }\n @Input() isActiveItem: boolean;\n get offsetTop(): number { return this._el.nativeElement.offsetTop; }\n}\n\n@Directive({selector: '[appScrollable]'})\nexport class ScrollableDirective {\n constructor(private _el: ElementRef) {}\n set scrollTop(value: number) { this._el.nativeElement.scrollTop = value; }\n}","import { Component, ElementRef, HostBinding, Input, OnInit, QueryList, ViewChild, Output, EventEmitter } from '@angular/core';\nimport { NavMenuItem } from '../nav-menu-item';\nimport {Router,ActivatedRoute } from '@angular/router';\nimport { ApplicationSidebarService } from '../services/application-sidebar.service'\nimport { UrlContextService } from '../services/url-context.service';\nimport { CookieService } from 'ngx-cookie-service';\nimport { MatMenuTrigger } from '@angular/material/menu';\nimport { TranslationService } from '../services/translation.service';\n@Component({\n selector: 'lnc-nav-menus',\n templateUrl: './nav-menus.component.html',\n styleUrls: ['./nav-menus.component.scss']\n})\nexport class NavMenusComponent implements OnInit {\n @Output() menuClicked = new EventEmitter<object>();\n @Input() item: NavMenuItem;\n @Input() applicationId:string;\n @Input() parentMenuId:string;\n @Input() parentPanelId:string;\n @Input() isActiveItem:boolean\n expanded: boolean;\n\n queryParams: any;\n @ViewChild(MatMenuTrigger)\n contextMenu: MatMenuTrigger;\n\n contextMenuPosition = { x: '0px', y: '0px' };\n\n translation: any;\n recCount: any;\n\n constructor(\n public navigation: ApplicationSidebarService, \n private router: Router,\n private activatedRoute:ActivatedRoute,\n private urlContextService: UrlContextService,\n private cookie: CookieService,\n private translate:TranslationService\n ) {\n this.activatedRoute.queryParams.subscribe(params => {\n this.queryParams = Object.assign({}, params);\n });\n\n }\n\n ngOnInit() {\n // @HostBinding('attr.aria-expanded') ariaExpanded = this.expanded;\n }\n\n public hasIcon(item:NavMenuItem){\n return (item.icon != undefined && item.icon != '');\n }\n\n public hasWalmartRecommendation(item:NavMenuItem){\n if(item.id == \"walmart_recommendations\"){\n this.recCount = this.navigation.appDetails.recCount;\n if(this.recCount && this.recCount>0){\n return true;\n } else {\n return false;\n } \n } else {\n return false;\n }\n }\n \n public selectedApplication(name){\n return this.translate.selectedApplication(this.navigation.appDetails, name);\n }\n \n public getSpecifiedValue(key:string){\n return this.navigation.fetchKeyValue(key);\n }\n\n public onSelectMenu(event:any,listMenu:NavMenuItem, appId?:any) {\n var promise = new Promise<void>(async (resolve, reject) => {\n console.log('appId' , this.parentPanelId , this.applicationId);\n // on shift+click open url in new tab along with context params\n if((this.parentPanelId === 'iac_insights' && this.applicationId === 'ads_data_platform') || this.parentMenuId === 'app_global_settings' || appId === 'app_global_settings'){\n if(listMenu.id === 'global_account_mgmt' || listMenu.id === 'iac_insights_user_mgmt'){\n const url = listMenu.route;\n if (this.applicationId == \"ads_amazon_content\") {\n this.applicationId = this.navigation.getApplicationID();\n }\n if(this.urlContextService.validateKeyStroke(event)) {\n this.openInNewTab(url,false,{ appId : this.applicationId})\n resolve();\n }else{\n this.showLoader();\n this.navigation.getHostOriginAndNavigate(url , { appId : this.applicationId});\n resolve();\n }\n }else{\n if (listMenu.route != '') {\n if(this.urlContextService.validateKeyStroke(event)) {\n this.openInNewTab(listMenu.route,true)\n resolve();\n }else{\n console.log(\"Query Params = \" ,this.queryParams);\n this.router.navigate([listMenu.route] , { queryParams : this.queryParams })\n this.menuClicked.emit({activePanel : this.parentPanelId});\n resolve();\n }\n }else{\n alert('no route to navigate');\n resolve();\n }\n }\n }else if(listMenu.defaulturl){\n const url = listMenu.defaulturl;\n if(listMenu.id == \"ads_vendor_sales\" || listMenu.id == 'ads_seller_sales'){\n this.showLoader();\n this.navigation.getHostOriginAndNavigate(url, { appId : listMenu.id});\n resolve();\n }\n if(this.urlContextService.validateKeyStroke(event)) {\n this.openInNewTab(url,false);\n resolve();\n }else{\n this.showLoader();\n this.navigation.getHostOriginAndNavigate(url);\n resolve();\n }\n }else{\n if(listMenu.external_link && listMenu.external_link != ''){\n window.open(`${listMenu.external_link}`, '_blank');\n resolve();\n }\n if((this.parentMenuId.indexOf(this.applicationId) >= 0 && !appId) || (appId && appId.indexOf(this.applicationId) >= 0) ){\n if (listMenu.route != '') {\n // Legacy ui-router targets ship as `#!/...` in `route` (see navmenu1); Angular Router cannot navigate those.\n if (typeof listMenu.route === 'string' && listMenu.route.indexOf('#') >= 0) {\n const hostExtras = { appId: this.applicationId };\n if (this.urlContextService.validateKeyStroke(event)) {\n this.openInNewTab(listMenu.route, false, hostExtras);\n resolve();\n } else {\n this.showLoader();\n this.navigation.getHostOriginAndNavigate(listMenu.route, hostExtras);\n this.menuClicked.emit({activePanel : this.parentPanelId});\n resolve();\n }\n } else if(this.urlContextService.validateKeyStroke(event)) {\n this.openInNewTab(listMenu.route,true)\n resolve();\n }else{\n console.log(\"Length = \" ,this.queryParams);\n if (this.isActiveItem == false) {\n if(Object.keys(this.queryParams).length != 0){\n \n await this.router.navigate([listMenu.route], { queryParams : this.queryParams })\n this.menuClicked.emit({activePanel : this.parentPanelId});\n resolve();\n }\n else{\n await this.router.navigate([listMenu.route])\n this.menuClicked.emit({activePanel : this.parentPanelId});\n resolve();\n }\n } else {\n reject();\n }\n }\n }\n else{\n alert('no route to navigate');\n resolve();\n }\n }else{\n let url = listMenu.link;\n let hostNavExtras = undefined;\n if (this.navigation.shouldUseHashRouteForCrossAppHostNav(listMenu)) {\n url = listMenu.route;\n hostNavExtras = { appId: this.applicationId };\n }\n if(this.urlContextService.validateKeyStroke(event)) {\n this.openInNewTab(url,false, hostNavExtras)\n resolve();\n }\n else{\n this.showLoader();\n this.navigation.getHostOriginAndNavigate(url, hostNavExtras);\n resolve();\n }\n }\n }\n });\n }\n\n public onContextMenu(event: MouseEvent, item: NavMenuItem) {\n event.preventDefault();\n this.contextMenuPosition.x = event.clientX + 'px';\n this.contextMenuPosition.y = event.clientY + 'px';\n this.contextMenu.menuData = { 'item': item };\n this.contextMenu.menu.focusFirstItem('mouse');\n this.contextMenu.openMenu();\n }\n\n onContextMenuAction(item: NavMenuItem) {\n\n if(this.parentMenuId === 'app_global_settings'){\n if(item.id === 'global_account_mgmt'){\n const url = item.route;\n this.openInNewTab(url,false,{ appId : this.applicationId})\n }\n else if(item.route != '') {\n this.openInNewTab(item.route,true)\n }\n }else{\n if(item.external_link && item.external_link != ''){\n window.open(`${item.external_link}`, '_blank');\n return;\n }\n else if(item.id === 'iac_insights_user_mgmt'){\n const url = item.route.split('?')[0];\n this.openInNewTab(url,false,{ appId : this.applicationId , usermgmt : true})\n }\n else if(this.parentMenuId.indexOf(this.applicationId) >= 0 ){\n if (item.route != '') {\n this.openInNewTab(item.route,true)\n }\n } \n else{\n let url = item.link;\n let hostNavExtras = undefined;\n if (this.navigation.shouldUseHashRouteForCrossAppHostNav(item)) {\n url = item.route;\n hostNavExtras = { appId: this.applicationId };\n }\n this.openInNewTab(url,false, hostNavExtras)\n }\n }\n }\n\n public openInNewTab(link,isRouterLink,applicationId = undefined){\n let dateTitle = this.fetchDateRange();\n let dateRangeVal = this.urlContextService.setDateRangeUrlVal(dateTitle);\n \n if (this.navigation.appDetails.currentAccount == undefined){\n let queryParams = {\n oid : this.navigation.appDetails.currentOrganization.organizationId,\n dr : dateRangeVal,\n }\n if(applicationId){\n queryParams = {...queryParams, ...applicationId}\n }\n this.urlContextService.setUrlAndOpenTab(link,queryParams,isRouterLink);\n return\n } else {\n let queryParams = {\n aid : this.navigation.appDetails.currentAccount.amsAccountId,\n bid : this.navigation.appDetails.currentAccount.businessGroupId,\n oid : this.navigation.appDetails.currentAccount.organizationId,\n dr : dateRangeVal,\n }\n if(applicationId){\n queryParams = {...queryParams, ...applicationId}\n }\n this.urlContextService.setUrlAndOpenTab(link,queryParams,isRouterLink);\n return;\n }\n }\n\n public fetchDateRange(){\n if(this.queryParams.hasOwnProperty('tid') && this.queryParams.hasOwnProperty('dr')){\n return this.queryParams['dr'];\n }else{\n const loggedInUser = JSON.parse(this.cookie.get('loggedInUser'));\n console.log('Logged = ',loggedInUser);\n return loggedInUser.dateRange;\n }\n }\n\n public showLoader(){\n let loader_div=document.getElementById('loader_sov');\n if(loader_div){\n loader_div.style.display = \"block\";\n }\n \n setTimeout(function() {\n if(loader_div){\n loader_div.style.display = \"none\";\n }\n }, 5000);\n }\n\n}\n","<a appOffsetTop class=\"sidemenu-option {{item.style_classes}}\" mat-list-item (click)=\"onSelectMenu($event,item)\"\n *ngIf=\"item.type === 'leaf'\" [ngClass]=\"{'active': isActiveItem}\" (contextmenu)=\"onContextMenu($event, item)\">\n <!-- <span class=\"{{item.id}}_icon\" *ngIf=\"item.id == 'global_account_mgmt'\"></span> -->\n <h3 matLine class=\"sidemenu-text navMenus applicationMenu\" [ngClass]=\"{'margin-left-10': item.level == 'two', \n 'margin-left-36': item.level != 'two'}\">\n {{selectedApplication(item)}}\n <span id=\"activeCount\" *ngIf=\"item.countKey && getSpecifiedValue(item.countKey)\" class=\"ng-binding ng-scope\">\n {{ getSpecifiedValue(item.countKey) }}\n </span>\n <!-- <span id=\"activeRecCount\" *ngIf=\"item.name == 'Recommendations' && item.recCount != '' && item.recCount != '0' && item.recCount != null\" class=\"activeRecCount\">{{item.recCount}}</span> -->\n <span *ngIf=\"item.badge\" class=\"badge-text sov-beta-position\" [innerHTML]=\"item.badge\"></span>\n <span id=\"activeRecCount\" class=\"activeRecCount\" *ngIf=\"hasWalmartRecommendation(item)\">{{recCount}}</span> \n </h3>\n</a>\n<div style=\"visibility: hidden; position: fixed\" [style.left]=\"contextMenuPosition.x\"\n [style.top]=\"contextMenuPosition.y\" [matMenuTriggerFor]=\"contextMenu\">\n</div>\n<mat-menu #contextMenu=\"matMenu\">\n <ng-template matMenuContent let-item=\"item\">\n <button mat-menu-item class=\"newTabMenu\"></button>\n <button mat-menu-item (click)=\"onContextMenuAction(item)\" class=\"newTabMenu\" id=\"newTabActionBtn\">Open in new\n tab</button>\n <button mat-menu-item class=\"newTabMenu\"></button>\n </ng-template>\n</mat-menu>\n<mat-divider *ngIf=\"item.type === 'separator'\" class=\"separator\"></mat-divider>","import { Injectable } from '@angular/core';\ndeclare var window: any;\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class MixpanelService {\n constructor() {}\n\n /**\n * Push new action to mixpanel.\n *\n * @param {string} id Name of the action to track.\n * @param {*} [action={}] Actions object with custom capitalizeproperties.\n * @memberof MixpanelService\n */\n productTrackEvent(event: string, properties: any = {}): void {\n if(window.mixpanel){\n var superProperties = window.mixpanel.persistence?.props;\n if(superProperties?.app_name !== properties.AppName){\n this.registerTrackEvent({'app_name':properties.AppName});\n }\n window.mixpanel && window.mixpanel.track(event, properties);\n }\n }\n registerTrackEvent(updateInfo) {\n window.mixpanel && window.mixpanel.register(updateInfo);\n }\n}\n","import { ChangeDetectorRef } from '@angular/core';\nimport { Router, RouterEvent, NavigationStart, NavigationEnd, Route } from '@angular/router';\nimport { Component, OnInit, OnDestroy, Input, ChangeDetectionStrategy, ViewChildren, QueryList, ViewChild } from '@angular/core';\nimport { ApplicationSidebarService } from './services/application-sidebar.service'\nimport { MatSidenav } from '@angular/material/sidenav';\nimport { appDetails } from './app-details'\nimport { OffsetTopDirective, ScrollableDirective } from './nav-menu.directive';\nimport { RestApiService } from './services/rest-api.services'\nimport { NavMenusComponent } from './nav-menus/nav-menus.component'\nimport { CookieService } from 'ngx-cookie-service';\nimport { TranslationService } from './services/translation.service';\nimport { GLOBAL_LIST } from './navmenu1';\nimport { constants } from './constants';\nimport { MixpanelService } from './services/mixpanel.service';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { RevisedAppTabsSection, RevisedIntelligenceGroup, RevisedNavMenuItem, RevisedNavigationConfig, RevisedNavigationState, RevisedSection } from './revised-navigation';\nimport { forkJoin, of } from 'rxjs';\n\n@Component({\n selector: 'lnc-navigation-sidebar',\n templateUrl:'./application-sidebar-revised.template.html',\n styleUrls:['./application-sidebar.scss','application-sidebar.theme.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ApplicationSidebarComponent implements OnInit, OnDestroy {\n\n @Input() applicationDetails :appDetails;\n\n @Input() sidenav: MatSidenav;\n\n @ViewChildren(OffsetTopDirective) listItems: QueryList<OffsetTopDirective>;\n @ViewChild(ScrollableDirective) list: ScrollableDirective;\n @ViewChild('navMenusComponent') navMenusComponent:NavMenusComponent;\n\n accountName: any;\n activePanel: any;\n navExpanded:boolean = false;\n oldListItems: QueryList<OffsetTopDirective>;\n isAdminRole: boolean = false;\n adminRoles = ['SUPER_ADMIN','SUPER_ADMIN_READ_ONLY'];\n currentApp: any;\n sideNavStatusSubscription: any;\n sideNavClosedStartSubscription: any;\n myObserver: any;\n expandGlobalSettings: any = false;\n inContextInsightsWLApp: boolean;\n public themePoint: string; // Public variable for theme point\n showTitle: boolean = false;\n private revisedSectionIconCache: {[sectionId: string]: SafeHtml | string} = {};\n\n // isGlobalSettingsMenuActive:boolean = false\n\n constructor(\n public navigation: ApplicationSidebarService,\n private router: Router,\n private RestApiService: RestApiService,\n private cookie: CookieService,\n private cdref: ChangeDetectorRef,\n private translation:TranslationService,\n private mixpanel: MixpanelService,\n private sanitizer: DomSanitizer\n ) {\n this.myObserver = this.router.events.subscribe((event) => {\n if (event instanceof NavigationStart) {\n this.expandGlobalSettings = this.router.getCurrentNavigation().extras.state && this.router.getCurrentNavigation().extras.state.expandPanel; \n }\n if (event instanceof NavigationEnd) {\n if (this.isRevisedNavigationEnabled() && this.revisedSections && this.revisedSections.length) {\n this.expandCurrentMenuOnly(this.applicationDetails, false);\n this.rebuildRevisedNavigationState();\n this.logOptimizeDebugState();\n this.scrollToActiveMenuIfVisible();\n }\n this.syncGlobalSettingsPanelOpenToActiveRoute();\n // Legacy nav + nested panel expansion (`isChildMenuPanelExpanded`) depend on route; OnPush needs a tick after navigate.\n this.cdref.markForCheck();\n }\n });\n \n // Determine theme point based on domain\n this.determineThemePoint();\n }\n\n /**\n * Determines the theme point based on the current domain\n * Uses STAGING_THEME_POINT for local, heroku, or apptest domains\n * Uses PROD_THEME_POINT for all other domains\n */\n private determineThemePoint(): void {\n const currentDomain = window.location.hostname.toLowerCase();\n \n // Check if domain contains local, heroku, or apptest\n const isStagingDomain = currentDomain.includes('local') || \n currentDomain.includes('heroku') || \n currentDomain.includes('apptest') ||\n currentDomain.includes('localhost') ||\n currentDomain.includes('127.0.0.1');\n \n if (isStagingDomain) {\n this.themePoint = constants.STAGING_THEME_BUCKET;\n } else {\n this.themePoint = constants.PROD_THEME_BUCKET;\n }\n \n console.log(`Theme point determined: ${this.themePoint} for domain: ${currentDomain}`);\n }\n\n /**\n * Public getter to access the current theme point\n * @returns The current theme point URL\n */\n public getThemePoint(): string {\n return this.themePoint;\n }\n\n /**\n * Public getter to check if current environment is staging\n * @returns True if staging environment, false if production\n */\n public isStagingEnvironment(): boolean {\n return this.themePoint === constants.STAGING_THEME_BUCKET;\n }\n\n /**\n * Manually update theme point and trigger change detection\n * @param forceStaging - Force staging theme point if true\n */\n public updateThemePoint(forceStaging?: boolean): void {\n if (forceStaging !== undefined) {\n this.themePoint = forceStaging ? constants.STAGING_THEME_BUCKET : constants.PROD_THEME_BUCKET;\n } else {\n this.determineThemePoint();\n }\n this.cdref.detectChanges();\n }\n\n /**\n * Get the full URL for an asset using the current theme point\n * @param assetPath - The asset path (e.g., 'logos/logo.png')\n * @returns The full URL for the asset\n */\n public getAssetUrl(assetPath: string): string {\n if (!this.themePoint) {\n this.determineThemePoint();\n }\n return `${this.themePoint}/${assetPath}`;\n }\n\n /**\n * Get the full URL for an icon using the current theme point\n * @param iconName - The icon name (e.g., 'menu-icon.svg')\n * @returns The full URL for the icon with theme/assets/icons/ path\n */\n public getIconUrl(iconName: string): string {\n if (!this.themePoint) {\n this.determineThemePoint();\n }\n return `${this.themePoint}/theme/assets/icons/${iconName}`;\n }\n\n panelOpenState = false;\n mainPanelOpenState = false;\n public prevActiveHeadMenu;\n public toDisplayApplications = [];\n public toDisplayGlobalSettingsMenu: any[];\n public toDisplayLinkMenu: any[];\n public revisedNavigationState: RevisedNavigationState;\n public revisedSections: RevisedSection[] = [];\n public revisedSectionState: {[sectionId: string]: boolean} = {};\n /** Group-level expansion (key: sectionId_groupId). Only for grouped-menus with a group title. */\n public revisedGroupExpandedState: {[sectionId_groupId: string]: boolean} = {};\n public revisedSelectedAppBySection: {[sectionId: string]: string} = {};\n public errorMsg:string;\n public ngOnInit(): void {\n if(this.applicationDetails['userInfo']){\n let userRole = this.applicationDetails['userInfo'].role;\n this.isAdminRole = this.adminRoles.indexOf(userRole) > -1 ? true : false;\n }\n this.calculateLeftnavStatus();\n // const configs = this.router.config;\n // for(let config of configs){\n // if(config.children){\n // for(let child of config.children){\n // child.canActivate = [CanLoadGuard]\n // }\n // }\n // }\n // this.router.resetConfig(configs);\n this.checkApplicationDetails(this.applicationDetails);\n }\n\n calculateLeftnavStatus(){\n if(this.sidenav && this.sidenav.openedChange){\n let status = sessionStorage.getItem('leftNavOpenStatus');\n this.navExpanded = status && status == 'false' ? false : true;\n this.sidenav.opened = status && status == 'false' ? false : true;\n this.showTitle = this.navExpanded;\n this.cdref.detectChanges();\n if (this.isRevisedNavigationEnabled()) {\n if (this.sidenav.closedStart) {\n this.sideNavClosedStartSubscription = this.sidenav.closedStart.subscribe(() => {\n // Do not clear revisedSectionState here: it becomes all `false`, then rebuild treats\n // `prev === false` as \"user collapsed\" and keeps the active section closed after reopen.\n this.navExpanded = false;\n this.showTitle = false;\n this.cdref.detectChanges();\n });\n }\n }\n this.sideNavStatusSubscription = this.sidenav.openedChange.subscribe((status)=>{\n sessionStorage.setItem('leftNavOpenStatus',JSON.stringify(status));\n this.navExpanded = status;\n this.sidenav.opened = status;\n this.showTitle = status;\n if (status) {\n if (this.isRevisedNavigationEnabled()) {\n this.expandRevisedSectionsContainingActiveRoute();\n }\n this.syncGlobalSettingsPanelOpenToActiveRoute();\n this.scrollToActiveMenuIfVisible();\n }\n this.cdref.detectChanges();\n });\n }\n }\n\n public checkApplicationDetails(applicationDetails: appDetails) {\n this.errorMsg = '';\n if(applicationDetails.applicationId != 'ads_amazon_dsp'){\n this.createAppDetails(applicationDetails)\n }\n }\n\n public createAppDetails(applicationDetails: appDetails){\n this.createNavigationSideBar(this.applicationDetails);\n // if(this.applicationDetails.currentAccount){\n // this.getActiveRecoCount(this.applicationDetails.currentAccount);\n // }\n }\n\n public createNavigationSideBar(applicationDetails: appDetails) {\n const consumerRevisedConfig = this.applicationDetails?.revisedNavigation;\n const useLegacyNavigation = consumerRevisedConfig?.useLegacyNavigation === true;\n const shouldLoadSectionLayout = !useLegacyNavigation;\n\n forkJoin({\n menulists: this.RestApiService.getjsonMenulists(applicationDetails),\n /** Section structure: S3 `sidebar-layout.json` first, bundled `sidebar-layout.local` on error. */\n revisedLayout: shouldLoadSectionLayout\n ? this.RestApiService.getSidebarLayoutConfig()\n : of({ useLegacyNavigation: true, sections: [] } as RevisedNavigationConfig)\n }).subscribe(({ menulists, revisedLayout }: { menulists: any; revisedLayout: RevisedNavigationConfig }) => {\n const mergedApplicationDetails = {\n ...this.applicationDetails,\n revisedNavigation: useLegacyNavigation\n ? { ...consumerRevisedConfig, useLegacyNavigation: true, sections: [] }\n : { ...revisedLayout, useLegacyNavigation: false }\n };\n this.applicationDetails = mergedApplicationDetails;\n // let menulists = GLOBAL_LIST\n this.toDisplayApplications = this.navigation.getMenuList(mergedApplicationDetails, menulists);\n this.toDisplayGlobalSettingsMenu = this.navigation.getGlobalSettingsMenu(mergedApplicationDetails, menulists);\n // Use proper filtering system for Join Intentwise Community link\n const found = menulists.find(list => list.id === 'app_intentwise_community');\n this.toDisplayLinkMenu = found ? this.navigation.getApplicationMenuItem(found) ? [found] : [] : [];\n this.expandCurrentMenuOnly(mergedApplicationDetails, false);\n this.expandChildMenuOnly(this.toDisplayGlobalSettingsMenu);\n this.checkForRedirection(this.toDisplayApplications,this.toDisplayGlobalSettingsMenu,mergedApplicationDetails);\n this.rebuildRevisedNavigationState();\n if (this.navExpanded && this.isRevisedNavigationEnabled()) {\n this.expandRevisedSectionsContainingActiveRoute();\n }\n this.syncGlobalSettingsPanelOpenToActiveRoute();\n console.log(this.toDisplayApplications , this.toDisplayGlobalSettingsMenu , this.toDisplayLinkMenu);\n this.scrollToActiveMenuIfVisible();\n this.setMenuList(mergedApplicationDetails.applicationId,this.toDisplayApplications);\n this.inContextInsightsWLApp = this.hideMenuForWL();\n this.cdref.detectChanges();\n })\n }\n\n private setMenuList(appId,menuList){\n var appDetails:any = new Object();\n appDetails.appicationId = appId;\n appDetails.menuList = menuList.find((menu)=>{ return menu.id == appId})\n localStorage.setItem('appDetails',JSON.stringify(appDetails));\n }\n\n public menuClicked(obj: any) {\n this.expandCurrentMenuOnly(this.applicationDetails, true);\n this.expandChildMenuOnly(this.toDisplayGlobalSettingsMenu);\n if(obj) {\n this.activePanel = obj.activePanel;\n }\n if (this.isRevisedNavigationEnabled()) {\n this.rebuildRevisedNavigationState();\n }\n this.scrollToActiveMenuIfVisible();\n this.cdref.detectChanges();\n }\n \n public expandChildMenuOnly(toDisplayGlobalSettingsMenu) {\n setTimeout(() => {\n this.syncGlobalSettingsPanelOpenToActiveRoute(toDisplayGlobalSettingsMenu);\n this.cdref.detectChanges();\n }, 100);\n }\n\n /**\n * Opens each Global Settings head panel when the current URL matches that panel’s menu tree\n * (any depth). Used on sidenav open and after menu data refresh.\n */\n private syncGlobalSettingsPanelOpenToActiveRoute(menusList?: any[]): void {\n const list = menusList ?? this.toDisplayGlobalSettingsMenu;\n if (!list?.length) {\n return;\n }\n list.forEach((settingsHeadMenu: any) => {\n settingsHeadMenu.panelOpenState = false;\n const children = settingsHeadMenu.children;\n if (children?.length && this.hasActiveRouteInMenus(children as RevisedNavMenuItem[])) {\n settingsHeadMenu.panelOpenState = true;\n }\n });\n }\n\n public expandCurrentMenuOnly(applicationDetails, onMenuClicked) {\n for(let headMenu of this.toDisplayApplications) {\n headMenu.panelOpenState = false;\n }\n \n for(let headMenu of this.toDisplayApplications) {\n if(headMenu.id == applicationDetails.applicationId) {\n headMenu.panelOpenState = true;\n this.currentApp = headMenu;\n } else if(headMenu.id.indexOf(applicationDetails.applicationId) > -1) {\n headMenu.panelOpenState = false;\n\n let urlArray = this.router.url.split('/');\n let routeUrl = urlArray[urlArray.length - 1];\n if((headMenu.id== \"ads_amazon_seller_seller_analytics\" || headMenu.id== \"ads_amazon_seller_vendor_analytics\") && urlArray.length >2){\n urlArray= urlArray.slice(urlArray.length-2);\n routeUrl= urlArray.join('/');\n }\n let currentRoute = routeUrl.split('?')[0];\n if(headMenu.id == \"ads_amazon_content_content_analytics\" && this.navigation.contentAppRoutes.indexOf(currentRoute)>-1 ) {\n headMenu.panelOpenState = true;\n this.currentApp = headMenu;\n } else if(headMenu.id == \"ads_amazon_content_share_of_voice\" && this.navigation.sovAppRoutes.indexOf(currentRoute)>-1) {\n if((currentRoute != 'product-meta-data' && currentRoute != 'brand-terms-settings' && currentRoute != 'labels-settings' && currentRoute != 'sub-brands' && currentRoute != 'sub-brands-mapping' && currentRoute != 'sov-settings' && currentRoute != 'content-settings' && currentRoute != 'search-query-performance') || !this.currentApp || this.currentApp.name == 'Share Of Voice') {\n headMenu.panelOpenState = true;\n this.currentApp = headMenu;\n if(onMenuClicked || this.currentApp.name == 'Share Of Voice') {\n break;\n }\n }\n\n }\n else if(headMenu.id == \"ads_amazon_seller_seller_analytics\" && this.navigation.sellerAnalyticsAppRoutes.indexOf(currentRoute)>-1){\n headMenu.panelOpenState = true;\n this.currentApp = headMenu;\n }\n else if(headMenu.id == \"ads_amazon_seller_vendor_analytics\" && this.navigation.vendorAnalyticsAppRoutes.indexOf(currentRoute)>-1) {\n if((currentRoute != 'product-meta-data' && currentRoute != 'brand-terms-settings' && currentRoute != 'labels-settings' && currentRoute != 'sub-brands' && currentRoute != 'sub-brands-mapping' && currentRoute != 'sov-settings' && currentRoute != 'content-settings' && currentRoute != 'search-query-performance') || !this.currentApp || this.currentApp.name == 'Vendor Analytics') {\n headMenu.panelOpenState = true;\n this.currentApp = headMenu;\n if(onMenuClicked || this.currentApp.name == 'Vendor Analytics') {\n break;\n }\n }\n }\n } else {\n headMenu.panelOpenState = false;\n }\n // if(headMenu.children){\n // headMenu.children.forEach(menu => {\n // if (menu.children && menu.type == \"expandable\") {\n // headMenu.children.forEach(submenu => {\n // if(this.isCheckActiveRoute(submenu.route,headMenu)){\n // menu.panelOpenState = true;\n // headMenu.panelOpenState = true;\n\n // }\n // })\n // }\n // });\n // }\n }\n this.cdref.detectChanges();\n }\n\n public getTooltipInfo(headmenu){\n if(this.sidenav && this.sidenav.opened){\n return null;\n }else{\n return this.selectedApplication(headmenu);\n }\n }\n\n public selectedApplication(headmenu){\n return this.translation.selectedApplication(this.applicationDetails, headmenu);\n }\n\n public isRevisedNavigationEnabled(): boolean {\n return this.navigation.isRevisedNavigationEnabled(this.applicationDetails);\n }\n\n public isLegacyNavigationEnabled(): boolean {\n return this.navigation.isLegacyNavigationEnabled(this.applicationDetails);\n }\n\n public onRevisedSectionHeaderClick(sectionId: string) {\n const section = this.getRevisedSectionById(sectionId);\n if (!section) {\n return;\n }\n\n if (!this.navExpanded && this.sidenav) {\n this.revisedSectionState[sectionId] = true;\n this.sidenav.open();\n return;\n }\n\n const isCurrentlyExpanded = this.isRevisedSectionExpanded(sectionId);\n const routeInSection = this.sectionContainsActiveRoute(section);\n if (routeInSection) {\n this.revisedSectionState[sectionId] = !isCurrentlyExpanded;\n this.cdref.markForCheck();\n return;\n }\n\n if (isCurrentlyExpanded) {\n this.revisedSectionState[sectionId] = false;\n this.cdref.markForCheck();\n return;\n }\n\n this.revisedSectionState[sectionId] = true;\n this.cdref.markForCheck();\n }\n\n public isRevisedSectionExpanded(sectionId: string): boolean {\n const section = this.getRevisedSectionById(sectionId);\n if (this.revisedSectionState[sectionId] === false) {\n return false;\n }\n if (sectionId === 'optimize' && this.isRevisedAppTabsSection(section)) {\n if (this.getCurrentOptimizeApp(section)) {\n return true;\n }\n }\n return !!(this.revisedSectionState[sectionId] === true || (section && this.sectionContainsActiveRoute(section)));\n }\n\n /** True when any menu under this section matches the current route (e.g. collapsed rail active indicator). */\n public isRevisedSectionActive(section: RevisedSection): boolean {\n return this.sectionContainsActiveRoute(section);\n }\n\n public getRevisedSectionIcon(section: RevisedSection): SafeHtml | string {\n if (!section || !section.id) {\n return '';\n }\n\n if (!this.revisedSectionIconCache[section.id]) {\n this.revisedSectionIconCache[section.id] = section.iconSvg ? this.sanitizer.bypassSecurityTrustHtml(section.iconSvg) : '';\n }\n\n return this.revisedSectionIconCache[section.id];\n }\n\n public isRevisedAppTabsSection(section: RevisedSection): section is RevisedAppTabsSection {\n return !!section && section.type === 'app-tabs';\n }\n\n public getRevisedSectionApps(section: RevisedSection): RevisedNavMenuItem[] {\n return this.isRevisedAppTabsSection(section) ? section.apps : [];\n }\n\n public getRevisedGroupedSectionGroups(section: RevisedSection): RevisedIntelligenceGroup[] {\n return section && section.type === 'grouped-menus' ? section.groups : [];\n }\n\n /** JSON `groups[]` row: optional flat list with no group title */\n public isRevisedUntitledGroup(group: RevisedIntelligenceGroup): boolean {\n return !!group && !group.title;\n }\n\n /** JSON `groups[]` row: one menu item under a titled group (e.g. FOUNDATION rows) */\n public isRevisedSingleItemGroup(group: RevisedIntelligenceGroup): boolean {\n return !!group && !!group.title && group.items && group.items.length === 1;\n }\n\n /** JSON `groups[]` row: titled group with multiple menu roots (e.g. Commerce Insights) */\n public isRevisedMultiItemGroup(group: RevisedIntelligenceGroup): boolean {\n return !!group && !!group.title && group.items && group.items.length > 1;\n }\n\n public hasExpandableMenusInSection(section: RevisedSection): boolean {\n const menus = this.getRevisedSectionMenus(section);\n return menus.some((m) => m && m.children && m.children.length > 0);\n }\n\n public hasExpandableMenusInGroup(group: RevisedIntelligenceGroup): boolean {\n return !!(group && group.items && group.items.some((m) => m && m.children && m.children.length > 0));\n }\n\n public getRevisedSectionSelectedApp(section: RevisedSection): RevisedNavMenuItem {\n if (!this.isRevisedAppTabsSection(section)) {\n return undefined;\n }\n\n if (section.id === 'optimize') {\n const currentOptimizeApp = this.getCurrentOptimizeApp(section);\n if (currentOptimizeApp) {\n return currentOptimizeApp;\n }\n }\n\n const selectedAppId = this.revisedSelectedAppBySection[section.id];\n return section.apps.find((app) => app.id === selectedAppId) || section.apps[0];\n }\n\n public isSelectedRevisedSectionApp(section: RevisedSection, app: RevisedNavMenuItem): boolean {\n return !!(app && this.getRevisedSectionSelectedApp(section)?.id === app.id);\n }\n\n public selectRevisedSectionApp(section: RevisedSection, app: RevisedNavMenuItem, loadDefaultPage: boolean = true) {\n if (!app) {\n return;\n }\n this.revisedSelectedAppBySection[section.id] = app.id;\n this.currentApp = app;\n if (loadDefaultPage) {\n this.goToApplication(app);\n }\n }\n\n public getRevisedSectionMenus(section: RevisedSection): RevisedNavMenuItem[] {\n const selectedApp = this.getRevisedSectionSelectedApp(section);\n if (!selectedApp || !selectedApp.children) {\n return [];\n }\n return selectedApp.children;\n }\n\n public getRevisedSectionTabBadgeCount(app: RevisedNavMenuItem): number | null {\n return this.getRevisedOptimizeRecommendationCount(app);\n }\n\n public trackByRevisedSection(index: number, section: RevisedSection): string | number {\n return section?.id || index;\n }\n\n public trackByRevisedGroup(index: number, group: RevisedIntelligenceGroup): string | number {\n return group?.id || index;\n }\n\n public trackByRevisedMenu(index: number, menu: RevisedNavMenuItem): string | number {\n if (!menu) {\n return index;\n }\n if (Array.isArray((menu as any).sourcePath) && (menu as any).sourcePath.length > 0) {\n return (menu as any).sourcePath.join('>');\n }\n return (menu as any).sourceMenuId || menu.id || index;\n }\n\n /** Plain-text app name for Optimize tab tooltips (`left-nav-tooltip`, same as collapsed rail). */\n public getRevisedOptimizeAppTabTooltip(app: RevisedNavMenuItem): string | null {\n if (!app) {\n return null;\n }\n const label = this.selectedApplication(app);\n const plain = label ? String(label).replace(/<[^>]*>/g, '').replace(/\\s+/g, ' ').trim() : '';\n return plain || null;\n }\n\n public isRevisedMenuActive(menu: RevisedNavMenuItem): boolean {\n return this.isMenuRouteActive(menu);\n }\n\n /**\n * Nested submenu (legacy + revised): keep mat-expansion-panel open when the current URL matches\n * any descendant leaf, not only when `activePanel` was set from a sidebar click.\n * Still honors user-open state via `menu.panelOpenState` and click-driven `activePanel`.\n */\n public isChildMenuPanelExpanded(menu: any): boolean {\n if (!menu) {\n return false;\n }\n const children = menu.children;\n const descendantActive =\n children &&\n children.length > 0 &&\n this.hasActiveRouteInMenus(children);\n if (menu.panelStateTouched) {\n return !!menu.panelOpenState;\n }\n return !!descendantActive || menu.id === this.activePanel || !!menu.panelOpenState;\n }\n\n /** Highlight styling: active panel or any active descendant. */\n public isChildMenuPanelHighlighted(menu: any): boolean {\n if (!menu) {\n return false;\n }\n const children = menu.children;\n const descendantActive =\n children &&\n children.length > 0 &&\n this.hasActiveRouteInMenus(children);\n return !!descendantActive || menu.id === this.activePanel;\n }\n\n public onChildMenuPanelHeaderClick(menu: any): void {\n if (!menu) {\n return;\n }\n menu.panelStateTouched = true;\n menu.panelOpenState = !this.isChildMenuPanelExpanded(menu);\n this.cdref.markForCheck();\n }\n\n public onChildMenuPanelOpened(menu: any): void {\n if (!menu) {\n return;\n }\n menu.panelStateTouched = true;\n menu.panelOpenState = true;\n this.cdref.markForCheck();\n }\n\n public onChildMenuPanelClosed(menu: any): void {\n if (!menu) {\n return;\n }\n menu.panelStateTouched = true;\n menu.panelOpenState = false;\n this.cdref.markForCheck();\n }\n\n public getRevisedParentMenuId(menu: RevisedNavMenuItem, fallbackParentId?: string): string {\n return menu && menu.ownerAppId ? menu.ownerAppId : fallbackParentId;\n }\n\n public getRevisedParentPanelId(menu: RevisedNavMenuItem): string {\n return menu && menu.sourceParentId && menu.sourceParentId !== menu.ownerAppId ? menu.sourceParentId : undefined;\n }\n\n /** Leaf row in `revisedGroupMenuItemShell`: OPTIMIZE (app-tabs) omits panel id; grouped-menus uses `getRevisedParentPanelId`. */\n public getRevisedShellLeafParentPanelId(menu: RevisedNavMenuItem, optimizeParentApp?: RevisedNavMenuItem): string | undefined {\n return optimizeParentApp ? undefined : this.getRevisedParentPanelId(menu);\n }\n\n public shouldShowRevisedIntelligenceGroupTitle(group: RevisedIntelligenceGroup): boolean {\n if (!group || !group.title) {\n return false;\n }\n\n if (!group.items || group.items.length !== 1) {\n return true;\n }\n\n const groupTitle = this.normalizeRevisedLabel(group.title);\n const itemTitle = this.normalizeRevisedLabel(this.selectedApplication(group.items[0]));\n\n if (!groupTitle || !itemTitle) {\n return true;\n }\n\n return !(itemTitle === groupTitle || itemTitle.indexOf(groupTitle) > -1 || groupTitle.indexOf(itemTitle) > -1);\n }\n\n private rebuildRevisedNavigationState() {\n this.revisedNavigationState = this.navigation.buildRevisedNavigationState(\n this.applicationDetails,\n this.toDisplayApplications,\n this.toDisplayGlobalSettingsMenu,\n this.toDisplayLinkMenu\n );\n this.revisedSectionIconCache = {};\n this.revisedSections = this.revisedNavigationState ? this.revisedNavigationState.sections : [];\n this.revisedSectionState = this.buildRevisedSectionState(this.revisedSections);\n this.revisedGroupExpandedState = this.buildRevisedGroupExpandedState(this.revisedSections);\n this.revisedSelectedAppBySection = this.buildRevisedSelectedAppState(this.revisedSections);\n }\n\n private buildRevisedGroupExpandedState(sections: RevisedSection[]): {[key: string]: boolean} {\n const nextState: {[key: string]: boolean} = {};\n (sections || []).forEach((section) => {\n if (section.type !== 'grouped-menus' || !section.groups) { return; }\n section.groups.forEach((group) => {\n const key = section.id + '_' + group.id;\n const openByRoute = this.hasActiveRouteInMenus(group.items || []);\n nextState[key] = Object.prototype.hasOwnProperty.call(this.revisedGroupExpandedState, key)\n ? this.revisedGroupExpandedState[key]\n : openByRoute;\n });\n });\n return nextState;\n }\n\n public isRevisedGroupExpanded(sectionId: string, groupId: string): boolean {\n const key = sectionId + '_' + groupId;\n const section = this.getRevisedSectionById(sectionId);\n const group = this.getRevisedGroupedSectionGroups(section).find((g) => g.id === groupId);\n const routeInGroup = !!group && this.hasActiveRouteInMenus(group.items || []);\n return routeInGroup || this.revisedGroupExpandedState[key] !== false;\n }\n\n public onRevisedGroupHeaderClick(sectionId: string, groupId: string) {\n const key = sectionId + '_' + groupId;\n this.revisedGroupExpandedState[key] = !this.isRevisedGroupExpanded(sectionId, groupId);\n this.cdref.markForCheck();\n }\n\n public onRevisedGroupPanelOpened(sectionId: string, groupId: string) {\n const key = sectionId + '_' + groupId;\n this.revisedGroupExpandedState[key] = true;\n this.cdref.markForCheck();\n }\n\n public onRevisedGroupPanelClosed(sectionId: string, groupId: string) {\n const key = sectionId + '_' + groupId;\n const section = this.getRevisedSectionById(sectionId);\n const group = this.getRevisedGroupedSectionGroups(section).find((g) => g.id === groupId);\n this.revisedGroupExpandedState[key] = !!group && this.hasActiveRouteInMenus(group.items || []);\n this.cdref.markForCheck();\n }\n\n private buildRevisedSectionState(sections: RevisedSection[]): {[sectionId: string]: boolean} {\n const nextState: {[sectionId: string]: boolean} = {};\n\n (sections || []).forEach((section) => {\n const routeInSection = this.sectionContainsActiveRoute(section);\n const prev = this.revisedSectionState && this.revisedSectionState[section.id];\n // Preserve manual opens across navigations; active route also forces expansion.\n nextState[section.id] = prev === true || routeInSection;\n });\n\n return nextState;\n }\n\n private buildRevisedSelectedAppState(sections: RevisedSection[]): {[sectionId: string]: string} {\n const nextState: {[sectionId: string]: string} = {};\n\n (sections || []).forEach((section) => {\n if (!this.isRevisedAppTabsSection(section) || !section.apps.length) {\n return;\n }\n\n const previousSelection = this.revisedSelectedAppBySection[section.id];\n const currentApp = this.getCurrentOptimizeApp(section);\n const appsWithActiveRoute = (section.apps || []).filter((app) =>\n app && app.id !== 'ads_amazon_advertising' && this.hasActiveRouteInMenus([app])\n );\n\n let selectedApp: RevisedNavMenuItem | undefined;\n if (currentApp) {\n selectedApp = currentApp;\n } else if (appsWithActiveRoute.length === 1) {\n selectedApp = appsWithActiveRoute[0];\n } else if (appsWithActiveRoute.length > 1) {\n const prev = section.apps.find((app) => app.id === previousSelection);\n selectedApp =\n (prev && appsWithActiveRoute.some((a) => a.id === prev.id) ? prev : undefined) ||\n appsWithActiveRoute[0];\n } else {\n selectedApp =\n section.apps.find((app) => app.id === previousSelection) ||\n section.apps.find((app) => app.id === section.defaultAppId) ||\n section.apps[0];\n }\n\n if (selectedApp) {\n nextState[section.id] = selectedApp.id;\n }\n });\n\n return nextState;\n }\n\n /**\n * Optimize/app-tabs should stay anchored to the current Angular host app.\n * Sponsored Ads is an AngularJS app and should not drive app-tabs selection/expansion here.\n */\n private getCurrentOptimizeApp(section: RevisedAppTabsSection): RevisedNavMenuItem | undefined {\n if (!section?.apps?.length) {\n return undefined;\n }\n const currentAppId = this.applicationDetails?.applicationId || this.currentApp?.id;\n if (!currentAppId || currentAppId === 'ads_amazon_advertising') {\n return undefined;\n }\n return section.apps.find((app) => app?.id === currentAppId);\n }\n\n private logOptimizeDebugState(): void {\n const optimizeSection = (this.revisedSections || []).find((section) => section?.id === 'optimize') as RevisedAppTabsSection | undefined;\n if (!optimizeSection) {\n console.log('[sidebar][optimize-debug] no optimize section', {\n route: this.router?.url,\n applicationId: this.applicationDetails?.applicationId,\n });\n return;\n }\n\n const selectedAppId = this.revisedSelectedAppBySection['optimize'];\n const activeApp = this.findActiveAppForSection(optimizeSection);\n const selectedApp = this.getRevisedSectionSelectedApp(optimizeSection);\n const expanded = this.isRevisedSectionExpanded('optimize');\n const containsActiveRoute = this.sectionContainsActiveRoute(optimizeSection);\n\n console.log('[sidebar][optimize-debug]', {\n route: this.router?.url,\n applicationId: this.applicationDetails?.applicationId,\n currentAppId: this.currentApp?.id,\n optimizeApps: (optimizeSection.apps || []).map((app) => app?.id),\n selectedAppId,\n selectedAppResolved: selectedApp?.id,\n activeAppId: activeApp?.id,\n containsActiveRoute,\n expanded,\n sectionState: this.revisedSectionState?.['optimize'],\n });\n }\n\n private collapseAllRevisedSections() {\n Object.keys(this.revisedSectionState || {}).forEach((sectionId) => {\n this.revisedSectionState[sectionId] = false;\n });\n }\n\n /** When the sidenav opens, expand any revised section that owns the current route (and sync app-tabs selection). */\n private expandRevisedSectionsContainingActiveRoute(): void {\n if (!this.isRevisedNavigationEnabled() || !this.revisedSections?.length) {\n return;\n }\n this.revisedSections.forEach((section) => {\n if (this.sectionContainsActiveRoute(section)) {\n this.revisedSectionState[section.id] = true;\n this.syncSectionSelectionToActiveRoute(section);\n }\n });\n }\n\n private openOnlyRevisedSection(section: RevisedSection): boolean {\n this.revisedSectionState[section.id] = true;\n return this.syncSectionSelectionToActiveRoute(section);\n }\n\n /** Clears `panelOpenState` on expandable rows so reopening a section does not keep arbitrary panels open. */\n private clearRevisedExpandablePanelOpenStateInMenuTree(menus: RevisedNavMenuItem[]): void {\n (menus || []).forEach((menu) => {\n if (menu?.children?.length) {\n (menu as RevisedNavMenuItem & { panelOpenState?: boolean }).panelOpenState = false;\n this.clearRevisedExpandablePanelOpenStateInMenuTree(menu.children);\n }\n });\n }\n\n private clearExpandablePanelOpenStateForRevisedSection(section: RevisedSection): void {\n if (!section) {\n return;\n }\n if (this.isRevisedAppTabsSection(section)) {\n (section.apps || []).forEach((app) => {\n this.clearRevisedExpandablePanelOpenStateInMenuTree(app.children || []);\n });\n return;\n }\n if (section.type === 'grouped-menus' && section.groups) {\n section.groups.forEach((group) => {\n this.clearRevisedExpandablePanelOpenStateInMenuTree(group.items || []);\n });\n }\n }\n\n /** Titled group panels: expanded only when a leaf under the group matches the current route (unless user toggled later). */\n private resetRevisedGroupExpandedStateForSection(section: RevisedSection): void {\n if (!section || section.type !== 'grouped-menus' || !section.groups) {\n return;\n }\n section.groups.forEach((group) => {\n const key = section.id + '_' + group.id;\n this.revisedGroupExpandedState[key] = this.hasActiveRouteInMenus(group.items || []);\n });\n }\n\n private getRevisedSectionById(sectionId: string): RevisedSection {\n return (this.revisedSections || []).find((section) => section.id === sectionId);\n }\n\n private scrollToActiveMenuIfVisible() {\n // Revised layout keeps section headers + Optimize app tabs in the same scroll area as menu rows.\n // `scrollTop = offsetTop` is wrong (offsetParent ≠ scroll container) and jumps the list, hiding that chrome.\n if (this.isRevisedNavigationEnabled()) {\n return;\n }\n this.scrollToActiveMenu();\n }\n\n private syncSectionSelectionToActiveRoute(section: RevisedSection): boolean {\n if (!section) {\n return false;\n }\n\n if (this.isRevisedAppTabsSection(section)) {\n const activeApp = this.findActiveAppForSection(section);\n if (activeApp) {\n this.revisedSelectedAppBySection[section.id] = activeApp.id;\n return true;\n }\n return false;\n }\n\n return this.sectionContainsActiveRoute(section);\n }\n\n private findActiveAppForSection(section: RevisedAppTabsSection): RevisedNavMenuItem {\n return this.getCurrentOptimizeApp(section);\n }\n\n private sectionContainsActiveRoute(section: RevisedSection): boolean {\n if (!section) {\n return false;\n }\n\n if (this.isRevisedAppTabsSection(section)) {\n return !!this.getCurrentOptimizeApp(section);\n }\n\n return this.hasActiveRouteInMenus(\n this.getRevisedGroupedSectionGroups(section).reduce((items, group) => items.concat(group.items || []), [])\n );\n }\n\n private hasActiveRouteInMenus(menus: RevisedNavMenuItem[] = []): boolean {\n return menus.some((menu) => {\n if (!menu) {\n return false;\n }\n\n if (this.isMenuRouteActive(menu)) {\n return true;\n }\n\n if (menu.children && menu.children.length > 0) {\n return this.hasActiveRouteInMenus(menu.children);\n }\n\n return false;\n });\n }\n\n /**\n * Normalizes a path for nav matching. Some shells differ: `router.url` vs `location.pathname` vs hash (`#/…`, `#!/…`).\n */\n private normalizeNavPathSegment(raw: string): string {\n if (!raw) {\n return '';\n }\n let u = raw.split('?')[0].split('#')[0];\n if (u.length > 1 && u.endsWith('/')) {\n u = u.slice(0, -1);\n }\n return u;\n }\n\n /**\n * Strip `#!/` / `#/` from `menu.route` so it can match `collectCandidateNavPaths()` (hash → `/segment`).\n * Used only for **exact** (and legacy keyword suffix) checks — no prefix wildcard, to avoid cross-menu false positives.\n */\n private normalizeMenuRouteForPathMatch(route: string): string | null {\n if (!route || typeof route !== 'string') {\n return null;\n }\n let r = route.trim();\n if (r.indexOf('#!/') === 0) {\n r = r.slice(3);\n } else if (r.indexOf('#/') === 0) {\n r = r.slice(2);\n } else if (r.indexOf('#') === 0) {\n r = r.slice(1);\n }\n r = r.replace(/^\\/+/, '');\n if (!r) {\n return null;\n }\n return '/' + r;\n }\n\n /** Collect all URL shapes that might represent the current page (fixes Criteo / ancillary when Router URL lags or omits base). */\n private collectCandidateNavPaths(): string[] {\n const paths = new Set<string>();\n const add = (p: string) => {\n const n = this.normalizeNavPathSegment(p);\n if (n) {\n paths.add(n);\n }\n };\n add(this.router.url);\n if (typeof window !== 'undefined' && window.location) {\n add(window.location.pathname || '');\n const hash = window.location.hash || '';\n if (hash.indexOf('#/') === 0) {\n add(hash.slice(1));\n } else if (hash.indexOf('#!/') === 0) {\n add('/' + hash.slice(3).replace(/^\\/+/, ''));\n }\n }\n return Array.from(paths);\n }\n\n /**\n * Menus whose `link` is a real path (`dsp/…`, `dp/…`, `content/…`, `criteo/…`, `walmart/…`, etc.).\n * For these, never treat bare `menu.route` (e.g. `overview`) as active — it collides across apps (DSP vs SOV).\n */\n private menuUsesPathPrefixedLink(menu: RevisedNavMenuItem): boolean {\n const link = menu.link;\n return typeof link === 'string' && link.indexOf('triangular.') !== 0 && link.indexOf('/') !== -1;\n }\n\n /** `link` like `criteo/criteo-overview` vs URL `/criteo/criteo-overview` or `.../criteo/criteo-overview` (base href). */\n private menuPathMatchesLinkPath(currentRoute: string, link: string): boolean {\n if (typeof link !== 'string' || link.indexOf('triangular.') === 0 || link.indexOf('/') === -1) {\n return false;\n }\n let path = link.startsWith('/') ? link : '/' + link.replace(/^\\/+/, '');\n if (path.length > 1 && path.endsWith('/')) {\n path = path.slice(0, -1);\n }\n if (currentRoute === path || currentRoute.indexOf(path + '/') === 0) {\n return true;\n }\n const at = currentRoute.lastIndexOf(path);\n if (at >= 0 && at === currentRoute.length - path.length && (at === 0 || currentRoute.charAt(at - 1) === '/')) {\n return true;\n }\n return false;\n }\n\n /**\n * `child_routes` entries are often host-relative segments (e.g. `walmart-keywords/keyword-report`) while\n * the browser URL is `/walmart/walmart-keywords/keyword-report`.\n */\n private menuChildRouteMatchesPath(currentRoute: string, childRoute: string): boolean {\n if (!childRoute || typeof childRoute !== 'string') {\n return false;\n }\n const normalized = childRoute.startsWith('/') ? childRoute : '/' + childRoute.replace(/^\\/+/, '');\n if (currentRoute === normalized || currentRoute === childRoute) {\n return true;\n }\n if (currentRoute.length >= normalized.length &&\n currentRoute.endsWith(normalized) &&\n (currentRoute.length === normalized.length || currentRoute.charAt(currentRoute.length - normalized.length - 1) === '/')) {\n return true;\n }\n return false;\n }\n\n /**\n * Expandable apps use `defaulturl` like `criteo/` — treat any `/criteo` or `/criteo/...` as under that app for active detection.\n * Skips `#!` / `#` values used by legacy Amazon ui-router entries.\n */\n private menuDefaultUrlMatchesPath(currentRoute: string, menu: RevisedNavMenuItem): boolean {\n const du = menu.defaulturl;\n if (!du || typeof du !== 'string' || du.indexOf('#') >= 0 || du.indexOf('!') >= 0) {\n return false;\n }\n const base = '/' + du.replace(/^\\/+/, '').replace(/\\/$/, '');\n if (!base || base === '/') {\n return false;\n }\n return currentRoute === base || currentRoute.startsWith(base + '/');\n }\n\n /** Public so route rules stay in one place (used by revised grouped menus + unified isCheckActiveRoute). */\n public isMenuRouteActive(menu: RevisedNavMenuItem): boolean {\n if (!menu) {\n return false;\n }\n const candidates = this.collectCandidateNavPaths();\n const childRoutes = (menu as any)?.child_routes || [];\n\n const pathPrefixedLink = this.menuUsesPathPrefixedLink(menu);\n\n for (const currentRoute of candidates) {\n /* Path-prefixed ancillary links must match full path (link / defaulturl / child_routes), not `route` alone. */\n if (!pathPrefixedLink && menu.route) {\n const nr = this.normalizeMenuRouteForPathMatch(menu.route);\n if (\n nr &&\n (currentRoute === nr ||\n currentRoute === nr + '/keyword-report' ||\n currentRoute === nr + '/keyword-suggestions/auto' ||\n currentRoute === nr + '/keyword-suggestions/manual')\n ) {\n return true;\n }\n const legacy = '/' + menu.route;\n if (\n currentRoute === legacy ||\n currentRoute === legacy + '/keyword-report' ||\n currentRoute === legacy + '/keyword-suggestions/auto' ||\n currentRoute === legacy + '/keyword-suggestions/manual'\n ) {\n return true;\n }\n }\n if (this.menuPathMatchesLinkPath(currentRoute, menu.link as string)) {\n return true;\n }\n if (this.menuDefaultUrlMatchesPath(currentRoute, menu)) {\n return true;\n }\n if (menu.matchRoutes && menu.matchRoutes.indexOf(currentRoute) > -1) {\n return true;\n }\n if (childRoutes.length > 0 &&\n childRoutes.some((childRoute) => this.menuChildRouteMatchesPath(currentRoute, childRoute))) {\n return true;\n }\n }\n return false;\n }\n\n private normalizeRevisedLabel(label: string): string {\n if (!label) {\n return '';\n }\n\n return label\n .replace(/<[^>]*>/g, '')\n .replace(/intentwise\\s+/gi, '')\n .replace(/\\s+/g, ' ')\n .trim()\n .toLowerCase();\n }\n\n private getRevisedOptimizeRecommendationCount(app: RevisedNavMenuItem): number | null {\n if (!app) {\n return null;\n }\n\n if (app.id === 'ads_amazon_advertising') {\n const recommendationMenu = this.findRevisedMenuById(app.children || [], 'ams_ads_recommendations');\n return recommendationMenu ? this.getMenuCountValue(recommendationMenu, 'activeRecommendation') : null;\n }\n\n return null;\n }\n\n private getMenuCountValue(menu: RevisedNavMenuItem, fallbackCountKey?: string): number | null {\n const countKey = menu && menu.countKey ? menu.countKey : fallbackCountKey;\n if (!countKey) {\n return null;\n }\n\n const countValue = this.navigation.fetchKeyValue(countKey);\n return typeof countValue === 'number' && countValue > 0 ? countValue : null;\n }\n\n private findRevisedMenuById(menus: RevisedNavMenuItem[], menuId: string): RevisedNavMenuItem | null {\n if (!menus || !menuId) {\n return null;\n }\n\n for (const menu of menus) {\n if (!menu) {\n continue;\n }\n\n if (menu.id === menuId || menu.sourceMenuId === menuId) {\n return menu;\n }\n\n const matchedChild = this.findRevisedMenuById(menu.children || [], menuId);\n if (matchedChild) {\n return matchedChild;\n }\n }\n\n return null;\n }\n get sideIdInfo(){\n if(this.applicationDetails && this.applicationDetails.sidebarInfo && this.applicationDetails.sidebarInfo.siteId){\n return Number(this.applicationDetails.sidebarInfo.siteId)\n }else if(this.applicationDetails && this.applicationDetails && this.applicationDetails['siteId']){\n return Number(this.applicationDetails['siteId'])\n }\n return 1;\n }\n\n\n public checkForRedirection(appMenus, gsMenus, applicationDetails) {\n const currentRoute = this.router.url.split('?')[0];\n const currentAppMenus = appMenus.find(app => app.id.indexOf(applicationDetails.applicationId) >= 0);\n\n if (currentAppMenus) {\n const allMenus = [currentAppMenus, ...gsMenus];\n const isMenuAvailable = findLink(allMenus);\n if (!isMenuAvailable) {\n this.navigation.getHostOriginAndNavigate(currentAppMenus.defaulturl);\n }\n } else {\n this.navigation.getHostOriginAndNavigate(this.toDisplayApplications[0].defaulturl);\n }\n\n\n function isMenuRouteMatch(link) {\n return currentRoute === `/${link}`;\n } \n\n function findLink(menuArray) {\n return menuArray.some(function(menu) {\n if(menu.level == \"one\" && menu.children && menu.children.length > 0){\n // If the menu has children, search recursively\n if (menu.children) {\n return findLink(menu.children);\n }\n\n // Check if the current menu item has a matching link\n if (isMenuRouteMatch(menu.route)) {\n return true;\n }\n\n // If there are child routes, search within them\n if (menu.child_routes) {\n return menu.child_routes.some(function(childRoute) {\n return isMenuRouteMatch(childRoute);\n });\n }\n\n return false;\n }\n return true;\n }\n );\n }\n }\n\n\n\n\n\n // public checkForRedirection(applicationDetails: appDetails, menulists) {\n // try{\n // let isMenuVisibleByorgSetting = true;\n // let isMenuVisibleByRole = true;\n // let isMenuNotVisibleByRole = true;\n // let isMenurOrgWithUserRole = true;\n // let isMenuNotVisibleByappspacificconfigcheck =true;\n // let isredirected = false;\n // let applicationIdList = [\"ads_amazon_seller_seller_analytics\" , \"ads_amazon_seller_vendor_analytics\"]\n\n // let menulist = applicationIdList.indexOf(applicationDetails.applicationId) > -1 && applicationDetails.listMenus && applicationDetails.listMenus.length > 0 ? applicationDetails.listMenus : menulists;\n\n // const role = ['SUPER_ADMIN', 'SUPER_ADMIN_READ_ONLY'];\n // if (role.indexOf(applicationDetails.userInfo.role) == -1) {\n \n // let applicationMenues = menulist && menulist.length > 0 && menulist.find((menus)=>{\n // return menus.id == applicationDetails.applicationId\n // })\n\n // if (applicationMenues && applicationMenues.organization_setting_not_in) {\n // isMenuVisibleByorgSetting = this.navigation.checkForNotOrgSettings(applicationMenues.organization_setting_not_in);\n // }\n\n // if (applicationMenues && applicationMenues.visibility_roles) {\n // isMenuVisibleByRole = this.navigation.checkForRoles(applicationMenues.visibility_roles);\n // }\n // if (applicationMenues && applicationMenues.visibility_roles_not_in) {\n // isMenuNotVisibleByRole = this.navigation.checkForvisibilityRolesNotIn(applicationMenues.visibility_roles_not_in);\n // }\n\n // if (applicationMenues && applicationMenues.app_spacific_config_check) {\n // isMenuNotVisibleByappspacificconfigcheck = this.navigation.appSpecificConfig(applicationMenues.app_spacific_config_check);\n // }\n\n // if (applicationMenues && applicationMenues.org_user_ctrl) {\n // isMenurOrgWithUserRole = this.navigation.checkForOrgWithUserRole(applicationMenues.org_user_ctrl,applicationMenues, applicationDetails.currentOrganization.organizationId);\n // }\n // if (applicationMenues && applicationMenues.id == \"amc-platform-web\" && applicationMenues.children) {\n // let isChildMenuVisibleByRole = true;\n // let isChildMenuNotVisibleByRole = true;\n // let isChildMenurOrgWithUserRole = true;\n\n // const childmenu = this.validateRouteByState( this.router , applicationMenues.children);\n\n // if (childmenu && childmenu.visibility_roles_not_in) {\n // isChildMenuNotVisibleByRole = this.navigation.checkForvisibilityRolesNotIn(childmenu.visibility_roles_not_in);\n // }\n\n // if (childmenu && childmenu.visibility_roles) {\n // isChildMenuVisibleByRole = this.navigation.checkForRoles(childmenu.visibility_roles);\n // }\n\n // if (childmenu && childmenu.org_user_ctrl) {\n // isChildMenurOrgWithUserRole = this.navigation.checkForOrgWithUserRole(childmenu.org_user_ctrl,childmenu, applicationDetails.currentOrganization.organizationId);\n // }\n\n // if ((!isChildMenuNotVisibleByRole || !isChildMenuVisibleByRole || !isChildMenurOrgWithUserRole) && childmenu) {\n // isredirected = true;\n // this.router.navigate([\"/\"]);\n // }\n // }\n // if ((!isMenuVisibleByorgSetting || !isMenuVisibleByRole || !isMenuNotVisibleByRole || !isMenurOrgWithUserRole || !isMenuNotVisibleByappspacificconfigcheck) && !isredirected) {\n // if (!this.currentApp) {\n // this.navigation.getHostOriginAndNavigate(this.toDisplayApplications[0].defaulturl); \n // }else{\n // this.navigation.getHostOriginAndNavigate(applicationMenues.defaulturl);\n // }\n // }\n // }\n // }catch(error){\n // throw error;\n // }\n // }\n\n validateRouteByState(state , listMenus){\n try{\n const findRoute = listMenus.find(list => {\n if(list.link == 'amc'+state.url) {\n return list;\n } else if(list.matchRoutes && list.matchRoutes.length > 0){\n if(list.matchRoutes.includes(state.url)){\n return list;\n };\n }\n });\n return findRoute;\n }catch(error){\n throw error;\n }\n}\n \n // public checkForRedirection(applicationDetails: appDetails) {\n // let route = '';\n // if(applicationDetails.currentAccount && !(this.navigation.isHavingAnyActiveSubs(applicationDetails.applicationId,applicationDetails.currentAccount.subscription,applicationDetails.currentAccount.type))){\n // switch(applicationDetails.currentAccount.type){\n // case 'CONTENT': {\n // route = 'content/share-of-voice'\n // break;\n // }\n // case 'DSP': {\n // route = 'dsp/order'\n // break;\n // }\n // case 'AMS_ATTRIBUTION': {\n // route = 'attribution/attribution-campaigns'\n // break;\n // }\n // case 'SELLER_CENTRAL': {\n // route = '#!/ams-content-dashboard/seller-sales-overview';\n // break;\n // }\n // case 'VENDOR_CENTRAL': {\n // route = '#!/ams-content-dashboard/custom-reports-vendor-sales-overview';\n // break;\n // }\n // case 'INSTACART': {\n // route = 'instacart/instacart-overview';\n // break;\n // }\n // case 'CRITEO': {\n // route = 'criteo/criteo-overview';\n // break;\n // }\n // case 'WALMART': {\n // route = 'walmart/';\n // break;\n // }\n // case 'AMAZON_MARKETING_CLOUD': {\n // route = 'dp/data-analytics-getting-started';\n // break;\n // }\n // case 'AMS_VENDOR':\n // case 'AMS_SELLER': {\n // route = '#!/ams-page-overview';\n // break;\n // }\n // }\n // this.navigation.getHostOriginAndNavigate(route);\n // }\n // }\n\n public async getStructureAPISupportData(currentAccount){\n try {\n this.RestApiService.getStructureAPISupportData(currentAccount.organizationId,currentAccount.businessGroupId,currentAccount.amsAccountId).subscribe( \n (response:any) => {\n this.navigation.isStructureApiSupport = response ? response['structureApiSupport'] : undefined;\n this.navigation.isManagedServiceAcc = response ? response['isManagedAccount'] : undefined;\n this.createAppDetails(this.applicationDetails);\n this.cdref.detectChanges(); // Trigger change detection after API response\n },\n (error:any) =>{\n this.navigation.isStructureApiSupport = undefined;\n this.navigation.isManagedServiceAcc = undefined;\n this.createAppDetails(this.applicationDetails);\n this.cdref.detectChanges(); // Trigger change detection after error\n });\n } catch (error) {\n throw error;\n }\n\n }\n \n public scrollToActiveMenu(){\n setTimeout(() => {\n if(this.listItems && this.listItems.find((_, i) => _.isActiveItem) != undefined){\n this.list.scrollTop = this.listItems.find((_, i) => _.isActiveItem).offsetTop;\n }\n }, 500);\n }\n\n public isCheckActiveRoute(menu,headmenu,parentMenu = null) {\n // let urlArray = this.router.url.split('/');\n // let routeUrl = urlArray[urlArray.length - 1];\n // let currentRoute = routeUrl.split('?')[0];\n // let route=menu.route;\n // let pageName;\n // if(route){\n // let splitedURL = route.split(\"/\");\n // pageName = splitedURL.length >0 ? splitedURL[splitedURL.length - 1] : route;\n // }\n\n if (!menu) {\n return false;\n }\n if (!this.isMenuRouteActive(menu)) {\n return false;\n }\n if (parentMenu != null) {\n this.activePanel = parentMenu.id;\n }\n if (headmenu !== undefined && headmenu !== null) {\n if (this.prevActiveHeadMenu === undefined) {\n headmenu.isActive = true;\n this.prevActiveHeadMenu = headmenu;\n } else {\n this.prevActiveHeadMenu.isActive = false;\n headmenu.isActive = true;\n this.prevActiveHeadMenu = headmenu;\n }\n }\n return true;\n }\n\n public keepMenuExpanded(parentMenuId:string) {\n if(parentMenuId.indexOf(this.applicationDetails.applicationId) >= 0 ){\n return true;\n }\n else{\n return false;\n }\n }\n\n public allMenuCollapse(){\n for(let headMenu of this.toDisplayGlobalSettingsMenu) {\n headMenu.panelOpenState = false;\n }\n }\n\n public modficationData(data: any): any {\n let configs = this.navigation.getTypeStatusConfigs();\n\t\tlet order = Object.keys(configs);\n\t\tif(order.indexOf(data.type) > -1){\n\t\t\tdata.active = configs[data.type] ? configs[data.type] : false;\n\t\t}\n\t\treturn data;\n\t}\n\n ngOnChanges() {\n // this.showMenuIcon();\n this.checkApplicationDetails(this.applicationDetails);\n if(this.applicationDetails.applicationId == 'ads_amazon_dsp'){\n this.getStructureAPISupportData(this.applicationDetails.currentAccount);\n }\n this.cdref.detectChanges(); // Trigger change detection when inputs change\n }\n\n public goToApplication(item) {\n window.localStorage.removeItem('selectedAppId');\n const targetItem = this.getDefaultNavigationTarget(item);\n this.goToAppDefaultPage(targetItem, item?.id || targetItem?.id);\n }\n\n public goToMenuLink(item) {\n if (item && item.link) {\n window.open(item.link, '_blank');\n const prams = {\n \"location\": location.href,\n \"AppName\": item?.name,\n \"module_name\" : null\n }\n this.mixpanel.productTrackEvent(\"Page Viewed\",prams);\n }\n }\n\n public ngOnDestroy(): void {\n if (this.myObserver) {\n this.myObserver.unsubscribe();\n }\n if(this.sideNavStatusSubscription){\n this.sideNavStatusSubscription.unsubscribe();\n }\n if (this.sideNavClosedStartSubscription) {\n this.sideNavClosedStartSubscription.unsubscribe();\n }\n }\n\n public goToAppDefaultPage(item, appId) {\n if (!item) {\n return;\n }\n\n const sameApp = !!(appId && this.applicationDetails?.applicationId && appId === this.applicationDetails.applicationId);\n\n if (item.defaulturl) {\n this.navigation.getHostOriginAndNavigate(item.defaulturl);\n return;\n }\n\n if (sameApp && typeof item.route === 'string' && item.route !== '' && item.route.indexOf('#') < 0) {\n this.router.navigate([item.route]);\n return;\n }\n\n const hasExplicitHashRoute = typeof item.route === 'string' && item.route.indexOf('#') >= 0;\n const targetUrl = hasExplicitHashRoute ? item.route : (item.link || item.route);\n if (!targetUrl) {\n return;\n }\n\n const hostNavExtras = hasExplicitHashRoute ? { appId } : undefined;\n this.navigation.getHostOriginAndNavigate(targetUrl, hostNavExtras);\n }\n\n private getDefaultNavigationTarget(item: any): any {\n if (!item) {\n return item;\n }\n\n if (item.defaulturl || item.route || item.link) {\n return item;\n }\n\n const children = item.children || [];\n for (const child of children) {\n const resolved = this.getDefaultNavigationTarget(child);\n if (resolved) {\n return resolved;\n }\n }\n\n return item;\n }\n\n public hideMenuForWL(){\n let isOrgSetting;\n if(this.applicationDetails['userInfo'].role === 'IAC_BRAND_READ_ONLY' || (this.applicationDetails.orgSettings && this.applicationDetails.orgSettings.length == 0)){\n return true;\n }else{\n if (this.applicationDetails.orgSettings && this.applicationDetails.orgSettings.length > 0) {\n isOrgSetting = this.applicationDetails.orgSettings.filter(function(orgSetting){\n if( orgSetting.setting === 'IAC_INSIGHTS' && (!orgSetting.value || orgSetting.value && orgSetting.value == 'ACTIVE')) {\n return true;\n };\n })\n }\n return (isOrgSetting != null && ( this.applicationDetails.sidebarInfo.siteId > 11 || this.applicationDetails['userInfo'].role === 'IAC_BRAND_READ_ONLY'));\n }\n }\n\n // public isApplicationActive(parentMenuId) {\n // if(parentMenuId.indexOf(this.applicationDetails.applicationId) >= 0 && this.isGlobalSettingsMenuActive){\n // return true;\n // }\n // else{\n // return false;\n // }\n // }\n\n \n}\n","<div id=\"loader_sov\">\n <div id=\"loading_div\" *ngIf=\"applicationDetails?.sidebarInfo\">\n <div>\n <div id=\"loader\" *ngIf=\"sideIdInfo !== 1\"\n class=\"site_{{sideIdInfo}}\">\n <img src=\"{{applicationDetails?.sidebarInfo?.logo}}\">\n </div>\n <div id=\"loader_img\" *ngIf=\"sideIdInfo == 1\">\n <img src=\"/assets/images/happy_eyes_closed_small.svg\">\n </div>\n <mat-progress-bar class=\"loader_progress-bar-position\" mode=\"indeterminate\"></mat-progress-bar>\n </div>\n </div>\n</div>\n\n<div fxLayout=\"column\" fxFlexFill *ngIf=\"errorMsg.length == 0 else errorBlock\" translate=\"no\" id=\"angular-16-version\" [ngClass]=\"{'navmenu-expanded' : !navExpanded, 'application-sidebar--revised-nav': isRevisedNavigationEnabled()}\">\n <mat-toolbar class=\"portal-side-menu-top-toolbar\">\n <mat-toolbar-row fxLayout=\"row\">\n <div class=\"revised-section-app-logo portal-forget-heading-card\">\n <div class=\"sidemenu-logo-holder\">\n <span *ngIf=\"sideIdInfo !== 1\">\n <img [src]=\"applicationDetails?.sidebarInfo?.favicon\" style=\"width: 40px !important;display: flex !important;\" *ngIf=\"!navExpanded\" [alt]=\"applicationDetails?.sidebarInfo?.firstName\" class=\"favicon-dimension\" />\n <img [src]=\"applicationDetails?.sidebarInfo?.logo\" style=\"display: flex !important;\" *ngIf=\"navExpanded\" class=\"logo-dimension\" />\n </span>\n <span *ngIf=\"sideIdInfo == 1\">\n <img src=\"assets/logos/intentwiselogo.svg\" style=\"width: 40px !important;display: flex !important;\" *ngIf=\"!navExpanded\" [alt]=\"applicationDetails?.sidebarInfo?.firstName\" class=\"favicon-dimension intentwise-favicon\">\n <img src=\"assets/logos/Intentwise.svg\" style=\"display: flex !important;\" *ngIf=\"navExpanded\" [alt]=\"applicationDetails?.sidebarInfo?.firstName\" class=\"logo-dimension intentwise-logo\">\n </span>\n </div>\n </div>\n </mat-toolbar-row>\n </mat-toolbar>\n <!-- <div class=\"sidebar-collapse-icon\" *ngIf=\"isAdminRole\">\n <button mat-menu-item class=\"sidemenu-icon-top\" (click)=\"allMenuCollapse()\">\n <mat-icon *ngIf=\"sidenav && sidenav.opened\">keyboard_arrow_up</mat-icon>\n </button>\n </div> -->\n <div *ngIf=\"sidenav && sidenav.opened && !inContextInsightsWLApp && isLegacyNavigationEnabled()\" class=\"app-menu-container\">\n <button class=\"app-menu-button selected-app-button\" *ngIf=\"toDisplayApplications && toDisplayApplications.length == 1\">\n <span class=\"app-name selected-app-container\">\n <!-- <mat-icon *ngIf=\"currentApp?.name\" class=\"sideNavIcon {{currentApp?.name.split(' ').join('')}}\"></mat-icon> -->\n <img *ngIf=\"currentApp?.name\" class=\"icon side-menu-icon children-icon\" [src]=\"getIconUrl(currentApp.icon || 'default-icon.svg')\"/>\n <label style=\"margin-left: -4px;\" [innerHTML]=\"selectedApplication(currentApp)\"></label>\n <span *ngIf=\"currentApp?.badge\" class=\"badge-text sov-beta-position\">{{currentApp.badge}}</span>\n </span>\n </button>\n <button class=\"app-menu-button selected-app-button\" [mat-menu-trigger-for]=\"appMenu\" *ngIf=\"toDisplayApplications && toDisplayApplications.length > 1\">\n <span class=\"app-name selected-app-container\">\n <!-- <mat-icon *ngIf=\"currentApp?.name\" class=\"sideNavIcon {{currentApp?.name.split(' ').join('')}}\"></mat-icon> -->\n <img *ngIf=\"currentApp?.name\" class=\"icon side-menu-icon children-icon\" [src]=\"getIconUrl(currentApp.icon || 'default-icon.svg')\"/>\n <label style=\"margin-left: -4px;\" [innerHTML]=\"selectedApplication(currentApp)\"></label>\n <span *ngIf=\"currentApp?.badge\" class=\"badge-text sov-beta-position\">{{currentApp.badge}}</span>\n </span>\n <span class=\"dropdown-icon\"></span>\n </button>\n <mat-menu #appMenu=\"matMenu\" class=\"app-menu\" [backdropClass]=\"'all-module-menus'\">\n <ng-container *ngFor=\"let headmenu of toDisplayApplications\">\n <button class=\"menu-option\" mat-menu-item (click)=\"goToApplication(headmenu)\" [ngClass]=\"{'active': headmenu.panelOpenState}\" class=\"{{headmenu.id}}_icon\" *ngIf=\"headmenu.name != 'Account Management'\" translate=\"no\">\n <!-- <mat-icon class=\"sideNavIcon children-icon\" [ngClass]=\"headmenu.name.split(' ').join('')\"></mat-icon> -->\n <img class=\"icon children-icon side-menu-icon\" [src]=\"getIconUrl(headmenu.icon || 'default-icon.svg')\"/>\n <label [innerHTML]=\"selectedApplication(headmenu)\"></label>\n <span *ngIf=\"headmenu.badge\" class=\"badge-text sov-beta-position\" [innerHTML]=\"headmenu.badge\"></span>\n </button>\n </ng-container>\n </mat-menu>\n </div>\n <div class=\"portal-sidnav-menu\" fxFlex=\"nogrow noshrink\" appScrollable [ngClass]=\"{'whiteLabelSidenav' : inContextInsightsWLApp}\">\n <ng-container *ngIf=\"isRevisedNavigationEnabled(); else legacyNavigationTemplate\">\n <!--\n Revised nav maps to sidebar layout JSON (`sections[]`):\n - type `app-tabs` → Optimize: tab strip + `revisedGroupMenuItemShell` per menu row (same expand/leaf/active pattern as INTELLIGENCE).\n - type `grouped-menus` → `groups[]`: each group uses `items[]` of `{ menuId, title? }` (ids from `navmenu1`).\n Leaf vs expandable comes from nav data. Single- and multi-item groups share `revisedGroupMenuItemShell` (same layout as Product 360 / Foundation). Untitled flat groups still use `revisedGroupedMenuRows` + inner mat-list for deep nesting.\n Add more sections in JSON — they render here in order. Bottom sticky block is unchanged below.\n -->\n <!-- SVG chevrons (not mat-icon ligatures) so expand arrows work even when Material Icons font fails to load -->\n <ng-template #revisedChevronSvg let-expanded=\"expanded\">\n <svg *ngIf=\"!expanded\" class=\"revised-chevron-svg\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n <path fill=\"currentColor\" d=\"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\"/>\n </svg>\n <svg *ngIf=\"expanded\" class=\"revised-chevron-svg\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n <path fill=\"currentColor\" d=\"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z\"/>\n </svg>\n </ng-template>\n\n <ng-template #revisedMatPanelChevrons let-expanded=\"expanded\" let-iconClass=\"iconClass\">\n <mat-panel-description class=\"children-description revised-nav-expansion-chevron\" *ngIf=\"navExpanded\">\n <span [ngClass]=\"iconClass || 'sub-chevron-icon revised-nav-chevron'\" class=\"revised-chevron-icon-wrap\">\n <ng-container *ngTemplateOutlet=\"revisedChevronSvg; context: { expanded: expanded }\"></ng-container>\n </span>\n </mat-panel-description>\n </ng-template>\n\n <!-- One resolved menu: grouped-menus (Foundation / INTELLIGENCE) or app-tabs OPTIMIZE when `optimizeParentApp` is set. No inner mat-list. -->\n <ng-template #revisedGroupMenuItemShell let-menu=\"menu\" let-optimizeParentApp=\"optimizeParentApp\">\n <mat-expansion-panel *ngIf=\"menu.children?.length\" class=\"div-background-color-white revised-group__single-expandable\" [expanded]=\"isChildMenuPanelExpanded(menu)\"\n [disabled]=\"true\"\n [ngClass]=\"{'activePanel': isChildMenuPanelHighlighted(menu) , 'whiteLabelActive' : inContextInsightsWLApp}\" hideToggle=\"true\"\n (opened)=\"onChildMenuPanelOpened(menu)\" (closed)=\"onChildMenuPanelClosed(menu)\">\n <mat-expansion-panel-header class=\"revised-group__header revised-group__header--as-panel\" (click)=\"onChildMenuPanelHeaderClick(menu)\">\n <mat-panel-title>\n <span class=\"revised-group__title menu-heading applicationSubmenus\" [innerHTML]=\"selectedApplication(menu)\"></span>\n <span *ngIf=\"menu.badge\" class=\"badge-text sov-beta-position level-two-badge\" [innerHTML]=\"menu.badge\"></span>\n </mat-panel-title>\n <ng-container *ngTemplateOutlet=\"revisedMatPanelChevrons; context: { expanded: isChildMenuPanelExpanded(menu), iconClass: 'revised-group__chevron revised-nav-expansion-chevron revised-nav-chevron' }\"></ng-container>\n </mat-expansion-panel-header>\n <div class=\"revised-group__content\">\n <mat-nav-list class=\"sub-child-menu\">\n <lnc-nav-menus *ngFor=\"let childMenu of menu.children\" appOffsetTop\n [isActiveItem]=\"isRevisedMenuActive(childMenu)\" [item]=\"childMenu\"\n [applicationId]=\"applicationDetails.applicationId\"\n [parentMenuId]=\"optimizeParentApp ? optimizeParentApp.id : getRevisedParentMenuId(childMenu, menu.ownerAppId)\"\n [parentPanelId]=\"menu.id\" (menuClicked)=\"menuClicked($event)\" #navMenusComponent>\n </lnc-nav-menus>\n </mat-nav-list>\n </div>\n </mat-expansion-panel>\n <mat-nav-list *ngIf=\"!menu.children?.length\" class=\"revised-group__single-link\">\n <lnc-nav-menus appOffsetTop\n [isActiveItem]=\"isRevisedMenuActive(menu)\" [item]=\"menu\"\n [applicationId]=\"applicationDetails.applicationId\"\n [parentMenuId]=\"optimizeParentApp ? optimizeParentApp.id : getRevisedParentMenuId(menu)\"\n [parentPanelId]=\"getRevisedShellLeafParentPanelId(menu, optimizeParentApp)\" (menuClicked)=\"menuClicked($event)\" #navMenusComponent>\n </lnc-nav-menus>\n </mat-nav-list>\n </ng-template>\n\n <!-- Grouped-menus rows: leaf | mat-expansion (depth 0) | nested mat-expansion (depth 1). Max 2 expansion levels here; deeper leaves use lnc-nav-menus. -->\n <ng-template #revisedGroupedMenuRows let-group=\"group\">\n <ng-container *ngFor=\"let menu of group.items\">\n <ng-container *ngTemplateOutlet=\"revisedGroupedMenuEntry; context: { menu: menu, nestingDepth: 0 }\"></ng-container>\n </ng-container>\n </ng-template>\n\n <ng-template #revisedGroupedMenuEntry let-menu=\"menu\" let-nestingDepth=\"nestingDepth\">\n <mat-nav-list *ngIf=\"!menu.children?.length\" class=\"revised-group-menu-leaf\">\n <lnc-nav-menus appOffsetTop [isActiveItem]=\"isRevisedMenuActive(menu)\" [item]=\"menu\"\n [applicationId]=\"applicationDetails.applicationId\" [parentMenuId]=\"getRevisedParentMenuId(menu)\"\n [parentPanelId]=\"getRevisedParentPanelId(menu)\" (menuClicked)=\"menuClicked($event)\" #navMenusComponent>\n </lnc-nav-menus>\n </mat-nav-list>\n\n <mat-expansion-panel *ngIf=\"menu.children?.length\" class=\"div-background-color-white\"\n [class.revised-group-menu-panel--nested]=\"nestingDepth > 0\"\n [expanded]=\"isChildMenuPanelExpanded(menu)\"\n [disabled]=\"true\"\n [ngClass]=\"{'activePanel': isChildMenuPanelHighlighted(menu) , 'whiteLabelActive' : inContextInsightsWLApp}\" hideToggle=\"true\"\n (opened)=\"onChildMenuPanelOpened(menu)\" (closed)=\"onChildMenuPanelClosed(menu)\">\n <mat-expansion-panel-header (click)=\"onChildMenuPanelHeaderClick(menu)\" [ngClass]=\"{'header-border': isChildMenuPanelExpanded(menu), 'header-border-none': !isChildMenuPanelExpanded(menu) }\">\n <mat-panel-title>\n <h3 class=\"menu-heading applicationSubmenus\"><span class=\"menu-name-expandable\" [innerHTML]=\"selectedApplication(menu)\"></span>\n <span *ngIf=\"menu.badge\" class=\"badge-text sov-beta-position level-two-badge\" [innerHTML]=\"menu.badge\"></span>\n </h3>\n </mat-panel-title>\n <ng-container *ngTemplateOutlet=\"revisedMatPanelChevrons; context: { expanded: isChildMenuPanelExpanded(menu) }\"></ng-container>\n </mat-expansion-panel-header>\n <div class=\"revised-group-menu-children\">\n <ng-container *ngFor=\"let child of menu.children\">\n <ng-container *ngIf=\"child.children?.length && (nestingDepth ?? 0) < 2\">\n <ng-container *ngTemplateOutlet=\"revisedGroupedMenuEntry; context: { menu: child, nestingDepth: (nestingDepth ?? 0) + 1 }\"></ng-container>\n </ng-container>\n <mat-nav-list *ngIf=\"!child.children?.length || (nestingDepth ?? 0) >= 2\" class=\"sub-child-menu\">\n <lnc-nav-menus appOffsetTop [isActiveItem]=\"isRevisedMenuActive(child)\" [item]=\"child\"\n [applicationId]=\"applicationDetails.applicationId\" [parentMenuId]=\"getRevisedParentMenuId(child, menu.ownerAppId)\"\n [parentPanelId]=\"menu.id\" (menuClicked)=\"menuClicked($event)\" #navMenusComponent>\n </lnc-nav-menus>\n </mat-nav-list>\n </ng-container>\n </div>\n </mat-expansion-panel>\n </ng-template>\n\n <!-- Same section class as legacy so .portal-sidnav-menu .mat-expansion-panel .mat-mdc-list a[mat-list-item].active applies -->\n <div class=\"revised-nav\" translate=\"no\">\n <div class=\"revised-section mat-expansion-panel\" *ngFor=\"let section of revisedSections; trackBy: trackByRevisedSection\" [attr.id]=\"section.id + 'menu'\" [attr.data-section-type]=\"section.type\"\n [ngClass]=\"{'active': isRevisedSectionActive(section)}\">\n <button class=\"revised-section__header main-expansion-panel-header\" type=\"button\" (click)=\"onRevisedSectionHeaderClick(section.id)\"\n [matTooltip]=\"navExpanded ? null : section.title\" matTooltipPosition=\"right\" matTooltipClass=\"left-nav-tooltip\">\n <span class=\"revised-section__header-main\">\n <span class=\"revised-section__header-icon-box\">\n <span class=\"revised-section__header-icon icon side-menu-icon side-menu-icon-color\" [innerHTML]=\"getRevisedSectionIcon(section)\"></span>\n <span class=\"revised-section__collapsed-active-dot\" *ngIf=\"!navExpanded && isRevisedSectionActive(section)\" aria-hidden=\"true\"></span>\n </span>\n <span class=\"revised-section__title sidemenu-heading applicationMenu\" *ngIf=\"navExpanded\">{{ section.title }}</span>\n </span>\n <span class=\"headmenu-description\" *ngIf=\"navExpanded\">\n <span class=\"main-chevron-icon revised-nav-chevron revised-chevron-icon-wrap\">\n <ng-container *ngTemplateOutlet=\"revisedChevronSvg; context: { expanded: isRevisedSectionExpanded(section.id) }\"></ng-container>\n </span>\n </span>\n </button>\n <div *ngIf=\"navExpanded && isRevisedSectionExpanded(section.id)\"\n class=\"revised-section__content revised-section__content--visible padding-0px\"\n [ngClass]=\"{\n 'revised-section__content--grouped': section.type === 'grouped-menus'\n }\"\n [attr.id]=\"section.id\">\n <ng-container [ngSwitch]=\"section.type\">\n\n <!-- JSON: { type: \"app-tabs\", appIds, defaultAppId } -->\n <ng-container *ngSwitchCase=\"'app-tabs'\">\n <div class=\"revised-optimize-tabs\" *ngIf=\"getRevisedSectionApps(section).length > 0\">\n <button type=\"button\" class=\"revised-optimize-tab\" *ngFor=\"let app of getRevisedSectionApps(section); trackBy: trackByRevisedMenu\"\n [ngClass]=\"{'active': isSelectedRevisedSectionApp(section, app)}\"\n [matTooltip]=\"getRevisedOptimizeAppTabTooltip(app)\" matTooltipPosition=\"below\"\n [matTooltipClass]=\"['left-nav-tooltip', 'revised-optimize-app-tab-tooltip']\"\n (click)=\"selectRevisedSectionApp(section, app)\">\n <span class=\"revised-optimize-tab__badge\" *ngIf=\"getRevisedSectionTabBadgeCount(app) !== null\">\n {{ getRevisedSectionTabBadgeCount(app) }}\n </span>\n <span class=\"revised-optimize-tab__icon\">\n <img class=\"icon side-menu-icon children-icon\" [src]=\"getIconUrl(app.icon || 'default-icon.svg')\" [alt]=\"selectedApplication(app)\" />\n </span>\n </button>\n </div>\n <div class=\"revised-optimize-menus\" *ngIf=\"getRevisedSectionSelectedApp(section) as selectedApp\">\n <div class=\"revised-optimize-app-title menu-heading applicationSubmenus\" [innerHTML]=\"selectedApplication(selectedApp)\"></div>\n <div class=\"revised-group__multi-stack revised-optimize-menu-stack\" [attr.id]=\"section.id + '_' + selectedApp.id\" [ngClass]=\"{'group-nav-menu': hasExpandableMenusInSection(section) }\">\n <ng-container *ngFor=\"let menu of getRevisedSectionMenus(section); trackBy: trackByRevisedMenu\">\n <ng-container *ngTemplateOutlet=\"revisedGroupMenuItemShell; context: { menu: menu, optimizeParentApp: selectedApp }\"></ng-container>\n </ng-container>\n </div>\n </div>\n </ng-container>\n\n <!-- JSON: { type: \"grouped-menus\", groups: [ ... ] } -->\n <ng-container *ngSwitchCase=\"'grouped-menus'\">\n <ng-container *ngFor=\"let group of getRevisedGroupedSectionGroups(section); trackBy: trackByRevisedGroup\">\n\n <div *ngIf=\"isRevisedUntitledGroup(group)\" class=\"revised-group revised-group--flat\">\n <mat-list class=\"padding-0px revised-group__list\" [attr.id]=\"section.id + '_' + group.id\" [ngClass]=\"{'group-nav-menu': hasExpandableMenusInGroup(group) }\">\n <ng-container *ngTemplateOutlet=\"revisedGroupedMenuRows; context: { group: group }\"></ng-container>\n </mat-list>\n </div>\n\n <div *ngIf=\"isRevisedSingleItemGroup(group)\" class=\"revised-group revised-group--single\">\n <ng-container *ngFor=\"let menu of group.items; trackBy: trackByRevisedMenu\">\n <ng-container *ngTemplateOutlet=\"revisedGroupMenuItemShell; context: { menu: menu }\"></ng-container>\n </ng-container>\n </div>\n\n <div *ngIf=\"isRevisedMultiItemGroup(group)\" class=\"revised-group revised-group--multi\">\n <mat-expansion-panel class=\"div-background-color-white revised-group__multi-panel\"\n [expanded]=\"isRevisedGroupExpanded(section.id, group.id)\"\n hideToggle=\"true\"\n (opened)=\"onRevisedGroupPanelOpened(section.id, group.id)\"\n (closed)=\"onRevisedGroupPanelClosed(section.id, group.id)\">\n <mat-expansion-panel-header class=\"revised-group__header revised-group__header--as-panel\"\n [matTooltip]=\"navExpanded ? null : group.title\" matTooltipPosition=\"right\" matTooltipClass=\"left-nav-tooltip\">\n <mat-panel-title>\n <span class=\"revised-group__title menu-heading applicationSubmenus\" *ngIf=\"navExpanded\">{{ group.title }}</span>\n </mat-panel-title>\n <ng-container *ngTemplateOutlet=\"revisedMatPanelChevrons; context: { expanded: isRevisedGroupExpanded(section.id, group.id), iconClass: 'revised-group__chevron revised-nav-expansion-chevron revised-nav-chevron' }\"></ng-container>\n </mat-expansion-panel-header>\n <!-- Per-item DOM matches revised-group--single (no inner mat-list) so global sidebar theme does not apply muted .mat-list .applicationSubmenus to Commerce-style rows. -->\n <div class=\"revised-group__panel-body\" *ngIf=\"navExpanded\">\n <div class=\"revised-group__multi-stack\" [attr.id]=\"section.id + '_' + group.id\" [ngClass]=\"{'group-nav-menu': hasExpandableMenusInGroup(group) }\">\n <ng-container *ngFor=\"let menu of group.items; trackBy: trackByRevisedMenu\">\n <ng-container *ngTemplateOutlet=\"revisedGroupMenuItemShell; context: { menu: menu }\"></ng-container>\n </ng-container>\n </div>\n </div>\n </mat-expansion-panel>\n </div>\n\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n </ng-container>\n <ng-template #legacyNavigationTemplate>\n <mat-expansion-panel [expanded]=\"headmenu.panelOpenState == true\" hideToggle=\"true\"\n *ngFor=\"let headmenu of toDisplayApplications\" [ngClass]=\"{'active': currentApp.id === headmenu.id }\"\n (opened)=\"headmenu.panelOpenState = true\" (closed)=\"headmenu.panelOpenState = false\">\n <mat-expansion-panel-header matTooltip=\"{{getTooltipInfo(headmenu)}}\" matTooltipClass=\"left-nav-tooltip\" matTooltipPosition=\"right\"\n *ngIf=\"headmenu.type == 'expandable' else singleMenus\" class=\"main-expansion-panel-header\"\n (click)=\"goToApplication(headmenu)\">\n <mat-panel-title>\n <img class=\"icon side-menu-icon side-menu-icon-color\" [src]=\"getIconUrl(headmenu.icon || 'default-icon.svg')\"/>\n <h3 class=\"sidemenu-heading applicationMenu\">\n <label [innerHTML]=\"selectedApplication(headmenu)\"></label>\n <span *ngIf=\"headmenu.badge\" class=\"badge-text sov-beta-position\" [innerHTML]=\"headmenu.badge\"></span>\n </h3>\n </mat-panel-title>\n <mat-panel-description class=\"headmenu-description\" *ngIf=\"navExpanded\">\n <mat-icon class=\"main-chevron-icon\" *ngIf=\"!headmenu.panelOpenState\">arrow_right</mat-icon>\n <mat-icon class=\"main-chevron-icon\" *ngIf=\"headmenu.panelOpenState\">arrow_drop_down</mat-icon>\n </mat-panel-description>\n </mat-expansion-panel-header>\n <mat-list class=\"padding-0px\" *ngFor=\"let menu of headmenu.children\" [attr.id]=\"headmenu.id\" [ngClass]=\"{'group-nav-menu': menu.children }\">\n <mat-expansion-panel *ngIf=\"menu.children else listMenu\" class=\"div-background-color-white\" [expanded]=\"isChildMenuPanelExpanded(menu)\"\n [ngClass]=\"{'activePanel': isChildMenuPanelHighlighted(menu) , 'whiteLabelActive' : inContextInsightsWLApp}\" hideToggle=\"true\"\n (opened)=\"menu.panelOpenState = true\" (closed)=\"menu.panelOpenState = false\">\n <mat-expansion-panel-header\n [ngClass]=\"{'header-border': isChildMenuPanelExpanded(menu), 'header-border-none': !isChildMenuPanelExpanded(menu) }\">\n <mat-panel-title>\n <img style=\"margin-right: 10px\" *ngIf=\"(menu.icon && menu.icon != '') else displayInitials\"\n class=\"icon side-menu-icon side-menu-icon-color\" [src]=\"getIconUrl(menu.icon)\" />\n <ng-template #displayInitials>\n <div class=\"sidemenu-symbol\">\n {{menu.symbol}}\n </div>\n </ng-template>\n <h3 class=\"menu-heading applicationSubmenus\"><span class=\"menu-name-expandable\" [innerHTML]=\"selectedApplication(menu)\"></span>\n <span *ngIf=\"menu.badge\" class=\"badge-text sov-beta-position level-two-badge\"\n [innerHTML]=\"menu.badge\"></span>\n </h3>\n </mat-panel-title>\n <mat-panel-description class=\"children-description\" *ngIf=\"navExpanded\">\n <mat-icon class=\"sub-chevron-icon\" *ngIf=\"!isChildMenuPanelExpanded(menu)\">arrow_right</mat-icon>\n <mat-icon class=\"sub-chevron-icon\" *ngIf=\"isChildMenuPanelExpanded(menu)\">arrow_drop_down</mat-icon>\n </mat-panel-description>\n </mat-expansion-panel-header>\n <!-- <mat-divider></mat-divider> -->\n <mat-nav-list *ngFor=\"let childMenu of menu.children;\" class=\"sub-child-menu\">\n <lnc-nav-menus appOffsetTop [isActiveItem]=\"isCheckActiveRoute(childMenu,headmenu,menu)\" [item]=\"childMenu\"\n [applicationId]=\"applicationDetails.applicationId\" [parentMenuId]=\"headmenu.id\" [parentPanelId]=\"menu.id\"\n (menuClicked)=\"menuClicked($event)\" #navMenusComponent>\n </lnc-nav-menus>\n </mat-nav-list>\n </mat-expansion-panel>\n <ng-template #listMenu>\n <mat-nav-list>\n <lnc-nav-menus appOffsetTop [isActiveItem]=\"isCheckActiveRoute(menu,headmenu)\" [item]=\"menu\"\n [applicationId]=\"applicationDetails.applicationId\" [parentMenuId]=\"headmenu.id\"\n (menuClicked)=\"menuClicked($event)\" #navMenusComponent>\n </lnc-nav-menus>\n </mat-nav-list>\n </ng-template>\n </mat-list>\n <ng-template #singleMenus>\n <mat-list>\n <lnc-nav-menus id=\"{{headmenu.id}}\" appOffsetTop [isActiveItem]=\"isCheckActiveRoute(headmenu,headmenu)\"\n [item]=\"headmenu\" [applicationId]=\"applicationDetails.applicationId\" [parentMenuId]=\"headmenu.id\"\n matTooltip=\"{{getTooltipInfo(headmenu)}}\" matTooltipClass=\"left-nav-tooltip\" matTooltipPosition=\"right\"\n (menuClicked)=\"menuClicked($event)\" #navMenusComponent>\n </lnc-nav-menus>\n </mat-list>\n </ng-template>\n </mat-expansion-panel>\n </ng-template>\n </div>\n <div class=\"portal-global-setting-menu sticky_bottom_menu\" *ngIf=\"!inContextInsightsWLApp\">\n <div *ngIf=\"!inContextInsightsWLApp\" class=\"app-menu-container\">\n <button class=\"app-menu-Link-button\" *ngIf=\"toDisplayLinkMenu && toDisplayLinkMenu.length > 0\">\n <div *ngFor=\"let menuLink of toDisplayLinkMenu\" id=\"{{menuLink.id + 'menu'}}\" [style.margin-left]=\"sidenav && sidenav.opened ? '0px' : '5px'\">\n <span class=\"app-name\" (click)=\"goToMenuLink(menuLink)\">\n <div *ngIf=\"sidenav && sidenav.opened\" style=\"display: flex; align-items: center;gap: 5px;\">\n <img *ngIf=\"menuLink?.name\" matTooltip=\"{{getTooltipInfo(menuLink)}}\" matTooltipPosition=\"right\" matTooltipClass=\"left-nav-tooltip\" class=\"icon side-menu-icon children-icon\" [src]=\"getIconUrl(menuLink.icon || 'default-icon.svg')\"/>\n <label *ngIf=\"showTitle\" class=\"app-name-label\" [innerHTML]=\"selectedApplication(menuLink)\"></label>\n <span *ngIf=\"menuLink?.badge\" class=\"badge-text sov-beta-position\">{{menuLink.badge}}</span>\n </div>\n <div *ngIf=\"sidenav && !sidenav.opened\">\n <img *ngIf=\"menuLink?.name\" matTooltip=\"{{getTooltipInfo(menuLink)}}\" matTooltipPosition=\"right\" matTooltipClass=\"left-nav-tooltip\" class=\"icon side-menu-icon children-icon\" [src]=\"getIconUrl(menuLink.icon || 'default-icon.svg')\"/>\n <span *ngIf=\"menuLink?.badge\" class=\"badge-text sov-beta-position\">{{menuLink.badge}}</span>\n </div>\n </span>\n </div>\n </button>\n </div>\n <mat-expansion-panel [expanded]=\"settingsHeadMenu.panelOpenState == true || expandGlobalSettings\" hideToggle=\"true\" id=\"{{settingsHeadMenu.id + 'menu'}}\"\n *ngFor=\"let settingsHeadMenu of toDisplayGlobalSettingsMenu\" [ngClass]=\"{'active': settingsHeadMenu.isActive }\"\n (opened)=\"sidenav.open(); settingsHeadMenu.panelOpenState = true\" (closed)=\"settingsHeadMenu.panelOpenState = false; expandGlobalSettings = false\" [style.border]=\"sidenav && sidenav.opened ? '' : 'none !important'\">\n <mat-expansion-panel-header matTooltip=\"{{getTooltipInfo(settingsHeadMenu)}}\" matTooltipPosition=\"right\" matTooltipClass=\"left-nav-tooltip\"\n *ngIf=\"settingsHeadMenu.type == 'expandable' else singleMenus\" class=\"main-expansion-panel-header\"\n [ngClass]=\"sidenav && sidenav.opened ? '' : 'sticky-bottom-closed'\">\n <mat-panel-title style=\"gap: 5px;\">\n <img class=\"icon side-menu-icon side-menu-icon-color\" [src]=\"getIconUrl(settingsHeadMenu.icon || 'settings-icon.svg')\" />\n <h3 class=\"sidemenu-heading applicationMenu\">\n <label [innerHTML]=\"selectedApplication(settingsHeadMenu)\"></label>\n <span *ngIf=\"settingsHeadMenu.badge\" class=\"badge-text sov-beta-position\"\n [innerHTML]=\"settingsHeadMenu.badge\"></span>\n </h3>\n </mat-panel-title>\n <mat-panel-description class=\"setting-description\" *ngIf=\"navExpanded\">\n <mat-icon class=\"main-chevron-icon\" *ngIf=\"!settingsHeadMenu.panelOpenState\">arrow_right</mat-icon>\n <mat-icon class=\"main-chevron-icon\" *ngIf=\"settingsHeadMenu.panelOpenState\">arrow_drop_down</mat-icon>\n </mat-panel-description>\n </mat-expansion-panel-header>\n <mat-list class=\"padding-0px\" *ngFor=\"let menu of settingsHeadMenu.children\" [attr.id]=\"settingsHeadMenu.id\"\n [ngClass]=\"{'group-nav-menu': menu.children }\">\n <mat-nav-list>\n <lnc-nav-menus appOffsetTop [isActiveItem]=\"isCheckActiveRoute(menu,settingsHeadMenu)\" [item]=\"menu\"\n [applicationId]=\"applicationDetails.applicationId\" [parentMenuId]=\"settingsHeadMenu.id\"\n (menuClicked)=\"menuClicked($event)\" #navMenusComponent>\n </lnc-nav-menus>\n </mat-nav-list>\n </mat-list>\n <ng-template #singleMenus>\n <mat-list>\n <lnc-nav-menus [attr.id]=\"settingsHeadMenu.id\" appOffsetTop\n [isActiveItem]=\"isCheckActiveRoute(settingsHeadMenu,settingsHeadMenu)\" [item]=\"settingsHeadMenu\"\n [applicationId]=\"applicationDetails.applicationId\" [parentMenuId]=\"settingsHeadMenu.id\"\n matTooltip=\"{{getTooltipInfo(settingsHeadMenu)}}\" matTooltipClass=\"left-nav-tooltip\" matTooltipPosition=\"right\"\n (menuClicked)=\"menuClicked($event)\" #navMenusComponent>\n </lnc-nav-menus>\n </mat-list>\n </ng-template>\n </mat-expansion-panel>\n\n </div>\n</div>\n<ng-template #errorBlock>\n <div class=\"errorMsg\">\n <span class=\"material-icons\">error</span>\n <span class=\"errorTxt\">{{errorMsg}}</span>\n </div>\n</ng-template>\n\n<a class=\"hamburger-icon expanded-hamburger-icon\" title=\"Toggle Menu\" (click)=\"sidenav.close();allMenuCollapse(); \">\n <mat-icon class=\"left-chevron-icon\">keyboard_arrow_left</mat-icon>\n</a>\n\n<!-- <img *ngIf=\"showMenuIcon()\" class=\"favicon-dimension\" src={{applicationDetails.sidebarInfo.favicon}} alt=\"Intentwise Favicon\" />\n <a *ngIf=\"showMenuIcon()\" title=\"Toggle Menu\" class=\"hamburger-icon collapsed-hamburger\"\n (click)=\"sidenav.open()\">\n <mat-icon class=\"right-chevron-icon\">keyboard_arrow_right</mat-icon>\n </a> -->\n","import { NgModule } from '@angular/core';\nimport { ApplicationSidebarComponent } from './application-sidebar.component';\nimport { CdkTableModule } from '@angular/cdk/table';\nimport { CommonModule } from '@angular/common';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { HttpClientModule } from '@angular/common/http';\nimport { UrlContextService } from './services/url-context.service'\n\n//Navigation\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { MatMenuModule } from '@angular/material/menu';\n\n//Layout\nimport { MatListModule } from '@angular/material/list';\nimport { MatGridListModule } from '@angular/material/grid-list';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatStepperModule } from '@angular/material/stepper';\n\n//Buttons & Indicators\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\n\n// Form Controls.\nimport {\tMatCheckboxModule\t}\tfrom '@angular/material/checkbox';\nimport {\tMatInputModule\t}\tfrom '@angular/material/input';\nimport {\tMatRadioModule\t}\tfrom '@angular/material/radio';\nimport {\tMatDatepickerModule\t}\tfrom '@angular/material/datepicker';\nimport {\tMatNativeDateModule\t}\tfrom '@angular/material/core';\nimport {\tMatAutocompleteModule\t}\tfrom '@angular/material/autocomplete';\nimport {\tMatSliderModule\t}\tfrom '@angular/material/slider';\nimport {\tMatSlideToggleModule\t}\tfrom '@angular/material/slide-toggle';\nimport {\tMatSelectModule\t}\tfrom '@angular/material/select';\n\n//Popups & Modals\nimport {\tMatDialogModule\t}\tfrom '@angular/material/dialog';\nimport {\tMatTooltipModule\t}\tfrom '@angular/material/tooltip';\nimport {\tMatSnackBarModule\t}\tfrom '@angular/material/snack-bar';\n\n//Tables\nimport {\tMatTableModule\t}\tfrom\t'@angular/material/table';\nimport {\tMatSortModule\t}\tfrom\t'@angular/material/sort';\nimport {\tMatPaginatorModule\t}\tfrom\t'@angular/material/paginator';\n\n//Services\nimport { NavMenusComponent } from './nav-menus/nav-menus.component';\nimport { OffsetTopDirective, ScrollableDirective } from './nav-menu.directive';\n\nconst matModules = [\n // Navigation.\n MatToolbarModule,\n MatSidenavModule,\n MatMenuModule,\n\n // Layout\n MatListModule,\n MatGridListModule,\n MatExpansionModule,\n MatCardModule,\n MatTabsModule,\n MatStepperModule,\n\n // Buttons & Indicators\n MatButtonModule,\n MatButtonToggleModule,\n MatChipsModule,\n MatIconModule,\n MatProgressSpinnerModule,\n MatProgressBarModule,\n\n // Form Controls.\n MatCheckboxModule,\n MatInputModule,\n MatRadioModule,\n MatDatepickerModule,\n MatNativeDateModule,\n MatAutocompleteModule,\n MatSliderModule,\n MatSlideToggleModule,\n MatSelectModule,\n\n // Popups & Modals\n MatDialogModule,\n MatTooltipModule,\n MatSnackBarModule,\n\n // Table\n CdkTableModule,\n MatTableModule,\n MatSortModule,\n MatPaginatorModule\n];\n\n@NgModule({\n declarations: [ApplicationSidebarComponent, NavMenusComponent,ScrollableDirective, OffsetTopDirective],\n imports: [\n matModules, \n CommonModule,\n BrowserAnimationsModule,\n FlexLayoutModule,\n HttpClientModule\n ],\n exports: [ApplicationSidebarComponent],\n providers:[UrlContextService]\n})\nexport class ApplicationSidebarModule { }\n","/*\n * Public API Surface of application-sidebar\n */\n\nexport * from './lib/services/application-sidebar.service';\nexport * from './lib/application-sidebar.component';\nexport * from './lib/application-sidebar.module';\nexport * from './lib/revised-navigation';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i1","i1.RestApiService","i3.TranslationService","i4.UrlContextService","i1.ApplicationSidebarService","i3.UrlContextService","i5.TranslationService","i7","i10","i12.OffsetTopDirective","i3.RestApiService","i6.MixpanelService","i8","i9","i11","i17","i18.NavMenusComponent","i19.ScrollableDirective","i19.OffsetTopDirective"],"mappings":"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"}
|