From 19d16ae7b8e46c4331dc6141d3d2ac2efdbabd67 Mon Sep 17 00:00:00 2001 From: deep1401 <gandhi0869@gmail.com> Date: Wed, 12 Feb 2025 08:04:00 -0800 Subject: [PATCH] Add search bar for tasks tab in evals --- .../components/Experiment/Eval/EvalModal.tsx | 66 +++++++++++++++---- 1 file changed, 55 insertions(+), 11 deletions(-) diff --git a/src/renderer/components/Experiment/Eval/EvalModal.tsx b/src/renderer/components/Experiment/Eval/EvalModal.tsx index f958ff2f..ca661288 100644 --- a/src/renderer/components/Experiment/Eval/EvalModal.tsx +++ b/src/renderer/components/Experiment/Eval/EvalModal.tsx @@ -284,8 +284,41 @@ export default function EvalModal({ ); } - function TasksTab(options) { - const taskOptions = options.options + // function TasksTab(options) { + // const taskOptions = options.options + + // const handleToggleTask = (option: string) => { + // if (selectedTasks.includes(option)) { + // setSelectedTasks(selectedTasks.filter((t) => t !== option)); + // } else { + // setSelectedTasks([...selectedTasks, option]); + // } + // }; + + // return ( + // <Stack spacing={2}> + // <FormLabel>Evaluation Tasks</FormLabel> + // {taskOptions.map((option) => ( + // <FormControl key={option}> + // <Checkbox + // checked={selectedTasks.includes(option)} + // onChange={() => handleToggleTask(option)} + // label={option} + // /> + // </FormControl> + // ))} + // </Stack> + // ); + // } + + function TasksTab( options) { + const [searchText, setSearchText] = useState(""); + const taskOptions = options.options; + + // Filter task options based on search text + const filteredTaskOptions = taskOptions.filter((option) => + option.toLowerCase().includes(searchText.toLowerCase()) + ); const handleToggleTask = (option: string) => { if (selectedTasks.includes(option)) { @@ -297,20 +330,29 @@ export default function EvalModal({ return ( <Stack spacing={2}> - {taskOptions.map((option) => ( - <FormControl key={option}> - <Checkbox - checked={selectedTasks.includes(option)} - onChange={() => handleToggleTask(option)} - label={option} + <FormLabel>Evaluation Tasks</FormLabel> + <Input + placeholder="Search tasks..." + value={searchText} + onChange={(e) => setSearchText(e.target.value)} + size="sm" /> - </FormControl> - ))} + {filteredTaskOptions.map((option) => ( + <FormControl key={option}> + <Checkbox + checked={selectedTasks.includes(option)} + onChange={() => handleToggleTask(option)} + label={option} + /> + </FormControl> + ))} </Stack> ); } + + const handleSubmit = async (event: FormEvent<HTMLFormElement>) => { event.preventDefault(); const formData = new FormData(event.currentTarget); @@ -414,7 +456,9 @@ export default function EvalModal({ <TrainingModalFirstTab /> </TabPanel> <TabPanel value={2} sx={{ p: 2, overflow: 'auto' }} keepMounted> - <TasksTab options={taskOptions}/> + <TasksTab + options={taskOptions} + /> </TabPanel> <TabPanel value={3} sx={{ p: 2, overflow: 'auto' }} keepMounted> <DynamicPluginForm -- GitLab