Вход Регистрация
Файл: wapxl.ru/top/amcharts/plugins/export/examples/export.config.advanced.js
Строк: 204
<?php
/**
 * This is a sample chart export config file. It is provided as a reference on
 * how miscelaneous items in export menu can be used and set up.
 *
 * Please refer to README.md for more information.
 */

/**
 * PDF-specfic configuration
 */
AmCharts.exportDrawingMenu = [ {
  class: 
"export-drawing",
  
label: "Export",
  
menu: [ {
    
label: "Undo",
    
click: function() {
      
this.drawing.undo();
    }
  }, {
    
label: "Redo",
    
click: function() {
      
this.drawing.redo();
    }
  }, {
    
label: "Cancel",
    
click: function() {
      
this.drawing.done();
    }
  }, {
    
label: "Save",
    
menu: [ {
      
label: "JPG",
      
click: function() {
        
this.drawing.done();
        
this.toJPG( {}, function( data ) {
          
this.download( data, "image/jpg", "amCharts.jpg" );
        } );
      }
    }, {
      
label: "PNG",
      
click: function() {
        
this.drawing.done();
        
this.toPNG( {}, function( data ) {
          
this.download( data, "image/png", "amCharts.png" );
        } );
      }
    }, {
      
label: "PDF",
      
click: function() {
        
this.drawing.done();
        
this.toPDF( {}, function( data ) {
          
this.download( data, "application/pdf", "amCharts.pdf" );
        } );
      }
    }, {
      
label: "SVG",
      
click: function() {
        
this.drawing.done();
        
this.toSVG( {}, function( data ) {
          
this.download( data, "text/xml", "amCharts.svg" );
        } );
      }
    } ]
  } ]
} ];


/**
 * Define main universal config
 */
AmCharts.exportCFG = {
  
enabled: true,
  
libs: {
    
path: "../libs/"
  
},
  
menu: [ {
    class: 
"export-main",
    
label: "Export",
    
menu: [
      
/*
       ** DRAWING
       */
      
{
        
label: "Draw",
        
click: function() {
          
this.capture( {
            
action: "draw",
            
freeDrawingBrush: {
              
width: 2,
              
color: "#000000",
              
shadow: {
                
color: "rgba(0,0,0,0.3)",
                
blur: 10,
                
offsetX: 3,
                
offsetY: 3
              
}
            }
          }, function() {
            
this.createMenu( AmCharts.exportDrawingMenu );
          } );
        }
      },

      
/*
       ** DELAYED EXPORT
       */
      
{
        
label: "Delayed",
        
click: function() {
          var 
_this = this;
          var 
delay = 2;
          var 
timer = 0;
          var 
starttime = Number( new Date() );
          var 
menu = this.createMenu( [ {
            
label: "Capturing: " + delay,
            
click: function() {
              
clearTimeout( timer );
              
this.createMenu( this.defaults.menu );
            }
          } ] );
          var 
label = menu.getElementsByTagName( "span" )[ 0 ];

          
timer = setInterval( function() {
            
diff = ( delay - ( Number( new Date() ) - starttime ) / 1000 );
            
label.innerHTML = "Capturing: " + ( diff < 0 ? 0 : diff ).toFixed( 2 );

            if ( 
diff <= 0 ) {
              
clearTimeout( timer );
              
_this.capture( {}, function() {
                
this.toJPG( {}, function( data ) {
                  
this.download( data, "image/jpg", "amCharts.jpg" );
                } );
                
this.createMenu( this.defaults.menu );
              } );
            }
          }, 
10 );
        }
      },

      
/*
       ** DELAYED EXPORT WITH DRAWING
       */
      
{
        
label: "Delayed Draw",
        
click: function() {
          var 
_this = this;
          var 
delay = 2;
          var 
timer = 0;
          var 
starttime = Number( new Date() );
          var 
menu = this.createMenu( [ {
            
label: "Capturing: " + delay,
            
click: function() {
              
clearTimeout( timer );
              
this.createMenu( this.defaults.menu );
            }
          } ] );
          var 
label = menu.getElementsByTagName( "span" )[ 0 ];

          
timer = setInterval( function() {
            var 
diff = ( delay - ( Number( new Date() ) - starttime ) / 1000 );
            
label.innerHTML = "Capturing: " + ( diff < 0 ? 0 : diff ).toFixed( 2 );

            if ( 
diff <= 0 ) {
              
clearTimeout( timer );
              
_this.capture( {
                
action: "draw"
              
}, function() {
                
_this.createMenu( AmCharts.exportDrawingMenu );
              } );
            }
          }, 
10 );
        }
      },

      
/*
       ** DOWNLOAD
       */
      
{
        
label: "Download",
        
menu: [ {
          
label: "JPG",
          
click: function() {
            
this.capture( {}, function() {
              
this.toJPG( {}, function( data ) {
                
this.download( data, "image/jpg", "amCharts.jpg" );
              } );
            } );
          }
        }, {
          
label: "PNG",
          
click: function() {
            
this.capture( {}, function() {
              
this.toPNG( {}, function( data ) {
                
this.download( data, "image/png", "amCharts.png" );
              } );
            } );
          }
        }, {
          
label: "PDF",
          
click: function() {
            
this.capture( {}, function() {
              
this.toPDF( {}, function( data ) {
                
this.download( data, "application/pdf", "amCharts.pdf" );
              } );
            } );
          }
        }, {
          
label: "PDF + data",
          
click: function() {
            
this.capture( {}, function() {
              var 
tableData = this.setup.chart.dataProvider;
              var 
tableBody = this.toArray( {
                
withHeader: true,
                
data: tableData
              
} );

              var 
tableWidths = [];
              var 
content = [ {
                
image: "reference",
                
fit: [ 523.28, 769.89 ]
              } ];

              for ( 
i in tableBody[ 0 ] ) {
                
tableWidths.push( "*" );
              }

              
content.push( {
                
table: {
                  
headerRows: 1,
                  
widths: tableWidths,
                  
body: tableBody
                
},
                
layout: 'lightHorizontalLines'
              
} );

              
this.toPDF( {
                
content: content
              
}, function( data ) {
                
this.download( data, "application/pdf", "amCharts.pdf" );
              } );
            } );
          }
        }, {
          
label: "SVG",
          
click: function() {
            
this.capture( {}, function() {
              
this.toSVG( {}, function( data ) {
                
this.download( data, "text/xml", "amCharts.svg" );
              } );
            } );
          }
        }, {
          
label: "CSV",
          
click: function() {
            
this.toCSV( {}, function( data ) {
              
this.download( data, "text/plain", "amCharts.csv" );
            } );
          }
        }, {
          
label: "JSON",
          
click: function() {
            
this.toJSON( {}, function( data ) {
              
this.download( data, "text/plain", "amCharts.json" );
            } );
          }
        }, {
          
label: "XLSX",
          
click: function() {
            
this.toXLSX( {}, function( data ) {
              
this.download( data, "application/octet-stream", "amCharts.xlsx" );
            } );
          }
        } ]
      }
    ]
  } ]
};
?>
Онлайн: 2
Реклама