From 58f3f00bd548db39f1dc9b8c874dad2480e03298 Mon Sep 17 00:00:00 2001 From: Josh Hunt Date: Thu, 9 Feb 2023 10:24:46 +0000 Subject: [PATCH] Dashboards: Star dashboards by UID (#63134) * Dashboards: Star dashboards by UID * undo async --- .../app/features/dashboard/components/DashNav/DashNav.tsx | 2 +- public/app/features/dashboard/services/DashboardSrv.ts | 6 +++--- public/app/plugins/panel/dashlist/DashList.tsx | 3 +-- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/public/app/features/dashboard/components/DashNav/DashNav.tsx b/public/app/features/dashboard/components/DashNav/DashNav.tsx index 87b2dfbdf28..f7100b0d2ee 100644 --- a/public/app/features/dashboard/components/DashNav/DashNav.tsx +++ b/public/app/features/dashboard/components/DashNav/DashNav.tsx @@ -130,7 +130,7 @@ export const DashNav = React.memo((props) => { const dashboardSrv = getDashboardSrv(); const { dashboard, setStarred } = props; - dashboardSrv.starDashboard(dashboard.id, Boolean(dashboard.meta.isStarred)).then((newState) => { + dashboardSrv.starDashboard(dashboard.uid, Boolean(dashboard.meta.isStarred)).then((newState) => { setStarred({ id: dashboard.uid, title: dashboard.title, url: dashboard.meta.url ?? '', isStarred: newState }); dashboard.meta.isStarred = newState; forceUpdate(); diff --git a/public/app/features/dashboard/services/DashboardSrv.ts b/public/app/features/dashboard/services/DashboardSrv.ts index 41f7ca91703..61a9b83494b 100644 --- a/public/app/features/dashboard/services/DashboardSrv.ts +++ b/public/app/features/dashboard/services/DashboardSrv.ts @@ -92,19 +92,19 @@ export class DashboardSrv { ); } - starDashboard(dashboardId: string, isStarred: boolean) { + starDashboard(dashboardUid: string, isStarred: boolean) { const backendSrv = getBackendSrv(); const request = { showSuccessAlert: false, - url: '/api/user/stars/dashboard/' + dashboardId, + url: '/api/user/stars/dashboard/uid/' + dashboardUid, method: isStarred ? 'DELETE' : 'POST', }; return backendSrv.request(request).then(() => { const newIsStarred = !isStarred; - if (this.dashboard?.id === dashboardId) { + if (this.dashboard?.uid === dashboardUid) { this.dashboard.meta.isStarred = newIsStarred; } diff --git a/public/app/plugins/panel/dashlist/DashList.tsx b/public/app/plugins/panel/dashlist/DashList.tsx index d03431ee639..6c9515667c9 100644 --- a/public/app/plugins/panel/dashlist/DashList.tsx +++ b/public/app/plugins/panel/dashlist/DashList.tsx @@ -103,8 +103,7 @@ export function DashList(props: PanelProps) { e.preventDefault(); e.stopPropagation(); - // FIXME: Do not use dash ID. Use UID to star a dashboard once the backend allows it - const isStarred = await getDashboardSrv().starDashboard(dash.id!.toString(), dash.isStarred); + const isStarred = await getDashboardSrv().starDashboard(dash.uid, dash.isStarred); const updatedDashboards = new Map(dashboards); updatedDashboards.set(dash?.uid ?? '', { ...dash, isStarred }); setDashboards(updatedDashboards);