Context menu on right click to print or save chart- CanvasJS JavaScript Charts

Context menu on right click to print or save chart- CanvasJS JavaScript Charts

by canvasjs

HTML

<script src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jquery-contextmenu/2.4.3/jquery.contextMenu.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-contextmenu/2.4.3/jquery.contextMenu.min.js"></script>
<br/>
<!-- Just so that JSFiddle's Result label doesn't overlap the Chart -->
<div id="chartContainer" style="height: 360px; width: 100%;"></div>

JavaScript

var chart = new CanvasJS.Chart("chartContainer", {
  title: {
    text: "Right click to get context Menu"
  },
  data: [{
    type: "column",
    dataPoints: [
      { x: 10, y: 71 },
      { x: 20, y: 55 },
      { x: 30, y: 50 },
      { x: 40, y: 65 },
      { x: 50, y: 95 },
      { x: 60, y: 68 },
      { x: 70, y: 28 },
      { x: 80, y: 34 },
      { x: 90, y: 14 }
    ]
  }]
});

chart.render();

$('#chartContainer').contextMenu( {
  selector: "div",
  items: {
    "print": {
      name: "Print",
      callback: function() {
        chart.print();
      }
    },
    "saveAsJPEG": {
      name: "Save as JPEG", 
      callback: function() {      
        chart.exportChart({ format: "jpeg" });
      }
    },
    "saveAsPNG": {
      name: "Save as PNG", 
      callback: function() {
        chart.exportChart({ format: "png" });
      }
    },
    "sep1": "---------",
    "cancel": {
      name: "Cancel", 
      callback: function() {
        return;
      }
    }
  }
});