Dashboards: Star dashboards by UID (#63134)

* Dashboards: Star dashboards by UID

* undo async
This commit is contained in:
Josh Hunt 2023-02-09 10:24:46 +00:00 committed by GitHub
parent 00b692c0f9
commit 58f3f00bd5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 5 additions and 6 deletions

View File

@ -130,7 +130,7 @@ export const DashNav = React.memo<Props>((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();

View File

@ -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;
}

View File

@ -103,8 +103,7 @@ export function DashList(props: PanelProps<PanelOptions>) {
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);