Skip to content

Commit

Permalink
introduce flag for disabling sub url tracking
Browse files Browse the repository at this point in the history
  • Loading branch information
flash1293 committed Jan 23, 2020
1 parent 320b608 commit 4844420
Show file tree
Hide file tree
Showing 6 changed files with 18 additions and 1 deletion.
1 change: 1 addition & 0 deletions src/core/public/application/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -229,6 +229,7 @@ export interface LegacyApp extends AppBase {
appUrl: string;
subUrlBase?: string;
linkToLastSubUrl?: boolean;
disableSubUrlTracking?: boolean;
}

/**
Expand Down
11 changes: 11 additions & 0 deletions src/core/public/chrome/nav_links/nav_link.ts
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,17 @@ export interface ChromeNavLink {
*/
readonly subUrlBase?: string;

/**
* A flag that tells legacy chrome to ignore the link when
* tracking sub-urls
*
* @internalRemarks
* This should be removed once legacy apps are gone.
*
* @deprecated
*/
readonly disableSubUrlTracking?: boolean;

/**
* Whether or not the subUrl feature should be enabled.
*
Expand Down
1 change: 1 addition & 0 deletions src/core/public/legacy/legacy_service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ export class LegacyPlatformService {
subUrlBase: navLink.subUrlBase,
linkToLastSubUrl: navLink.linkToLastSubUrl,
category: navLink.category,
disableSubUrlTracking: navLink.disableSubUrlTracking,
})
);

Expand Down
1 change: 1 addition & 0 deletions src/core/server/legacy/plugins/find_legacy_plugin_specs.ts
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@ function getNavLinks(uiExports: LegacyUiExports, pluginSpecs: LegacyPluginSpec[]
order: typeof spec.order === 'number' ? spec.order : 0,
url: spec.url,
subUrlBase: spec.subUrlBase || spec.url,
disableSubUrlTracking: spec.disableSubUrlTracking,
icon: spec.icon,
euiIconType: spec.euiIconType,
linkToLastSub: 'linkToLastSubUrl' in spec ? spec.linkToLastSubUrl : false,
Expand Down
2 changes: 1 addition & 1 deletion src/legacy/ui/public/chrome/api/nav.ts
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ export function initChromeNavApi(chrome: any, internals: NavInternals) {
coreNavLinks
.getAll()
// Filter only legacy links
.filter(link => link.legacy)
.filter(link => link.legacy && !link.disableSubUrlTracking)
.forEach(link => {
const active = url.startsWith(link.subUrlBase!);
link = coreNavLinks.update(link.id, { active })!;
Expand Down
3 changes: 3 additions & 0 deletions src/legacy/ui/ui_nav_links/ui_nav_link.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ export class UiNavLink {
order = 0,
url,
subUrlBase,
disableSubUrlTracking,
icon,
euiIconType,
linkToLastSubUrl = true,
Expand All @@ -39,6 +40,7 @@ export class UiNavLink {
this._order = order;
this._url = url;
this._subUrlBase = subUrlBase || url;
this._disableSubUrlTracking = disableSubUrlTracking;
this._icon = icon;
this._euiIconType = euiIconType;
this._linkToLastSubUrl = linkToLastSubUrl;
Expand All @@ -62,6 +64,7 @@ export class UiNavLink {
icon: this._icon,
euiIconType: this._euiIconType,
linkToLastSubUrl: this._linkToLastSubUrl,
disableSubUrlTracking: this._disableSubUrlTracking,
hidden: this._hidden,
disabled: this._disabled,
tooltip: this._tooltip,
Expand Down

0 comments on commit 4844420

Please sign in to comment.