@@ -766,17 +766,50 @@ const legendConfig = computed(() => {
766766function  segregate (id ) {
767767    if (segregated .value .includes (id)) { 
768768        segregated .value  =  segregated .value .filter (s  =>  s !==  id); 
769-         emit (' selectLegend' null ) 
769+         emit (' selectLegend' mutableDataset . value ) 
770770    }else  { 
771771        if (segregated .value .length  ===  convertedDataset .value .length  -  1 ) return ; 
772772        segregated .value .push (id); 
773-         emit (' selectLegend' convertedDataset .value . find ( d   =>   d . uid   ===  id) ); 
773+         emit (' selectLegend' mutableDataset .value ); 
774774    } 
775775    if (fixedDatapoint .value ) { 
776776        fixDatapoint (drawableDataset .value .find ((_ , i ) =>  i ===  fixedDatapointIndex .value )) 
777777    } 
778778} 
779779
780+ function  validSeriesToToggle (name ) {
781+     if  (! convertedDataset .value .length ) { 
782+         if  (FINAL_CONFIG .value .debug ) { 
783+             console .warn (' VueUiDonutEvolution - There are no series to show.'  
784+         } 
785+         return  null ; 
786+     } 
787+     const  dp  =  convertedDataset .value .find (d  =>  d .name  ===  name); 
788+     if  (! dp) { 
789+         if  (FINAL_CONFIG .value .debug ) { 
790+             console .warn (` VueUiDonutEvolution - Series name not found "${ name} `  
791+         } 
792+         return  null ; 
793+     } 
794+     return  dp; 
795+ } 
796+ 
797+ function  showSeries (name ) {
798+     const  dp  =  validSeriesToToggle (name); 
799+     if  (dp ===  null ) return ; 
800+     if  (segregated .value .includes (dp .uid )) { 
801+         segregate (dp .uid ); 
802+     } 
803+ } 
804+ 
805+ function  hideSeries (name ) {
806+     const  dp   =  validSeriesToToggle (name); 
807+     if  (dp ===  null ) return ; 
808+     if  (! segregated .value .includes (dp .uid ))  { 
809+         segregate (dp .uid ); 
810+     } 
811+ } 
812+ 
780813const  table  =  computed (() =>  {
781814    const  head  =  [' ' concat (convertedDataset .value .filter (ds  =>  ! segregated .value .includes (ds .uid )).map (ds  =>  { 
782815        return  { 
@@ -1001,6 +1034,8 @@ defineExpose({
10011034    generateCsv, 
10021035    generateImage, 
10031036    generateSvg, 
1037+     hideSeries, 
1038+     showSeries, 
10041039    toggleTable, 
10051040    toggleAnnotator, 
10061041    toggleFullscreen 
0 commit comments