File size: 1,540 Bytes
87337b1 |
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 |
import * as React from "react"
import {
Select,
SelectContent,
SelectItem,
SelectTrigger,
SelectValue,
} from "@/components/ui/select"
import { useAppDispatch, useAppSelector } from "@/common/hooks"
import {
setSelectedGraphId,
} from "@/store/reducers/global"
import { useIsCompactLayout } from "@/common"
import { cn } from "@/lib/utils"
export function RemoteGraphSelect() {
const dispatch = useAppDispatch()
const graphName = useAppSelector((state) => state.global.selectedGraphId)
const graphs = useAppSelector((state) => state.global.graphList)
const agentConnected = useAppSelector((state) => state.global.agentConnected)
const onGraphNameChange = (val: string) => {
dispatch(setSelectedGraphId(val))
}
const graphOptions = graphs.map((item) => ({
label: item,
value: item,
}))
return (
<>
<Select
value={graphName}
onValueChange={onGraphNameChange}
disabled={agentConnected}
>
<SelectTrigger
className={cn(
"w-auto", // or "w-auto max-w-full" if you want to keep the existing defaults
)}
>
<SelectValue placeholder={"Select Graph"} />
</SelectTrigger>
<SelectContent>
{graphOptions.map((item) => (
<SelectItem key={item.value} value={item.value}>
{item.label}
</SelectItem>
))}
</SelectContent>
</Select>
</>
)
}
|