Skip to content

Commit 7ae64ec

Browse files
committed
feat: Updated datasets UI to support grouping
Signed-off-by: ntkathole <nikhilkathole2683@gmail.com>
1 parent 165fcf2 commit 7ae64ec

8 files changed

Lines changed: 1218 additions & 56 deletions

ui/src/pages/saved-data-sets/CreateDatasetForm.tsx

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,9 @@ const CreateDatasetForm = ({ onClose }: CreateDatasetFormProps) => {
103103

104104
// Step 3: Storage & metadata
105105
const [datasetName, setDatasetName] = useState("");
106+
const [namespace, setNamespace] = useState("");
107+
const [collection, setCollection] = useState("");
108+
const [description, setDescription] = useState("");
106109
const [storageType, setStorageType] = useState("file");
107110
const [storagePath, setStoragePath] = useState("");
108111
const [tags, setTags] = useState<TagEntry[]>([]);
@@ -268,6 +271,10 @@ const CreateDatasetForm = ({ onClose }: CreateDatasetFormProps) => {
268271
),
269272
};
270273

274+
if (namespace.trim()) payload.namespace = namespace.trim();
275+
if (collection.trim()) payload.collection = collection.trim();
276+
if (description.trim()) payload.description = description.trim();
277+
271278
if (featureMode === "service" && selectedService.length > 0) {
272279
payload.feature_service_name = selectedService[0].label;
273280
} else if (featureMode === "individual" && selectedFeatures.length > 0) {
@@ -562,6 +569,47 @@ const CreateDatasetForm = ({ onClose }: CreateDatasetFormProps) => {
562569
/>
563570
</EuiFormRow>
564571

572+
<EuiFormRow
573+
label="Description (optional)"
574+
helpText="Brief description of this dataset."
575+
>
576+
<EuiFieldText
577+
value={description}
578+
onChange={(e) => setDescription(e.target.value)}
579+
placeholder="e.g. Training data for driver fraud model"
580+
fullWidth
581+
/>
582+
</EuiFormRow>
583+
584+
<EuiFlexGroup gutterSize="m">
585+
<EuiFlexItem>
586+
<EuiFormRow
587+
label="Namespace (optional)"
588+
helpText="Top-level grouping (e.g. fraud, underwriting)."
589+
>
590+
<EuiFieldText
591+
value={namespace}
592+
onChange={(e) => setNamespace(e.target.value)}
593+
placeholder="e.g. fraud"
594+
/>
595+
</EuiFormRow>
596+
</EuiFlexItem>
597+
<EuiFlexItem>
598+
<EuiFormRow
599+
label="Collection (optional)"
600+
helpText="Sub-grouping within namespace (e.g. raw, curated)."
601+
>
602+
<EuiFieldText
603+
value={collection}
604+
onChange={(e) => setCollection(e.target.value)}
605+
placeholder="e.g. training"
606+
/>
607+
</EuiFormRow>
608+
</EuiFlexItem>
609+
</EuiFlexGroup>
610+
611+
<EuiSpacer size="m" />
612+
565613
<EuiFlexGroup gutterSize="m">
566614
<EuiFlexItem grow={1}>
567615
<EuiFormRow label="Storage Type">

0 commit comments

Comments
 (0)