[pve-devel] [PATCH widget-toolkit] add piechard tooltip backport

Dominik Csapak d.csapak at proxmox.com
Wed May 29 13:36:04 CEST 2019


this fixes bug EXTJS_18900 where the tooltip of a piechart was always
shown for the first data entry with 0 percent of the pie chart

the relevant lines for the fix are
...
if (a === b) {
    return false;
}
...

Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
we need this for the pie chart of the ceph dashboard

 Toolkit.js | 40 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/Toolkit.js b/Toolkit.js
index d576174..abdeb64 100644
--- a/Toolkit.js
+++ b/Toolkit.js
@@ -208,6 +208,46 @@ Ext.define('EXTJS_23846.Gesture', {
     }
 });
 
+Ext.define('EXTJS_18900.Pie', {
+    override: 'Ext.chart.series.Pie',
+
+    // from 6.0.2
+    betweenAngle: function (x, a, b) {
+        var pp = Math.PI * 2,
+            offset = this.rotationOffset;
+
+        if (a === b) {
+            return false;
+        }
+
+        if (!this.getClockwise()) {
+            x *= -1;
+            a *= -1;
+            b *= -1;
+            a -= offset;
+            b -= offset;
+        } else {
+            a += offset;
+            b += offset;
+        }
+
+        x -= a;
+        b -= a;
+
+        // Normalize, so that both x and b are in the [0,360) interval.
+        x %= pp;
+        b %= pp;
+        x += pp;
+        b += pp;
+        x %= pp;
+        b %= pp;
+
+        // Because 360 * n angles will be normalized to 0,
+        // we need to treat b === 0 as a special case.
+        return x < b || b === 0;
+    },
+});
+
 // we always want the number in x.y format and never in, e.g., x,y
 Ext.define('PVE.form.field.Number', {
     override: 'Ext.form.field.Number',
-- 
2.11.0





More information about the pve-devel mailing list