From 0715d057339e7cbaa8fc0d683ba53751a5b72313 Mon Sep 17 00:00:00 2001 From: Christine Banek Date: Tue, 3 Dec 2019 11:26:37 -0700 Subject: [PATCH] Fix 'Open application' link when using basehref (#2729) --- ui/src/app/app.tsx | 2 +- .../application-resource-tree.tsx | 11 ++++++++--- ui/src/app/shared/context.ts | 3 ++- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/ui/src/app/app.tsx b/ui/src/app/app.tsx index 7861282220..2e8d8db8c2 100644 --- a/ui/src/app/app.tsx +++ b/ui/src/app/app.tsx @@ -156,7 +156,7 @@ export class App extends React.Component<{}, {popupProps: PopupProps; error: Err - + {this.state.popupProps && } diff --git a/ui/src/app/applications/components/application-resource-tree/application-resource-tree.tsx b/ui/src/app/applications/components/application-resource-tree/application-resource-tree.tsx index 79023a1607..2cfa7f2254 100644 --- a/ui/src/app/applications/components/application-resource-tree/application-resource-tree.tsx +++ b/ui/src/app/applications/components/application-resource-tree/application-resource-tree.tsx @@ -6,6 +6,7 @@ import * as React from 'react'; import * as models from '../../../shared/models'; import {EmptyState} from '../../../shared/components'; +import {Consumer} from '../../../shared/context'; import {ApplicationURLs} from '../application-urls'; import {ResourceIcon} from '../resource-icon'; import {ComparisonStatusIcon, getAppOverridesCount, HealthStatusIcon, isAppNode, NodeId, nodeKey} from '../utils'; @@ -214,9 +215,13 @@ function renderResourceNode(props: ApplicationResourceTreeProps, id: string, nod {healthState != null && } {comparisonStatus != null && } {appNode && !rootNode && ( - - - + + {ctx => ( + + + + )} + )} diff --git a/ui/src/app/shared/context.ts b/ui/src/app/shared/context.ts index 0bd9100ec5..a594a27783 100644 --- a/ui/src/app/shared/context.ts +++ b/ui/src/app/shared/context.ts @@ -2,12 +2,13 @@ import {AppContext as ArgoAppContext, NavigationApi, NotificationsApi, PopupApi} import {History} from 'history'; import * as React from 'react'; -export type AppContext = ArgoAppContext & {apis: {popup: PopupApi; notifications: NotificationsApi; navigation: NavigationApi}}; +export type AppContext = ArgoAppContext & {apis: {popup: PopupApi; notifications: NotificationsApi; navigation: NavigationApi; baseHref: string}}; export interface ContextApis { popup: PopupApi; notifications: NotificationsApi; navigation: NavigationApi; + baseHref: string; } export const {Provider, Consumer} = React.createContext(null);