diff --git a/public/app/core/components/AppChrome/MegaMenu/MegaMenuItemText.tsx b/public/app/core/components/AppChrome/MegaMenu/MegaMenuItemText.tsx
index 6510fda9a279..8b3f075221af 100644
--- a/public/app/core/components/AppChrome/MegaMenu/MegaMenuItemText.tsx
+++ b/public/app/core/components/AppChrome/MegaMenu/MegaMenuItemText.tsx
@@ -4,6 +4,7 @@ import React from 'react';
import { GrafanaTheme2 } from '@grafana/data';
import { selectors } from '@grafana/e2e-selectors';
import { Icon, Link, useTheme2 } from '@grafana/ui';
+import { useLinkWithVariables } from 'app/percona/shared/helpers/navigation';
export interface Props {
children: React.ReactNode;
@@ -17,6 +18,8 @@ export function MegaMenuItemText({ children, isActive, onClick, target, url }: P
const theme = useTheme2();
const styles = getStyles(theme, isActive);
const LinkComponent = !target && url.startsWith('/') ? Link : 'a';
+ // @PERCONA
+ const urlWithVariables = useLinkWithVariables(url);
const linkContent = (
@@ -35,7 +38,7 @@ export function MegaMenuItemText({ children, isActive, onClick, target, url }: P
className={cx(styles.container, {
[styles.containerActive]: isActive,
})}
- href={url}
+ href={urlWithVariables}
target={target}
onClick={onClick}
>
diff --git a/public/app/percona/inventory/Inventory.service.ts b/public/app/percona/inventory/Inventory.service.ts
index 2387d1c885ca..eda4869e939d 100644
--- a/public/app/percona/inventory/Inventory.service.ts
+++ b/public/app/percona/inventory/Inventory.service.ts
@@ -57,7 +57,7 @@ export const InventoryService = {
return api.post
(`/v1/management/Node/List`, body, false, token);
},
removeNode(body: RemoveNodeBody, token?: CancelToken) {
- return api.post(`${BASE_URL}/Nodes/Remove`, body, false, token);
+ return api.post(`/v1/management/Node/Unregister`, body, false, token);
},
getService(serviceId: string, token?: CancelToken) {
return api.post(`${BASE_URL}/Services/Get`, { service_id: serviceId }, false, token);
diff --git a/public/app/percona/shared/helpers/navigation.ts b/public/app/percona/shared/helpers/navigation.ts
new file mode 100644
index 000000000000..2751179b2aaa
--- /dev/null
+++ b/public/app/percona/shared/helpers/navigation.ts
@@ -0,0 +1,21 @@
+import { getLinkSrv } from 'app/features/panel/panellinks/link_srv';
+
+export const useLinkWithVariables = (url?: string) => {
+ if (url?.match('/d/')) {
+ return getLinkSrv().getLinkUrl({
+ url: url,
+ keepTime: true,
+ // Check if the DB type matches the current one used
+ includeVars: checkDbType(url),
+ });
+ } else {
+ return url ? url : '#';
+ }
+};
+
+const checkDbType = (url: string): boolean => {
+ const currentDB = window.location.pathname.split('/')[3].split('-')[0];
+ const urlDB = url.split('/')[3].split('-')[0];
+
+ return currentDB === urlDB;
+};