]> git.ipfire.org Git - thirdparty/Chart.js.git/commitdiff
Polar area legends
authorEvert Timberg <evert.timberg@gmail.com>
Sun, 5 Jul 2015 18:48:04 +0000 (14:48 -0400)
committerEvert Timberg <evert.timberg@gmail.com>
Sun, 5 Jul 2015 18:48:04 +0000 (14:48 -0400)
samples/polar-area.html
src/charts/Chart.PolarArea.js

index a8c74d16b61316f7fda1c5b7c2506dcd21703b77..e7c992d8ea52ffe38a5fea3a99147f0729b0b552 100644 (file)
@@ -8,12 +8,18 @@
 </head>
 
 <body>
-    <div id="canvas-holder" style="width:50%">
-        <canvas id="chart-area" width="300" height="300" />
+    <div id="canvas-holder" style="width:50%" width="50%">
+        <canvas id="chart-area"></canvas>
     </div>
     <button id="randomizeData">Randomize Data</button>
     <button id="addData">Add Data</button>
     <button id="removeData">Remove Data</button>
+    <div>
+        <h3>Legend</h3>
+        <div id="legendContainer">
+            
+        </div>
+    </div>
     <script>
     var randomScalingFactor = function() {
         return Math.round(Math.random() * 100);
     window.onload = function() {
         var ctx = document.getElementById("chart-area");
         window.myPolarArea = Chart.PolarArea(ctx, config);
+        updateLegend();
     };
 
+    function updateLegend() {
+        $legendContainer = $('#legendContainer');
+        $legendContainer.empty();
+        $legendContainer.append(window.myPolarArea.generateLegend());
+    }
+
     $('#randomizeData').click(function() {
         $.each(config.data.datasets, function(i, piece) {
             $.each(piece.data, function(j, value) {
@@ -69,6 +82,7 @@
             });
         });
         window.myPolarArea.update();
+        updateLegend();
     });
 
     $('#addData').click(function() {
@@ -79,6 +93,8 @@
                 config.data.datasets[index].backgroundColor.push(randomColor());
                 window.myPolarArea.addData(randomScalingFactor(), index);
             }
+
+            updateLegend();
         }
     });
 
             dataset.backgroundColor.splice(-1, 1);
             window.myPolarArea.removeData(datasetIndex, -1);
         });
+
+        updateLegend();
     });
     </script>
 </body>
index e798f74647d1b80837eb507982f8b651333f26d0..7070a0d8f2475c6c8f13fb3d208fe7aca3443252 100644 (file)
@@ -5,7 +5,12 @@
        var Chart = root.Chart;
        var helpers = Chart.helpers;
 
+       var defaultConfig = {
+               legendTemplate: "<ul class=\"<%=name.toLowerCase()%>-legend\"><% for (var i = 0; i < data.datasets[0].data.length; i++){%><li><span style=\"background-color:<%=data.datasets[0].backgroundColor[i]%>\"><%if(data.labels && i < data.labels.length){%><%=data.labels[i]%><%}%></span></li><%}%></ul>",
+       };
+
        Chart.PolarArea = function(context, config) {
+               config.options = helpers.configMerge(defaultConfig, config.options);
                config.type = 'polarArea';
 
                return new Chart(context, config);