@@ -20,6 +20,7 @@ import {
2020} from '@/components/ui/dropdown-menu' ;
2121import { downloadFile } from '@/lib/download-file' ;
2222import { SyntheticDataParameters } from '@/components/synthetic-data-interfaces/SyntheticDataParameters' ;
23+ import { exportToCSV } from '@/lib/utils' ;
2324
2425const PAGE_STYLE = `
2526 @page {
@@ -132,6 +133,12 @@ export default function SyntheticDataGeneration() {
132133 } ) ;
133134 } ;
134135
136+ const handleExport = ( syntheticData : object [ ] ) => {
137+ if ( syntheticData . length > 0 ) {
138+ exportToCSV ( syntheticData , 'synthetic_data' ) ;
139+ }
140+ } ;
141+
135142 return (
136143 < main ref = { contentRef } className = "gap-4 p-4 flex flex-col" >
137144 { ! lang && < LanguageSwitcher /> }
@@ -172,25 +179,38 @@ export default function SyntheticDataGeneration() {
172179 { t ( 'syntheticData.exportToPDF' ) }
173180 </ DropdownMenuItem >
174181 { clusterInfo && (
175- < DropdownMenuItem
176- onClick = { ( ) => {
177- downloadFile (
178- JSON . stringify (
179- {
180- fileName : data . fileName ,
181- ...clusterInfo ,
182- } ,
183- null ,
184- 2
185- ) ,
186- `${ data . fileName . replace ( '.csv' , '' ) || 'cluster-info' } -${ clusterInfo . date . toISOString ( ) } .json` ,
187- 'application/json'
188- ) ;
189- } }
190- >
191- < Share className = "size-3.5 mr-2" />
192- { t ( 'syntheticData.exportToJSON' ) }
193- </ DropdownMenuItem >
182+ < >
183+ < DropdownMenuItem
184+ onClick = { ( ) => {
185+ downloadFile (
186+ JSON . stringify (
187+ {
188+ fileName :
189+ data . fileName ,
190+ ...clusterInfo ,
191+ } ,
192+ null ,
193+ 2
194+ ) ,
195+ `${ data . fileName . replace ( '.csv' , '' ) || 'cluster-info' } -${ clusterInfo . date . toISOString ( ) } .json` ,
196+ 'application/json'
197+ ) ;
198+ } }
199+ >
200+ < Share className = "size-3.5 mr-2" />
201+ { t ( 'syntheticData.exportToJSON' ) }
202+ </ DropdownMenuItem >
203+ < DropdownMenuItem
204+ onClick = { ( ) => {
205+ handleExport (
206+ clusterInfo . syntheticData as object [ ]
207+ ) ;
208+ } }
209+ >
210+ < Share className = "size-3.5 mr-2" />
211+ { t ( 'syntheticData.exportToCSV' ) }
212+ </ DropdownMenuItem >
213+ </ >
194214 ) }
195215 </ DropdownMenuContent >
196216 </ DropdownMenu >
0 commit comments