Hide zoom and pan buttons by default if viewPort is set - CanvasJS JavaScript Charts
Hide zoom and pan buttons by default if viewPort is set - CanvasJS JavaScript Charts
HTML
<script src="https://canvasjs.com/assets/script/canvasjs.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>
<div id="chartContainer2" style="height: 360px; width: 100%;"></div>
CSS
.canvasjs-chart-toolbar> button:nth-child(2) {
/*If you like to remove reset button aswell remove ":first-child"*/
visibility: hidden;
}
.canvasjs-chart-toolbar> button:nth-child(1) {
/*If you like to remove reset button aswell remove ":first-child"*/
visibility: hidden;
}
.canvasjs-chart-toolbar> button:nth-child(3) {
/*If you like to remove reset button aswell remove ":first-child"*/
visibility: visible;
}
JavaScript
var chart = new CanvasJS.Chart("chartContainer", {
zoomEnabled: true,
exportEnabled: true,
rangeChanging: disableZoomButtonOnReset,
axisX: {
viewportMinimum: 0,
viewportMaximum: 40
},
data: [{
type: "line",
dataPoints: dataGenerator(100),
}]
});
chart.render();
function disableZoomButtonOnReset(e) {
var parentElement = document.getElementsByClassName("canvasjs-chart-toolbar");
console.log(parentElement[0].children[2]);
if (e.trigger === "reset") {
parentElement[0].children[1].style.visibility = "hidden";
parentElement[0].children[0].style.visibility = "hidden";
} else {
parentElement[0].children[1].style.visibility = "visible";
parentElement[0].children[0].style.visibility = "visible";
}
}
function dataGenerator(limit) {
var y = 100;
var points = [];
for (var i = 0; i < limit; i += 1) {
y += (Math.random() * 100 - 50);
points.push({
x: i - limit / 2,
y: y
});
}
return points;
}