From acfbf255273c9e6fcbba04f9f8dbe6ac604bec84 Mon Sep 17 00:00:00 2001 From: Dominik Csapak Date: Wed, 29 May 2019 13:36:04 +0200 Subject: [PATCH] backport fix for ExtJS pie chart tooltip for 0% entries 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 Signed-off-by: Thomas Lamprecht --- 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',