@@ -376,40 +376,44 @@ export class ExploreEmbeddable
376376 ...( categoricalColumns ?? [ ] ) ,
377377 ...( dateColumns ?? [ ] ) ,
378378 ] ;
379- if ( selectedChartType === 'table' ) {
380- this . searchProps . tableData = {
381- columns : allColumns ,
382- rows : visualizationData . transformedData ?? [ ] ,
383- } ;
384- } else {
385- const axesMapping = convertStringsToMappings ( visualization . axesMapping , allColumns ) ;
386- const matchedRule = visualizationRegistry . findRuleByAxesMapping (
387- visualization . axesMapping ,
388- allColumns
389- ) ;
390- if ( ! matchedRule || ! matchedRule . toSpec ) {
391- throw new Error (
392- `Cannot load saved visualization "${ this . panelTitle } " with id ${ this . savedExplore . id } `
379+
380+ // Check if there's data to visualize
381+ if ( visualizationData . transformedData && visualizationData . transformedData . length > 0 ) {
382+ if ( selectedChartType === 'table' ) {
383+ this . searchProps . tableData = {
384+ columns : allColumns ,
385+ rows : visualizationData . transformedData ?? [ ] ,
386+ } ;
387+ } else {
388+ const axesMapping = convertStringsToMappings ( visualization . axesMapping , allColumns ) ;
389+ const matchedRule = visualizationRegistry . findRuleByAxesMapping (
390+ visualization . axesMapping ,
391+ allColumns
392+ ) ;
393+ if ( ! matchedRule || ! matchedRule . toSpec ) {
394+ throw new Error (
395+ `Cannot load saved visualization "${ this . panelTitle } " with id ${ this . savedExplore . id } `
396+ ) ;
397+ }
398+ const searchContext = {
399+ query : this . input . query ,
400+ filters : this . input . filters ,
401+ timeRange : this . input . timeRange ,
402+ } ;
403+ this . searchProps . searchContext = searchContext ;
404+ const styleOptions = visualization . params ;
405+ const spec = matchedRule . toSpec (
406+ visualizationData . transformedData ,
407+ numericalColumns ,
408+ categoricalColumns ,
409+ dateColumns ,
410+ styleOptions ,
411+ selectedChartType ,
412+ axesMapping
393413 ) ;
414+ const exp = toExpression ( searchContext , spec ) ;
415+ this . searchProps . expression = exp ;
394416 }
395- const searchContext = {
396- query : this . input . query ,
397- filters : this . input . filters ,
398- timeRange : this . input . timeRange ,
399- } ;
400- this . searchProps . searchContext = searchContext ;
401- const styleOptions = visualization . params ;
402- const spec = matchedRule . toSpec (
403- visualizationData . transformedData ,
404- numericalColumns ,
405- categoricalColumns ,
406- dateColumns ,
407- styleOptions ,
408- selectedChartType ,
409- axesMapping
410- ) ;
411- const exp = toExpression ( searchContext , spec ) ;
412- this . searchProps . expression = exp ;
413417 }
414418 }
415419 this . updateOutput ( { loading : false , error : undefined } ) ;
0 commit comments