Provisioning: Show badge for all manager kinds (#103263)

* Provisioning: Display badge for all manager kinds

* Show the badge for folders

* Fix switch / case syntax to display correct manager kind

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

---------

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
Co-authored-by: Igor Suleymanov <igor.suleymanov@grafana.com>
This commit is contained in:
Alex Khomenko
2025-04-02 14:37:29 +03:00
committed by GitHub
co-authored by Igor Suleymanov
parent cbf25e994a
commit 1164230df6
3 changed files with 5 additions and 8 deletions
@@ -1,6 +1,5 @@
import { Badge } from '@grafana/ui';
import { t } from 'app/core/internationalization';
import { ManagerKind } from 'app/features/apiserver/types';
import { useIsProvisionedInstance } from 'app/features/provisioning/hooks/useIsProvisionedInstance';
import { NestedFolderDTO } from 'app/features/search/service/types';
import { FolderDTO, FolderListItemDTO } from 'app/types';
@@ -11,12 +10,7 @@ export interface Props {
export function FolderRepo({ folder }: Props) {
const isProvisionedInstance = useIsProvisionedInstance();
if (
!folder ||
('parentUID' in folder && folder.parentUID) ||
folder.managedBy !== ManagerKind.Repo ||
isProvisionedInstance
) {
if (!folder || ('parentUID' in folder && folder.parentUID) || !folder.managedBy || isProvisionedInstance) {
return null;
}
@@ -14,10 +14,13 @@ export default function ManagedDashboardNavBarBadge({ meta }: { meta: DashboardM
switch (kind) {
case ManagerKind.Terraform:
text = 'Terraform';
break;
case ManagerKind.Kubectl:
text = 'Kubectl';
break;
case ManagerKind.Plugin:
text = `Plugin: ${id}`;
break;
}
return <Badge color="darkgrey" icon="exchange-alt" text={text} key="provisioned-dashboard-button-badge" />;
}
@@ -135,7 +135,7 @@ export function ToolbarActions({ dashboard }: Props) {
});
}
if (isManaged && meta.canEdit) {
if (dashboard.isManaged() && meta.canEdit) {
toolbarActions.push({
group: 'icon-actions',
condition: true,