tvcharts 0.8.97 → 0.8.98
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/echarts.js +382 -334
- package/dist/echarts.js.map +2 -2
- package/lib/component/events/EventsView.js +7 -6
- package/package.json +1 -1
package/dist/echarts.js
CHANGED
|
@@ -2124,10 +2124,10 @@ var Handler = class extends Eventful_default {
|
|
|
2124
2124
|
const rStep = 4;
|
|
2125
2125
|
const thetaStep = Math.PI / 12;
|
|
2126
2126
|
const PI210 = Math.PI * 2;
|
|
2127
|
-
for (let
|
|
2127
|
+
for (let r2 = 0; r2 < targetSizeHalf; r2 += rStep) {
|
|
2128
2128
|
for (let theta = 0; theta < PI210; theta += thetaStep) {
|
|
2129
|
-
const x1 = x +
|
|
2130
|
-
const y1 = y +
|
|
2129
|
+
const x1 = x + r2 * Math.cos(theta);
|
|
2130
|
+
const y1 = y + r2 * Math.sin(theta);
|
|
2131
2131
|
setHoverTarget(candidates, out2, x1, y1, exclude);
|
|
2132
2132
|
if (out2.target) {
|
|
2133
2133
|
return out2;
|
|
@@ -2229,12 +2229,12 @@ var Handler_default = Handler;
|
|
|
2229
2229
|
var DEFAULT_MIN_MERGE = 32;
|
|
2230
2230
|
var DEFAULT_MIN_GALLOPING = 7;
|
|
2231
2231
|
function minRunLength(n) {
|
|
2232
|
-
var
|
|
2232
|
+
var r2 = 0;
|
|
2233
2233
|
while (n >= DEFAULT_MIN_MERGE) {
|
|
2234
|
-
|
|
2234
|
+
r2 |= n & 1;
|
|
2235
2235
|
n >>= 1;
|
|
2236
2236
|
}
|
|
2237
|
-
return n +
|
|
2237
|
+
return n + r2;
|
|
2238
2238
|
}
|
|
2239
2239
|
function makeAscendingRun(array, lo, hi, compare2) {
|
|
2240
2240
|
var runHi = lo + 1;
|
|
@@ -3833,8 +3833,8 @@ function cssHueToRgb(m1, m2, h) {
|
|
|
3833
3833
|
function lerpNumber(a, b, p) {
|
|
3834
3834
|
return a + (b - a) * p;
|
|
3835
3835
|
}
|
|
3836
|
-
function setRgba(out2,
|
|
3837
|
-
out2[0] =
|
|
3836
|
+
function setRgba(out2, r2, g, b, a) {
|
|
3837
|
+
out2[0] = r2;
|
|
3838
3838
|
out2[1] = g;
|
|
3839
3839
|
out2[2] = b;
|
|
3840
3840
|
out2[3] = a;
|
|
@@ -9355,7 +9355,7 @@ var PathProxy2 = class {
|
|
|
9355
9355
|
this._yi = y2;
|
|
9356
9356
|
return this;
|
|
9357
9357
|
}
|
|
9358
|
-
arc(cx, cy,
|
|
9358
|
+
arc(cx, cy, r2, startAngle, endAngle, anticlockwise) {
|
|
9359
9359
|
this._drawPendingPt();
|
|
9360
9360
|
tmpAngles[0] = startAngle;
|
|
9361
9361
|
tmpAngles[1] = endAngle;
|
|
@@ -9363,10 +9363,10 @@ var PathProxy2 = class {
|
|
|
9363
9363
|
startAngle = tmpAngles[0];
|
|
9364
9364
|
endAngle = tmpAngles[1];
|
|
9365
9365
|
let delta = endAngle - startAngle;
|
|
9366
|
-
this.addData(CMD.A, cx, cy,
|
|
9367
|
-
this._ctx && this._ctx.arc(cx, cy,
|
|
9368
|
-
this._xi = mathCos2(endAngle) *
|
|
9369
|
-
this._yi = mathSin2(endAngle) *
|
|
9366
|
+
this.addData(CMD.A, cx, cy, r2, r2, startAngle, delta, 0, anticlockwise ? 0 : 1);
|
|
9367
|
+
this._ctx && this._ctx.arc(cx, cy, r2, startAngle, endAngle, anticlockwise);
|
|
9368
|
+
this._xi = mathCos2(endAngle) * r2 + cx;
|
|
9369
|
+
this._yi = mathSin2(endAngle) * r2 + cy;
|
|
9370
9370
|
return this;
|
|
9371
9371
|
}
|
|
9372
9372
|
arcTo(x1, y1, x2, y2, radius) {
|
|
@@ -9808,7 +9808,7 @@ var PathProxy2 = class {
|
|
|
9808
9808
|
let delta = d[i++];
|
|
9809
9809
|
const psi = d[i++];
|
|
9810
9810
|
const anticlockwise = !d[i++];
|
|
9811
|
-
const
|
|
9811
|
+
const r2 = rx > ry ? rx : ry;
|
|
9812
9812
|
const isEllipse = mathAbs(rx - ry) > 1e-3;
|
|
9813
9813
|
let endAngle = startAngle + delta;
|
|
9814
9814
|
let breakBuild = false;
|
|
@@ -9823,7 +9823,7 @@ var PathProxy2 = class {
|
|
|
9823
9823
|
if (isEllipse && ctx2.ellipse) {
|
|
9824
9824
|
ctx2.ellipse(cx, cy, rx, ry, psi, startAngle, endAngle, anticlockwise);
|
|
9825
9825
|
} else {
|
|
9826
|
-
ctx2.arc(cx, cy,
|
|
9826
|
+
ctx2.arc(cx, cy, r2, startAngle, endAngle, anticlockwise);
|
|
9827
9827
|
}
|
|
9828
9828
|
if (breakBuild) {
|
|
9829
9829
|
break lo;
|
|
@@ -9867,20 +9867,20 @@ var PathProxy2 = class {
|
|
|
9867
9867
|
ctx2.rect(x, y, width, height);
|
|
9868
9868
|
break;
|
|
9869
9869
|
case CMD.F: {
|
|
9870
|
-
const
|
|
9870
|
+
const r3 = d[i++];
|
|
9871
9871
|
const g = d[i++];
|
|
9872
9872
|
const b = d[i++];
|
|
9873
9873
|
const a = d[i++];
|
|
9874
|
-
ctx2.fillStyle = `rgba(${
|
|
9874
|
+
ctx2.fillStyle = `rgba(${r3},${g},${b},${a})`;
|
|
9875
9875
|
ctx2.fill();
|
|
9876
9876
|
break;
|
|
9877
9877
|
}
|
|
9878
9878
|
case CMD.S: {
|
|
9879
|
-
const
|
|
9879
|
+
const r3 = d[i++];
|
|
9880
9880
|
const g = d[i++];
|
|
9881
9881
|
const b = d[i++];
|
|
9882
9882
|
const a = d[i++];
|
|
9883
|
-
ctx2.strokeStyle = `rgba(${
|
|
9883
|
+
ctx2.strokeStyle = `rgba(${r3},${g},${b},${a})`;
|
|
9884
9884
|
ctx2.stroke();
|
|
9885
9885
|
break;
|
|
9886
9886
|
}
|
|
@@ -9983,7 +9983,7 @@ function normalizeRadian(angle) {
|
|
|
9983
9983
|
|
|
9984
9984
|
// node_modules/tvrender/src/contain/arc.ts
|
|
9985
9985
|
var PI24 = Math.PI * 2;
|
|
9986
|
-
function containStroke4(cx, cy,
|
|
9986
|
+
function containStroke4(cx, cy, r2, startAngle, endAngle, anticlockwise, lineWidth, x, y) {
|
|
9987
9987
|
if (lineWidth === 0) {
|
|
9988
9988
|
return false;
|
|
9989
9989
|
}
|
|
@@ -9991,7 +9991,7 @@ function containStroke4(cx, cy, r, startAngle, endAngle, anticlockwise, lineWidt
|
|
|
9991
9991
|
x -= cx;
|
|
9992
9992
|
y -= cy;
|
|
9993
9993
|
const d = Math.sqrt(x * x + y * y);
|
|
9994
|
-
if (d - _l >
|
|
9994
|
+
if (d - _l > r2 || d + _l < r2) {
|
|
9995
9995
|
return false;
|
|
9996
9996
|
}
|
|
9997
9997
|
if (Math.abs(startAngle - endAngle) % PI24 < 1e-4) {
|
|
@@ -10129,12 +10129,12 @@ function windingQuadratic(x0, y0, x1, y1, x2, y2, x, y) {
|
|
|
10129
10129
|
}
|
|
10130
10130
|
}
|
|
10131
10131
|
}
|
|
10132
|
-
function windingArc(cx, cy,
|
|
10132
|
+
function windingArc(cx, cy, r2, startAngle, endAngle, anticlockwise, x, y) {
|
|
10133
10133
|
y -= cy;
|
|
10134
|
-
if (y >
|
|
10134
|
+
if (y > r2 || y < -r2) {
|
|
10135
10135
|
return 0;
|
|
10136
10136
|
}
|
|
10137
|
-
const tmp = Math.sqrt(
|
|
10137
|
+
const tmp = Math.sqrt(r2 * r2 - y * y);
|
|
10138
10138
|
roots[0] = -tmp;
|
|
10139
10139
|
roots[1] = tmp;
|
|
10140
10140
|
const dTheta = Math.abs(startAngle - endAngle);
|
|
@@ -10818,9 +10818,9 @@ function buildPath(ctx2, shape) {
|
|
|
10818
10818
|
let y = shape.y;
|
|
10819
10819
|
let width = shape.width;
|
|
10820
10820
|
let height = shape.height;
|
|
10821
|
-
let
|
|
10821
|
+
let r2 = shape.r;
|
|
10822
10822
|
let r1;
|
|
10823
|
-
let
|
|
10823
|
+
let r22;
|
|
10824
10824
|
let r3;
|
|
10825
10825
|
let r4;
|
|
10826
10826
|
if (width < 0) {
|
|
@@ -10831,41 +10831,41 @@ function buildPath(ctx2, shape) {
|
|
|
10831
10831
|
y = y + height;
|
|
10832
10832
|
height = -height;
|
|
10833
10833
|
}
|
|
10834
|
-
if (typeof
|
|
10835
|
-
r1 =
|
|
10836
|
-
} else if (
|
|
10837
|
-
if (
|
|
10838
|
-
r1 =
|
|
10839
|
-
} else if (
|
|
10840
|
-
r1 = r3 =
|
|
10841
|
-
|
|
10842
|
-
} else if (
|
|
10843
|
-
r1 =
|
|
10844
|
-
|
|
10845
|
-
r3 =
|
|
10834
|
+
if (typeof r2 === "number") {
|
|
10835
|
+
r1 = r22 = r3 = r4 = r2;
|
|
10836
|
+
} else if (r2 instanceof Array) {
|
|
10837
|
+
if (r2.length === 1) {
|
|
10838
|
+
r1 = r22 = r3 = r4 = r2[0];
|
|
10839
|
+
} else if (r2.length === 2) {
|
|
10840
|
+
r1 = r3 = r2[0];
|
|
10841
|
+
r22 = r4 = r2[1];
|
|
10842
|
+
} else if (r2.length === 3) {
|
|
10843
|
+
r1 = r2[0];
|
|
10844
|
+
r22 = r4 = r2[1];
|
|
10845
|
+
r3 = r2[2];
|
|
10846
10846
|
} else {
|
|
10847
|
-
r1 =
|
|
10848
|
-
|
|
10849
|
-
r3 =
|
|
10850
|
-
r4 =
|
|
10847
|
+
r1 = r2[0];
|
|
10848
|
+
r22 = r2[1];
|
|
10849
|
+
r3 = r2[2];
|
|
10850
|
+
r4 = r2[3];
|
|
10851
10851
|
}
|
|
10852
10852
|
} else {
|
|
10853
|
-
r1 =
|
|
10853
|
+
r1 = r22 = r3 = r4 = 0;
|
|
10854
10854
|
}
|
|
10855
10855
|
let total;
|
|
10856
|
-
if (r1 +
|
|
10857
|
-
total = r1 +
|
|
10856
|
+
if (r1 + r22 > width) {
|
|
10857
|
+
total = r1 + r22;
|
|
10858
10858
|
r1 *= width / total;
|
|
10859
|
-
|
|
10859
|
+
r22 *= width / total;
|
|
10860
10860
|
}
|
|
10861
10861
|
if (r3 + r4 > width) {
|
|
10862
10862
|
total = r3 + r4;
|
|
10863
10863
|
r3 *= width / total;
|
|
10864
10864
|
r4 *= width / total;
|
|
10865
10865
|
}
|
|
10866
|
-
if (
|
|
10867
|
-
total =
|
|
10868
|
-
|
|
10866
|
+
if (r22 + r3 > height) {
|
|
10867
|
+
total = r22 + r3;
|
|
10868
|
+
r22 *= height / total;
|
|
10869
10869
|
r3 *= height / total;
|
|
10870
10870
|
}
|
|
10871
10871
|
if (r1 + r4 > height) {
|
|
@@ -10874,8 +10874,8 @@ function buildPath(ctx2, shape) {
|
|
|
10874
10874
|
r4 *= height / total;
|
|
10875
10875
|
}
|
|
10876
10876
|
ctx2.moveTo(x + r1, y);
|
|
10877
|
-
ctx2.lineTo(x + width -
|
|
10878
|
-
|
|
10877
|
+
ctx2.lineTo(x + width - r22, y);
|
|
10878
|
+
r22 !== 0 && ctx2.arc(x + width - r22, y + r22, r22, -Math.PI / 2, 0);
|
|
10879
10879
|
ctx2.lineTo(x + width, y + height - r3);
|
|
10880
10880
|
r3 !== 0 && ctx2.arc(x + width - r3, y + height - r3, r3, 0, Math.PI / 2);
|
|
10881
10881
|
ctx2.lineTo(x + r4, y + height);
|
|
@@ -12791,9 +12791,9 @@ function computeCornerTangents(x0, y0, x1, y1, radius, cr, clockwise) {
|
|
|
12791
12791
|
const dx = x10 - x11;
|
|
12792
12792
|
const dy = y10 - y11;
|
|
12793
12793
|
const d2 = dx * dx + dy * dy;
|
|
12794
|
-
const
|
|
12794
|
+
const r2 = radius - cr;
|
|
12795
12795
|
const s = x11 * y10 - x10 * y11;
|
|
12796
|
-
const d = (dy < 0 ? -1 : 1) * mathSqrt4(mathMax4(0,
|
|
12796
|
+
const d = (dy < 0 ? -1 : 1) * mathSqrt4(mathMax4(0, r2 * r2 * d2 - s * s));
|
|
12797
12797
|
let cx0 = (s * dy - dx * d) / d2;
|
|
12798
12798
|
let cy0 = (-s * dx - dy * d) / d2;
|
|
12799
12799
|
const cx1 = (s * dy + dx * d) / d2;
|
|
@@ -12811,8 +12811,8 @@ function computeCornerTangents(x0, y0, x1, y1, radius, cr, clockwise) {
|
|
|
12811
12811
|
cy: cy0,
|
|
12812
12812
|
x0: -ox,
|
|
12813
12813
|
y0: -oy,
|
|
12814
|
-
x1: cx0 * (radius /
|
|
12815
|
-
y1: cy0 * (radius /
|
|
12814
|
+
x1: cx0 * (radius / r2 - 1),
|
|
12815
|
+
y1: cy0 * (radius / r2 - 1)
|
|
12816
12816
|
};
|
|
12817
12817
|
}
|
|
12818
12818
|
function normalizeCornerRadius(cr) {
|
|
@@ -13344,14 +13344,14 @@ var Arc = class extends Path_default {
|
|
|
13344
13344
|
buildPath(ctx2, shape) {
|
|
13345
13345
|
const x = shape.cx;
|
|
13346
13346
|
const y = shape.cy;
|
|
13347
|
-
const
|
|
13347
|
+
const r2 = Math.max(shape.r, 0);
|
|
13348
13348
|
const startAngle = shape.startAngle;
|
|
13349
13349
|
const endAngle = shape.endAngle;
|
|
13350
13350
|
const clockwise = shape.clockwise;
|
|
13351
13351
|
const unitX = Math.cos(startAngle);
|
|
13352
13352
|
const unitY = Math.sin(startAngle);
|
|
13353
|
-
ctx2.moveTo(unitX *
|
|
13354
|
-
ctx2.arc(x, y,
|
|
13353
|
+
ctx2.moveTo(unitX * r2 + x, unitY * r2 + y);
|
|
13354
|
+
ctx2.arc(x, y, r2, startAngle, endAngle, !clockwise);
|
|
13355
13355
|
}
|
|
13356
13356
|
};
|
|
13357
13357
|
Arc.prototype.type = "arc";
|
|
@@ -13433,11 +13433,11 @@ var LinearGradient_default = LinearGradient;
|
|
|
13433
13433
|
|
|
13434
13434
|
// node_modules/tvrender/src/graphic/RadialGradient.ts
|
|
13435
13435
|
var RadialGradient = class extends Gradient_default {
|
|
13436
|
-
constructor(x, y,
|
|
13436
|
+
constructor(x, y, r2, colorStops, globalCoord) {
|
|
13437
13437
|
super(colorStops);
|
|
13438
13438
|
this.x = x == null ? 0.5 : x;
|
|
13439
13439
|
this.y = y == null ? 0.5 : y;
|
|
13440
|
-
this.r =
|
|
13440
|
+
this.r = r2 == null ? 0.5 : r2;
|
|
13441
13441
|
this.type = "radial";
|
|
13442
13442
|
this.global = globalCoord || false;
|
|
13443
13443
|
}
|
|
@@ -21216,18 +21216,18 @@ function defaultLoading(api2, opts) {
|
|
|
21216
21216
|
}
|
|
21217
21217
|
group.resize = function() {
|
|
21218
21218
|
const textWidth = textContent.getBoundingRect().width;
|
|
21219
|
-
const
|
|
21220
|
-
const cx = (api2.getWidth() -
|
|
21219
|
+
const r2 = opts.showSpinner ? opts.spinnerRadius : 0;
|
|
21220
|
+
const cx = (api2.getWidth() - r2 * 2 - (opts.showSpinner && textWidth ? 10 : 0) - textWidth) / 2 - (opts.showSpinner && textWidth ? 0 : 5 + textWidth / 2) + (opts.showSpinner ? 0 : textWidth / 2) + (textWidth ? 0 : r2);
|
|
21221
21221
|
const cy = api2.getHeight() / 2;
|
|
21222
21222
|
opts.showSpinner && arc2.setShape({
|
|
21223
21223
|
cx,
|
|
21224
21224
|
cy
|
|
21225
21225
|
});
|
|
21226
21226
|
labelRect.setShape({
|
|
21227
|
-
x: cx -
|
|
21228
|
-
y: cy -
|
|
21229
|
-
width:
|
|
21230
|
-
height:
|
|
21227
|
+
x: cx - r2,
|
|
21228
|
+
y: cy - r2,
|
|
21229
|
+
width: r2 * 2,
|
|
21230
|
+
height: r2 * 2
|
|
21231
21231
|
});
|
|
21232
21232
|
mask.setShape({
|
|
21233
21233
|
x: 0,
|
|
@@ -21907,6 +21907,31 @@ function findClosestTimestamp(arr, target) {
|
|
|
21907
21907
|
;
|
|
21908
21908
|
return Math.abs(+leftClosest - +target) <= Math.abs(+rightClosest - +target) ? leftClosest : rightClosest;
|
|
21909
21909
|
}
|
|
21910
|
+
function findClosestIndex(arr, target) {
|
|
21911
|
+
let left = 0;
|
|
21912
|
+
let right = arr.length - 1;
|
|
21913
|
+
if (arr.length === 0) {
|
|
21914
|
+
return -1;
|
|
21915
|
+
}
|
|
21916
|
+
;
|
|
21917
|
+
while (left < right) {
|
|
21918
|
+
const mid = Math.floor((left + right) / 2);
|
|
21919
|
+
if (arr[mid] === target) {
|
|
21920
|
+
return mid;
|
|
21921
|
+
} else if (arr[mid] < target) {
|
|
21922
|
+
left = mid + 1;
|
|
21923
|
+
} else {
|
|
21924
|
+
right = mid;
|
|
21925
|
+
}
|
|
21926
|
+
}
|
|
21927
|
+
const leftClosest = arr[left];
|
|
21928
|
+
const rightClosest = left > 0 ? arr[left - 1] : void 0;
|
|
21929
|
+
if (rightClosest === void 0) {
|
|
21930
|
+
return left;
|
|
21931
|
+
}
|
|
21932
|
+
;
|
|
21933
|
+
return Math.abs(+leftClosest - +target) <= Math.abs(+rightClosest - +target) ? left : right;
|
|
21934
|
+
}
|
|
21910
21935
|
|
|
21911
21936
|
// src/visual/symbol.ts
|
|
21912
21937
|
var SYMBOL_PROPS_WITH_CB = [
|
|
@@ -22228,17 +22253,17 @@ var Pin = Path_default.extend({
|
|
|
22228
22253
|
const y = shape.y;
|
|
22229
22254
|
const w = shape.width / 5 * 3;
|
|
22230
22255
|
const h = Math.max(w, shape.height);
|
|
22231
|
-
const
|
|
22232
|
-
const dy =
|
|
22233
|
-
const cy = y - h +
|
|
22234
|
-
const angle = Math.asin(dy /
|
|
22235
|
-
const dx = Math.cos(angle) *
|
|
22256
|
+
const r2 = w / 2;
|
|
22257
|
+
const dy = r2 * r2 / (h - r2);
|
|
22258
|
+
const cy = y - h + r2 + dy;
|
|
22259
|
+
const angle = Math.asin(dy / r2);
|
|
22260
|
+
const dx = Math.cos(angle) * r2;
|
|
22236
22261
|
const tanX = Math.sin(angle);
|
|
22237
22262
|
const tanY = Math.cos(angle);
|
|
22238
|
-
const cpLen =
|
|
22239
|
-
const cpLen2 =
|
|
22263
|
+
const cpLen = r2 * 0.6;
|
|
22264
|
+
const cpLen2 = r2 * 0.7;
|
|
22240
22265
|
path.moveTo(x - dx, cy + dy);
|
|
22241
|
-
path.arc(x, cy,
|
|
22266
|
+
path.arc(x, cy, r2, Math.PI - angle, Math.PI * 2 + angle);
|
|
22242
22267
|
path.bezierCurveTo(x + dx - tanX * cpLen, cy + dy + tanY * cpLen, x, y - cpLen2, x, y);
|
|
22243
22268
|
path.bezierCurveTo(x, y - cpLen2, x - dx + tanX * cpLen, cy + dy + tanY * cpLen, x - dx, cy + dy);
|
|
22244
22269
|
path.closePath();
|
|
@@ -22308,20 +22333,20 @@ var LabelDown = Path_default.extend({
|
|
|
22308
22333
|
triangleWidth: 0
|
|
22309
22334
|
},
|
|
22310
22335
|
buildPath: function(ctx2, shape) {
|
|
22311
|
-
const {x, y, width, height, r, triangleWidth} = shape;
|
|
22336
|
+
const {x, y, width, height, r: r2, triangleWidth} = shape;
|
|
22312
22337
|
const triangleHeight = triangleWidth;
|
|
22313
|
-
ctx2.moveTo(x +
|
|
22314
|
-
ctx2.lineTo(x + width -
|
|
22315
|
-
ctx2.arc(x + width -
|
|
22316
|
-
ctx2.lineTo(x + width, y + height -
|
|
22317
|
-
ctx2.arc(x + width -
|
|
22338
|
+
ctx2.moveTo(x + r2, y);
|
|
22339
|
+
ctx2.lineTo(x + width - r2, y);
|
|
22340
|
+
ctx2.arc(x + width - r2, y + r2, r2, -Math.PI / 2, 0);
|
|
22341
|
+
ctx2.lineTo(x + width, y + height - r2);
|
|
22342
|
+
ctx2.arc(x + width - r2, y + height - r2, r2, 0, Math.PI / 2);
|
|
22318
22343
|
ctx2.lineTo(x + width / 2 + triangleWidth, y + height);
|
|
22319
22344
|
ctx2.lineTo(x + width / 2, y + height + triangleHeight);
|
|
22320
22345
|
ctx2.lineTo(x + width / 2 - triangleWidth, y + height);
|
|
22321
|
-
ctx2.lineTo(x +
|
|
22322
|
-
ctx2.arc(x +
|
|
22323
|
-
ctx2.lineTo(x, y +
|
|
22324
|
-
ctx2.arc(x +
|
|
22346
|
+
ctx2.lineTo(x + r2, y + height);
|
|
22347
|
+
ctx2.arc(x + r2, y + height - r2, r2, Math.PI / 2, Math.PI);
|
|
22348
|
+
ctx2.lineTo(x, y + r2);
|
|
22349
|
+
ctx2.arc(x + r2, y + r2, r2, Math.PI, Math.PI * 1.5);
|
|
22325
22350
|
}
|
|
22326
22351
|
});
|
|
22327
22352
|
var LabelUp = Path_default.extend({
|
|
@@ -22335,20 +22360,20 @@ var LabelUp = Path_default.extend({
|
|
|
22335
22360
|
triangleWidth: 0
|
|
22336
22361
|
},
|
|
22337
22362
|
buildPath: function(ctx2, shape) {
|
|
22338
|
-
const {x, y, width, height, r, triangleWidth} = shape;
|
|
22363
|
+
const {x, y, width, height, r: r2, triangleWidth} = shape;
|
|
22339
22364
|
const triangleHeight = triangleWidth;
|
|
22340
|
-
ctx2.moveTo(x +
|
|
22365
|
+
ctx2.moveTo(x + r2, y);
|
|
22341
22366
|
ctx2.lineTo(x + width / 2 - triangleWidth, y);
|
|
22342
22367
|
ctx2.lineTo(x + width / 2, y - triangleHeight);
|
|
22343
22368
|
ctx2.lineTo(x + width / 2 + triangleWidth, y);
|
|
22344
|
-
ctx2.lineTo(x + width -
|
|
22345
|
-
ctx2.arc(x + width -
|
|
22346
|
-
ctx2.lineTo(x + width, y + height -
|
|
22347
|
-
ctx2.arc(x + width -
|
|
22348
|
-
ctx2.lineTo(x +
|
|
22349
|
-
ctx2.arc(x +
|
|
22350
|
-
ctx2.lineTo(x, y +
|
|
22351
|
-
ctx2.arc(x +
|
|
22369
|
+
ctx2.lineTo(x + width - r2, y);
|
|
22370
|
+
ctx2.arc(x + width - r2, y + r2, r2, -Math.PI / 2, 0);
|
|
22371
|
+
ctx2.lineTo(x + width, y + height - r2);
|
|
22372
|
+
ctx2.arc(x + width - r2, y + height - r2, r2, 0, Math.PI / 2);
|
|
22373
|
+
ctx2.lineTo(x + r2, y + height);
|
|
22374
|
+
ctx2.arc(x + r2, y + height - r2, r2, Math.PI / 2, Math.PI);
|
|
22375
|
+
ctx2.lineTo(x, y + r2);
|
|
22376
|
+
ctx2.arc(x + r2, y + r2, r2, Math.PI, Math.PI * 1.5);
|
|
22352
22377
|
}
|
|
22353
22378
|
});
|
|
22354
22379
|
var LabelLeft = Path_default.extend({
|
|
@@ -22362,20 +22387,20 @@ var LabelLeft = Path_default.extend({
|
|
|
22362
22387
|
triangleWidth: 0
|
|
22363
22388
|
},
|
|
22364
22389
|
buildPath: function(ctx2, shape) {
|
|
22365
|
-
const {x, y, width, height, r, triangleWidth} = shape;
|
|
22390
|
+
const {x, y, width, height, r: r2, triangleWidth} = shape;
|
|
22366
22391
|
const triangleHeight = triangleWidth;
|
|
22367
|
-
ctx2.moveTo(x +
|
|
22368
|
-
ctx2.lineTo(x + width -
|
|
22369
|
-
ctx2.arc(x + width -
|
|
22370
|
-
ctx2.lineTo(x + width, y + height -
|
|
22371
|
-
ctx2.arc(x + width -
|
|
22372
|
-
ctx2.lineTo(x +
|
|
22373
|
-
ctx2.arc(x +
|
|
22392
|
+
ctx2.moveTo(x + r2, y);
|
|
22393
|
+
ctx2.lineTo(x + width - r2, y);
|
|
22394
|
+
ctx2.arc(x + width - r2, y + r2, r2, -Math.PI / 2, 0);
|
|
22395
|
+
ctx2.lineTo(x + width, y + height - r2);
|
|
22396
|
+
ctx2.arc(x + width - r2, y + height - r2, r2, 0, Math.PI / 2);
|
|
22397
|
+
ctx2.lineTo(x + r2, y + height);
|
|
22398
|
+
ctx2.arc(x + r2, y + height - r2, r2, Math.PI / 2, Math.PI);
|
|
22374
22399
|
ctx2.lineTo(x, y + height / 2 + triangleWidth);
|
|
22375
22400
|
ctx2.lineTo(x - triangleHeight, y + height / 2);
|
|
22376
22401
|
ctx2.lineTo(x, y + height / 2 - triangleWidth);
|
|
22377
|
-
ctx2.lineTo(x, y +
|
|
22378
|
-
ctx2.arc(x +
|
|
22402
|
+
ctx2.lineTo(x, y + r2);
|
|
22403
|
+
ctx2.arc(x + r2, y + r2, r2, Math.PI, Math.PI * 1.5);
|
|
22379
22404
|
}
|
|
22380
22405
|
});
|
|
22381
22406
|
var LabelRight = Path_default.extend({
|
|
@@ -22389,20 +22414,20 @@ var LabelRight = Path_default.extend({
|
|
|
22389
22414
|
triangleWidth: 0
|
|
22390
22415
|
},
|
|
22391
22416
|
buildPath: function(ctx2, shape) {
|
|
22392
|
-
const {x, y, width, height, r, triangleWidth} = shape;
|
|
22417
|
+
const {x, y, width, height, r: r2, triangleWidth} = shape;
|
|
22393
22418
|
const triangleHeight = triangleWidth;
|
|
22394
|
-
ctx2.moveTo(x +
|
|
22395
|
-
ctx2.lineTo(x + width -
|
|
22396
|
-
ctx2.arc(x + width -
|
|
22419
|
+
ctx2.moveTo(x + r2, y);
|
|
22420
|
+
ctx2.lineTo(x + width - r2, y);
|
|
22421
|
+
ctx2.arc(x + width - r2, y + r2, r2, -Math.PI / 2, 0);
|
|
22397
22422
|
ctx2.lineTo(x + width, y + height / 2 - triangleWidth);
|
|
22398
22423
|
ctx2.lineTo(x + width + triangleHeight, y + height / 2);
|
|
22399
22424
|
ctx2.lineTo(x + width, y + height / 2 + triangleWidth);
|
|
22400
|
-
ctx2.lineTo(x + width, y + height -
|
|
22401
|
-
ctx2.arc(x + width -
|
|
22402
|
-
ctx2.lineTo(x +
|
|
22403
|
-
ctx2.arc(x +
|
|
22404
|
-
ctx2.lineTo(x, y +
|
|
22405
|
-
ctx2.arc(x +
|
|
22425
|
+
ctx2.lineTo(x + width, y + height - r2);
|
|
22426
|
+
ctx2.arc(x + width - r2, y + height - r2, r2, 0, Math.PI / 2);
|
|
22427
|
+
ctx2.lineTo(x + r2, y + height);
|
|
22428
|
+
ctx2.arc(x + r2, y + height - r2, r2, Math.PI / 2, Math.PI);
|
|
22429
|
+
ctx2.lineTo(x, y + r2);
|
|
22430
|
+
ctx2.arc(x + r2, y + r2, r2, Math.PI, Math.PI * 1.5);
|
|
22406
22431
|
}
|
|
22407
22432
|
});
|
|
22408
22433
|
var LabelLowerLeft = Path_default.extend({
|
|
@@ -22422,20 +22447,20 @@ var LabelLowerLeft = Path_default.extend({
|
|
|
22422
22447
|
const width = shape.width;
|
|
22423
22448
|
const x = shape.x;
|
|
22424
22449
|
const y = shape.y;
|
|
22425
|
-
const
|
|
22450
|
+
const r2 = shape.r;
|
|
22426
22451
|
const offsetY = shape.offsetY;
|
|
22427
22452
|
const offsetX = shape.offsetX;
|
|
22428
22453
|
const offsetWidth = shape.offsetWidth;
|
|
22429
|
-
ctx2.moveTo(x +
|
|
22430
|
-
ctx2.lineTo(x + width -
|
|
22431
|
-
ctx2.arc(x + width -
|
|
22432
|
-
ctx2.lineTo(x + width, y + height -
|
|
22433
|
-
ctx2.arc(x + width -
|
|
22434
|
-
ctx2.lineTo(x +
|
|
22454
|
+
ctx2.moveTo(x + r2, y);
|
|
22455
|
+
ctx2.lineTo(x + width - r2, y);
|
|
22456
|
+
ctx2.arc(x + width - r2, y + r2, r2, -Math.PI / 2, 0);
|
|
22457
|
+
ctx2.lineTo(x + width, y + height - r2);
|
|
22458
|
+
ctx2.arc(x + width - r2, y + height - r2, r2, 0, Math.PI / 2);
|
|
22459
|
+
ctx2.lineTo(x + r2, y + height);
|
|
22435
22460
|
ctx2.lineTo(x - offsetWidth, y + height + offsetY);
|
|
22436
22461
|
ctx2.lineTo(x, y + height - offsetX);
|
|
22437
|
-
ctx2.lineTo(x, y +
|
|
22438
|
-
ctx2.arc(x +
|
|
22462
|
+
ctx2.lineTo(x, y + r2);
|
|
22463
|
+
ctx2.arc(x + r2, y + r2, r2, Math.PI, Math.PI * 1.5);
|
|
22439
22464
|
}
|
|
22440
22465
|
});
|
|
22441
22466
|
var LabelLowerRight = Path_default.extend({
|
|
@@ -22458,17 +22483,17 @@ var LabelLowerRight = Path_default.extend({
|
|
|
22458
22483
|
const width = shape.width;
|
|
22459
22484
|
const x = shape.x;
|
|
22460
22485
|
const y = shape.y;
|
|
22461
|
-
const
|
|
22462
|
-
ctx2.moveTo(x +
|
|
22463
|
-
ctx2.lineTo(x + width -
|
|
22464
|
-
ctx2.arc(x + width -
|
|
22486
|
+
const r2 = shape.r;
|
|
22487
|
+
ctx2.moveTo(x + r2, y);
|
|
22488
|
+
ctx2.lineTo(x + width - r2, y);
|
|
22489
|
+
ctx2.arc(x + width - r2, y + r2, r2, -Math.PI / 2, 0);
|
|
22465
22490
|
ctx2.lineTo(x + width, y + height - offsetWidth);
|
|
22466
22491
|
ctx2.lineTo(x + width + offsetX, y + height + offsetY);
|
|
22467
|
-
ctx2.lineTo(x + width -
|
|
22468
|
-
ctx2.lineTo(x +
|
|
22469
|
-
ctx2.arc(x +
|
|
22470
|
-
ctx2.lineTo(x, y +
|
|
22471
|
-
ctx2.arc(x +
|
|
22492
|
+
ctx2.lineTo(x + width - r2, y + height);
|
|
22493
|
+
ctx2.lineTo(x + r2, y + height);
|
|
22494
|
+
ctx2.arc(x + r2, y + height - r2, r2, Math.PI / 2, Math.PI);
|
|
22495
|
+
ctx2.lineTo(x, y + r2);
|
|
22496
|
+
ctx2.arc(x + r2, y + r2, r2, Math.PI, Math.PI * 1.5);
|
|
22472
22497
|
}
|
|
22473
22498
|
});
|
|
22474
22499
|
var LabelUpperLeft = Path_default.extend({
|
|
@@ -22488,20 +22513,20 @@ var LabelUpperLeft = Path_default.extend({
|
|
|
22488
22513
|
const width = shape.width;
|
|
22489
22514
|
const x = shape.x;
|
|
22490
22515
|
const y = shape.y;
|
|
22491
|
-
const
|
|
22516
|
+
const r2 = shape.r;
|
|
22492
22517
|
const offsetY = shape.offsetY;
|
|
22493
22518
|
const offsetX = shape.offsetX;
|
|
22494
22519
|
const offsetWidth = shape.offsetWidth;
|
|
22495
|
-
ctx2.moveTo(x +
|
|
22496
|
-
ctx2.lineTo(x + width -
|
|
22497
|
-
ctx2.arc(x + width -
|
|
22498
|
-
ctx2.lineTo(x + width, y + height -
|
|
22499
|
-
ctx2.arc(x + width -
|
|
22500
|
-
ctx2.lineTo(x +
|
|
22501
|
-
ctx2.arc(x +
|
|
22520
|
+
ctx2.moveTo(x + r2, y);
|
|
22521
|
+
ctx2.lineTo(x + width - r2, y);
|
|
22522
|
+
ctx2.arc(x + width - r2, y + r2, r2, -Math.PI / 2, 0);
|
|
22523
|
+
ctx2.lineTo(x + width, y + height - r2);
|
|
22524
|
+
ctx2.arc(x + width - r2, y + height - r2, r2, 0, Math.PI / 2);
|
|
22525
|
+
ctx2.lineTo(x + r2, y + height);
|
|
22526
|
+
ctx2.arc(x + r2, y + height - r2, r2, Math.PI / 2, Math.PI);
|
|
22502
22527
|
ctx2.lineTo(x, y + offsetWidth);
|
|
22503
22528
|
ctx2.lineTo(x - offsetX, y - offsetY);
|
|
22504
|
-
ctx2.lineTo(x +
|
|
22529
|
+
ctx2.lineTo(x + r2, y);
|
|
22505
22530
|
}
|
|
22506
22531
|
});
|
|
22507
22532
|
var LabelUpperRight = Path_default.extend({
|
|
@@ -22521,20 +22546,20 @@ var LabelUpperRight = Path_default.extend({
|
|
|
22521
22546
|
const width = shape.width;
|
|
22522
22547
|
const x = shape.x;
|
|
22523
22548
|
const y = shape.y;
|
|
22524
|
-
const
|
|
22549
|
+
const r2 = shape.r;
|
|
22525
22550
|
const offsetY = shape.offsetY;
|
|
22526
22551
|
const offsetX = shape.offsetX;
|
|
22527
22552
|
const offsetWidth = shape.offsetWidth;
|
|
22528
|
-
ctx2.moveTo(x +
|
|
22529
|
-
ctx2.lineTo(x + width -
|
|
22553
|
+
ctx2.moveTo(x + r2, y);
|
|
22554
|
+
ctx2.lineTo(x + width - r2, y);
|
|
22530
22555
|
ctx2.lineTo(x + width + offsetX, y - offsetY);
|
|
22531
22556
|
ctx2.lineTo(x + width, y + offsetWidth);
|
|
22532
|
-
ctx2.lineTo(x + width, y + height -
|
|
22533
|
-
ctx2.arc(x + width -
|
|
22534
|
-
ctx2.lineTo(x +
|
|
22535
|
-
ctx2.arc(x +
|
|
22557
|
+
ctx2.lineTo(x + width, y + height - r2);
|
|
22558
|
+
ctx2.arc(x + width - r2, y + height - r2, r2, 0, Math.PI / 2);
|
|
22559
|
+
ctx2.lineTo(x + r2, y + height);
|
|
22560
|
+
ctx2.arc(x + r2, y + height - r2, r2, Math.PI / 2, Math.PI);
|
|
22536
22561
|
ctx2.lineTo(x, y);
|
|
22537
|
-
ctx2.arc(x +
|
|
22562
|
+
ctx2.arc(x + r2, y + r2, r2, Math.PI, Math.PI * 1.5);
|
|
22538
22563
|
}
|
|
22539
22564
|
});
|
|
22540
22565
|
var LabelCenter = Path_default.extend({
|
|
@@ -22551,16 +22576,16 @@ var LabelCenter = Path_default.extend({
|
|
|
22551
22576
|
const width = shape.width;
|
|
22552
22577
|
const x = shape.x;
|
|
22553
22578
|
const y = shape.y;
|
|
22554
|
-
const
|
|
22555
|
-
ctx2.moveTo(x +
|
|
22556
|
-
ctx2.lineTo(x + width -
|
|
22557
|
-
ctx2.arc(x + width -
|
|
22558
|
-
ctx2.lineTo(x + width, y + height -
|
|
22559
|
-
ctx2.arc(x + width -
|
|
22560
|
-
ctx2.lineTo(x +
|
|
22561
|
-
ctx2.arc(x +
|
|
22579
|
+
const r2 = shape.r;
|
|
22580
|
+
ctx2.moveTo(x + r2, y);
|
|
22581
|
+
ctx2.lineTo(x + width - r2, y);
|
|
22582
|
+
ctx2.arc(x + width - r2, y + r2, r2, -Math.PI / 2, 0);
|
|
22583
|
+
ctx2.lineTo(x + width, y + height - r2);
|
|
22584
|
+
ctx2.arc(x + width - r2, y + height - r2, r2, 0, Math.PI / 2);
|
|
22585
|
+
ctx2.lineTo(x + r2, y + height);
|
|
22586
|
+
ctx2.arc(x + r2, y + height - r2, r2, Math.PI / 2, Math.PI);
|
|
22562
22587
|
ctx2.lineTo(x, y);
|
|
22563
|
-
ctx2.arc(x +
|
|
22588
|
+
ctx2.arc(x + r2, y + r2, r2, Math.PI, Math.PI * 1.5);
|
|
22564
22589
|
}
|
|
22565
22590
|
});
|
|
22566
22591
|
var XCross = Path_default.extend({
|
|
@@ -22986,54 +23011,54 @@ var symbolShapeMakers = {
|
|
|
22986
23011
|
shape.height = h;
|
|
22987
23012
|
},
|
|
22988
23013
|
labelCenter: function(x, y, w, h, shape) {
|
|
22989
|
-
const
|
|
23014
|
+
const r2 = 2;
|
|
22990
23015
|
const offset = 1;
|
|
22991
23016
|
shape.x = x - w / 2 + offset;
|
|
22992
23017
|
shape.y = y - h;
|
|
22993
23018
|
shape.width = w;
|
|
22994
23019
|
shape.height = h;
|
|
22995
|
-
shape.r =
|
|
23020
|
+
shape.r = r2;
|
|
22996
23021
|
},
|
|
22997
23022
|
labelDown: function(x, y, w, h, shape, parentShape) {
|
|
22998
23023
|
const triangleWidth = parentShape.triangleWidth;
|
|
22999
|
-
const
|
|
23024
|
+
const r2 = 2;
|
|
23000
23025
|
const offset = 1;
|
|
23001
23026
|
shape.triangleWidth = triangleWidth;
|
|
23002
23027
|
shape.x = x - w / 2 + offset;
|
|
23003
23028
|
shape.y = y - h - triangleWidth;
|
|
23004
23029
|
shape.width = w;
|
|
23005
23030
|
shape.height = h;
|
|
23006
|
-
shape.r =
|
|
23031
|
+
shape.r = r2;
|
|
23007
23032
|
},
|
|
23008
23033
|
labelUp: function(x, y, w, h, shape, parentShape) {
|
|
23009
|
-
const
|
|
23034
|
+
const r2 = 2;
|
|
23010
23035
|
const offset = 1;
|
|
23011
23036
|
shape.x = x - w / 2 + offset;
|
|
23012
23037
|
shape.triangleWidth = parentShape.triangleWidth;
|
|
23013
23038
|
shape.y = y - h + parentShape.triangleWidth;
|
|
23014
23039
|
shape.width = w;
|
|
23015
23040
|
shape.height = h;
|
|
23016
|
-
shape.r =
|
|
23041
|
+
shape.r = r2;
|
|
23017
23042
|
},
|
|
23018
23043
|
labelLeft: function(x, y, w, h, shape, parentShape) {
|
|
23019
23044
|
const triangleWidth = parentShape.triangleWidth;
|
|
23020
|
-
const
|
|
23045
|
+
const r2 = 2;
|
|
23021
23046
|
shape.triangleWidth = triangleWidth;
|
|
23022
23047
|
shape.x = x + triangleWidth;
|
|
23023
23048
|
shape.y = y - h / 2;
|
|
23024
23049
|
shape.width = w;
|
|
23025
23050
|
shape.height = h;
|
|
23026
|
-
shape.r =
|
|
23051
|
+
shape.r = r2;
|
|
23027
23052
|
},
|
|
23028
23053
|
labelRight: function(x, y, w, h, shape, parentShape) {
|
|
23029
23054
|
const triangleWidth = parentShape.triangleWidth;
|
|
23030
|
-
const
|
|
23055
|
+
const r2 = 2;
|
|
23031
23056
|
shape.triangleWidth = triangleWidth;
|
|
23032
23057
|
shape.x = x - w - triangleWidth;
|
|
23033
23058
|
shape.y = y - h / 2;
|
|
23034
23059
|
shape.width = w;
|
|
23035
23060
|
shape.height = h;
|
|
23036
|
-
shape.r =
|
|
23061
|
+
shape.r = r2;
|
|
23037
23062
|
},
|
|
23038
23063
|
labelLowerLeft: function(x, y, w, h, shape, parentShape) {
|
|
23039
23064
|
const offsetY = parentShape.offsetY;
|
|
@@ -23308,16 +23333,16 @@ function createRadialGradient(ctx2, obj, rect) {
|
|
|
23308
23333
|
const min3 = Math.min(width, height);
|
|
23309
23334
|
let x = obj.x == null ? 0.5 : obj.x;
|
|
23310
23335
|
let y = obj.y == null ? 0.5 : obj.y;
|
|
23311
|
-
let
|
|
23336
|
+
let r2 = obj.r == null ? 0.5 : obj.r;
|
|
23312
23337
|
if (!obj.global) {
|
|
23313
23338
|
x = x * width + rect.x;
|
|
23314
23339
|
y = y * height + rect.y;
|
|
23315
|
-
|
|
23340
|
+
r2 = r2 * min3;
|
|
23316
23341
|
}
|
|
23317
23342
|
x = isSafeNum(x) ? x : 0.5;
|
|
23318
23343
|
y = isSafeNum(y) ? y : 0.5;
|
|
23319
|
-
|
|
23320
|
-
const canvasGradient = ctx2.createRadialGradient(x, y, 0, x, y,
|
|
23344
|
+
r2 = r2 >= 0 && isSafeNum(r2) ? r2 : 0.5;
|
|
23345
|
+
const canvasGradient = ctx2.createRadialGradient(x, y, 0, x, y, r2);
|
|
23321
23346
|
return canvasGradient;
|
|
23322
23347
|
}
|
|
23323
23348
|
function getCanvasGradient(ctx2, obj, rect) {
|
|
@@ -28665,6 +28690,20 @@ var OrdinalMeta = class {
|
|
|
28665
28690
|
}
|
|
28666
28691
|
return index;
|
|
28667
28692
|
}
|
|
28693
|
+
parseAndExtra(category) {
|
|
28694
|
+
let index;
|
|
28695
|
+
const needCollect = this._needCollect;
|
|
28696
|
+
if (!isString(category) && !needCollect) {
|
|
28697
|
+
return category;
|
|
28698
|
+
}
|
|
28699
|
+
const map9 = this._getOrCreateMap();
|
|
28700
|
+
index = map9.get(category);
|
|
28701
|
+
if (index == null) {
|
|
28702
|
+
const idx = findClosestIndex(this.extraCategory, category);
|
|
28703
|
+
return ~idx ? this.categories.length + idx : NaN;
|
|
28704
|
+
}
|
|
28705
|
+
return index;
|
|
28706
|
+
}
|
|
28668
28707
|
_getOrCreateMap() {
|
|
28669
28708
|
return this._map || (this._map = createHashMap(this.categories));
|
|
28670
28709
|
}
|
|
@@ -30851,27 +30890,27 @@ function parseColor(color2) {
|
|
|
30851
30890
|
hex = hex.split("").map((c) => c + c).join("");
|
|
30852
30891
|
}
|
|
30853
30892
|
if (hex.length === 6 || hex.length === 8) {
|
|
30854
|
-
const
|
|
30893
|
+
const r2 = parseInt(hex.slice(0, 2), 16);
|
|
30855
30894
|
const g = parseInt(hex.slice(2, 4), 16);
|
|
30856
30895
|
const b = parseInt(hex.slice(4, 6), 16);
|
|
30857
|
-
return [
|
|
30896
|
+
return [r2, g, b];
|
|
30858
30897
|
}
|
|
30859
30898
|
}
|
|
30860
30899
|
return [0, 0, 0];
|
|
30861
30900
|
}
|
|
30862
30901
|
function contrastColor2(color2) {
|
|
30863
|
-
const [
|
|
30864
|
-
const brightness = (
|
|
30902
|
+
const [r2, g, b] = parseColor(color2);
|
|
30903
|
+
const brightness = (r2 * 299 + g * 587 + b * 114) / 1e3;
|
|
30865
30904
|
return brightness >= 130 ? "#000000" : "#ffffff";
|
|
30866
30905
|
}
|
|
30867
30906
|
function getIsLightColor(color2) {
|
|
30868
|
-
const [
|
|
30869
|
-
const brightness = (
|
|
30907
|
+
const [r2, g, b] = parseColor(color2);
|
|
30908
|
+
const brightness = (r2 * 299 + g * 587 + b * 114) / 1e3;
|
|
30870
30909
|
return brightness >= 130;
|
|
30871
30910
|
}
|
|
30872
30911
|
function removeTransparency(color2) {
|
|
30873
|
-
const [
|
|
30874
|
-
return `rgb(${
|
|
30912
|
+
const [r2, g, b] = parseColor(color2);
|
|
30913
|
+
return `rgb(${r2}, ${g}, ${b})`;
|
|
30875
30914
|
}
|
|
30876
30915
|
function isColorSimilarManhattan(rgbas1, rgbas2, threshold01 = 0.1, weightAlpha = 1) {
|
|
30877
30916
|
const maxSum = threshold01 * 255 * 4;
|
|
@@ -30884,10 +30923,10 @@ function blendColors(foreground, background) {
|
|
|
30884
30923
|
const fgAlpha = fg.a !== void 0 ? fg.a : 1;
|
|
30885
30924
|
const bgAlpha = bg.a !== void 0 ? bg.a : 1;
|
|
30886
30925
|
const alpha = fgAlpha + bgAlpha * (1 - fgAlpha);
|
|
30887
|
-
const
|
|
30926
|
+
const r2 = Math.round((fg.r * fgAlpha + bg.r * bgAlpha * (1 - fgAlpha)) / alpha);
|
|
30888
30927
|
const g = Math.round((fg.g * fgAlpha + bg.g * bgAlpha * (1 - fgAlpha)) / alpha);
|
|
30889
30928
|
const b = Math.round((fg.b * fgAlpha + bg.b * bgAlpha * (1 - fgAlpha)) / alpha);
|
|
30890
|
-
return rgbToHex(
|
|
30929
|
+
return rgbToHex(r2, g, b);
|
|
30891
30930
|
}
|
|
30892
30931
|
function parseColorToRgba(color2) {
|
|
30893
30932
|
color2 = color2.trim().toLowerCase();
|
|
@@ -30907,10 +30946,10 @@ function parseColorToRgba(color2) {
|
|
|
30907
30946
|
if (color2.length === 3) {
|
|
30908
30947
|
color2 = color2[0] + color2[0] + color2[1] + color2[1] + color2[2] + color2[2];
|
|
30909
30948
|
}
|
|
30910
|
-
const
|
|
30949
|
+
const r2 = parseInt(color2.substring(0, 2), 16);
|
|
30911
30950
|
const g = parseInt(color2.substring(2, 4), 16);
|
|
30912
30951
|
const b = parseInt(color2.substring(4, 6), 16);
|
|
30913
|
-
const result = {r, g, b};
|
|
30952
|
+
const result = {r: r2, g, b};
|
|
30914
30953
|
if (color2.length === 8) {
|
|
30915
30954
|
result.a = parseInt(color2.substring(6, 8), 16) / 255;
|
|
30916
30955
|
}
|
|
@@ -30918,8 +30957,8 @@ function parseColorToRgba(color2) {
|
|
|
30918
30957
|
}
|
|
30919
30958
|
throw new Error(`\u65E0\u6CD5\u89E3\u6790\u7684\u989C\u8272\u683C\u5F0F: ${color2}`);
|
|
30920
30959
|
}
|
|
30921
|
-
function rgbToHex(
|
|
30922
|
-
return `#${Math.round(
|
|
30960
|
+
function rgbToHex(r2, g, b) {
|
|
30961
|
+
return `#${Math.round(r2).toString(16).padStart(2, "0")}${Math.round(g).toString(16).padStart(2, "0")}${Math.round(b).toString(16).padStart(2, "0")}`;
|
|
30923
30962
|
}
|
|
30924
30963
|
|
|
30925
30964
|
// src/data/scale-time/default-tick-mark-formatter.ts
|
|
@@ -31495,18 +31534,18 @@ function getCandidateAnchor(pos, distance2, rect, outPt, outDir) {
|
|
|
31495
31534
|
break;
|
|
31496
31535
|
}
|
|
31497
31536
|
}
|
|
31498
|
-
function projectPointToArc(cx, cy,
|
|
31537
|
+
function projectPointToArc(cx, cy, r2, startAngle, endAngle, anticlockwise, x, y, out2) {
|
|
31499
31538
|
x -= cx;
|
|
31500
31539
|
y -= cy;
|
|
31501
31540
|
const d = Math.sqrt(x * x + y * y);
|
|
31502
31541
|
x /= d;
|
|
31503
31542
|
y /= d;
|
|
31504
|
-
const ox = x *
|
|
31505
|
-
const oy = y *
|
|
31543
|
+
const ox = x * r2 + cx;
|
|
31544
|
+
const oy = y * r2 + cy;
|
|
31506
31545
|
if (Math.abs(startAngle - endAngle) % PI27 < 1e-4) {
|
|
31507
31546
|
out2[0] = ox;
|
|
31508
31547
|
out2[1] = oy;
|
|
31509
|
-
return d -
|
|
31548
|
+
return d - r2;
|
|
31510
31549
|
}
|
|
31511
31550
|
if (anticlockwise) {
|
|
31512
31551
|
const tmp = startAngle;
|
|
@@ -31526,12 +31565,12 @@ function projectPointToArc(cx, cy, r, startAngle, endAngle, anticlockwise, x, y,
|
|
|
31526
31565
|
if (angle >= startAngle && angle <= endAngle || angle + PI27 >= startAngle && angle + PI27 <= endAngle) {
|
|
31527
31566
|
out2[0] = ox;
|
|
31528
31567
|
out2[1] = oy;
|
|
31529
|
-
return d -
|
|
31568
|
+
return d - r2;
|
|
31530
31569
|
}
|
|
31531
|
-
const x1 =
|
|
31532
|
-
const y1 =
|
|
31533
|
-
const x2 =
|
|
31534
|
-
const y2 =
|
|
31570
|
+
const x1 = r2 * Math.cos(startAngle) + cx;
|
|
31571
|
+
const y1 = r2 * Math.sin(startAngle) + cy;
|
|
31572
|
+
const x2 = r2 * Math.cos(endAngle) + cx;
|
|
31573
|
+
const y2 = r2 * Math.sin(endAngle) + cy;
|
|
31535
31574
|
const d1 = (x1 - x) * (x1 - x) + (y1 - y) * (y1 - y);
|
|
31536
31575
|
const d2 = (x2 - x) * (x2 - x) + (y2 - y) * (y2 - y);
|
|
31537
31576
|
if (d1 < d2) {
|
|
@@ -32491,8 +32530,8 @@ var SVGPathRebuilder = class {
|
|
|
32491
32530
|
quadraticCurveTo(x, y, x2, y2) {
|
|
32492
32531
|
this._add("Q", x, y, x2, y2);
|
|
32493
32532
|
}
|
|
32494
|
-
arc(cx, cy,
|
|
32495
|
-
this.ellipse(cx, cy,
|
|
32533
|
+
arc(cx, cy, r2, startAngle, endAngle, anticlockwise) {
|
|
32534
|
+
this.ellipse(cx, cy, r2, r2, 0, startAngle, endAngle, anticlockwise);
|
|
32496
32535
|
}
|
|
32497
32536
|
ellipse(cx, cy, rx, ry, psi, startAngle, endAngle, anticlockwise) {
|
|
32498
32537
|
let dTheta = endAngle - startAngle;
|
|
@@ -34535,8 +34574,8 @@ var CanvasPainter = class {
|
|
|
34535
34574
|
} else {
|
|
34536
34575
|
const horizontalPixelRatio = this.horizontalPixelRatio;
|
|
34537
34576
|
const verticalPixelRatio = this.verticalPixelRatio;
|
|
34538
|
-
for (var
|
|
34539
|
-
const rect = repaintRects[
|
|
34577
|
+
for (var r2 = 0; r2 < repaintRects.length; ++r2) {
|
|
34578
|
+
const rect = repaintRects[r2];
|
|
34540
34579
|
ctx2.save();
|
|
34541
34580
|
ctx2.beginPath();
|
|
34542
34581
|
ctx2.rect(rect.x * horizontalPixelRatio, rect.y * verticalPixelRatio, rect.width * horizontalPixelRatio, rect.height * verticalPixelRatio);
|
|
@@ -35942,13 +35981,13 @@ function createGridClipPath(cartesian, hasAnimation, seriesModel, done, during)
|
|
|
35942
35981
|
function createPolarClipPath(polar, hasAnimation, seriesModel) {
|
|
35943
35982
|
const sectorArea = polar.getArea();
|
|
35944
35983
|
const r0 = round(sectorArea.r0, 1);
|
|
35945
|
-
const
|
|
35984
|
+
const r2 = round(sectorArea.r, 1);
|
|
35946
35985
|
const clipPath = new Sector_default({
|
|
35947
35986
|
shape: {
|
|
35948
35987
|
cx: round(polar.cx, 1),
|
|
35949
35988
|
cy: round(polar.cy, 1),
|
|
35950
35989
|
r0,
|
|
35951
|
-
r,
|
|
35990
|
+
r: r2,
|
|
35952
35991
|
startAngle: sectorArea.startAngle,
|
|
35953
35992
|
endAngle: sectorArea.endAngle,
|
|
35954
35993
|
clockwise: sectorArea.clockwise
|
|
@@ -35964,7 +36003,7 @@ function createPolarClipPath(polar, hasAnimation, seriesModel) {
|
|
|
35964
36003
|
initProps(clipPath, {
|
|
35965
36004
|
shape: {
|
|
35966
36005
|
endAngle: sectorArea.endAngle,
|
|
35967
|
-
r
|
|
36006
|
+
r: r2
|
|
35968
36007
|
}
|
|
35969
36008
|
}, seriesModel);
|
|
35970
36009
|
}
|
|
@@ -37260,8 +37299,8 @@ var SausagePath = class extends Path_default {
|
|
|
37260
37299
|
const cx = shape.cx;
|
|
37261
37300
|
const cy = shape.cy;
|
|
37262
37301
|
const r0 = Math.max(shape.r0 || 0, 0);
|
|
37263
|
-
const
|
|
37264
|
-
const dr = (
|
|
37302
|
+
const r2 = Math.max(shape.r, 0);
|
|
37303
|
+
const dr = (r2 - r0) * 0.5;
|
|
37265
37304
|
const rCenter = r0 + dr;
|
|
37266
37305
|
let startAngle = shape.startAngle;
|
|
37267
37306
|
const endAngle = shape.endAngle;
|
|
@@ -37279,9 +37318,9 @@ var SausagePath = class extends Path_default {
|
|
|
37279
37318
|
ctx2.moveTo(unitStartX * r0 + cx, unitStartY * r0 + cy);
|
|
37280
37319
|
ctx2.arc(unitStartX * rCenter + cx, unitStartY * rCenter + cy, dr, -Math.PI + startAngle, startAngle, !clockwise);
|
|
37281
37320
|
} else {
|
|
37282
|
-
ctx2.moveTo(unitStartX *
|
|
37321
|
+
ctx2.moveTo(unitStartX * r2 + cx, unitStartY * r2 + cy);
|
|
37283
37322
|
}
|
|
37284
|
-
ctx2.arc(cx, cy,
|
|
37323
|
+
ctx2.arc(cx, cy, r2, startAngle, endAngle, !clockwise);
|
|
37285
37324
|
ctx2.arc(unitEndX * rCenter + cx, unitEndY * rCenter + cy, dr, endAngle - Math.PI * 2, endAngle - Math.PI, !clockwise);
|
|
37286
37325
|
if (r0 !== 0) {
|
|
37287
37326
|
ctx2.arc(cx, cy, r0, endAngle, startAngle, clockwise);
|
|
@@ -37304,17 +37343,17 @@ function createSectorCalculateTextPosition(positionMapping, opts) {
|
|
|
37304
37343
|
const sector = this.shape;
|
|
37305
37344
|
const cx = sector.cx;
|
|
37306
37345
|
const cy = sector.cy;
|
|
37307
|
-
const
|
|
37346
|
+
const r2 = sector.r;
|
|
37308
37347
|
const r0 = sector.r0;
|
|
37309
|
-
const middleR = (
|
|
37348
|
+
const middleR = (r2 + r0) / 2;
|
|
37310
37349
|
const startAngle = sector.startAngle;
|
|
37311
37350
|
const endAngle = sector.endAngle;
|
|
37312
37351
|
const middleAngle = (startAngle + endAngle) / 2;
|
|
37313
|
-
const extraDist = isRoundCap ? Math.abs(
|
|
37352
|
+
const extraDist = isRoundCap ? Math.abs(r2 - r0) / 2 : 0;
|
|
37314
37353
|
const mathCos6 = Math.cos;
|
|
37315
37354
|
const mathSin6 = Math.sin;
|
|
37316
|
-
let x = cx +
|
|
37317
|
-
let y = cy +
|
|
37355
|
+
let x = cx + r2 * mathCos6(startAngle);
|
|
37356
|
+
let y = cy + r2 * mathSin6(startAngle);
|
|
37318
37357
|
let textAlign = "left";
|
|
37319
37358
|
let textVerticalAlign = "top";
|
|
37320
37359
|
switch (mappedSectorPosition) {
|
|
@@ -37349,14 +37388,14 @@ function createSectorCalculateTextPosition(positionMapping, opts) {
|
|
|
37349
37388
|
textVerticalAlign = "middle";
|
|
37350
37389
|
break;
|
|
37351
37390
|
case "endArc":
|
|
37352
|
-
x = cx + (
|
|
37353
|
-
y = cy + (
|
|
37391
|
+
x = cx + (r2 + distance2) * mathCos6(middleAngle);
|
|
37392
|
+
y = cy + (r2 + distance2) * mathSin6(middleAngle);
|
|
37354
37393
|
textAlign = "center";
|
|
37355
37394
|
textVerticalAlign = "bottom";
|
|
37356
37395
|
break;
|
|
37357
37396
|
case "insideEndArc":
|
|
37358
|
-
x = cx + (
|
|
37359
|
-
y = cy + (
|
|
37397
|
+
x = cx + (r2 - distance2) * mathCos6(middleAngle);
|
|
37398
|
+
y = cy + (r2 - distance2) * mathSin6(middleAngle);
|
|
37360
37399
|
textAlign = "center";
|
|
37361
37400
|
textVerticalAlign = "top";
|
|
37362
37401
|
break;
|
|
@@ -37839,11 +37878,11 @@ var clip = {
|
|
|
37839
37878
|
layout18.r = layout18.r0;
|
|
37840
37879
|
layout18.r0 = tmp;
|
|
37841
37880
|
}
|
|
37842
|
-
const
|
|
37881
|
+
const r2 = mathMin7(layout18.r, coordSysClipArea.r);
|
|
37843
37882
|
const r0 = mathMax7(layout18.r0, coordSysClipArea.r0);
|
|
37844
|
-
layout18.r =
|
|
37883
|
+
layout18.r = r2;
|
|
37845
37884
|
layout18.r0 = r0;
|
|
37846
|
-
const clipped =
|
|
37885
|
+
const clipped = r2 - r0 < 0;
|
|
37847
37886
|
if (signR < 0) {
|
|
37848
37887
|
const tmp = layout18.r;
|
|
37849
37888
|
layout18.r = layout18.r0;
|
|
@@ -38230,7 +38269,7 @@ function getBasicPieLayout(seriesModel, api2) {
|
|
|
38230
38269
|
const height = parsePercent2(viewRect2.height, api2.getHeight());
|
|
38231
38270
|
const size = Math.min(width, height);
|
|
38232
38271
|
const r0 = parsePercent2(radius[0], size / 2);
|
|
38233
|
-
const
|
|
38272
|
+
const r2 = parsePercent2(radius[1], size / 2);
|
|
38234
38273
|
let cx;
|
|
38235
38274
|
let cy;
|
|
38236
38275
|
const coordSys = seriesModel.coordinateSystem;
|
|
@@ -38249,7 +38288,7 @@ function getBasicPieLayout(seriesModel, api2) {
|
|
|
38249
38288
|
cx,
|
|
38250
38289
|
cy,
|
|
38251
38290
|
r0,
|
|
38252
|
-
r
|
|
38291
|
+
r: r2
|
|
38253
38292
|
};
|
|
38254
38293
|
}
|
|
38255
38294
|
function pieLayout(seriesType2, ecModel, api2) {
|
|
@@ -38257,7 +38296,7 @@ function pieLayout(seriesType2, ecModel, api2) {
|
|
|
38257
38296
|
const data = seriesModel.getData();
|
|
38258
38297
|
const valueDim = data.mapDimension("value");
|
|
38259
38298
|
const viewRect2 = getViewRect(seriesModel, api2);
|
|
38260
|
-
const {cx, cy, r, r0} = getBasicPieLayout(seriesModel, api2);
|
|
38299
|
+
const {cx, cy, r: r2, r0} = getBasicPieLayout(seriesModel, api2);
|
|
38261
38300
|
let startAngle = -seriesModel.get("startAngle") * RADIAN;
|
|
38262
38301
|
let endAngle = seriesModel.get("endAngle");
|
|
38263
38302
|
const padAngle = seriesModel.get("padAngle") * RADIAN;
|
|
@@ -38288,7 +38327,7 @@ function pieLayout(seriesType2, ecModel, api2) {
|
|
|
38288
38327
|
let restAngle = angleRange;
|
|
38289
38328
|
let valueSumLargerThanMinAngle = 0;
|
|
38290
38329
|
let currentAngle = startAngle;
|
|
38291
|
-
data.setLayout({viewRect: viewRect2, r});
|
|
38330
|
+
data.setLayout({viewRect: viewRect2, r: r2});
|
|
38292
38331
|
data.each(valueDim, function(value, idx) {
|
|
38293
38332
|
let angle;
|
|
38294
38333
|
if (isNaN(value)) {
|
|
@@ -38300,7 +38339,7 @@ function pieLayout(seriesType2, ecModel, api2) {
|
|
|
38300
38339
|
cx,
|
|
38301
38340
|
cy,
|
|
38302
38341
|
r0,
|
|
38303
|
-
r: roseType ? NaN :
|
|
38342
|
+
r: roseType ? NaN : r2
|
|
38304
38343
|
});
|
|
38305
38344
|
return;
|
|
38306
38345
|
}
|
|
@@ -38333,7 +38372,7 @@ function pieLayout(seriesType2, ecModel, api2) {
|
|
|
38333
38372
|
cx,
|
|
38334
38373
|
cy,
|
|
38335
38374
|
r0,
|
|
38336
|
-
r: roseType ? linearMap(value, extent3, [r0,
|
|
38375
|
+
r: roseType ? linearMap(value, extent3, [r0, r2]) : r2
|
|
38337
38376
|
});
|
|
38338
38377
|
currentAngle = endAngle2;
|
|
38339
38378
|
});
|
|
@@ -38411,7 +38450,7 @@ function dataFilter(seriesType2) {
|
|
|
38411
38450
|
|
|
38412
38451
|
// src/chart/pie/labelLayout.ts
|
|
38413
38452
|
var RADIAN2 = Math.PI / 180;
|
|
38414
|
-
function adjustSingleSide(list, cx, cy,
|
|
38453
|
+
function adjustSingleSide(list, cx, cy, r2, dir3, viewWidth, viewHeight, viewLeft, viewTop, farthestX) {
|
|
38415
38454
|
if (list.length < 2) {
|
|
38416
38455
|
return;
|
|
38417
38456
|
}
|
|
@@ -38422,7 +38461,7 @@ function adjustSingleSide(list, cx, cy, r, dir3, viewWidth, viewHeight, viewLeft
|
|
|
38422
38461
|
for (let i = 0; i < semi.list.length; i++) {
|
|
38423
38462
|
const item = semi.list[i];
|
|
38424
38463
|
const dy = Math.abs(item.label.y - cy);
|
|
38425
|
-
const rA =
|
|
38464
|
+
const rA = r2 + item.len;
|
|
38426
38465
|
const rA2 = rA * rA;
|
|
38427
38466
|
const dx = Math.sqrt((1 - Math.abs(dy * dy / rB2)) * rA2);
|
|
38428
38467
|
const newX = cx + (dx + item.len2) * dir3;
|
|
@@ -38444,7 +38483,7 @@ function adjustSingleSide(list, cx, cy, r, dir3, viewWidth, viewHeight, viewLeft
|
|
|
38444
38483
|
const dy = Math.abs(item.label.y - cy);
|
|
38445
38484
|
if (dy >= semi.maxY) {
|
|
38446
38485
|
const dx = item.label.x - cx - item.len2 * dir3;
|
|
38447
|
-
const rA =
|
|
38486
|
+
const rA = r2 + item.len;
|
|
38448
38487
|
const rB = Math.abs(dx) < rA ? Math.sqrt(dy * dy / (1 - dx * dx / rA / rA)) : rA;
|
|
38449
38488
|
semi.rB = rB;
|
|
38450
38489
|
semi.maxY = dy;
|
|
@@ -38466,7 +38505,7 @@ function adjustSingleSide(list, cx, cy, r, dir3, viewWidth, viewHeight, viewLeft
|
|
|
38466
38505
|
recalculateX(list);
|
|
38467
38506
|
}
|
|
38468
38507
|
}
|
|
38469
|
-
function avoidOverlap(labelLayoutList, cx, cy,
|
|
38508
|
+
function avoidOverlap(labelLayoutList, cx, cy, r2, viewWidth, viewHeight, viewLeft, viewTop) {
|
|
38470
38509
|
const leftList = [];
|
|
38471
38510
|
const rightList = [];
|
|
38472
38511
|
let leftmostX = Number.MAX_VALUE;
|
|
@@ -38516,8 +38555,8 @@ function avoidOverlap(labelLayoutList, cx, cy, r, viewWidth, viewHeight, viewLef
|
|
|
38516
38555
|
constrainTextWidth(layout18, targetTextWidth);
|
|
38517
38556
|
}
|
|
38518
38557
|
}
|
|
38519
|
-
adjustSingleSide(rightList, cx, cy,
|
|
38520
|
-
adjustSingleSide(leftList, cx, cy,
|
|
38558
|
+
adjustSingleSide(rightList, cx, cy, r2, 1, viewWidth, viewHeight, viewLeft, viewTop, rightmostX);
|
|
38559
|
+
adjustSingleSide(leftList, cx, cy, r2, -1, viewWidth, viewHeight, viewLeft, viewTop, leftmostX);
|
|
38521
38560
|
for (let i = 0; i < labelLayoutList.length; i++) {
|
|
38522
38561
|
const layout18 = labelLayoutList[i];
|
|
38523
38562
|
if (!isPositionCenter(layout18) && layout18.linePoints) {
|
|
@@ -38590,7 +38629,7 @@ function pieLabelLayout(seriesModel) {
|
|
|
38590
38629
|
let hasLabelRotate = false;
|
|
38591
38630
|
const minShowLabelRadian = (seriesModel.get("minShowLabelAngle") || 0) * RADIAN2;
|
|
38592
38631
|
const viewRect2 = data.getLayout("viewRect");
|
|
38593
|
-
const
|
|
38632
|
+
const r2 = data.getLayout("r");
|
|
38594
38633
|
const viewWidth = viewRect2.width;
|
|
38595
38634
|
const viewLeft = viewRect2.x;
|
|
38596
38635
|
const viewTop = viewRect2.y;
|
|
@@ -38658,8 +38697,8 @@ function pieLabelLayout(seriesModel) {
|
|
|
38658
38697
|
textX = x1 + nx * 3;
|
|
38659
38698
|
textY = y1 + ny * 3;
|
|
38660
38699
|
if (!isLabelInside) {
|
|
38661
|
-
const x2 = x1 + nx * (labelLineLen +
|
|
38662
|
-
const y2 = y1 + ny * (labelLineLen +
|
|
38700
|
+
const x2 = x1 + nx * (labelLineLen + r2 - sectorShape.r);
|
|
38701
|
+
const y2 = y1 + ny * (labelLineLen + r2 - sectorShape.r);
|
|
38663
38702
|
const x3 = x2 + (nx < 0 ? -1 : 1) * labelLineLen2;
|
|
38664
38703
|
const y3 = y2;
|
|
38665
38704
|
if (labelAlignTo === "edge") {
|
|
@@ -38740,7 +38779,7 @@ function pieLabelLayout(seriesModel) {
|
|
|
38740
38779
|
});
|
|
38741
38780
|
});
|
|
38742
38781
|
if (!hasLabelRotate && seriesModel.get("avoidLabelOverlap")) {
|
|
38743
|
-
avoidOverlap(labelLayoutList, cx, cy,
|
|
38782
|
+
avoidOverlap(labelLayoutList, cx, cy, r2, viewWidth, viewHeight, viewLeft, viewTop);
|
|
38744
38783
|
}
|
|
38745
38784
|
for (let i = 0; i < labelLayoutList.length; i++) {
|
|
38746
38785
|
const layout18 = labelLayoutList[i];
|
|
@@ -40549,12 +40588,12 @@ var builders = {
|
|
|
40549
40588
|
}], function(point, index) {
|
|
40550
40589
|
if (arrows[index] !== "none" && arrows[index] != null) {
|
|
40551
40590
|
const symbol = createSymbol(arrows[index], -symbolWidth / 2, -symbolHeight / 2, symbolWidth, symbolHeight, lineStyle.stroke, true);
|
|
40552
|
-
const
|
|
40591
|
+
const r2 = point.r + point.offset;
|
|
40553
40592
|
const pt = inverse ? pt22 : pt12;
|
|
40554
40593
|
symbol.attr({
|
|
40555
40594
|
rotation: point.rotate,
|
|
40556
|
-
x: pt[0] +
|
|
40557
|
-
y: pt[1] -
|
|
40595
|
+
x: pt[0] + r2 * Math.cos(opt.rotation),
|
|
40596
|
+
y: pt[1] - r2 * Math.sin(opt.rotation),
|
|
40558
40597
|
silent: true,
|
|
40559
40598
|
z2: 11
|
|
40560
40599
|
});
|
|
@@ -42878,8 +42917,8 @@ var paintServerParsers = {
|
|
|
42878
42917
|
radialgradient: function(xmlNode) {
|
|
42879
42918
|
const cx = parseInt(xmlNode.getAttribute("cx") || "0", 10);
|
|
42880
42919
|
const cy = parseInt(xmlNode.getAttribute("cy") || "0", 10);
|
|
42881
|
-
const
|
|
42882
|
-
const gradient = new RadialGradient_default(cx, cy,
|
|
42920
|
+
const r2 = parseInt(xmlNode.getAttribute("r") || "0", 10);
|
|
42921
|
+
const gradient = new RadialGradient_default(cx, cy, r2);
|
|
42883
42922
|
parsePaintServerUnit(xmlNode, gradient);
|
|
42884
42923
|
parseGradientColorStops(xmlNode, gradient);
|
|
42885
42924
|
return gradient;
|
|
@@ -45176,11 +45215,11 @@ function secondWalk(node) {
|
|
|
45176
45215
|
function separation(cb) {
|
|
45177
45216
|
return arguments.length ? cb : defaultSeparation;
|
|
45178
45217
|
}
|
|
45179
|
-
function radialCoordinate(rad,
|
|
45218
|
+
function radialCoordinate(rad, r2) {
|
|
45180
45219
|
rad -= Math.PI / 2;
|
|
45181
45220
|
return {
|
|
45182
|
-
x:
|
|
45183
|
-
y:
|
|
45221
|
+
x: r2 * Math.cos(rad),
|
|
45222
|
+
y: r2 * Math.sin(rad)
|
|
45184
45223
|
};
|
|
45185
45224
|
}
|
|
45186
45225
|
function getViewRect2(seriesModel, api2) {
|
|
@@ -48651,7 +48690,7 @@ function circularLayout(seriesModel, basedOn, draggingNode, pointer) {
|
|
|
48651
48690
|
const graph = nodeData.graph;
|
|
48652
48691
|
const cx = rect.width / 2 + rect.x;
|
|
48653
48692
|
const cy = rect.height / 2 + rect.y;
|
|
48654
|
-
const
|
|
48693
|
+
const r2 = Math.min(rect.width, rect.height) / 2;
|
|
48655
48694
|
const count2 = nodeData.count();
|
|
48656
48695
|
nodeData.setLayout({
|
|
48657
48696
|
cx,
|
|
@@ -48664,12 +48703,12 @@ function circularLayout(seriesModel, basedOn, draggingNode, pointer) {
|
|
|
48664
48703
|
const [tempX, tempY] = coordSys.pointToData(pointer);
|
|
48665
48704
|
const v = [tempX - cx, tempY - cy];
|
|
48666
48705
|
normalize(v, v);
|
|
48667
|
-
scale(v, v,
|
|
48706
|
+
scale(v, v, r2);
|
|
48668
48707
|
draggingNode.setLayout([cx + v[0], cy + v[1]], true);
|
|
48669
48708
|
const circularRotateLabel = seriesModel.get(["circular", "rotateLabel"]);
|
|
48670
48709
|
rotateNodeLabel(draggingNode, circularRotateLabel, cx, cy);
|
|
48671
48710
|
}
|
|
48672
|
-
_layoutNodesBasedOn[basedOn](seriesModel, graph, nodeData,
|
|
48711
|
+
_layoutNodesBasedOn[basedOn](seriesModel, graph, nodeData, r2, cx, cy, count2);
|
|
48673
48712
|
graph.eachEdge(function(edge, index) {
|
|
48674
48713
|
let curveness = retrieve3(edge.getModel().get(["lineStyle", "curveness"]), getCurvenessForEdge(edge, seriesModel, index), 0);
|
|
48675
48714
|
const p1 = clone2(edge.node1.getLayout());
|
|
@@ -48688,7 +48727,7 @@ function circularLayout(seriesModel, basedOn, draggingNode, pointer) {
|
|
|
48688
48727
|
});
|
|
48689
48728
|
}
|
|
48690
48729
|
var _layoutNodesBasedOn = {
|
|
48691
|
-
value(seriesModel, graph, nodeData,
|
|
48730
|
+
value(seriesModel, graph, nodeData, r2, cx, cy, count2) {
|
|
48692
48731
|
let angle = 0;
|
|
48693
48732
|
const sum2 = nodeData.getSum("value");
|
|
48694
48733
|
const unitAngle = Math.PI * 2 / (sum2 || count2);
|
|
@@ -48697,13 +48736,13 @@ var _layoutNodesBasedOn = {
|
|
|
48697
48736
|
const radianHalf = unitAngle * (sum2 ? value : 1) / 2;
|
|
48698
48737
|
angle += radianHalf;
|
|
48699
48738
|
node.setLayout([
|
|
48700
|
-
|
|
48701
|
-
|
|
48739
|
+
r2 * Math.cos(angle) + cx,
|
|
48740
|
+
r2 * Math.sin(angle) + cy
|
|
48702
48741
|
]);
|
|
48703
48742
|
angle += radianHalf;
|
|
48704
48743
|
});
|
|
48705
48744
|
},
|
|
48706
|
-
symbolSize(seriesModel, graph, nodeData,
|
|
48745
|
+
symbolSize(seriesModel, graph, nodeData, r2, cx, cy, count2) {
|
|
48707
48746
|
let sumRadian = 0;
|
|
48708
48747
|
_symbolRadiansHalf.length = count2;
|
|
48709
48748
|
const nodeScale = getNodeGlobalScale(seriesModel);
|
|
@@ -48712,7 +48751,7 @@ var _layoutNodesBasedOn = {
|
|
|
48712
48751
|
isNaN(symbolSize) && (symbolSize = 2);
|
|
48713
48752
|
symbolSize < 0 && (symbolSize = 0);
|
|
48714
48753
|
symbolSize *= nodeScale;
|
|
48715
|
-
let symbolRadianHalf = Math.asin(symbolSize / 2 /
|
|
48754
|
+
let symbolRadianHalf = Math.asin(symbolSize / 2 / r2);
|
|
48716
48755
|
isNaN(symbolRadianHalf) && (symbolRadianHalf = PI8 / 2);
|
|
48717
48756
|
_symbolRadiansHalf[node.dataIndex] = symbolRadianHalf;
|
|
48718
48757
|
sumRadian += symbolRadianHalf * 2;
|
|
@@ -48723,8 +48762,8 @@ var _layoutNodesBasedOn = {
|
|
|
48723
48762
|
const radianHalf = halfRemainRadian + _symbolRadiansHalf[node.dataIndex];
|
|
48724
48763
|
angle += radianHalf;
|
|
48725
48764
|
(!node.getLayout() || !node.getLayout().fixed) && node.setLayout([
|
|
48726
|
-
|
|
48727
|
-
|
|
48765
|
+
r2 * Math.cos(angle) + cx,
|
|
48766
|
+
r2 * Math.sin(angle) + cy
|
|
48728
48767
|
]);
|
|
48729
48768
|
angle += radianHalf;
|
|
48730
48769
|
});
|
|
@@ -50493,15 +50532,15 @@ var PointerPath = class extends Path_default {
|
|
|
50493
50532
|
buildPath(ctx2, shape) {
|
|
50494
50533
|
const mathCos6 = Math.cos;
|
|
50495
50534
|
const mathSin6 = Math.sin;
|
|
50496
|
-
const
|
|
50535
|
+
const r2 = shape.r;
|
|
50497
50536
|
const width = shape.width;
|
|
50498
50537
|
let angle = shape.angle;
|
|
50499
|
-
const x = shape.x - mathCos6(angle) * width * (width >=
|
|
50500
|
-
const y = shape.y - mathSin6(angle) * width * (width >=
|
|
50538
|
+
const x = shape.x - mathCos6(angle) * width * (width >= r2 / 3 ? 1 : 2);
|
|
50539
|
+
const y = shape.y - mathSin6(angle) * width * (width >= r2 / 3 ? 1 : 2);
|
|
50501
50540
|
angle = shape.angle - Math.PI / 2;
|
|
50502
50541
|
ctx2.moveTo(x, y);
|
|
50503
50542
|
ctx2.lineTo(shape.x + mathCos6(angle) * width, shape.y + mathSin6(angle) * width);
|
|
50504
|
-
ctx2.lineTo(shape.x + mathCos6(shape.angle) *
|
|
50543
|
+
ctx2.lineTo(shape.x + mathCos6(shape.angle) * r2, shape.y + mathSin6(shape.angle) * r2);
|
|
50505
50544
|
ctx2.lineTo(shape.x - mathCos6(angle) * width, shape.y - mathSin6(angle) * width);
|
|
50506
50545
|
ctx2.lineTo(x, y);
|
|
50507
50546
|
}
|
|
@@ -50516,11 +50555,11 @@ function parsePosition(seriesModel, api2) {
|
|
|
50516
50555
|
const size = Math.min(width, height);
|
|
50517
50556
|
const cx = parsePercent2(center3[0], api2.getWidth());
|
|
50518
50557
|
const cy = parsePercent2(center3[1], api2.getHeight());
|
|
50519
|
-
const
|
|
50558
|
+
const r2 = parsePercent2(seriesModel.get("radius"), size / 2);
|
|
50520
50559
|
return {
|
|
50521
50560
|
cx,
|
|
50522
50561
|
cy,
|
|
50523
|
-
r
|
|
50562
|
+
r: r2
|
|
50524
50563
|
};
|
|
50525
50564
|
}
|
|
50526
50565
|
function formatLabel(value, labelFormatter) {
|
|
@@ -50611,7 +50650,7 @@ var GaugeView2 = class extends Chart_default {
|
|
|
50611
50650
|
const group = this.group;
|
|
50612
50651
|
const cx = posInfo.cx;
|
|
50613
50652
|
const cy = posInfo.cy;
|
|
50614
|
-
const
|
|
50653
|
+
const r2 = posInfo.r;
|
|
50615
50654
|
const minVal = +seriesModel.get("min");
|
|
50616
50655
|
const maxVal = +seriesModel.get("max");
|
|
50617
50656
|
const splitLineModel = seriesModel.getModel("splitLine");
|
|
@@ -50619,8 +50658,8 @@ var GaugeView2 = class extends Chart_default {
|
|
|
50619
50658
|
const labelModel = seriesModel.getModel("axisLabel");
|
|
50620
50659
|
const splitNumber = seriesModel.get("splitNumber");
|
|
50621
50660
|
const subSplitNumber = tickModel.get("splitNumber");
|
|
50622
|
-
const splitLineLen = parsePercent2(splitLineModel.get("length"),
|
|
50623
|
-
const tickLen = parsePercent2(tickModel.get("length"),
|
|
50661
|
+
const splitLineLen = parsePercent2(splitLineModel.get("length"), r2);
|
|
50662
|
+
const tickLen = parsePercent2(tickModel.get("length"), r2);
|
|
50624
50663
|
let angle = startAngle;
|
|
50625
50664
|
const step = (endAngle - startAngle) / splitNumber;
|
|
50626
50665
|
const subStep = step / subSplitNumber;
|
|
@@ -50636,10 +50675,10 @@ var GaugeView2 = class extends Chart_default {
|
|
|
50636
50675
|
const distance2 = splitLineDistance ? splitLineDistance + axisLineWidth : axisLineWidth;
|
|
50637
50676
|
const splitLine = new Line_default({
|
|
50638
50677
|
shape: {
|
|
50639
|
-
x1: unitX * (
|
|
50640
|
-
y1: unitY * (
|
|
50641
|
-
x2: unitX * (
|
|
50642
|
-
y2: unitY * (
|
|
50678
|
+
x1: unitX * (r2 - distance2) + cx,
|
|
50679
|
+
y1: unitY * (r2 - distance2) + cy,
|
|
50680
|
+
x2: unitX * (r2 - splitLineLen - distance2) + cx,
|
|
50681
|
+
y2: unitY * (r2 - splitLineLen - distance2) + cy
|
|
50643
50682
|
},
|
|
50644
50683
|
style: splitLineStyle,
|
|
50645
50684
|
silent: true
|
|
@@ -50655,8 +50694,8 @@ var GaugeView2 = class extends Chart_default {
|
|
|
50655
50694
|
const distance2 = labelModel.get("distance") + splitLineDistance;
|
|
50656
50695
|
const label = formatLabel(round(i / splitNumber * (maxVal - minVal) + minVal), labelModel.get("formatter"));
|
|
50657
50696
|
const autoColor = getColor3(i / splitNumber);
|
|
50658
|
-
const textStyleX = unitX * (
|
|
50659
|
-
const textStyleY = unitY * (
|
|
50697
|
+
const textStyleX = unitX * (r2 - splitLineLen - distance2) + cx;
|
|
50698
|
+
const textStyleY = unitY * (r2 - splitLineLen - distance2) + cy;
|
|
50660
50699
|
const rotateType = labelModel.get("rotate");
|
|
50661
50700
|
let rotate2 = 0;
|
|
50662
50701
|
if (rotateType === "radial") {
|
|
@@ -50708,10 +50747,10 @@ var GaugeView2 = class extends Chart_default {
|
|
|
50708
50747
|
unitY = Math.sin(angle);
|
|
50709
50748
|
const tickLine = new Line_default({
|
|
50710
50749
|
shape: {
|
|
50711
|
-
x1: unitX * (
|
|
50712
|
-
y1: unitY * (
|
|
50713
|
-
x2: unitX * (
|
|
50714
|
-
y2: unitY * (
|
|
50750
|
+
x1: unitX * (r2 - distance2) + cx,
|
|
50751
|
+
y1: unitY * (r2 - distance2) + cy,
|
|
50752
|
+
x2: unitX * (r2 - tickLen - distance2) + cx,
|
|
50753
|
+
y2: unitY * (r2 - tickLen - distance2) + cy
|
|
50715
50754
|
},
|
|
50716
50755
|
silent: true,
|
|
50717
50756
|
style: tickLineStyle
|
|
@@ -50779,7 +50818,7 @@ var GaugeView2 = class extends Chart_default {
|
|
|
50779
50818
|
const isOverlap = progressModel.get("overlap");
|
|
50780
50819
|
const progressWidth = isOverlap ? progressModel.get("width") : axisLineWidth / data.count();
|
|
50781
50820
|
const r0 = isOverlap ? posInfo.r - progressWidth : posInfo.r - (idx + 1) * progressWidth;
|
|
50782
|
-
const
|
|
50821
|
+
const r2 = isOverlap ? posInfo.r : posInfo.r - idx * progressWidth;
|
|
50783
50822
|
const progress = new ProgressPath({
|
|
50784
50823
|
shape: {
|
|
50785
50824
|
startAngle,
|
|
@@ -50788,7 +50827,7 @@ var GaugeView2 = class extends Chart_default {
|
|
|
50788
50827
|
cy: posInfo.cy,
|
|
50789
50828
|
clockwise,
|
|
50790
50829
|
r0,
|
|
50791
|
-
r
|
|
50830
|
+
r: r2
|
|
50792
50831
|
}
|
|
50793
50832
|
});
|
|
50794
50833
|
isOverlap && (progress.z2 = maxVal - data.get(valueDim, idx) % maxVal);
|
|
@@ -62266,7 +62305,7 @@ var HeatmapLayer = class {
|
|
|
62266
62305
|
const brush3 = this._getBrush();
|
|
62267
62306
|
const gradientInRange = this._getGradient(colorFunc, "inRange");
|
|
62268
62307
|
const gradientOutOfRange = this._getGradient(colorFunc, "outOfRange");
|
|
62269
|
-
const
|
|
62308
|
+
const r2 = this.pointSize + this.blurSize;
|
|
62270
62309
|
const canvas2 = this.canvas;
|
|
62271
62310
|
const ctx2 = canvas2.getContext("2d");
|
|
62272
62311
|
const len2 = data.length;
|
|
@@ -62279,7 +62318,7 @@ var HeatmapLayer = class {
|
|
|
62279
62318
|
const value = p[2];
|
|
62280
62319
|
const alpha = normalize5(value);
|
|
62281
62320
|
ctx2.globalAlpha = alpha;
|
|
62282
|
-
ctx2.drawImage(brush3, x -
|
|
62321
|
+
ctx2.drawImage(brush3, x - r2, y - r2);
|
|
62283
62322
|
}
|
|
62284
62323
|
if (!canvas2.width || !canvas2.height) {
|
|
62285
62324
|
return canvas2;
|
|
@@ -62310,8 +62349,8 @@ var HeatmapLayer = class {
|
|
|
62310
62349
|
}
|
|
62311
62350
|
_getBrush() {
|
|
62312
62351
|
const brushCanvas = this._brushCanvas || (this._brushCanvas = platformApi.createCanvas());
|
|
62313
|
-
const
|
|
62314
|
-
const d =
|
|
62352
|
+
const r2 = this.pointSize + this.blurSize;
|
|
62353
|
+
const d = r2 * 2;
|
|
62315
62354
|
brushCanvas.width = d;
|
|
62316
62355
|
brushCanvas.height = d;
|
|
62317
62356
|
const ctx2 = brushCanvas.getContext("2d");
|
|
@@ -62320,7 +62359,7 @@ var HeatmapLayer = class {
|
|
|
62320
62359
|
ctx2.shadowBlur = this.blurSize;
|
|
62321
62360
|
ctx2.shadowColor = "#000";
|
|
62322
62361
|
ctx2.beginPath();
|
|
62323
|
-
ctx2.arc(-
|
|
62362
|
+
ctx2.arc(-r2, r2, this.pointSize, 0, Math.PI * 2, true);
|
|
62324
62363
|
ctx2.closePath();
|
|
62325
62364
|
ctx2.fill();
|
|
62326
62365
|
return brushCanvas;
|
|
@@ -63718,7 +63757,7 @@ var SunburstPiece = class extends Sector_default {
|
|
|
63718
63757
|
outsideFill: labelStateModel.get("color") === "inherit" ? labelColor : null,
|
|
63719
63758
|
inside: labelPosition !== "outside"
|
|
63720
63759
|
};
|
|
63721
|
-
let
|
|
63760
|
+
let r2;
|
|
63722
63761
|
const labelPadding = getLabelAttr(labelStateModel, "distance") || 0;
|
|
63723
63762
|
let textAlign = getLabelAttr(labelStateModel, "align");
|
|
63724
63763
|
const rotateType = getLabelAttr(labelStateModel, "rotate");
|
|
@@ -63727,28 +63766,28 @@ var SunburstPiece = class extends Sector_default {
|
|
|
63727
63766
|
const midAngleNormal = normalizeRadian(rotateType === "tangential" ? Math.PI / 2 - midAngle : midAngle);
|
|
63728
63767
|
const needsFlip = midAngleNormal > flipStartAngle && !isRadianAroundZero(midAngleNormal - flipStartAngle) && midAngleNormal < flipEndAngle;
|
|
63729
63768
|
if (labelPosition === "outside") {
|
|
63730
|
-
|
|
63769
|
+
r2 = layout18.r + labelPadding;
|
|
63731
63770
|
textAlign = needsFlip ? "right" : "left";
|
|
63732
63771
|
} else {
|
|
63733
63772
|
if (!textAlign || textAlign === "center") {
|
|
63734
63773
|
if (angle === 2 * Math.PI && layout18.r0 === 0) {
|
|
63735
|
-
|
|
63774
|
+
r2 = 0;
|
|
63736
63775
|
} else {
|
|
63737
|
-
|
|
63776
|
+
r2 = (layout18.r + layout18.r0) / 2;
|
|
63738
63777
|
}
|
|
63739
63778
|
textAlign = "center";
|
|
63740
63779
|
} else if (textAlign === "left") {
|
|
63741
|
-
|
|
63780
|
+
r2 = layout18.r0 + labelPadding;
|
|
63742
63781
|
textAlign = needsFlip ? "right" : "left";
|
|
63743
63782
|
} else if (textAlign === "right") {
|
|
63744
|
-
|
|
63783
|
+
r2 = layout18.r - labelPadding;
|
|
63745
63784
|
textAlign = needsFlip ? "left" : "right";
|
|
63746
63785
|
}
|
|
63747
63786
|
}
|
|
63748
63787
|
state.style.align = textAlign;
|
|
63749
63788
|
state.style.verticalAlign = getLabelAttr(labelStateModel, "verticalAlign") || "middle";
|
|
63750
|
-
state.x =
|
|
63751
|
-
state.y =
|
|
63789
|
+
state.x = r2 * dx + layout18.cx;
|
|
63790
|
+
state.y = r2 * dy + layout18.cy;
|
|
63752
63791
|
let rotate2 = 0;
|
|
63753
63792
|
if (rotateType === "radial") {
|
|
63754
63793
|
rotate2 = normalizeRadian(-midAngle) + (needsFlip ? Math.PI : 0);
|
|
@@ -64087,7 +64126,7 @@ function sunburstLayout(seriesType2, ecModel, api2) {
|
|
|
64087
64126
|
const cx = parsePercent2(center3[0], width);
|
|
64088
64127
|
const cy = parsePercent2(center3[1], height);
|
|
64089
64128
|
const r0 = parsePercent2(radius[0], size / 2);
|
|
64090
|
-
const
|
|
64129
|
+
const r2 = parsePercent2(radius[1], size / 2);
|
|
64091
64130
|
const startAngle = -seriesModel.get("startAngle") * RADIAN3;
|
|
64092
64131
|
const minAngle = seriesModel.get("minAngle") * RADIAN3;
|
|
64093
64132
|
const virtualRoot = seriesModel.getData().tree.root;
|
|
@@ -64105,7 +64144,7 @@ function sunburstLayout(seriesType2, ecModel, api2) {
|
|
|
64105
64144
|
const unitRadian = Math.PI / (sum2 || validDataCount) * 2;
|
|
64106
64145
|
const renderRollupNode = treeRoot.depth > 0;
|
|
64107
64146
|
const levels = treeRoot.height - (renderRollupNode ? -1 : 1);
|
|
64108
|
-
const rPerLevel = (
|
|
64147
|
+
const rPerLevel = (r2 - r0) / (levels || 1);
|
|
64109
64148
|
const clockwise = seriesModel.get("clockwise");
|
|
64110
64149
|
const stillShowZeroSum = seriesModel.get("stillShowZeroSum");
|
|
64111
64150
|
const dir3 = clockwise ? 1 : -1;
|
|
@@ -64127,14 +64166,14 @@ function sunburstLayout(seriesType2, ecModel, api2) {
|
|
|
64127
64166
|
const levelModel = seriesModel.getLevelModel(node);
|
|
64128
64167
|
if (levelModel) {
|
|
64129
64168
|
let r02 = levelModel.get("r0", true);
|
|
64130
|
-
let
|
|
64169
|
+
let r3 = levelModel.get("r", true);
|
|
64131
64170
|
const radius2 = levelModel.get("radius", true);
|
|
64132
64171
|
if (radius2 != null) {
|
|
64133
64172
|
r02 = radius2[0];
|
|
64134
|
-
|
|
64173
|
+
r3 = radius2[1];
|
|
64135
64174
|
}
|
|
64136
64175
|
r02 != null && (rStart = parsePercent2(r02, size / 2));
|
|
64137
|
-
|
|
64176
|
+
r3 != null && (rEnd = parsePercent2(r3, size / 2));
|
|
64138
64177
|
}
|
|
64139
64178
|
node.setLayout({
|
|
64140
64179
|
angle,
|
|
@@ -66355,12 +66394,12 @@ function makeRectShape(xy, wh, xDimIndex) {
|
|
|
66355
66394
|
height: wh[1 - xDimIndex]
|
|
66356
66395
|
};
|
|
66357
66396
|
}
|
|
66358
|
-
function makeSectorShape(cx, cy, r0,
|
|
66397
|
+
function makeSectorShape(cx, cy, r0, r2, startAngle, endAngle) {
|
|
66359
66398
|
return {
|
|
66360
66399
|
cx,
|
|
66361
66400
|
cy,
|
|
66362
66401
|
r0,
|
|
66363
|
-
r,
|
|
66402
|
+
r: r2,
|
|
66364
66403
|
startAngle,
|
|
66365
66404
|
endAngle,
|
|
66366
66405
|
clockwise: true
|
|
@@ -67107,12 +67146,12 @@ function getLabelPosition(value, axisModel, axisPointerModel, polar, labelMargin
|
|
|
67107
67146
|
align = labelLayout2.textAlign;
|
|
67108
67147
|
verticalAlign = labelLayout2.textVerticalAlign;
|
|
67109
67148
|
} else {
|
|
67110
|
-
const
|
|
67111
|
-
position2 = polar.coordToPoint([
|
|
67149
|
+
const r2 = radiusExtent[1];
|
|
67150
|
+
position2 = polar.coordToPoint([r2 + labelMargin, coord]);
|
|
67112
67151
|
const cx = polar.cx;
|
|
67113
67152
|
const cy = polar.cy;
|
|
67114
|
-
align = Math.abs(position2[0] - cx) /
|
|
67115
|
-
verticalAlign = Math.abs(position2[1] - cy) /
|
|
67153
|
+
align = Math.abs(position2[0] - cx) / r2 < 0.3 ? "center" : position2[0] > cx ? "left" : "right";
|
|
67154
|
+
verticalAlign = Math.abs(position2[1] - cy) / r2 < 0.3 ? "middle" : position2[1] > cy ? "top" : "bottom";
|
|
67116
67155
|
}
|
|
67117
67156
|
return {
|
|
67118
67157
|
position: position2,
|
|
@@ -67368,9 +67407,9 @@ var Polar = class {
|
|
|
67368
67407
|
const dx = x - this.cx;
|
|
67369
67408
|
const dy = y - this.cy;
|
|
67370
67409
|
const d2 = dx * dx + dy * dy - 1e-4;
|
|
67371
|
-
const
|
|
67410
|
+
const r2 = this.r;
|
|
67372
67411
|
const r0 = this.r0;
|
|
67373
|
-
return d2 <=
|
|
67412
|
+
return d2 <= r2 * r2 && d2 >= r0 * r0;
|
|
67374
67413
|
}
|
|
67375
67414
|
};
|
|
67376
67415
|
}
|
|
@@ -67639,12 +67678,12 @@ var angelAxisElementsBuilders = {
|
|
|
67639
67678
|
each(labels, function(labelItem, idx) {
|
|
67640
67679
|
let labelModel = commonLabelModel;
|
|
67641
67680
|
const tickValue = labelItem.tickValue;
|
|
67642
|
-
const
|
|
67643
|
-
const p = polar.coordToPoint([
|
|
67681
|
+
const r2 = radiusExtent[getRadiusIdx(polar)];
|
|
67682
|
+
const p = polar.coordToPoint([r2 + labelMargin, labelItem.coord]);
|
|
67644
67683
|
const cx = polar.cx;
|
|
67645
67684
|
const cy = polar.cy;
|
|
67646
|
-
const labelTextAlign = Math.abs(p[0] - cx) /
|
|
67647
|
-
const labelTextVerticalAlign = Math.abs(p[1] - cy) /
|
|
67685
|
+
const labelTextAlign = Math.abs(p[0] - cx) / r2 < 0.3 ? "center" : p[0] > cx ? "left" : "right";
|
|
67686
|
+
const labelTextVerticalAlign = Math.abs(p[1] - cy) / r2 < 0.3 ? "middle" : p[1] > cy ? "top" : "bottom";
|
|
67648
67687
|
if (rawCategoryData && rawCategoryData[tickValue]) {
|
|
67649
67688
|
const rawCategoryItem = rawCategoryData[tickValue];
|
|
67650
67689
|
if (isObject(rawCategoryItem) && rawCategoryItem.textStyle) {
|
|
@@ -67967,7 +68006,7 @@ function barLayoutPolar(seriesType2, ecModel, api2) {
|
|
|
67967
68006
|
baseCoord = lastStackCoords[stackId][baseValue][sign];
|
|
67968
68007
|
}
|
|
67969
68008
|
let r0;
|
|
67970
|
-
let
|
|
68009
|
+
let r2;
|
|
67971
68010
|
let startAngle;
|
|
67972
68011
|
let endAngle;
|
|
67973
68012
|
if (valueAxis2.dim === "radius") {
|
|
@@ -67977,10 +68016,10 @@ function barLayoutPolar(seriesType2, ecModel, api2) {
|
|
|
67977
68016
|
radiusSpan = (radiusSpan < 0 ? -1 : 1) * barMinHeight;
|
|
67978
68017
|
}
|
|
67979
68018
|
r0 = baseCoord;
|
|
67980
|
-
|
|
68019
|
+
r2 = baseCoord + radiusSpan;
|
|
67981
68020
|
startAngle = angle - columnOffset;
|
|
67982
68021
|
endAngle = startAngle - columnWidth;
|
|
67983
|
-
stacked && (lastStackCoords[stackId][baseValue][sign] =
|
|
68022
|
+
stacked && (lastStackCoords[stackId][baseValue][sign] = r2);
|
|
67984
68023
|
} else {
|
|
67985
68024
|
let angleSpan = valueAxis2.dataToCoord(value, clampLayout) - valueAxisStart;
|
|
67986
68025
|
const radius = baseAxis.dataToCoord(baseValue);
|
|
@@ -67988,7 +68027,7 @@ function barLayoutPolar(seriesType2, ecModel, api2) {
|
|
|
67988
68027
|
angleSpan = (angleSpan < 0 ? -1 : 1) * barMinAngle;
|
|
67989
68028
|
}
|
|
67990
68029
|
r0 = radius + columnOffset;
|
|
67991
|
-
|
|
68030
|
+
r2 = r0 + columnWidth;
|
|
67992
68031
|
startAngle = baseCoord;
|
|
67993
68032
|
endAngle = baseCoord + angleSpan;
|
|
67994
68033
|
stacked && (lastStackCoords[stackId][baseValue][sign] = endAngle);
|
|
@@ -67997,7 +68036,7 @@ function barLayoutPolar(seriesType2, ecModel, api2) {
|
|
|
67997
68036
|
cx,
|
|
67998
68037
|
cy,
|
|
67999
68038
|
r0,
|
|
68000
|
-
r,
|
|
68039
|
+
r: r2,
|
|
68001
68040
|
startAngle: -startAngle * Math.PI / 180,
|
|
68002
68041
|
endAngle: -endAngle * Math.PI / 180,
|
|
68003
68042
|
clockwise: startAngle >= endAngle
|
|
@@ -68146,8 +68185,8 @@ function layout11(axisModel, opt) {
|
|
|
68146
68185
|
orient === "vertical" ? positionMap.vertical[axisPosition] : rectBound[0],
|
|
68147
68186
|
orient === "horizontal" ? positionMap.horizontal[axisPosition] : rectBound[3]
|
|
68148
68187
|
];
|
|
68149
|
-
const
|
|
68150
|
-
layout18.rotation = Math.PI / 2 *
|
|
68188
|
+
const r2 = {horizontal: 0, vertical: 1};
|
|
68189
|
+
layout18.rotation = Math.PI / 2 * r2[orient];
|
|
68151
68190
|
const directionMap = {top: -1, bottom: 1, right: 1, left: -1};
|
|
68152
68191
|
layout18.labelDirection = layout18.tickDirection = layout18.nameDirection = directionMap[axisPosition];
|
|
68153
68192
|
if (axisModel.get(["axisTick", "inside"])) {
|
|
@@ -74205,13 +74244,14 @@ var EventsModel2 = class extends Component_default {
|
|
|
74205
74244
|
constructor() {
|
|
74206
74245
|
super(...arguments);
|
|
74207
74246
|
this.type = EventsModel2.type;
|
|
74247
|
+
this.preventAutoZ = true;
|
|
74208
74248
|
this.layoutMode = {type: "box", ignoreSize: true};
|
|
74209
74249
|
}
|
|
74210
74250
|
};
|
|
74211
74251
|
var EventsModel = EventsModel2;
|
|
74212
74252
|
EventsModel.type = "events";
|
|
74213
74253
|
EventsModel.defaultOption = {
|
|
74214
|
-
z:
|
|
74254
|
+
z: 1e3,
|
|
74215
74255
|
show: true,
|
|
74216
74256
|
data: [],
|
|
74217
74257
|
lineVisible: true,
|
|
@@ -74219,10 +74259,12 @@ EventsModel.defaultOption = {
|
|
|
74219
74259
|
color: "#82858f",
|
|
74220
74260
|
width: 1,
|
|
74221
74261
|
type: "solid"
|
|
74222
|
-
}
|
|
74262
|
+
},
|
|
74263
|
+
selectedEventViewId: ""
|
|
74223
74264
|
};
|
|
74224
74265
|
|
|
74225
74266
|
// src/component/events/EventsView.ts
|
|
74267
|
+
var r = 15;
|
|
74226
74268
|
var EventsView2 = class extends Component_default2 {
|
|
74227
74269
|
constructor() {
|
|
74228
74270
|
super(...arguments);
|
|
@@ -74259,25 +74301,29 @@ var EventsView2 = class extends Component_default2 {
|
|
|
74259
74301
|
}
|
|
74260
74302
|
const lineVisible = eventsModel.get("lineVisible");
|
|
74261
74303
|
const lineStyle = eventsModel.get("lineStyle");
|
|
74304
|
+
const z = eventsModel.get("z");
|
|
74305
|
+
const selectedEventViewId = eventsModel.get("selectedEventViewId");
|
|
74262
74306
|
const hoverEventId = this.hoverEventId;
|
|
74263
74307
|
const lastPoint = this._lastPoint;
|
|
74264
74308
|
const borderWidth = 2;
|
|
74265
74309
|
for (let index = 0; index < data.length; index++) {
|
|
74266
74310
|
const {time, list} = data[index];
|
|
74267
|
-
const idx = ordinalMeta.
|
|
74311
|
+
const idx = ordinalMeta.parseAndExtra(time);
|
|
74268
74312
|
if (idx < startIndex) {
|
|
74269
74313
|
continue;
|
|
74270
74314
|
}
|
|
74271
74315
|
if (idx > endIndex) {
|
|
74272
74316
|
break;
|
|
74273
74317
|
}
|
|
74274
|
-
const x = xAxisModal.axis.dataToCoord(idx)
|
|
74275
|
-
let y = rect.height - rect.x;
|
|
74318
|
+
const x = xAxisModal.axis.dataToCoord(idx) - 15;
|
|
74319
|
+
let y = rect.height - rect.x - 20;
|
|
74276
74320
|
const z2 = data.length - index;
|
|
74277
74321
|
each(list, function(item, i) {
|
|
74278
74322
|
const yGap = 4 * (i + 1);
|
|
74279
74323
|
const imgY = y - yGap;
|
|
74280
74324
|
const id = `${time}_${item.id}`;
|
|
74325
|
+
const isSelected = selectedEventViewId === id;
|
|
74326
|
+
const renderZ = isSelected ? z + 1 : z;
|
|
74281
74327
|
const img = new Image_default({
|
|
74282
74328
|
style: {
|
|
74283
74329
|
image: item.url,
|
|
@@ -74286,15 +74332,16 @@ var EventsView2 = class extends Component_default2 {
|
|
|
74286
74332
|
width: 30,
|
|
74287
74333
|
height: 20
|
|
74288
74334
|
},
|
|
74289
|
-
z2
|
|
74335
|
+
z2,
|
|
74336
|
+
z: renderZ
|
|
74290
74337
|
});
|
|
74291
74338
|
const clipPath = new Rect_default({
|
|
74292
74339
|
shape: {
|
|
74293
|
-
x: x +
|
|
74294
|
-
y: imgY,
|
|
74295
|
-
width:
|
|
74296
|
-
height:
|
|
74297
|
-
r
|
|
74340
|
+
x: x + 6,
|
|
74341
|
+
y: imgY + 1,
|
|
74342
|
+
width: 18,
|
|
74343
|
+
height: 18,
|
|
74344
|
+
r
|
|
74298
74345
|
}
|
|
74299
74346
|
});
|
|
74300
74347
|
img.setClipPath(clipPath);
|
|
@@ -74305,16 +74352,17 @@ var EventsView2 = class extends Component_default2 {
|
|
|
74305
74352
|
y: imgY - borderWidth / 2,
|
|
74306
74353
|
width: 20 + borderWidth,
|
|
74307
74354
|
height: 20 + borderWidth,
|
|
74308
|
-
r
|
|
74355
|
+
r
|
|
74309
74356
|
},
|
|
74310
74357
|
style: {
|
|
74311
74358
|
stroke: "#ED544F",
|
|
74312
74359
|
fill: "none"
|
|
74313
74360
|
},
|
|
74314
|
-
z2
|
|
74361
|
+
z2,
|
|
74362
|
+
z: renderZ
|
|
74315
74363
|
});
|
|
74316
|
-
if (hoverEventId === id) {
|
|
74317
|
-
if (rect2.contain(lastPoint.x, lastPoint.y)) {
|
|
74364
|
+
if (hoverEventId === id || isSelected) {
|
|
74365
|
+
if (isSelected || rect2.contain(lastPoint.x, lastPoint.y)) {
|
|
74318
74366
|
rect2.style.stroke = "#296bef";
|
|
74319
74367
|
} else {
|
|
74320
74368
|
this.hoverEventId = "";
|
|
@@ -74326,7 +74374,7 @@ var EventsView2 = class extends Component_default2 {
|
|
|
74326
74374
|
}
|
|
74327
74375
|
const mouseout = () => {
|
|
74328
74376
|
this.hoverEventId = "";
|
|
74329
|
-
rect2.attr("style", {stroke: "#ED544F"});
|
|
74377
|
+
!isSelected && rect2.attr("style", {stroke: "#ED544F"});
|
|
74330
74378
|
};
|
|
74331
74379
|
const mouseover = () => {
|
|
74332
74380
|
this.hoverEventId = id;
|
|
@@ -74341,6 +74389,7 @@ var EventsView2 = class extends Component_default2 {
|
|
|
74341
74389
|
api2.trigger("events", {
|
|
74342
74390
|
time,
|
|
74343
74391
|
id: item.id,
|
|
74392
|
+
selectedEventViewId: id,
|
|
74344
74393
|
position: {
|
|
74345
74394
|
x: rect2.shape.x,
|
|
74346
74395
|
y: rect2.shape.y,
|
|
@@ -74371,14 +74420,13 @@ var EventsView2 = class extends Component_default2 {
|
|
|
74371
74420
|
lineWidth: lineStyle.width,
|
|
74372
74421
|
lineDash: lineStyle.type
|
|
74373
74422
|
},
|
|
74374
|
-
z2: 0
|
|
74423
|
+
z2: 0,
|
|
74424
|
+
z
|
|
74375
74425
|
});
|
|
74376
74426
|
group.add(line2);
|
|
74377
74427
|
}
|
|
74378
74428
|
}
|
|
74379
74429
|
}
|
|
74380
|
-
_clickEvent(e2, id) {
|
|
74381
|
-
}
|
|
74382
74430
|
_mouseMove(e2) {
|
|
74383
74431
|
this._lastPoint = {
|
|
74384
74432
|
x: e2.offsetX,
|
|
@@ -74434,14 +74482,14 @@ var CursorPointerView2 = class extends Component_default2 {
|
|
|
74434
74482
|
return;
|
|
74435
74483
|
}
|
|
74436
74484
|
const backgroundColor2 = cursorPointerModel.get("backgroundColor");
|
|
74437
|
-
const
|
|
74485
|
+
const r2 = cursorPointerModel.get("r");
|
|
74438
74486
|
const element = this.element;
|
|
74439
74487
|
element.attr({
|
|
74440
74488
|
style: {
|
|
74441
74489
|
fill: backgroundColor2
|
|
74442
74490
|
},
|
|
74443
74491
|
shape: {
|
|
74444
|
-
r
|
|
74492
|
+
r: r2
|
|
74445
74493
|
},
|
|
74446
74494
|
silent: true
|
|
74447
74495
|
});
|
|
@@ -84614,12 +84662,12 @@ function getDividingGrids(dimSize, rowDim, count2) {
|
|
|
84614
84662
|
}
|
|
84615
84663
|
function divideSector(sectorShape, count2, outShapes) {
|
|
84616
84664
|
const r0 = sectorShape.r0;
|
|
84617
|
-
const
|
|
84665
|
+
const r2 = sectorShape.r;
|
|
84618
84666
|
const startAngle = sectorShape.startAngle;
|
|
84619
84667
|
const endAngle = sectorShape.endAngle;
|
|
84620
84668
|
const angle = Math.abs(endAngle - startAngle);
|
|
84621
|
-
const arcLen = angle *
|
|
84622
|
-
const deltaR =
|
|
84669
|
+
const arcLen = angle * r2;
|
|
84670
|
+
const deltaR = r2 - r0;
|
|
84623
84671
|
const isAngleRow = arcLen > Math.abs(deltaR);
|
|
84624
84672
|
const grids = getDividingGrids([arcLen, deltaR], isAngleRow ? 0 : 1, count2);
|
|
84625
84673
|
const rowSize = (isAngleRow ? angle : deltaR) / grids.length;
|