import { useState } from 'react'; import { Alert, Button, Field, Modal, Text, Space } from '@grafana/ui'; import { FolderPicker } from 'app/core/components/Select/FolderPicker'; import { t, Trans } from 'app/core/internationalization'; import { DashboardTreeSelection } from '../../types'; import { DescendantCount } from './DescendantCount'; export interface Props { isOpen: boolean; onConfirm: (targetFolderUid: string) => Promise; onDismiss: () => void; selectedItems: DashboardTreeSelection; } export const MoveModal = ({ onConfirm, onDismiss, selectedItems, ...props }: Props) => { const [moveTarget, setMoveTarget] = useState(); const [isMoving, setIsMoving] = useState(false); const selectedFolders = Object.keys(selectedItems.folder).filter((uid) => selectedItems.folder[uid]); const onMove = async () => { if (moveTarget !== undefined) { setIsMoving(true); try { await onConfirm(moveTarget); setIsMoving(false); onDismiss(); } catch { setIsMoving(false); } } }; return ( {selectedFolders.length > 0 && ( )} This action will move the following content: ); };