]> git.ipfire.org Git - thirdparty/Chart.js.git/commitdiff
Define with let to avoid "assignment to constant" errors (#9803)
authorEric Theise <erictheise@gmail.com>
Sat, 30 Oct 2021 13:23:14 +0000 (06:23 -0700)
committerGitHub <noreply@github.com>
Sat, 30 Oct 2021 13:23:14 +0000 (09:23 -0400)
* Define with let to avoid "assignment to constant" errors

Thanks for this example. Defining `label` with `const` rather than `let` results in `Uncaught TypeError: Assignment to constant variable.`

* Another case where const needs to be replaced with let.

* Requested cases where const needs to be replaced with let +1 (style).

docs/configuration/tooltip.md
docs/developers/updates.md

index 527b15d99bc83ffd94cbb26655952614a8bdae12..53fd7271635cd1377eac53464b18c0c6c3ad0983 100644 (file)
@@ -5,7 +5,7 @@
 Namespace: `options.plugins.tooltip`, the global options for the chart tooltips is defined in `Chart.defaults.plugins.tooltip`.
 
 :::warning
-The bubble, doughnut, pie, polar area, and scatter charts override the tooltip defaults. To change the overrides for those chart types, the options are defined in `Chart.overrides[type].plugins.tooltip`. 
+The bubble, doughnut, pie, polar area, and scatter charts override the tooltip defaults. To change the overrides for those chart types, the options are defined in `Chart.overrides[type].plugins.tooltip`.
 :::
 
 | Name | Type | Default | Description
@@ -157,7 +157,7 @@ const chart = new Chart(ctx, {
             tooltip: {
                 callbacks: {
                     label: function(context) {
-                        const label = context.dataset.label || '';
+                        let label = context.dataset.label || '';
 
                         if (label) {
                             label += ': ';
@@ -282,7 +282,7 @@ const myPieChart = new Chart(ctx, {
 
                 external: function(context) {
                     // Tooltip Element
-                    const tooltipEl = document.getElementById('chartjs-tooltip');
+                    let tooltipEl = document.getElementById('chartjs-tooltip');
 
                     // Create element on first render
                     if (!tooltipEl) {
@@ -316,7 +316,7 @@ const myPieChart = new Chart(ctx, {
                         const titleLines = tooltipModel.title || [];
                         const bodyLines = tooltipModel.body.map(getBody);
 
-                        const innerHtml = '<thead>';
+                        let innerHtml = '<thead>';
 
                         titleLines.forEach(function(title) {
                             innerHtml += '<tr><th>' + title + '</th></tr>';
@@ -325,7 +325,7 @@ const myPieChart = new Chart(ctx, {
 
                         bodyLines.forEach(function(body, i) {
                             const colors = tooltipModel.labelColors[i];
-                            const style = 'background:' + colors.backgroundColor;
+                            let style = 'background:' + colors.backgroundColor;
                             style += '; border-color:' + colors.borderColor;
                             style += '; border-width: 2px';
                             const span = '<span style="' + style + '"></span>';
@@ -333,7 +333,7 @@ const myPieChart = new Chart(ctx, {
                         });
                         innerHtml += '</tbody>';
 
-                        const tableRoot = tooltipEl.querySelector('table');
+                        let tableRoot = tooltipEl.querySelector('table');
                         tableRoot.innerHTML = innerHtml;
                     }
 
index 697d25bd3dece62b3b7b64514bfe6bef0ec93523..76aac266e2f88438e0db013ed06e526b72a26b06 100644 (file)
@@ -66,8 +66,8 @@ Variables referencing any one from `chart.scales` would be lost after updating s
 
 ```javascript
 function updateScales(chart) {
-    const xScale = chart.scales.x;
-    const yScale = chart.scales.y;
+    let xScale = chart.scales.x;
+    let yScale = chart.scales.y;
     chart.options.scales = {
         newId: {
             display: true