চার্টের সাথে ইন্টারঅ্যাক্ট করা

আমরা এখন পর্যন্ত যা কভার করেছি তা অনেক ওয়েব পৃষ্ঠার জন্য যথেষ্ট: আপনি পৃষ্ঠায় আপনার চার্ট এঁকেছেন। যাইহোক, যদি আপনি ব্যবহারকারীর ক্লিকগুলি ধরতে চান, বা আপনি ইতিমধ্যেই আঁকা একটি চার্টের বৈশিষ্ট্য বা ডেটা ম্যানিপুলেট করতে চান, তাহলে আপনাকে চার্ট দ্বারা নিক্ষিপ্ত ইভেন্টগুলি শুনতে হবে।

সমস্ত চার্ট কিছু ধরনের ঘটনা নিক্ষেপ. এখানে সবচেয়ে সাধারণ:

  • প্রস্তুত - পৃষ্ঠায় চার্ট আঁকা হলে এবং পদ্ধতিতে প্রতিক্রিয়া জানাতে প্রস্তুত হলে নিক্ষেপ করা হয়। আপনি যদি চার্ট থেকে তথ্যের অনুরোধ করতে চান তাহলে এই ইভেন্টের জন্য শুনুন।
  • নির্বাচন করুন - যখন ব্যবহারকারী চার্টে কিছু নির্বাচন করে তখন নিক্ষেপ করা হয়: সাধারণত একটি বার বা পাই স্লাইসে ক্লিক করে।
  • ত্রুটি - যখন চার্ট পাস করা ডেটা রেন্ডার করতে পারে না তখন নিক্ষেপ করা হয়, সাধারণত DataTable বিন্যাসটি ভুল হওয়ার কারণে।
  • onmouseover এবং onmouseout - ব্যবহারকারী যখন নির্দিষ্ট চার্ট এলিমেন্টের উপর বা বন্ধ করে মাউস মাউস করে, যথাক্রমে নিক্ষেপ করা হয়।

ঘটনা শোনা সহজ; শুধু google.visualization.events.addListener() চার্টে একটি হ্যান্ডেল পাস করে কল করুন, যে ইভেন্টটি ধরতে হবে তার নাম এবং ইভেন্টটি থ্রো করার সময় কল করার জন্য একজন হ্যান্ডলারের নাম। আপনি যেকোন চার্ট হ্যান্ডেল দিয়ে এই পদ্ধতিটিকে কল করতে পারেন, এমনকি যদি আপনি এখনও draw() কল না করেন। মনে রাখবেন আপনি google.visualization.events.addOneTimeListener() কল করতে পারেন যদি আপনি চান যে শ্রোতাকে নিজেকে সরিয়ে দেওয়ার আগে ঠিক একবার কল করা হোক।

এখানে একটি আংশিক কোড স্নিপেট দেখানো হয়েছে কিভাবে একটি চার্টের নির্বাচিত ইভেন্ট ধরতে নিবন্ধন করতে হয়:

load libraries...

function drawChart() {

  prepare data...

  var chart = new google.visualization.PieChart(document.getElementById('chart_div'));

  // The select handler. Call the chart's getSelection() method
  function selectHandler() {
    var selectedItem = chart.getSelection()[0];
    if (selectedItem) {
      var value = data.getValue(selectedItem.row, selectedItem.column);
      alert('The user selected ' + value);
    }
  }

  // Listen for the 'select' event, and call my function selectHandler() when
  // the user selects something on the chart.
  google.visualization.events.addListener(chart, 'select', selectHandler);

  draw the chart...

}

নিম্নলিখিতটি একটি নতুন নির্বাচন ইভেন্ট শ্রোতার সাথে হ্যালো চার্ট কোডের উদাহরণ দেখায়৷ নিজে চেষ্টা করে দেখুন।

<html>
  <head>
    <!--Load the AJAX API-->
    <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
    <script type="text/javascript">

      // Load the Visualization API and the piechart package.
      google.charts.load('current', {'packages':['corechart']});

      // Set a callback to run when the Google Visualization API is loaded.
      google.charts.setOnLoadCallback(drawChart);

      // Callback that creates and populates a data table,
      // instantiates the pie chart, passes in the data and
      // draws it.
      function drawChart() {

        // Create the data table.
        var data = new google.visualization.DataTable();
        data.addColumn('string', 'Topping');
        data.addColumn('number', 'Slices');
        data.addRows([
          ['Mushrooms', 3],
          ['Onions', 1],
          ['Olives', 1], 
          ['Zucchini', 1],
          ['Pepperoni', 2]
        ]);

        // Set chart options
        var options = {'title':'How Much Pizza I Ate Last Night',
                       'width':400,
                       'height':300};
 
        // Instantiate and draw our chart, passing in some options.
        var chart = new google.visualization.PieChart(document.getElementById('chart_div'));

        function selectHandler() {
          var selectedItem = chart.getSelection()[0];
          if (selectedItem) {
            var topping = data.getValue(selectedItem.row, 0);
            alert('The user selected ' + topping);
          }
        }

        google.visualization.events.addListener(chart, 'select', selectHandler);    
        chart.draw(data, options);
      }

    </script>
  </head>
  <body>
    <!--Div that will hold the pie chart-->
    <div id="chart_div" style="width:400; height:300"></div>
  </body>
</html>

অধিক তথ্য