From a08203fec62d01f3027093013f11ba8b2bc4d65b Mon Sep 17 00:00:00 2001
From: deep1401 <gandhi0869@gmail.com>
Date: Tue, 4 Feb 2025 09:36:54 -0800
Subject: [PATCH] Make the dataset tab optional based on checking if there is a
 dataset config variable needed by the plugin

---
 .../Experiment/Eval/EditEvalModal.tsx         | 22 ++++++++++++-------
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/src/renderer/components/Experiment/Eval/EditEvalModal.tsx b/src/renderer/components/Experiment/Eval/EditEvalModal.tsx
index e0208b91..9e6e69c1 100644
--- a/src/renderer/components/Experiment/Eval/EditEvalModal.tsx
+++ b/src/renderer/components/Experiment/Eval/EditEvalModal.tsx
@@ -105,6 +105,11 @@ export default function TrainingModalLoRA({
     }
   }, [experimentInfo, currentEvalName, pluginId]);
 
+  // Function to check if any key in the config contains the word "dataset"
+  const hasDatasetKey = (config: any) => {
+    return Object.keys(config).some(key => key.toLowerCase().includes('dataset'));
+  };
+
   if (!experimentInfo?.id) {
     return 'Select an Experiment';
   }
@@ -200,8 +205,8 @@ export default function TrainingModalLoRA({
             <TabList>
               <Tab>Introduction</Tab>
               <Tab>Name</Tab>
-              <Tab>Dataset</Tab>
               <Tab>Plugin Config</Tab>
+              {hasDatasetKey(config) && <Tab>Dataset</Tab>}
             </TabList>
             <TabPanel value={0} sx={{ p: 2, overflow: 'auto' }}>
               <PluginIntroduction
@@ -213,6 +218,13 @@ export default function TrainingModalLoRA({
               <TrainingModalFirstTab />
             </TabPanel>
             <TabPanel value={2} sx={{ p: 2, overflow: 'auto' }} keepMounted>
+              <DynamicPluginForm
+                experimentInfo={experimentInfo}
+                plugin={pluginId}
+                config={config}
+              />
+            </TabPanel>
+            {hasDatasetKey(config) && (<TabPanel value={3} sx={{ p: 2, overflow: 'auto' }} keepMounted>
               <>
                 <TrainingModalDataTab
                   datasetsIsLoading={datasetsIsLoading}
@@ -228,13 +240,7 @@ export default function TrainingModalLoRA({
                 />
               </>
             </TabPanel>
-            <TabPanel value={3} sx={{ p: 2, overflow: 'auto' }} keepMounted>
-              <DynamicPluginForm
-                experimentInfo={experimentInfo}
-                plugin={pluginId}
-                config={config}
-              />
-            </TabPanel>
+            )}
           </Tabs>
           <Stack spacing={2} direction="row" justifyContent="flex-end">
             <Button color="danger" variant="soft" onClick={() => onClose()}>
-- 
GitLab