diff --git a/public/app/features/dashboard-scene/scene/setDashboardPanelContext.ts b/public/app/features/dashboard-scene/scene/setDashboardPanelContext.ts index 4b141354801..f4e053f2e0e 100644 --- a/public/app/features/dashboard-scene/scene/setDashboardPanelContext.ts +++ b/public/app/features/dashboard-scene/scene/setDashboardPanelContext.ts @@ -18,7 +18,12 @@ export function setDashboardPanelContext(vizPanel: VizPanel, context: PanelConte const builtInLayer = getBuiltInAnnotationsLayer(dashboard); // When there is no builtin annotations query we disable the ability to add annotations - if (!builtInLayer || !dashboard.canEditDashboard()) { + if (!builtInLayer) { + return false; + } + + // If feature flag is enabled we pass the info of whether annotation can be added through the dashboard permissions + if (!config.featureToggles.annotationPermissionUpdate && !dashboard.canEditDashboard()) { return false; } @@ -29,7 +34,8 @@ export function setDashboardPanelContext(vizPanel: VizPanel, context: PanelConte context.canEditAnnotations = (dashboardUID?: string) => { const dashboard = getDashboardSceneFor(vizPanel); - if (!dashboard.canEditDashboard()) { + // If feature flag is enabled we pass the info of whether annotation can be edited through the dashboard permissions + if (!config.featureToggles.annotationPermissionUpdate && !dashboard.canEditDashboard()) { return false; } @@ -43,7 +49,8 @@ export function setDashboardPanelContext(vizPanel: VizPanel, context: PanelConte context.canDeleteAnnotations = (dashboardUID?: string) => { const dashboard = getDashboardSceneFor(vizPanel); - if (!dashboard.canEditDashboard()) { + // If feature flag is enabled we pass the info of whether annotation can be deleted through the dashboard permissions + if (!config.featureToggles.annotationPermissionUpdate && !dashboard.canEditDashboard()) { return false; }