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;
}