Spaces:
Running
Running
File size: 2,235 Bytes
16ab111 6bc7874 16ab111 6bc7874 16ab111 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
import React from "react";
import {
Dialog,
DialogContent,
DialogHeader,
DialogTitle,
DialogDescription,
} from "@/components/ui/dialog";
import {
Table,
TableBody,
TableCell,
TableHead,
TableHeader,
TableRow,
} from "@/components/ui/table";
import { Button } from "@/components/ui/button";
import { UrdfFileModel } from "@/lib/types";
interface UrdfSelectionModalProps {
isOpen: boolean;
onClose: () => void;
urdfModels: UrdfFileModel[];
onSelectModel: (model: UrdfFileModel) => void;
}
export function UrdfSelectionModal({
isOpen,
onClose,
urdfModels,
onSelectModel,
}: UrdfSelectionModalProps) {
return (
<Dialog open={isOpen} onOpenChange={(open) => !open && onClose()}>
<DialogContent className="sm:max-w-[600px]">
<DialogHeader>
<DialogTitle>Select Urdf Model</DialogTitle>
<DialogDescription>
Multiple Urdf files were found. Please select the model you want to
visualize.
</DialogDescription>
</DialogHeader>
<div className="max-h-[400px] overflow-y-auto">
<Table>
<TableHeader>
<TableRow>
<TableHead>File Name</TableHead>
<TableHead>Path</TableHead>
<TableHead className="w-[100px]">Action</TableHead>
</TableRow>
</TableHeader>
<TableBody>
{urdfModels.map((model) => (
<TableRow key={model.path}>
<TableCell className="font-medium">
{model.path.split("/").pop()}
</TableCell>
<TableCell className="text-sm text-muted-foreground truncate max-w-[250px]">
{model.path}
</TableCell>
<TableCell>
<Button
onClick={() => onSelectModel(model)}
variant="secondary"
size="sm"
>
Select
</Button>
</TableCell>
</TableRow>
))}
</TableBody>
</Table>
</div>
</DialogContent>
</Dialog>
);
}
|