q2-tecton-elements 1.23.0-alpha.0 → 1.24.0
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/cjs/action-sheet-4b366e9a.js +84 -0
- package/dist/cjs/charting-d02cba1f.js +3127 -0
- package/dist/cjs/{index-3518c78c.js → index-e00b4210.js} +33 -7
- package/dist/cjs/{installCanvasRenderer-b4d10c92.js → installCanvasRenderer-6c4fbcc9.js} +230 -1130
- package/dist/cjs/installLabelLayout-d6b548fe.js +1048 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/q2-action-sheet.cjs.entry.js +218 -0
- package/dist/cjs/q2-badge_2.cjs.entry.js +1 -1
- package/dist/cjs/q2-btn_2.cjs.entry.js +2 -2
- package/dist/cjs/q2-calendar.cjs.entry.js +1 -1
- package/dist/cjs/q2-card.cjs.entry.js +2 -2
- package/dist/cjs/q2-carousel-pane.cjs.entry.js +1 -1
- package/dist/cjs/q2-carousel.cjs.entry.js +1 -1
- package/dist/cjs/q2-chart-area.cjs.entry.js +4569 -0
- package/dist/cjs/q2-chart-bar.cjs.entry.js +25 -3133
- package/dist/cjs/q2-chart-donut.cjs.entry.js +9 -8
- package/dist/cjs/q2-checkbox-group.cjs.entry.js +1 -1
- package/dist/cjs/q2-checkbox.cjs.entry.js +2 -2
- package/dist/cjs/q2-dropdown-item.cjs.entry.js +1 -1
- package/dist/cjs/q2-dropdown.cjs.entry.js +1 -1
- package/dist/cjs/q2-editable-field.cjs.entry.js +1 -1
- package/dist/cjs/q2-icon.cjs.entry.js +1 -1
- package/dist/cjs/q2-loading-element.cjs.entry.js +1 -1
- package/dist/cjs/q2-loc.cjs.entry.js +1 -1
- package/dist/cjs/q2-message.cjs.entry.js +1 -1
- package/dist/cjs/q2-month-picker.cjs.entry.js +1 -1
- package/dist/cjs/q2-optgroup_2.cjs.entry.js +93 -0
- package/dist/cjs/q2-option-list_2.cjs.entry.js +230 -88
- package/dist/cjs/q2-pagination.cjs.entry.js +1 -1
- package/dist/cjs/q2-pill.cjs.entry.js +57 -18
- package/dist/cjs/q2-radio-group.cjs.entry.js +1 -1
- package/dist/cjs/q2-radio.cjs.entry.js +1 -1
- package/dist/cjs/q2-section.cjs.entry.js +1 -1
- package/dist/cjs/q2-select.cjs.entry.js +149 -409
- package/dist/cjs/q2-stepper-pane.cjs.entry.js +1 -1
- package/dist/cjs/q2-stepper-vertical.cjs.entry.js +1 -1
- package/dist/cjs/q2-stepper.cjs.entry.js +1 -1
- package/dist/cjs/q2-tab-container.cjs.entry.js +1 -1
- package/dist/cjs/q2-tag.cjs.entry.js +21 -6
- package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
- package/dist/cjs/q2-textarea.cjs.entry.js +1 -1
- package/dist/collection/collection-manifest.json +2 -0
- package/dist/collection/components/q2-action-sheet/index.js +345 -0
- package/dist/collection/components/q2-action-sheet/styles.css +215 -0
- package/dist/collection/components/q2-card/index.js +1 -1
- package/dist/collection/components/q2-chart-area/index.js +622 -0
- package/dist/collection/components/q2-chart-area/styles.css +82 -0
- package/dist/collection/components/q2-chart-bar/index.js +4 -4
- package/dist/collection/components/q2-chart-bar/styles.css +3 -6
- package/dist/collection/components/q2-chart-donut/index.js +1 -1
- package/dist/collection/components/q2-checkbox/index.js +2 -2
- package/dist/collection/components/q2-checkbox/styles.css +1 -0
- package/dist/collection/components/q2-dropdown/index.js +1 -1
- package/dist/collection/components/q2-loading/index.js +1 -1
- package/dist/collection/components/q2-loading/skeleton/q2-loading-element/styles.css +4 -0
- package/dist/collection/components/q2-loading/styles.css +4 -0
- package/dist/collection/components/q2-optgroup/styles.css +2 -2
- package/dist/collection/components/q2-option/index.js +1 -56
- package/dist/collection/components/q2-option/styles.css +7 -0
- package/dist/collection/components/q2-option-list/index.js +290 -102
- package/dist/collection/components/q2-pill/index.js +79 -18
- package/dist/collection/components/q2-pill/styles.css +1 -2
- package/dist/collection/components/q2-popover/index.js +21 -5
- package/dist/collection/components/q2-popover/styles.css +10 -67
- package/dist/collection/components/q2-radio/index.js +2 -2
- package/dist/collection/components/q2-select/index.js +197 -427
- package/dist/collection/components/q2-select/styles.css +5 -11
- package/dist/collection/components/q2-tag/index.js +38 -5
- package/dist/collection/utils/action-sheet.js +79 -0
- package/dist/collection/utils/index.js +31 -7
- package/dist/components/action-sheet.js +81 -0
- package/dist/components/charting.js +3113 -0
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.js +2 -0
- package/dist/components/index10.js +1 -1
- package/dist/components/index11.js +42 -353
- package/dist/components/index12.js +44 -97
- package/dist/components/index13.js +495 -580
- package/dist/components/index14.js +137 -0
- package/dist/components/index15.js +626 -0
- package/dist/components/index5.js +1 -1
- package/dist/components/index6.js +1 -1
- package/dist/components/index7.js +1 -1
- package/dist/components/index8.js +1 -1
- package/dist/components/index9.js +3 -3
- package/dist/components/installCanvasRenderer.js +188 -1123
- package/dist/components/installLabelLayout.js +1042 -0
- package/dist/components/q2-action-sheet.d.ts +11 -0
- package/dist/components/q2-action-sheet.js +282 -0
- package/dist/components/q2-calendar.js +1 -1
- package/dist/components/q2-card.js +2 -2
- package/dist/components/q2-carousel-pane.js +1 -1
- package/dist/components/q2-carousel.js +1 -1
- package/dist/components/q2-chart-area.d.ts +11 -0
- package/dist/components/q2-chart-area.js +4604 -0
- package/dist/components/q2-chart-bar.js +11 -3119
- package/dist/components/q2-chart-donut.js +4 -3
- package/dist/components/q2-checkbox-group.js +1 -1
- package/dist/components/q2-checkbox.js +2 -2
- package/dist/components/q2-dropdown.js +2 -2
- package/dist/components/q2-editable-field.js +1 -1
- package/dist/components/q2-loading-element.js +1 -1
- package/dist/components/q2-loc.js +1 -1
- package/dist/components/q2-month-picker.js +1 -1
- package/dist/components/q2-optgroup.js +1 -70
- package/dist/components/q2-option-list.js +1 -1
- package/dist/components/q2-option.js +1 -76
- package/dist/components/q2-pagination.js +1 -1
- package/dist/components/q2-pill.js +62 -21
- package/dist/components/q2-popover.js +1 -1
- package/dist/components/q2-radio-group.js +1 -1
- package/dist/components/q2-radio.js +3 -3
- package/dist/components/q2-section.js +1 -1
- package/dist/components/q2-select.js +181 -427
- package/dist/components/q2-stepper-pane.js +1 -1
- package/dist/components/q2-stepper-vertical.js +1 -1
- package/dist/components/q2-stepper.js +1 -1
- package/dist/components/q2-tab-container.js +1 -1
- package/dist/components/q2-tag.js +24 -8
- package/dist/components/q2-textarea.js +1 -1
- package/dist/esm/action-sheet-a9597b32.js +81 -0
- package/dist/esm/charting-2a73ba8e.js +3113 -0
- package/dist/esm/{index-9c591682.js → index-ca21e539.js} +32 -8
- package/dist/esm/{installCanvasRenderer-0143b52d.js → installCanvasRenderer-4a470516.js} +188 -1123
- package/dist/esm/installLabelLayout-d660eaad.js +1042 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/q2-action-sheet.entry.js +214 -0
- package/dist/esm/q2-badge_2.entry.js +1 -1
- package/dist/esm/q2-btn_2.entry.js +2 -2
- package/dist/esm/q2-calendar.entry.js +1 -1
- package/dist/esm/q2-card.entry.js +2 -2
- package/dist/esm/q2-carousel-pane.entry.js +1 -1
- package/dist/esm/q2-carousel.entry.js +1 -1
- package/dist/esm/q2-chart-area.entry.js +4565 -0
- package/dist/esm/q2-chart-bar.entry.js +11 -3119
- package/dist/esm/q2-chart-donut.entry.js +4 -3
- package/dist/esm/q2-checkbox-group.entry.js +1 -1
- package/dist/esm/q2-checkbox.entry.js +2 -2
- package/dist/esm/q2-dropdown-item.entry.js +1 -1
- package/dist/esm/q2-dropdown.entry.js +1 -1
- package/dist/esm/q2-editable-field.entry.js +1 -1
- package/dist/esm/q2-icon.entry.js +1 -1
- package/dist/esm/q2-loading-element.entry.js +1 -1
- package/dist/esm/q2-loc.entry.js +1 -1
- package/dist/esm/q2-message.entry.js +1 -1
- package/dist/esm/q2-month-picker.entry.js +1 -1
- package/dist/esm/q2-optgroup_2.entry.js +88 -0
- package/dist/esm/q2-option-list_2.entry.js +230 -88
- package/dist/esm/q2-pagination.entry.js +1 -1
- package/dist/esm/q2-pill.entry.js +57 -18
- package/dist/esm/q2-radio-group.entry.js +1 -1
- package/dist/esm/q2-radio.entry.js +1 -1
- package/dist/esm/q2-section.entry.js +1 -1
- package/dist/esm/q2-select.entry.js +149 -409
- package/dist/esm/q2-stepper-pane.entry.js +1 -1
- package/dist/esm/q2-stepper-vertical.entry.js +1 -1
- package/dist/esm/q2-stepper.entry.js +1 -1
- package/dist/esm/q2-tab-container.entry.js +1 -1
- package/dist/esm/q2-tag.entry.js +21 -6
- package/dist/esm/q2-tecton-elements.js +1 -1
- package/dist/esm/q2-textarea.entry.js +1 -1
- package/dist/q2-tecton-elements/{p-db873db2.entry.js → p-0473f4f7.entry.js} +1 -1
- package/dist/q2-tecton-elements/{p-520c40f6.entry.js → p-13a1390b.entry.js} +1 -1
- package/dist/q2-tecton-elements/{p-9ebb283a.entry.js → p-13deb3ed.entry.js} +1 -1
- package/dist/q2-tecton-elements/{p-0ba564b1.entry.js → p-1d854203.entry.js} +1 -1
- package/dist/q2-tecton-elements/p-1f71774f.entry.js +1 -0
- package/dist/q2-tecton-elements/{p-18cc4758.entry.js → p-256d3fe6.entry.js} +1 -1
- package/dist/q2-tecton-elements/{p-9281adaa.entry.js → p-282f0f8c.entry.js} +1 -1
- package/dist/q2-tecton-elements/{p-2d2c5af2.entry.js → p-30969629.entry.js} +1 -1
- package/dist/q2-tecton-elements/p-30cd888b.entry.js +1 -0
- package/dist/q2-tecton-elements/{p-fc134a5d.entry.js → p-37cf9c97.entry.js} +1 -1
- package/dist/q2-tecton-elements/{p-fb37e67e.entry.js → p-388349b5.entry.js} +1 -1
- package/dist/q2-tecton-elements/p-458b1987.js +1 -0
- package/dist/q2-tecton-elements/p-52063431.js +39 -0
- package/dist/q2-tecton-elements/p-5589ae0f.entry.js +1 -0
- package/dist/q2-tecton-elements/p-619aed74.entry.js +1 -0
- package/dist/q2-tecton-elements/{p-4625184b.entry.js → p-63b67260.entry.js} +1 -1
- package/dist/q2-tecton-elements/{p-e4dc9ac0.entry.js → p-63e363ad.entry.js} +1 -1
- package/dist/q2-tecton-elements/{p-cbd1289a.entry.js → p-6736df05.entry.js} +1 -1
- package/dist/q2-tecton-elements/p-72fe10cc.entry.js +1 -0
- package/dist/q2-tecton-elements/{p-c4640b55.entry.js → p-75b817c6.entry.js} +1 -1
- package/dist/q2-tecton-elements/{p-c3f27fe2.entry.js → p-7a116095.entry.js} +1 -1
- package/dist/q2-tecton-elements/p-7c94119b.entry.js +1 -0
- package/dist/q2-tecton-elements/p-833398d1.js +1 -0
- package/dist/q2-tecton-elements/{p-ce015552.entry.js → p-90572e43.entry.js} +1 -1
- package/dist/q2-tecton-elements/p-91153c61.entry.js +1 -0
- package/dist/q2-tecton-elements/p-9792de8a.entry.js +1 -0
- package/dist/q2-tecton-elements/p-9acfa94e.js +1 -0
- package/dist/q2-tecton-elements/p-a1926e65.js +1 -0
- package/dist/q2-tecton-elements/{p-ffb48ccc.entry.js → p-b3a8cdc5.entry.js} +1 -1
- package/dist/q2-tecton-elements/p-ce3f203c.entry.js +1 -0
- package/dist/q2-tecton-elements/{p-041b3a82.entry.js → p-ce91cd9b.entry.js} +1 -1
- package/dist/q2-tecton-elements/{p-b8b00394.entry.js → p-cefc9d0b.entry.js} +1 -1
- package/dist/q2-tecton-elements/p-d05beeb7.entry.js +1 -0
- package/dist/q2-tecton-elements/p-dc7c8371.entry.js +1 -0
- package/dist/q2-tecton-elements/{p-16c11d74.entry.js → p-e58581fc.entry.js} +1 -1
- package/dist/q2-tecton-elements/{p-f800fd1e.entry.js → p-e886c55b.entry.js} +1 -1
- package/dist/q2-tecton-elements/{p-6e6b5b80.entry.js → p-f0ec4d2c.entry.js} +1 -1
- package/dist/q2-tecton-elements/{p-97aa8423.entry.js → p-f94e7043.entry.js} +1 -1
- package/dist/q2-tecton-elements/{p-c444a60b.entry.js → p-fcb7d191.entry.js} +1 -1
- package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
- package/dist/test/helpers.js +3 -2
- package/dist/types/components/q2-action-sheet/index.d.ts +52 -0
- package/dist/types/components/q2-card/index.d.ts +1 -1
- package/dist/types/components/q2-chart-area/index.d.ts +40 -0
- package/dist/types/components/q2-chart-bar/index.d.ts +2 -2
- package/dist/types/components/q2-chart-donut/index.d.ts +1 -1
- package/dist/types/components/q2-checkbox/index.d.ts +4 -1
- package/dist/types/components/q2-option/index.d.ts +0 -3
- package/dist/types/components/q2-option-list/index.d.ts +16 -8
- package/dist/types/components/q2-pill/index.d.ts +10 -1
- package/dist/types/components/q2-popover/index.d.ts +2 -0
- package/dist/types/components/q2-select/index.d.ts +46 -47
- package/dist/types/components/q2-tag/index.d.ts +3 -2
- package/dist/types/components.d.ts +100 -13
- package/dist/types/global.d.ts +10 -1
- package/dist/types/utils/action-sheet.d.ts +12 -0
- package/dist/types/utils/index.d.ts +3 -1
- package/dist/types/workspace/workspace/{_production_release_1.22.x-alpha → Tecton_tecton-production_master}/packages/q2-tecton-elements/.stencil/test/helpers.d.ts +1 -1
- package/package.json +3 -2
- package/dist/cjs/q2-optgroup.cjs.entry.js +0 -56
- package/dist/cjs/q2-option.cjs.entry.js +0 -46
- package/dist/esm/q2-optgroup.entry.js +0 -52
- package/dist/esm/q2-option.entry.js +0 -42
- package/dist/q2-tecton-elements/p-0d8dd75a.entry.js +0 -1
- package/dist/q2-tecton-elements/p-0fad9c5a.entry.js +0 -1
- package/dist/q2-tecton-elements/p-1f85cced.js +0 -39
- package/dist/q2-tecton-elements/p-2c9b1308.entry.js +0 -1
- package/dist/q2-tecton-elements/p-5e374fbd.js +0 -1
- package/dist/q2-tecton-elements/p-6b52a262.entry.js +0 -1
- package/dist/q2-tecton-elements/p-aaf42539.entry.js +0 -1
- package/dist/q2-tecton-elements/p-cf41970f.entry.js +0 -1
- package/dist/q2-tecton-elements/p-de164483.entry.js +0 -1
- package/dist/q2-tecton-elements/p-e6d26f39.entry.js +0 -1
- package/dist/q2-tecton-elements/p-f1d06917.entry.js +0 -1
- package/dist/q2-tecton-elements/p-f35bf6a3.entry.js +0 -1
|
@@ -781,7 +781,7 @@ function distanceSquare(v1, v2) {
|
|
|
781
781
|
+ (v1[1] - v2[1]) * (v1[1] - v2[1]);
|
|
782
782
|
}
|
|
783
783
|
var distSquare = distanceSquare;
|
|
784
|
-
function lerp(out, v1, v2, t) {
|
|
784
|
+
function lerp$1(out, v1, v2, t) {
|
|
785
785
|
out[0] = v1[0] + t * (v2[0] - v1[0]);
|
|
786
786
|
out[1] = v1[1] + t * (v2[1] - v1[1]);
|
|
787
787
|
return out;
|
|
@@ -3628,6 +3628,9 @@ function cssHueToRgb(m1, m2, h) {
|
|
|
3628
3628
|
}
|
|
3629
3629
|
return m1;
|
|
3630
3630
|
}
|
|
3631
|
+
function lerpNumber(a, b, p) {
|
|
3632
|
+
return a + (b - a) * p;
|
|
3633
|
+
}
|
|
3631
3634
|
function setRgba(out, r, g, b, a) {
|
|
3632
3635
|
out[0] = r;
|
|
3633
3636
|
out[1] = g;
|
|
@@ -3771,6 +3774,32 @@ function lift(color, level) {
|
|
|
3771
3774
|
return stringify(colorArr, colorArr.length === 4 ? 'rgba' : 'rgb');
|
|
3772
3775
|
}
|
|
3773
3776
|
}
|
|
3777
|
+
function lerp(normalizedValue, colors, fullOutput) {
|
|
3778
|
+
if (!(colors && colors.length)
|
|
3779
|
+
|| !(normalizedValue >= 0 && normalizedValue <= 1)) {
|
|
3780
|
+
return;
|
|
3781
|
+
}
|
|
3782
|
+
var value = normalizedValue * (colors.length - 1);
|
|
3783
|
+
var leftIndex = Math.floor(value);
|
|
3784
|
+
var rightIndex = Math.ceil(value);
|
|
3785
|
+
var leftColor = parse(colors[leftIndex]);
|
|
3786
|
+
var rightColor = parse(colors[rightIndex]);
|
|
3787
|
+
var dv = value - leftIndex;
|
|
3788
|
+
var color = stringify([
|
|
3789
|
+
clampCssByte(lerpNumber(leftColor[0], rightColor[0], dv)),
|
|
3790
|
+
clampCssByte(lerpNumber(leftColor[1], rightColor[1], dv)),
|
|
3791
|
+
clampCssByte(lerpNumber(leftColor[2], rightColor[2], dv)),
|
|
3792
|
+
clampCssFloat(lerpNumber(leftColor[3], rightColor[3], dv))
|
|
3793
|
+
], 'rgba');
|
|
3794
|
+
return fullOutput
|
|
3795
|
+
? {
|
|
3796
|
+
color: color,
|
|
3797
|
+
leftIndex: leftIndex,
|
|
3798
|
+
rightIndex: rightIndex,
|
|
3799
|
+
value: value
|
|
3800
|
+
}
|
|
3801
|
+
: color;
|
|
3802
|
+
}
|
|
3774
3803
|
function stringify(arrColor, type) {
|
|
3775
3804
|
if (!arrColor || !arrColor.length) {
|
|
3776
3805
|
return;
|
|
@@ -9035,10 +9064,31 @@ var mathMin$3 = Math.min;
|
|
|
9035
9064
|
var mathMax$3 = Math.max;
|
|
9036
9065
|
var mathSin$3 = Math.sin;
|
|
9037
9066
|
var mathCos$3 = Math.cos;
|
|
9038
|
-
var PI2$
|
|
9067
|
+
var PI2$5 = Math.PI * 2;
|
|
9039
9068
|
var start = create$1();
|
|
9040
9069
|
var end = create$1();
|
|
9041
9070
|
var extremity = create$1();
|
|
9071
|
+
function fromPoints(points, min, max) {
|
|
9072
|
+
if (points.length === 0) {
|
|
9073
|
+
return;
|
|
9074
|
+
}
|
|
9075
|
+
var p = points[0];
|
|
9076
|
+
var left = p[0];
|
|
9077
|
+
var right = p[0];
|
|
9078
|
+
var top = p[1];
|
|
9079
|
+
var bottom = p[1];
|
|
9080
|
+
for (var i = 1; i < points.length; i++) {
|
|
9081
|
+
p = points[i];
|
|
9082
|
+
left = mathMin$3(left, p[0]);
|
|
9083
|
+
right = mathMax$3(right, p[0]);
|
|
9084
|
+
top = mathMin$3(top, p[1]);
|
|
9085
|
+
bottom = mathMax$3(bottom, p[1]);
|
|
9086
|
+
}
|
|
9087
|
+
min[0] = left;
|
|
9088
|
+
min[1] = top;
|
|
9089
|
+
max[0] = right;
|
|
9090
|
+
max[1] = bottom;
|
|
9091
|
+
}
|
|
9042
9092
|
function fromLine(x0, y0, x1, y1, min, max) {
|
|
9043
9093
|
min[0] = mathMin$3(x0, x1);
|
|
9044
9094
|
min[1] = mathMin$3(y0, y1);
|
|
@@ -9091,7 +9141,7 @@ function fromArc(x, y, rx, ry, startAngle, endAngle, anticlockwise, min, max) {
|
|
|
9091
9141
|
var vec2Min = min$1;
|
|
9092
9142
|
var vec2Max = max$1;
|
|
9093
9143
|
var diff = Math.abs(startAngle - endAngle);
|
|
9094
|
-
if (diff % PI2$
|
|
9144
|
+
if (diff % PI2$5 < 1e-4 && diff > 1e-4) {
|
|
9095
9145
|
min[0] = x - rx;
|
|
9096
9146
|
min[1] = y - ry;
|
|
9097
9147
|
max[0] = x + rx;
|
|
@@ -9104,19 +9154,19 @@ function fromArc(x, y, rx, ry, startAngle, endAngle, anticlockwise, min, max) {
|
|
|
9104
9154
|
end[1] = mathSin$3(endAngle) * ry + y;
|
|
9105
9155
|
vec2Min(min, start, end);
|
|
9106
9156
|
vec2Max(max, start, end);
|
|
9107
|
-
startAngle = startAngle % (PI2$
|
|
9157
|
+
startAngle = startAngle % (PI2$5);
|
|
9108
9158
|
if (startAngle < 0) {
|
|
9109
|
-
startAngle = startAngle + PI2$
|
|
9159
|
+
startAngle = startAngle + PI2$5;
|
|
9110
9160
|
}
|
|
9111
|
-
endAngle = endAngle % (PI2$
|
|
9161
|
+
endAngle = endAngle % (PI2$5);
|
|
9112
9162
|
if (endAngle < 0) {
|
|
9113
|
-
endAngle = endAngle + PI2$
|
|
9163
|
+
endAngle = endAngle + PI2$5;
|
|
9114
9164
|
}
|
|
9115
9165
|
if (startAngle > endAngle && !anticlockwise) {
|
|
9116
|
-
endAngle += PI2$
|
|
9166
|
+
endAngle += PI2$5;
|
|
9117
9167
|
}
|
|
9118
9168
|
else if (startAngle < endAngle && anticlockwise) {
|
|
9119
|
-
startAngle += PI2$
|
|
9169
|
+
startAngle += PI2$5;
|
|
9120
9170
|
}
|
|
9121
9171
|
if (anticlockwise) {
|
|
9122
9172
|
var tmp = endAngle;
|
|
@@ -9133,7 +9183,7 @@ function fromArc(x, y, rx, ry, startAngle, endAngle, anticlockwise, min, max) {
|
|
|
9133
9183
|
}
|
|
9134
9184
|
}
|
|
9135
9185
|
|
|
9136
|
-
var CMD$
|
|
9186
|
+
var CMD$2 = {
|
|
9137
9187
|
M: 1,
|
|
9138
9188
|
L: 2,
|
|
9139
9189
|
C: 3,
|
|
@@ -9154,7 +9204,7 @@ var mathCos$2 = Math.cos;
|
|
|
9154
9204
|
var mathSin$2 = Math.sin;
|
|
9155
9205
|
var mathAbs$1 = Math.abs;
|
|
9156
9206
|
var PI$4 = Math.PI;
|
|
9157
|
-
var PI2$
|
|
9207
|
+
var PI2$4 = PI$4 * 2;
|
|
9158
9208
|
var hasTypedArray = typeof Float32Array !== 'undefined';
|
|
9159
9209
|
var tmpAngles = [];
|
|
9160
9210
|
function modPI2(radian) {
|
|
@@ -9164,22 +9214,22 @@ function modPI2(radian) {
|
|
|
9164
9214
|
function normalizeArcAngles(angles, anticlockwise) {
|
|
9165
9215
|
var newStartAngle = modPI2(angles[0]);
|
|
9166
9216
|
if (newStartAngle < 0) {
|
|
9167
|
-
newStartAngle += PI2$
|
|
9217
|
+
newStartAngle += PI2$4;
|
|
9168
9218
|
}
|
|
9169
9219
|
var delta = newStartAngle - angles[0];
|
|
9170
9220
|
var newEndAngle = angles[1];
|
|
9171
9221
|
newEndAngle += delta;
|
|
9172
|
-
if (!anticlockwise && newEndAngle - newStartAngle >= PI2$
|
|
9173
|
-
newEndAngle = newStartAngle + PI2$
|
|
9222
|
+
if (!anticlockwise && newEndAngle - newStartAngle >= PI2$4) {
|
|
9223
|
+
newEndAngle = newStartAngle + PI2$4;
|
|
9174
9224
|
}
|
|
9175
|
-
else if (anticlockwise && newStartAngle - newEndAngle >= PI2$
|
|
9176
|
-
newEndAngle = newStartAngle - PI2$
|
|
9225
|
+
else if (anticlockwise && newStartAngle - newEndAngle >= PI2$4) {
|
|
9226
|
+
newEndAngle = newStartAngle - PI2$4;
|
|
9177
9227
|
}
|
|
9178
9228
|
else if (!anticlockwise && newStartAngle > newEndAngle) {
|
|
9179
|
-
newEndAngle = newStartAngle + (PI2$
|
|
9229
|
+
newEndAngle = newStartAngle + (PI2$4 - modPI2(newStartAngle - newEndAngle));
|
|
9180
9230
|
}
|
|
9181
9231
|
else if (anticlockwise && newStartAngle < newEndAngle) {
|
|
9182
|
-
newEndAngle = newStartAngle - (PI2$
|
|
9232
|
+
newEndAngle = newStartAngle - (PI2$4 - modPI2(newEndAngle - newStartAngle));
|
|
9183
9233
|
}
|
|
9184
9234
|
angles[0] = newStartAngle;
|
|
9185
9235
|
angles[1] = newEndAngle;
|
|
@@ -9238,7 +9288,7 @@ var PathProxy = (function () {
|
|
|
9238
9288
|
};
|
|
9239
9289
|
PathProxy.prototype.moveTo = function (x, y) {
|
|
9240
9290
|
this._drawPendingPt();
|
|
9241
|
-
this.addData(CMD$
|
|
9291
|
+
this.addData(CMD$2.M, x, y);
|
|
9242
9292
|
this._ctx && this._ctx.moveTo(x, y);
|
|
9243
9293
|
this._x0 = x;
|
|
9244
9294
|
this._y0 = y;
|
|
@@ -9250,7 +9300,7 @@ var PathProxy = (function () {
|
|
|
9250
9300
|
var dx = mathAbs$1(x - this._xi);
|
|
9251
9301
|
var dy = mathAbs$1(y - this._yi);
|
|
9252
9302
|
var exceedUnit = dx > this._ux || dy > this._uy;
|
|
9253
|
-
this.addData(CMD$
|
|
9303
|
+
this.addData(CMD$2.L, x, y);
|
|
9254
9304
|
if (this._ctx && exceedUnit) {
|
|
9255
9305
|
this._ctx.lineTo(x, y);
|
|
9256
9306
|
}
|
|
@@ -9271,7 +9321,7 @@ var PathProxy = (function () {
|
|
|
9271
9321
|
};
|
|
9272
9322
|
PathProxy.prototype.bezierCurveTo = function (x1, y1, x2, y2, x3, y3) {
|
|
9273
9323
|
this._drawPendingPt();
|
|
9274
|
-
this.addData(CMD$
|
|
9324
|
+
this.addData(CMD$2.C, x1, y1, x2, y2, x3, y3);
|
|
9275
9325
|
if (this._ctx) {
|
|
9276
9326
|
this._ctx.bezierCurveTo(x1, y1, x2, y2, x3, y3);
|
|
9277
9327
|
}
|
|
@@ -9281,7 +9331,7 @@ var PathProxy = (function () {
|
|
|
9281
9331
|
};
|
|
9282
9332
|
PathProxy.prototype.quadraticCurveTo = function (x1, y1, x2, y2) {
|
|
9283
9333
|
this._drawPendingPt();
|
|
9284
|
-
this.addData(CMD$
|
|
9334
|
+
this.addData(CMD$2.Q, x1, y1, x2, y2);
|
|
9285
9335
|
if (this._ctx) {
|
|
9286
9336
|
this._ctx.quadraticCurveTo(x1, y1, x2, y2);
|
|
9287
9337
|
}
|
|
@@ -9297,7 +9347,7 @@ var PathProxy = (function () {
|
|
|
9297
9347
|
startAngle = tmpAngles[0];
|
|
9298
9348
|
endAngle = tmpAngles[1];
|
|
9299
9349
|
var delta = endAngle - startAngle;
|
|
9300
|
-
this.addData(CMD$
|
|
9350
|
+
this.addData(CMD$2.A, cx, cy, r, r, startAngle, delta, 0, anticlockwise ? 0 : 1);
|
|
9301
9351
|
this._ctx && this._ctx.arc(cx, cy, r, startAngle, endAngle, anticlockwise);
|
|
9302
9352
|
this._xi = mathCos$2(endAngle) * r + cx;
|
|
9303
9353
|
this._yi = mathSin$2(endAngle) * r + cy;
|
|
@@ -9313,12 +9363,12 @@ var PathProxy = (function () {
|
|
|
9313
9363
|
PathProxy.prototype.rect = function (x, y, w, h) {
|
|
9314
9364
|
this._drawPendingPt();
|
|
9315
9365
|
this._ctx && this._ctx.rect(x, y, w, h);
|
|
9316
|
-
this.addData(CMD$
|
|
9366
|
+
this.addData(CMD$2.R, x, y, w, h);
|
|
9317
9367
|
return this;
|
|
9318
9368
|
};
|
|
9319
9369
|
PathProxy.prototype.closePath = function () {
|
|
9320
9370
|
this._drawPendingPt();
|
|
9321
|
-
this.addData(CMD$
|
|
9371
|
+
this.addData(CMD$2.Z);
|
|
9322
9372
|
var ctx = this._ctx;
|
|
9323
9373
|
var x0 = this._x0;
|
|
9324
9374
|
var y0 = this._y0;
|
|
@@ -9431,7 +9481,7 @@ var PathProxy = (function () {
|
|
|
9431
9481
|
y0 = yi;
|
|
9432
9482
|
}
|
|
9433
9483
|
switch (cmd) {
|
|
9434
|
-
case CMD$
|
|
9484
|
+
case CMD$2.M:
|
|
9435
9485
|
xi = x0 = data[i++];
|
|
9436
9486
|
yi = y0 = data[i++];
|
|
9437
9487
|
min2[0] = x0;
|
|
@@ -9439,22 +9489,22 @@ var PathProxy = (function () {
|
|
|
9439
9489
|
max2[0] = x0;
|
|
9440
9490
|
max2[1] = y0;
|
|
9441
9491
|
break;
|
|
9442
|
-
case CMD$
|
|
9492
|
+
case CMD$2.L:
|
|
9443
9493
|
fromLine(xi, yi, data[i], data[i + 1], min2, max2);
|
|
9444
9494
|
xi = data[i++];
|
|
9445
9495
|
yi = data[i++];
|
|
9446
9496
|
break;
|
|
9447
|
-
case CMD$
|
|
9497
|
+
case CMD$2.C:
|
|
9448
9498
|
fromCubic(xi, yi, data[i++], data[i++], data[i++], data[i++], data[i], data[i + 1], min2, max2);
|
|
9449
9499
|
xi = data[i++];
|
|
9450
9500
|
yi = data[i++];
|
|
9451
9501
|
break;
|
|
9452
|
-
case CMD$
|
|
9502
|
+
case CMD$2.Q:
|
|
9453
9503
|
fromQuadratic(xi, yi, data[i++], data[i++], data[i], data[i + 1], min2, max2);
|
|
9454
9504
|
xi = data[i++];
|
|
9455
9505
|
yi = data[i++];
|
|
9456
9506
|
break;
|
|
9457
|
-
case CMD$
|
|
9507
|
+
case CMD$2.A:
|
|
9458
9508
|
var cx = data[i++];
|
|
9459
9509
|
var cy = data[i++];
|
|
9460
9510
|
var rx = data[i++];
|
|
@@ -9471,14 +9521,14 @@ var PathProxy = (function () {
|
|
|
9471
9521
|
xi = mathCos$2(endAngle) * rx + cx;
|
|
9472
9522
|
yi = mathSin$2(endAngle) * ry + cy;
|
|
9473
9523
|
break;
|
|
9474
|
-
case CMD$
|
|
9524
|
+
case CMD$2.R:
|
|
9475
9525
|
x0 = xi = data[i++];
|
|
9476
9526
|
y0 = yi = data[i++];
|
|
9477
9527
|
var width = data[i++];
|
|
9478
9528
|
var height = data[i++];
|
|
9479
9529
|
fromLine(x0, y0, x0 + width, y0 + height, min2, max2);
|
|
9480
9530
|
break;
|
|
9481
|
-
case CMD$
|
|
9531
|
+
case CMD$2.Z:
|
|
9482
9532
|
xi = x0;
|
|
9483
9533
|
yi = y0;
|
|
9484
9534
|
break;
|
|
@@ -9517,11 +9567,11 @@ var PathProxy = (function () {
|
|
|
9517
9567
|
}
|
|
9518
9568
|
var l = -1;
|
|
9519
9569
|
switch (cmd) {
|
|
9520
|
-
case CMD$
|
|
9570
|
+
case CMD$2.M:
|
|
9521
9571
|
xi = x0 = data[i++];
|
|
9522
9572
|
yi = y0 = data[i++];
|
|
9523
9573
|
break;
|
|
9524
|
-
case CMD$
|
|
9574
|
+
case CMD$2.L: {
|
|
9525
9575
|
var x2 = data[i++];
|
|
9526
9576
|
var y2 = data[i++];
|
|
9527
9577
|
var dx = x2 - xi;
|
|
@@ -9533,7 +9583,7 @@ var PathProxy = (function () {
|
|
|
9533
9583
|
}
|
|
9534
9584
|
break;
|
|
9535
9585
|
}
|
|
9536
|
-
case CMD$
|
|
9586
|
+
case CMD$2.C: {
|
|
9537
9587
|
var x1 = data[i++];
|
|
9538
9588
|
var y1 = data[i++];
|
|
9539
9589
|
var x2 = data[i++];
|
|
@@ -9545,7 +9595,7 @@ var PathProxy = (function () {
|
|
|
9545
9595
|
yi = y3;
|
|
9546
9596
|
break;
|
|
9547
9597
|
}
|
|
9548
|
-
case CMD$
|
|
9598
|
+
case CMD$2.Q: {
|
|
9549
9599
|
var x1 = data[i++];
|
|
9550
9600
|
var y1 = data[i++];
|
|
9551
9601
|
var x2 = data[i++];
|
|
@@ -9555,7 +9605,7 @@ var PathProxy = (function () {
|
|
|
9555
9605
|
yi = y2;
|
|
9556
9606
|
break;
|
|
9557
9607
|
}
|
|
9558
|
-
case CMD$
|
|
9608
|
+
case CMD$2.A:
|
|
9559
9609
|
var cx = data[i++];
|
|
9560
9610
|
var cy = data[i++];
|
|
9561
9611
|
var rx = data[i++];
|
|
@@ -9569,11 +9619,11 @@ var PathProxy = (function () {
|
|
|
9569
9619
|
x0 = mathCos$2(startAngle) * rx + cx;
|
|
9570
9620
|
y0 = mathSin$2(startAngle) * ry + cy;
|
|
9571
9621
|
}
|
|
9572
|
-
l = mathMax$2(rx, ry) * mathMin$2(PI2$
|
|
9622
|
+
l = mathMax$2(rx, ry) * mathMin$2(PI2$4, Math.abs(delta));
|
|
9573
9623
|
xi = mathCos$2(endAngle) * rx + cx;
|
|
9574
9624
|
yi = mathSin$2(endAngle) * ry + cy;
|
|
9575
9625
|
break;
|
|
9576
|
-
case CMD$
|
|
9626
|
+
case CMD$2.R: {
|
|
9577
9627
|
x0 = xi = data[i++];
|
|
9578
9628
|
y0 = yi = data[i++];
|
|
9579
9629
|
var width = data[i++];
|
|
@@ -9581,7 +9631,7 @@ var PathProxy = (function () {
|
|
|
9581
9631
|
l = width * 2 + height * 2;
|
|
9582
9632
|
break;
|
|
9583
9633
|
}
|
|
9584
|
-
case CMD$
|
|
9634
|
+
case CMD$2.Z: {
|
|
9585
9635
|
var dx = x0 - xi;
|
|
9586
9636
|
var dy = y0 - yi;
|
|
9587
9637
|
l = Math.sqrt(dx * dx + dy * dy);
|
|
@@ -9638,17 +9688,17 @@ var PathProxy = (function () {
|
|
|
9638
9688
|
x0 = xi;
|
|
9639
9689
|
y0 = yi;
|
|
9640
9690
|
}
|
|
9641
|
-
if (cmd !== CMD$
|
|
9691
|
+
if (cmd !== CMD$2.L && pendingPtDist > 0) {
|
|
9642
9692
|
ctx.lineTo(pendingPtX, pendingPtY);
|
|
9643
9693
|
pendingPtDist = 0;
|
|
9644
9694
|
}
|
|
9645
9695
|
switch (cmd) {
|
|
9646
|
-
case CMD$
|
|
9696
|
+
case CMD$2.M:
|
|
9647
9697
|
x0 = xi = d[i++];
|
|
9648
9698
|
y0 = yi = d[i++];
|
|
9649
9699
|
ctx.moveTo(xi, yi);
|
|
9650
9700
|
break;
|
|
9651
|
-
case CMD$
|
|
9701
|
+
case CMD$2.L: {
|
|
9652
9702
|
x = d[i++];
|
|
9653
9703
|
y = d[i++];
|
|
9654
9704
|
var dx = mathAbs$1(x - xi);
|
|
@@ -9678,7 +9728,7 @@ var PathProxy = (function () {
|
|
|
9678
9728
|
}
|
|
9679
9729
|
break;
|
|
9680
9730
|
}
|
|
9681
|
-
case CMD$
|
|
9731
|
+
case CMD$2.C: {
|
|
9682
9732
|
var x1 = d[i++];
|
|
9683
9733
|
var y1 = d[i++];
|
|
9684
9734
|
var x2 = d[i++];
|
|
@@ -9701,7 +9751,7 @@ var PathProxy = (function () {
|
|
|
9701
9751
|
yi = y3;
|
|
9702
9752
|
break;
|
|
9703
9753
|
}
|
|
9704
|
-
case CMD$
|
|
9754
|
+
case CMD$2.Q: {
|
|
9705
9755
|
var x1 = d[i++];
|
|
9706
9756
|
var y1 = d[i++];
|
|
9707
9757
|
var x2 = d[i++];
|
|
@@ -9722,7 +9772,7 @@ var PathProxy = (function () {
|
|
|
9722
9772
|
yi = y2;
|
|
9723
9773
|
break;
|
|
9724
9774
|
}
|
|
9725
|
-
case CMD$
|
|
9775
|
+
case CMD$2.A:
|
|
9726
9776
|
var cx = d[i++];
|
|
9727
9777
|
var cy = d[i++];
|
|
9728
9778
|
var rx = d[i++];
|
|
@@ -9759,7 +9809,7 @@ var PathProxy = (function () {
|
|
|
9759
9809
|
xi = mathCos$2(endAngle) * rx + cx;
|
|
9760
9810
|
yi = mathSin$2(endAngle) * ry + cy;
|
|
9761
9811
|
break;
|
|
9762
|
-
case CMD$
|
|
9812
|
+
case CMD$2.R:
|
|
9763
9813
|
x0 = xi = d[i];
|
|
9764
9814
|
y0 = yi = d[i + 1];
|
|
9765
9815
|
x = d[i++];
|
|
@@ -9790,7 +9840,7 @@ var PathProxy = (function () {
|
|
|
9790
9840
|
}
|
|
9791
9841
|
ctx.rect(x, y, width, height);
|
|
9792
9842
|
break;
|
|
9793
|
-
case CMD$
|
|
9843
|
+
case CMD$2.Z:
|
|
9794
9844
|
if (drawPart) {
|
|
9795
9845
|
var l = pathSegLen[segCount++];
|
|
9796
9846
|
if (accumLength + l > displayedLength) {
|
|
@@ -9814,7 +9864,7 @@ var PathProxy = (function () {
|
|
|
9814
9864
|
newProxy._len = this._len;
|
|
9815
9865
|
return newProxy;
|
|
9816
9866
|
};
|
|
9817
|
-
PathProxy.CMD = CMD$
|
|
9867
|
+
PathProxy.CMD = CMD$2;
|
|
9818
9868
|
PathProxy.initDefaultProps = (function () {
|
|
9819
9869
|
var proto = PathProxy.prototype;
|
|
9820
9870
|
proto._saveData = true;
|
|
@@ -9881,16 +9931,16 @@ function containStroke$2(x0, y0, x1, y1, x2, y2, lineWidth, x, y) {
|
|
|
9881
9931
|
return d <= _l / 2;
|
|
9882
9932
|
}
|
|
9883
9933
|
|
|
9884
|
-
var PI2$
|
|
9934
|
+
var PI2$3 = Math.PI * 2;
|
|
9885
9935
|
function normalizeRadian(angle) {
|
|
9886
|
-
angle %= PI2$
|
|
9936
|
+
angle %= PI2$3;
|
|
9887
9937
|
if (angle < 0) {
|
|
9888
|
-
angle += PI2$
|
|
9938
|
+
angle += PI2$3;
|
|
9889
9939
|
}
|
|
9890
9940
|
return angle;
|
|
9891
9941
|
}
|
|
9892
9942
|
|
|
9893
|
-
var PI2$
|
|
9943
|
+
var PI2$2 = Math.PI * 2;
|
|
9894
9944
|
function containStroke$1(cx, cy, r, startAngle, endAngle, anticlockwise, lineWidth, x, y) {
|
|
9895
9945
|
if (lineWidth === 0) {
|
|
9896
9946
|
return false;
|
|
@@ -9902,7 +9952,7 @@ function containStroke$1(cx, cy, r, startAngle, endAngle, anticlockwise, lineWid
|
|
|
9902
9952
|
if ((d - _l > r) || (d + _l < r)) {
|
|
9903
9953
|
return false;
|
|
9904
9954
|
}
|
|
9905
|
-
if (Math.abs(startAngle - endAngle) % PI2$
|
|
9955
|
+
if (Math.abs(startAngle - endAngle) % PI2$2 < 1e-4) {
|
|
9906
9956
|
return true;
|
|
9907
9957
|
}
|
|
9908
9958
|
if (anticlockwise) {
|
|
@@ -9915,14 +9965,14 @@ function containStroke$1(cx, cy, r, startAngle, endAngle, anticlockwise, lineWid
|
|
|
9915
9965
|
endAngle = normalizeRadian(endAngle);
|
|
9916
9966
|
}
|
|
9917
9967
|
if (startAngle > endAngle) {
|
|
9918
|
-
endAngle += PI2$
|
|
9968
|
+
endAngle += PI2$2;
|
|
9919
9969
|
}
|
|
9920
9970
|
var angle = Math.atan2(y, x);
|
|
9921
9971
|
if (angle < 0) {
|
|
9922
|
-
angle += PI2$
|
|
9972
|
+
angle += PI2$2;
|
|
9923
9973
|
}
|
|
9924
9974
|
return (angle >= startAngle && angle <= endAngle)
|
|
9925
|
-
|| (angle + PI2$
|
|
9975
|
+
|| (angle + PI2$2 >= startAngle && angle + PI2$2 <= endAngle);
|
|
9926
9976
|
}
|
|
9927
9977
|
|
|
9928
9978
|
function windingLine(x0, y0, x1, y1, x, y) {
|
|
@@ -9941,8 +9991,8 @@ function windingLine(x0, y0, x1, y1, x, y) {
|
|
|
9941
9991
|
return x_ === x ? Infinity : x_ > x ? dir : 0;
|
|
9942
9992
|
}
|
|
9943
9993
|
|
|
9944
|
-
var CMD$
|
|
9945
|
-
var PI2$
|
|
9994
|
+
var CMD$1 = PathProxy.CMD;
|
|
9995
|
+
var PI2$1 = Math.PI * 2;
|
|
9946
9996
|
var EPSILON = 1e-4;
|
|
9947
9997
|
function isAroundEqual(a, b) {
|
|
9948
9998
|
return Math.abs(a - b) < EPSILON;
|
|
@@ -10059,9 +10109,9 @@ function windingArc(cx, cy, r, startAngle, endAngle, anticlockwise, x, y) {
|
|
|
10059
10109
|
if (dTheta < 1e-4) {
|
|
10060
10110
|
return 0;
|
|
10061
10111
|
}
|
|
10062
|
-
if (dTheta >= PI2$
|
|
10112
|
+
if (dTheta >= PI2$1 - 1e-4) {
|
|
10063
10113
|
startAngle = 0;
|
|
10064
|
-
endAngle = PI2$
|
|
10114
|
+
endAngle = PI2$1;
|
|
10065
10115
|
var dir = anticlockwise ? 1 : -1;
|
|
10066
10116
|
if (x >= roots[0] + cx && x <= roots[1] + cx) {
|
|
10067
10117
|
return dir;
|
|
@@ -10076,8 +10126,8 @@ function windingArc(cx, cy, r, startAngle, endAngle, anticlockwise, x, y) {
|
|
|
10076
10126
|
endAngle = tmp_1;
|
|
10077
10127
|
}
|
|
10078
10128
|
if (startAngle < 0) {
|
|
10079
|
-
startAngle += PI2$
|
|
10080
|
-
endAngle += PI2$
|
|
10129
|
+
startAngle += PI2$1;
|
|
10130
|
+
endAngle += PI2$1;
|
|
10081
10131
|
}
|
|
10082
10132
|
var w = 0;
|
|
10083
10133
|
for (var i = 0; i < 2; i++) {
|
|
@@ -10086,10 +10136,10 @@ function windingArc(cx, cy, r, startAngle, endAngle, anticlockwise, x, y) {
|
|
|
10086
10136
|
var angle = Math.atan2(y, x_);
|
|
10087
10137
|
var dir = anticlockwise ? 1 : -1;
|
|
10088
10138
|
if (angle < 0) {
|
|
10089
|
-
angle = PI2$
|
|
10139
|
+
angle = PI2$1 + angle;
|
|
10090
10140
|
}
|
|
10091
10141
|
if ((angle >= startAngle && angle <= endAngle)
|
|
10092
|
-
|| (angle + PI2$
|
|
10142
|
+
|| (angle + PI2$1 >= startAngle && angle + PI2$1 <= endAngle)) {
|
|
10093
10143
|
if (angle > Math.PI / 2 && angle < Math.PI * 1.5) {
|
|
10094
10144
|
dir = -dir;
|
|
10095
10145
|
}
|
|
@@ -10112,7 +10162,7 @@ function containPath(path, lineWidth, isStroke, x, y) {
|
|
|
10112
10162
|
for (var i = 0; i < len;) {
|
|
10113
10163
|
var cmd = data[i++];
|
|
10114
10164
|
var isFirst = i === 1;
|
|
10115
|
-
if (cmd === CMD$
|
|
10165
|
+
if (cmd === CMD$1.M && i > 1) {
|
|
10116
10166
|
if (!isStroke) {
|
|
10117
10167
|
w += windingLine(xi, yi, x0, y0, x, y);
|
|
10118
10168
|
}
|
|
@@ -10124,13 +10174,13 @@ function containPath(path, lineWidth, isStroke, x, y) {
|
|
|
10124
10174
|
y0 = yi;
|
|
10125
10175
|
}
|
|
10126
10176
|
switch (cmd) {
|
|
10127
|
-
case CMD$
|
|
10177
|
+
case CMD$1.M:
|
|
10128
10178
|
x0 = data[i++];
|
|
10129
10179
|
y0 = data[i++];
|
|
10130
10180
|
xi = x0;
|
|
10131
10181
|
yi = y0;
|
|
10132
10182
|
break;
|
|
10133
|
-
case CMD$
|
|
10183
|
+
case CMD$1.L:
|
|
10134
10184
|
if (isStroke) {
|
|
10135
10185
|
if (containStroke$4(xi, yi, data[i], data[i + 1], lineWidth, x, y)) {
|
|
10136
10186
|
return true;
|
|
@@ -10142,7 +10192,7 @@ function containPath(path, lineWidth, isStroke, x, y) {
|
|
|
10142
10192
|
xi = data[i++];
|
|
10143
10193
|
yi = data[i++];
|
|
10144
10194
|
break;
|
|
10145
|
-
case CMD$
|
|
10195
|
+
case CMD$1.C:
|
|
10146
10196
|
if (isStroke) {
|
|
10147
10197
|
if (containStroke$3(xi, yi, data[i++], data[i++], data[i++], data[i++], data[i], data[i + 1], lineWidth, x, y)) {
|
|
10148
10198
|
return true;
|
|
@@ -10154,7 +10204,7 @@ function containPath(path, lineWidth, isStroke, x, y) {
|
|
|
10154
10204
|
xi = data[i++];
|
|
10155
10205
|
yi = data[i++];
|
|
10156
10206
|
break;
|
|
10157
|
-
case CMD$
|
|
10207
|
+
case CMD$1.Q:
|
|
10158
10208
|
if (isStroke) {
|
|
10159
10209
|
if (containStroke$2(xi, yi, data[i++], data[i++], data[i], data[i + 1], lineWidth, x, y)) {
|
|
10160
10210
|
return true;
|
|
@@ -10166,7 +10216,7 @@ function containPath(path, lineWidth, isStroke, x, y) {
|
|
|
10166
10216
|
xi = data[i++];
|
|
10167
10217
|
yi = data[i++];
|
|
10168
10218
|
break;
|
|
10169
|
-
case CMD$
|
|
10219
|
+
case CMD$1.A:
|
|
10170
10220
|
var cx = data[i++];
|
|
10171
10221
|
var cy = data[i++];
|
|
10172
10222
|
var rx = data[i++];
|
|
@@ -10196,7 +10246,7 @@ function containPath(path, lineWidth, isStroke, x, y) {
|
|
|
10196
10246
|
xi = Math.cos(theta + dTheta) * rx + cx;
|
|
10197
10247
|
yi = Math.sin(theta + dTheta) * ry + cy;
|
|
10198
10248
|
break;
|
|
10199
|
-
case CMD$
|
|
10249
|
+
case CMD$1.R:
|
|
10200
10250
|
x0 = xi = data[i++];
|
|
10201
10251
|
y0 = yi = data[i++];
|
|
10202
10252
|
var width = data[i++];
|
|
@@ -10216,7 +10266,7 @@ function containPath(path, lineWidth, isStroke, x, y) {
|
|
|
10216
10266
|
w += windingLine(x0, y1, x0, y0, x, y);
|
|
10217
10267
|
}
|
|
10218
10268
|
break;
|
|
10219
|
-
case CMD$
|
|
10269
|
+
case CMD$1.Z:
|
|
10220
10270
|
if (isStroke) {
|
|
10221
10271
|
if (containStroke$4(xi, yi, x0, y0, lineWidth, x, y)) {
|
|
10222
10272
|
return true;
|
|
@@ -11599,6 +11649,25 @@ function traverseUpdateState(el, updater, commonParam) {
|
|
|
11599
11649
|
});
|
|
11600
11650
|
}
|
|
11601
11651
|
|
|
11652
|
+
function setStatesFlag(el, stateName) {
|
|
11653
|
+
switch (stateName) {
|
|
11654
|
+
case 'emphasis':
|
|
11655
|
+
el.hoverState = HOVER_STATE_EMPHASIS;
|
|
11656
|
+
break;
|
|
11657
|
+
|
|
11658
|
+
case 'normal':
|
|
11659
|
+
el.hoverState = HOVER_STATE_NORMAL;
|
|
11660
|
+
break;
|
|
11661
|
+
|
|
11662
|
+
case 'blur':
|
|
11663
|
+
el.hoverState = HOVER_STATE_BLUR;
|
|
11664
|
+
break;
|
|
11665
|
+
|
|
11666
|
+
case 'select':
|
|
11667
|
+
el.selected = true;
|
|
11668
|
+
}
|
|
11669
|
+
}
|
|
11670
|
+
|
|
11602
11671
|
function getFromStateStyle(el, props, toStateName, defaultValue) {
|
|
11603
11672
|
var style = el.style;
|
|
11604
11673
|
var fromState = {};
|
|
@@ -12208,7 +12277,7 @@ function savePathStates(el) {
|
|
|
12208
12277
|
store.selectStroke = selectState.style && selectState.style.stroke || null;
|
|
12209
12278
|
}
|
|
12210
12279
|
|
|
12211
|
-
var CMD
|
|
12280
|
+
var CMD = PathProxy.CMD;
|
|
12212
12281
|
var points = [[], [], []];
|
|
12213
12282
|
var mathSqrt$2 = Math.sqrt;
|
|
12214
12283
|
var mathAtan2 = Math.atan2;
|
|
@@ -12224,12 +12293,12 @@ function transformPath(path, m) {
|
|
|
12224
12293
|
var j;
|
|
12225
12294
|
var k;
|
|
12226
12295
|
var p;
|
|
12227
|
-
var M = CMD
|
|
12228
|
-
var C = CMD
|
|
12229
|
-
var L = CMD
|
|
12230
|
-
var R = CMD
|
|
12231
|
-
var A = CMD
|
|
12232
|
-
var Q = CMD
|
|
12296
|
+
var M = CMD.M;
|
|
12297
|
+
var C = CMD.C;
|
|
12298
|
+
var L = CMD.L;
|
|
12299
|
+
var R = CMD.R;
|
|
12300
|
+
var A = CMD.A;
|
|
12301
|
+
var Q = CMD.Q;
|
|
12233
12302
|
for (i = 0, j = 0; i < len;) {
|
|
12234
12303
|
cmd = data[i++];
|
|
12235
12304
|
j = i;
|
|
@@ -12627,6 +12696,31 @@ function mergePath$1(pathEls, opts) {
|
|
|
12627
12696
|
};
|
|
12628
12697
|
return pathBundle;
|
|
12629
12698
|
}
|
|
12699
|
+
function clonePath(sourcePath, opts) {
|
|
12700
|
+
opts = opts || {};
|
|
12701
|
+
var path = new Path();
|
|
12702
|
+
if (sourcePath.shape) {
|
|
12703
|
+
path.setShape(sourcePath.shape);
|
|
12704
|
+
}
|
|
12705
|
+
path.setStyle(sourcePath.style);
|
|
12706
|
+
if (opts.bakeTransform) {
|
|
12707
|
+
transformPath(path.path, sourcePath.getComputedTransform());
|
|
12708
|
+
}
|
|
12709
|
+
else {
|
|
12710
|
+
if (opts.toLocal) {
|
|
12711
|
+
path.setLocalTransform(sourcePath.getComputedTransform());
|
|
12712
|
+
}
|
|
12713
|
+
else {
|
|
12714
|
+
path.copyTransform(sourcePath);
|
|
12715
|
+
}
|
|
12716
|
+
}
|
|
12717
|
+
path.buildPath = sourcePath.buildPath;
|
|
12718
|
+
path.applyTransform = path.applyTransform;
|
|
12719
|
+
path.z = sourcePath.z;
|
|
12720
|
+
path.z2 = sourcePath.z2;
|
|
12721
|
+
path.zlevel = sourcePath.zlevel;
|
|
12722
|
+
return path;
|
|
12723
|
+
}
|
|
12630
12724
|
|
|
12631
12725
|
var CircleShape = (function () {
|
|
12632
12726
|
function CircleShape() {
|
|
@@ -12689,7 +12783,7 @@ var Ellipse = (function (_super) {
|
|
|
12689
12783
|
Ellipse.prototype.type = 'ellipse';
|
|
12690
12784
|
|
|
12691
12785
|
var PI$2 = Math.PI;
|
|
12692
|
-
var PI2
|
|
12786
|
+
var PI2 = PI$2 * 2;
|
|
12693
12787
|
var mathSin = Math.sin;
|
|
12694
12788
|
var mathCos = Math.cos;
|
|
12695
12789
|
var mathACos = Math.acos;
|
|
@@ -12800,12 +12894,12 @@ function buildPath$1(ctx, shape) {
|
|
|
12800
12894
|
var cx = shape.cx, cy = shape.cy;
|
|
12801
12895
|
var clockwise = !!shape.clockwise;
|
|
12802
12896
|
var arc = mathAbs(endAngle - startAngle);
|
|
12803
|
-
var mod = arc > PI2
|
|
12897
|
+
var mod = arc > PI2 && arc % PI2;
|
|
12804
12898
|
mod > e && (arc = mod);
|
|
12805
12899
|
if (!(radius > e)) {
|
|
12806
12900
|
ctx.moveTo(cx, cy);
|
|
12807
12901
|
}
|
|
12808
|
-
else if (arc > PI2
|
|
12902
|
+
else if (arc > PI2 - e) {
|
|
12809
12903
|
ctx.moveTo(cx + radius * mathCos(startAngle), cy + radius * mathSin(startAngle));
|
|
12810
12904
|
ctx.arc(cx, cy, radius, startAngle, endAngle, !clockwise);
|
|
12811
12905
|
if (innerRadius > e) {
|
|
@@ -13851,6 +13945,9 @@ function removeElementWithFadeOut(el, animatableModel, dataIndex) {
|
|
|
13851
13945
|
function saveOldStyle(el) {
|
|
13852
13946
|
transitionStore(el).oldStyle = el.style;
|
|
13853
13947
|
}
|
|
13948
|
+
function getOldStyle(el) {
|
|
13949
|
+
return transitionStore(el).oldStyle;
|
|
13950
|
+
}
|
|
13854
13951
|
|
|
13855
13952
|
var mathMax = Math.max;
|
|
13856
13953
|
var mathMin = Math.min;
|
|
@@ -25304,6 +25401,13 @@ keepAspect) {
|
|
|
25304
25401
|
|
|
25305
25402
|
return symbolPath;
|
|
25306
25403
|
}
|
|
25404
|
+
function normalizeSymbolSize(symbolSize) {
|
|
25405
|
+
if (!isArray(symbolSize)) {
|
|
25406
|
+
symbolSize = [+symbolSize, +symbolSize];
|
|
25407
|
+
}
|
|
25408
|
+
|
|
25409
|
+
return [symbolSize[0] || 0, symbolSize[1] || 0];
|
|
25410
|
+
}
|
|
25307
25411
|
function normalizeSymbolOffset(symbolOffset, symbolSize) {
|
|
25308
25412
|
if (symbolOffset == null) {
|
|
25309
25413
|
return;
|
|
@@ -33409,583 +33513,6 @@ function use(ext) {
|
|
|
33409
33513
|
ext.install(extensionRegisters);
|
|
33410
33514
|
}
|
|
33411
33515
|
|
|
33412
|
-
var PI2 = Math.PI * 2;
|
|
33413
|
-
var CMD = PathProxy.CMD;
|
|
33414
|
-
var DEFAULT_SEARCH_SPACE = ['top', 'right', 'bottom', 'left'];
|
|
33415
|
-
|
|
33416
|
-
function getCandidateAnchor(pos, distance, rect, outPt, outDir) {
|
|
33417
|
-
var width = rect.width;
|
|
33418
|
-
var height = rect.height;
|
|
33419
|
-
|
|
33420
|
-
switch (pos) {
|
|
33421
|
-
case 'top':
|
|
33422
|
-
outPt.set(rect.x + width / 2, rect.y - distance);
|
|
33423
|
-
outDir.set(0, -1);
|
|
33424
|
-
break;
|
|
33425
|
-
|
|
33426
|
-
case 'bottom':
|
|
33427
|
-
outPt.set(rect.x + width / 2, rect.y + height + distance);
|
|
33428
|
-
outDir.set(0, 1);
|
|
33429
|
-
break;
|
|
33430
|
-
|
|
33431
|
-
case 'left':
|
|
33432
|
-
outPt.set(rect.x - distance, rect.y + height / 2);
|
|
33433
|
-
outDir.set(-1, 0);
|
|
33434
|
-
break;
|
|
33435
|
-
|
|
33436
|
-
case 'right':
|
|
33437
|
-
outPt.set(rect.x + width + distance, rect.y + height / 2);
|
|
33438
|
-
outDir.set(1, 0);
|
|
33439
|
-
break;
|
|
33440
|
-
}
|
|
33441
|
-
}
|
|
33442
|
-
|
|
33443
|
-
function projectPointToArc(cx, cy, r, startAngle, endAngle, anticlockwise, x, y, out) {
|
|
33444
|
-
x -= cx;
|
|
33445
|
-
y -= cy;
|
|
33446
|
-
var d = Math.sqrt(x * x + y * y);
|
|
33447
|
-
x /= d;
|
|
33448
|
-
y /= d; // Intersect point.
|
|
33449
|
-
|
|
33450
|
-
var ox = x * r + cx;
|
|
33451
|
-
var oy = y * r + cy;
|
|
33452
|
-
|
|
33453
|
-
if (Math.abs(startAngle - endAngle) % PI2 < 1e-4) {
|
|
33454
|
-
// Is a circle
|
|
33455
|
-
out[0] = ox;
|
|
33456
|
-
out[1] = oy;
|
|
33457
|
-
return d - r;
|
|
33458
|
-
}
|
|
33459
|
-
|
|
33460
|
-
if (anticlockwise) {
|
|
33461
|
-
var tmp = startAngle;
|
|
33462
|
-
startAngle = normalizeRadian(endAngle);
|
|
33463
|
-
endAngle = normalizeRadian(tmp);
|
|
33464
|
-
} else {
|
|
33465
|
-
startAngle = normalizeRadian(startAngle);
|
|
33466
|
-
endAngle = normalizeRadian(endAngle);
|
|
33467
|
-
}
|
|
33468
|
-
|
|
33469
|
-
if (startAngle > endAngle) {
|
|
33470
|
-
endAngle += PI2;
|
|
33471
|
-
}
|
|
33472
|
-
|
|
33473
|
-
var angle = Math.atan2(y, x);
|
|
33474
|
-
|
|
33475
|
-
if (angle < 0) {
|
|
33476
|
-
angle += PI2;
|
|
33477
|
-
}
|
|
33478
|
-
|
|
33479
|
-
if (angle >= startAngle && angle <= endAngle || angle + PI2 >= startAngle && angle + PI2 <= endAngle) {
|
|
33480
|
-
// Project point is on the arc.
|
|
33481
|
-
out[0] = ox;
|
|
33482
|
-
out[1] = oy;
|
|
33483
|
-
return d - r;
|
|
33484
|
-
}
|
|
33485
|
-
|
|
33486
|
-
var x1 = r * Math.cos(startAngle) + cx;
|
|
33487
|
-
var y1 = r * Math.sin(startAngle) + cy;
|
|
33488
|
-
var x2 = r * Math.cos(endAngle) + cx;
|
|
33489
|
-
var y2 = r * Math.sin(endAngle) + cy;
|
|
33490
|
-
var d1 = (x1 - x) * (x1 - x) + (y1 - y) * (y1 - y);
|
|
33491
|
-
var d2 = (x2 - x) * (x2 - x) + (y2 - y) * (y2 - y);
|
|
33492
|
-
|
|
33493
|
-
if (d1 < d2) {
|
|
33494
|
-
out[0] = x1;
|
|
33495
|
-
out[1] = y1;
|
|
33496
|
-
return Math.sqrt(d1);
|
|
33497
|
-
} else {
|
|
33498
|
-
out[0] = x2;
|
|
33499
|
-
out[1] = y2;
|
|
33500
|
-
return Math.sqrt(d2);
|
|
33501
|
-
}
|
|
33502
|
-
}
|
|
33503
|
-
|
|
33504
|
-
function projectPointToLine(x1, y1, x2, y2, x, y, out, limitToEnds) {
|
|
33505
|
-
var dx = x - x1;
|
|
33506
|
-
var dy = y - y1;
|
|
33507
|
-
var dx1 = x2 - x1;
|
|
33508
|
-
var dy1 = y2 - y1;
|
|
33509
|
-
var lineLen = Math.sqrt(dx1 * dx1 + dy1 * dy1);
|
|
33510
|
-
dx1 /= lineLen;
|
|
33511
|
-
dy1 /= lineLen; // dot product
|
|
33512
|
-
|
|
33513
|
-
var projectedLen = dx * dx1 + dy * dy1;
|
|
33514
|
-
var t = projectedLen / lineLen;
|
|
33515
|
-
|
|
33516
|
-
if (limitToEnds) {
|
|
33517
|
-
t = Math.min(Math.max(t, 0), 1);
|
|
33518
|
-
}
|
|
33519
|
-
|
|
33520
|
-
t *= lineLen;
|
|
33521
|
-
var ox = out[0] = x1 + t * dx1;
|
|
33522
|
-
var oy = out[1] = y1 + t * dy1;
|
|
33523
|
-
return Math.sqrt((ox - x) * (ox - x) + (oy - y) * (oy - y));
|
|
33524
|
-
}
|
|
33525
|
-
|
|
33526
|
-
function projectPointToRect(x1, y1, width, height, x, y, out) {
|
|
33527
|
-
if (width < 0) {
|
|
33528
|
-
x1 = x1 + width;
|
|
33529
|
-
width = -width;
|
|
33530
|
-
}
|
|
33531
|
-
|
|
33532
|
-
if (height < 0) {
|
|
33533
|
-
y1 = y1 + height;
|
|
33534
|
-
height = -height;
|
|
33535
|
-
}
|
|
33536
|
-
|
|
33537
|
-
var x2 = x1 + width;
|
|
33538
|
-
var y2 = y1 + height;
|
|
33539
|
-
var ox = out[0] = Math.min(Math.max(x, x1), x2);
|
|
33540
|
-
var oy = out[1] = Math.min(Math.max(y, y1), y2);
|
|
33541
|
-
return Math.sqrt((ox - x) * (ox - x) + (oy - y) * (oy - y));
|
|
33542
|
-
}
|
|
33543
|
-
|
|
33544
|
-
var tmpPt = [];
|
|
33545
|
-
|
|
33546
|
-
function nearestPointOnRect(pt, rect, out) {
|
|
33547
|
-
var dist = projectPointToRect(rect.x, rect.y, rect.width, rect.height, pt.x, pt.y, tmpPt);
|
|
33548
|
-
out.set(tmpPt[0], tmpPt[1]);
|
|
33549
|
-
return dist;
|
|
33550
|
-
}
|
|
33551
|
-
/**
|
|
33552
|
-
* Calculate min distance corresponding point.
|
|
33553
|
-
* This method won't evaluate if point is in the path.
|
|
33554
|
-
*/
|
|
33555
|
-
|
|
33556
|
-
|
|
33557
|
-
function nearestPointOnPath(pt, path, out) {
|
|
33558
|
-
var xi = 0;
|
|
33559
|
-
var yi = 0;
|
|
33560
|
-
var x0 = 0;
|
|
33561
|
-
var y0 = 0;
|
|
33562
|
-
var x1;
|
|
33563
|
-
var y1;
|
|
33564
|
-
var minDist = Infinity;
|
|
33565
|
-
var data = path.data;
|
|
33566
|
-
var x = pt.x;
|
|
33567
|
-
var y = pt.y;
|
|
33568
|
-
|
|
33569
|
-
for (var i = 0; i < data.length;) {
|
|
33570
|
-
var cmd = data[i++];
|
|
33571
|
-
|
|
33572
|
-
if (i === 1) {
|
|
33573
|
-
xi = data[i];
|
|
33574
|
-
yi = data[i + 1];
|
|
33575
|
-
x0 = xi;
|
|
33576
|
-
y0 = yi;
|
|
33577
|
-
}
|
|
33578
|
-
|
|
33579
|
-
var d = minDist;
|
|
33580
|
-
|
|
33581
|
-
switch (cmd) {
|
|
33582
|
-
case CMD.M:
|
|
33583
|
-
// moveTo 命令重新创建一个新的 subpath, 并且更新新的起点
|
|
33584
|
-
// 在 closePath 的时候使用
|
|
33585
|
-
x0 = data[i++];
|
|
33586
|
-
y0 = data[i++];
|
|
33587
|
-
xi = x0;
|
|
33588
|
-
yi = y0;
|
|
33589
|
-
break;
|
|
33590
|
-
|
|
33591
|
-
case CMD.L:
|
|
33592
|
-
d = projectPointToLine(xi, yi, data[i], data[i + 1], x, y, tmpPt, true);
|
|
33593
|
-
xi = data[i++];
|
|
33594
|
-
yi = data[i++];
|
|
33595
|
-
break;
|
|
33596
|
-
|
|
33597
|
-
case CMD.C:
|
|
33598
|
-
d = cubicProjectPoint(xi, yi, data[i++], data[i++], data[i++], data[i++], data[i], data[i + 1], x, y, tmpPt);
|
|
33599
|
-
xi = data[i++];
|
|
33600
|
-
yi = data[i++];
|
|
33601
|
-
break;
|
|
33602
|
-
|
|
33603
|
-
case CMD.Q:
|
|
33604
|
-
d = quadraticProjectPoint(xi, yi, data[i++], data[i++], data[i], data[i + 1], x, y, tmpPt);
|
|
33605
|
-
xi = data[i++];
|
|
33606
|
-
yi = data[i++];
|
|
33607
|
-
break;
|
|
33608
|
-
|
|
33609
|
-
case CMD.A:
|
|
33610
|
-
// TODO Arc 判断的开销比较大
|
|
33611
|
-
var cx = data[i++];
|
|
33612
|
-
var cy = data[i++];
|
|
33613
|
-
var rx = data[i++];
|
|
33614
|
-
var ry = data[i++];
|
|
33615
|
-
var theta = data[i++];
|
|
33616
|
-
var dTheta = data[i++]; // TODO Arc 旋转
|
|
33617
|
-
|
|
33618
|
-
i += 1;
|
|
33619
|
-
var anticlockwise = !!(1 - data[i++]);
|
|
33620
|
-
x1 = Math.cos(theta) * rx + cx;
|
|
33621
|
-
y1 = Math.sin(theta) * ry + cy; // 不是直接使用 arc 命令
|
|
33622
|
-
|
|
33623
|
-
if (i <= 1) {
|
|
33624
|
-
// 第一个命令起点还未定义
|
|
33625
|
-
x0 = x1;
|
|
33626
|
-
y0 = y1;
|
|
33627
|
-
} // zr 使用scale来模拟椭圆, 这里也对x做一定的缩放
|
|
33628
|
-
|
|
33629
|
-
|
|
33630
|
-
var _x = (x - cx) * ry / rx + cx;
|
|
33631
|
-
|
|
33632
|
-
d = projectPointToArc(cx, cy, ry, theta, theta + dTheta, anticlockwise, _x, y, tmpPt);
|
|
33633
|
-
xi = Math.cos(theta + dTheta) * rx + cx;
|
|
33634
|
-
yi = Math.sin(theta + dTheta) * ry + cy;
|
|
33635
|
-
break;
|
|
33636
|
-
|
|
33637
|
-
case CMD.R:
|
|
33638
|
-
x0 = xi = data[i++];
|
|
33639
|
-
y0 = yi = data[i++];
|
|
33640
|
-
var width = data[i++];
|
|
33641
|
-
var height = data[i++];
|
|
33642
|
-
d = projectPointToRect(x0, y0, width, height, x, y, tmpPt);
|
|
33643
|
-
break;
|
|
33644
|
-
|
|
33645
|
-
case CMD.Z:
|
|
33646
|
-
d = projectPointToLine(xi, yi, x0, y0, x, y, tmpPt, true);
|
|
33647
|
-
xi = x0;
|
|
33648
|
-
yi = y0;
|
|
33649
|
-
break;
|
|
33650
|
-
}
|
|
33651
|
-
|
|
33652
|
-
if (d < minDist) {
|
|
33653
|
-
minDist = d;
|
|
33654
|
-
out.set(tmpPt[0], tmpPt[1]);
|
|
33655
|
-
}
|
|
33656
|
-
}
|
|
33657
|
-
|
|
33658
|
-
return minDist;
|
|
33659
|
-
} // Temporal variable for intermediate usage.
|
|
33660
|
-
|
|
33661
|
-
|
|
33662
|
-
var pt0 = new Point();
|
|
33663
|
-
var pt1 = new Point();
|
|
33664
|
-
var pt2 = new Point();
|
|
33665
|
-
var dir = new Point();
|
|
33666
|
-
var dir2 = new Point();
|
|
33667
|
-
/**
|
|
33668
|
-
* Calculate a proper guide line based on the label position and graphic element definition
|
|
33669
|
-
* @param label
|
|
33670
|
-
* @param labelRect
|
|
33671
|
-
* @param target
|
|
33672
|
-
* @param targetRect
|
|
33673
|
-
*/
|
|
33674
|
-
|
|
33675
|
-
function updateLabelLinePoints(target, labelLineModel) {
|
|
33676
|
-
if (!target) {
|
|
33677
|
-
return;
|
|
33678
|
-
}
|
|
33679
|
-
|
|
33680
|
-
var labelLine = target.getTextGuideLine();
|
|
33681
|
-
var label = target.getTextContent(); // Needs to create text guide in each charts.
|
|
33682
|
-
|
|
33683
|
-
if (!(label && labelLine)) {
|
|
33684
|
-
return;
|
|
33685
|
-
}
|
|
33686
|
-
|
|
33687
|
-
var labelGuideConfig = target.textGuideLineConfig || {};
|
|
33688
|
-
var points = [[0, 0], [0, 0], [0, 0]];
|
|
33689
|
-
var searchSpace = labelGuideConfig.candidates || DEFAULT_SEARCH_SPACE;
|
|
33690
|
-
var labelRect = label.getBoundingRect().clone();
|
|
33691
|
-
labelRect.applyTransform(label.getComputedTransform());
|
|
33692
|
-
var minDist = Infinity;
|
|
33693
|
-
var anchorPoint = labelGuideConfig.anchor;
|
|
33694
|
-
var targetTransform = target.getComputedTransform();
|
|
33695
|
-
var targetInversedTransform = targetTransform && invert([], targetTransform);
|
|
33696
|
-
var len = labelLineModel.get('length2') || 0;
|
|
33697
|
-
|
|
33698
|
-
if (anchorPoint) {
|
|
33699
|
-
pt2.copy(anchorPoint);
|
|
33700
|
-
}
|
|
33701
|
-
|
|
33702
|
-
for (var i = 0; i < searchSpace.length; i++) {
|
|
33703
|
-
var candidate = searchSpace[i];
|
|
33704
|
-
getCandidateAnchor(candidate, 0, labelRect, pt0, dir);
|
|
33705
|
-
Point.scaleAndAdd(pt1, pt0, dir, len); // Transform to target coord space.
|
|
33706
|
-
|
|
33707
|
-
pt1.transform(targetInversedTransform); // Note: getBoundingRect will ensure the `path` being created.
|
|
33708
|
-
|
|
33709
|
-
var boundingRect = target.getBoundingRect();
|
|
33710
|
-
var dist = anchorPoint ? anchorPoint.distance(pt1) : target instanceof Path ? nearestPointOnPath(pt1, target.path, pt2) : nearestPointOnRect(pt1, boundingRect, pt2); // TODO pt2 is in the path
|
|
33711
|
-
|
|
33712
|
-
if (dist < minDist) {
|
|
33713
|
-
minDist = dist; // Transform back to global space.
|
|
33714
|
-
|
|
33715
|
-
pt1.transform(targetTransform);
|
|
33716
|
-
pt2.transform(targetTransform);
|
|
33717
|
-
pt2.toArray(points[0]);
|
|
33718
|
-
pt1.toArray(points[1]);
|
|
33719
|
-
pt0.toArray(points[2]);
|
|
33720
|
-
}
|
|
33721
|
-
}
|
|
33722
|
-
|
|
33723
|
-
limitTurnAngle(points, labelLineModel.get('minTurnAngle'));
|
|
33724
|
-
labelLine.setShape({
|
|
33725
|
-
points: points
|
|
33726
|
-
});
|
|
33727
|
-
} // Temporal variable for the limitTurnAngle function
|
|
33728
|
-
|
|
33729
|
-
var tmpArr = [];
|
|
33730
|
-
var tmpProjPoint = new Point();
|
|
33731
|
-
/**
|
|
33732
|
-
* Reduce the line segment attached to the label to limit the turn angle between two segments.
|
|
33733
|
-
* @param linePoints
|
|
33734
|
-
* @param minTurnAngle Radian of minimum turn angle. 0 - 180
|
|
33735
|
-
*/
|
|
33736
|
-
|
|
33737
|
-
function limitTurnAngle(linePoints, minTurnAngle) {
|
|
33738
|
-
if (!(minTurnAngle <= 180 && minTurnAngle > 0)) {
|
|
33739
|
-
return;
|
|
33740
|
-
}
|
|
33741
|
-
|
|
33742
|
-
minTurnAngle = minTurnAngle / 180 * Math.PI; // The line points can be
|
|
33743
|
-
// /pt1----pt2 (label)
|
|
33744
|
-
// /
|
|
33745
|
-
// pt0/
|
|
33746
|
-
|
|
33747
|
-
pt0.fromArray(linePoints[0]);
|
|
33748
|
-
pt1.fromArray(linePoints[1]);
|
|
33749
|
-
pt2.fromArray(linePoints[2]);
|
|
33750
|
-
Point.sub(dir, pt0, pt1);
|
|
33751
|
-
Point.sub(dir2, pt2, pt1);
|
|
33752
|
-
var len1 = dir.len();
|
|
33753
|
-
var len2 = dir2.len();
|
|
33754
|
-
|
|
33755
|
-
if (len1 < 1e-3 || len2 < 1e-3) {
|
|
33756
|
-
return;
|
|
33757
|
-
}
|
|
33758
|
-
|
|
33759
|
-
dir.scale(1 / len1);
|
|
33760
|
-
dir2.scale(1 / len2);
|
|
33761
|
-
var angleCos = dir.dot(dir2);
|
|
33762
|
-
var minTurnAngleCos = Math.cos(minTurnAngle);
|
|
33763
|
-
|
|
33764
|
-
if (minTurnAngleCos < angleCos) {
|
|
33765
|
-
// Smaller than minTurnAngle
|
|
33766
|
-
// Calculate project point of pt0 on pt1-pt2
|
|
33767
|
-
var d = projectPointToLine(pt1.x, pt1.y, pt2.x, pt2.y, pt0.x, pt0.y, tmpArr, false);
|
|
33768
|
-
tmpProjPoint.fromArray(tmpArr); // Calculate new projected length with limited minTurnAngle and get the new connect point
|
|
33769
|
-
|
|
33770
|
-
tmpProjPoint.scaleAndAdd(dir2, d / Math.tan(Math.PI - minTurnAngle)); // Limit the new calculated connect point between pt1 and pt2.
|
|
33771
|
-
|
|
33772
|
-
var t = pt2.x !== pt1.x ? (tmpProjPoint.x - pt1.x) / (pt2.x - pt1.x) : (tmpProjPoint.y - pt1.y) / (pt2.y - pt1.y);
|
|
33773
|
-
|
|
33774
|
-
if (isNaN(t)) {
|
|
33775
|
-
return;
|
|
33776
|
-
}
|
|
33777
|
-
|
|
33778
|
-
if (t < 0) {
|
|
33779
|
-
Point.copy(tmpProjPoint, pt1);
|
|
33780
|
-
} else if (t > 1) {
|
|
33781
|
-
Point.copy(tmpProjPoint, pt2);
|
|
33782
|
-
}
|
|
33783
|
-
|
|
33784
|
-
tmpProjPoint.toArray(linePoints[1]);
|
|
33785
|
-
}
|
|
33786
|
-
}
|
|
33787
|
-
/**
|
|
33788
|
-
* Limit the angle of line and the surface
|
|
33789
|
-
* @param maxSurfaceAngle Radian of minimum turn angle. 0 - 180. 0 is same direction to normal. 180 is opposite
|
|
33790
|
-
*/
|
|
33791
|
-
|
|
33792
|
-
function limitSurfaceAngle(linePoints, surfaceNormal, maxSurfaceAngle) {
|
|
33793
|
-
if (!(maxSurfaceAngle <= 180 && maxSurfaceAngle > 0)) {
|
|
33794
|
-
return;
|
|
33795
|
-
}
|
|
33796
|
-
|
|
33797
|
-
maxSurfaceAngle = maxSurfaceAngle / 180 * Math.PI;
|
|
33798
|
-
pt0.fromArray(linePoints[0]);
|
|
33799
|
-
pt1.fromArray(linePoints[1]);
|
|
33800
|
-
pt2.fromArray(linePoints[2]);
|
|
33801
|
-
Point.sub(dir, pt1, pt0);
|
|
33802
|
-
Point.sub(dir2, pt2, pt1);
|
|
33803
|
-
var len1 = dir.len();
|
|
33804
|
-
var len2 = dir2.len();
|
|
33805
|
-
|
|
33806
|
-
if (len1 < 1e-3 || len2 < 1e-3) {
|
|
33807
|
-
return;
|
|
33808
|
-
}
|
|
33809
|
-
|
|
33810
|
-
dir.scale(1 / len1);
|
|
33811
|
-
dir2.scale(1 / len2);
|
|
33812
|
-
var angleCos = dir.dot(surfaceNormal);
|
|
33813
|
-
var maxSurfaceAngleCos = Math.cos(maxSurfaceAngle);
|
|
33814
|
-
|
|
33815
|
-
if (angleCos < maxSurfaceAngleCos) {
|
|
33816
|
-
// Calculate project point of pt0 on pt1-pt2
|
|
33817
|
-
var d = projectPointToLine(pt1.x, pt1.y, pt2.x, pt2.y, pt0.x, pt0.y, tmpArr, false);
|
|
33818
|
-
tmpProjPoint.fromArray(tmpArr);
|
|
33819
|
-
var HALF_PI = Math.PI / 2;
|
|
33820
|
-
var angle2 = Math.acos(dir2.dot(surfaceNormal));
|
|
33821
|
-
var newAngle = HALF_PI + angle2 - maxSurfaceAngle;
|
|
33822
|
-
|
|
33823
|
-
if (newAngle >= HALF_PI) {
|
|
33824
|
-
// parallel
|
|
33825
|
-
Point.copy(tmpProjPoint, pt2);
|
|
33826
|
-
} else {
|
|
33827
|
-
// Calculate new projected length with limited minTurnAngle and get the new connect point
|
|
33828
|
-
tmpProjPoint.scaleAndAdd(dir2, d / Math.tan(Math.PI / 2 - newAngle)); // Limit the new calculated connect point between pt1 and pt2.
|
|
33829
|
-
|
|
33830
|
-
var t = pt2.x !== pt1.x ? (tmpProjPoint.x - pt1.x) / (pt2.x - pt1.x) : (tmpProjPoint.y - pt1.y) / (pt2.y - pt1.y);
|
|
33831
|
-
|
|
33832
|
-
if (isNaN(t)) {
|
|
33833
|
-
return;
|
|
33834
|
-
}
|
|
33835
|
-
|
|
33836
|
-
if (t < 0) {
|
|
33837
|
-
Point.copy(tmpProjPoint, pt1);
|
|
33838
|
-
} else if (t > 1) {
|
|
33839
|
-
Point.copy(tmpProjPoint, pt2);
|
|
33840
|
-
}
|
|
33841
|
-
}
|
|
33842
|
-
|
|
33843
|
-
tmpProjPoint.toArray(linePoints[1]);
|
|
33844
|
-
}
|
|
33845
|
-
}
|
|
33846
|
-
|
|
33847
|
-
function setLabelLineState(labelLine, ignore, stateName, stateModel) {
|
|
33848
|
-
var isNormal = stateName === 'normal';
|
|
33849
|
-
var stateObj = isNormal ? labelLine : labelLine.ensureState(stateName); // Make sure display.
|
|
33850
|
-
|
|
33851
|
-
stateObj.ignore = ignore; // Set smooth
|
|
33852
|
-
|
|
33853
|
-
var smooth = stateModel.get('smooth');
|
|
33854
|
-
|
|
33855
|
-
if (smooth && smooth === true) {
|
|
33856
|
-
smooth = 0.3;
|
|
33857
|
-
}
|
|
33858
|
-
|
|
33859
|
-
stateObj.shape = stateObj.shape || {};
|
|
33860
|
-
|
|
33861
|
-
if (smooth > 0) {
|
|
33862
|
-
stateObj.shape.smooth = smooth;
|
|
33863
|
-
}
|
|
33864
|
-
|
|
33865
|
-
var styleObj = stateModel.getModel('lineStyle').getLineStyle();
|
|
33866
|
-
isNormal ? labelLine.useStyle(styleObj) : stateObj.style = styleObj;
|
|
33867
|
-
}
|
|
33868
|
-
|
|
33869
|
-
function buildLabelLinePath(path, shape) {
|
|
33870
|
-
var smooth = shape.smooth;
|
|
33871
|
-
var points = shape.points;
|
|
33872
|
-
|
|
33873
|
-
if (!points) {
|
|
33874
|
-
return;
|
|
33875
|
-
}
|
|
33876
|
-
|
|
33877
|
-
path.moveTo(points[0][0], points[0][1]);
|
|
33878
|
-
|
|
33879
|
-
if (smooth > 0 && points.length >= 3) {
|
|
33880
|
-
var len1 = dist$1(points[0], points[1]);
|
|
33881
|
-
var len2 = dist$1(points[1], points[2]);
|
|
33882
|
-
|
|
33883
|
-
if (!len1 || !len2) {
|
|
33884
|
-
path.lineTo(points[1][0], points[1][1]);
|
|
33885
|
-
path.lineTo(points[2][0], points[2][1]);
|
|
33886
|
-
return;
|
|
33887
|
-
}
|
|
33888
|
-
|
|
33889
|
-
var moveLen = Math.min(len1, len2) * smooth;
|
|
33890
|
-
var midPoint0 = lerp([], points[1], points[0], moveLen / len1);
|
|
33891
|
-
var midPoint2 = lerp([], points[1], points[2], moveLen / len2);
|
|
33892
|
-
var midPoint1 = lerp([], midPoint0, midPoint2, 0.5);
|
|
33893
|
-
path.bezierCurveTo(midPoint0[0], midPoint0[1], midPoint0[0], midPoint0[1], midPoint1[0], midPoint1[1]);
|
|
33894
|
-
path.bezierCurveTo(midPoint2[0], midPoint2[1], midPoint2[0], midPoint2[1], points[2][0], points[2][1]);
|
|
33895
|
-
} else {
|
|
33896
|
-
for (var i = 1; i < points.length; i++) {
|
|
33897
|
-
path.lineTo(points[i][0], points[i][1]);
|
|
33898
|
-
}
|
|
33899
|
-
}
|
|
33900
|
-
}
|
|
33901
|
-
/**
|
|
33902
|
-
* Create a label line if necessary and set it's style.
|
|
33903
|
-
*/
|
|
33904
|
-
|
|
33905
|
-
|
|
33906
|
-
function setLabelLineStyle(targetEl, statesModels, defaultStyle) {
|
|
33907
|
-
var labelLine = targetEl.getTextGuideLine();
|
|
33908
|
-
var label = targetEl.getTextContent();
|
|
33909
|
-
|
|
33910
|
-
if (!label) {
|
|
33911
|
-
// Not show label line if there is no label.
|
|
33912
|
-
if (labelLine) {
|
|
33913
|
-
targetEl.removeTextGuideLine();
|
|
33914
|
-
}
|
|
33915
|
-
|
|
33916
|
-
return;
|
|
33917
|
-
}
|
|
33918
|
-
|
|
33919
|
-
var normalModel = statesModels.normal;
|
|
33920
|
-
var showNormal = normalModel.get('show');
|
|
33921
|
-
var labelIgnoreNormal = label.ignore;
|
|
33922
|
-
|
|
33923
|
-
for (var i = 0; i < DISPLAY_STATES.length; i++) {
|
|
33924
|
-
var stateName = DISPLAY_STATES[i];
|
|
33925
|
-
var stateModel = statesModels[stateName];
|
|
33926
|
-
var isNormal = stateName === 'normal';
|
|
33927
|
-
|
|
33928
|
-
if (stateModel) {
|
|
33929
|
-
var stateShow = stateModel.get('show');
|
|
33930
|
-
var isLabelIgnored = isNormal ? labelIgnoreNormal : retrieve2(label.states[stateName] && label.states[stateName].ignore, labelIgnoreNormal);
|
|
33931
|
-
|
|
33932
|
-
if (isLabelIgnored // Not show when label is not shown in this state.
|
|
33933
|
-
|| !retrieve2(stateShow, showNormal) // Use normal state by default if not set.
|
|
33934
|
-
) {
|
|
33935
|
-
var stateObj = isNormal ? labelLine : labelLine && labelLine.states[stateName];
|
|
33936
|
-
|
|
33937
|
-
if (stateObj) {
|
|
33938
|
-
stateObj.ignore = true;
|
|
33939
|
-
}
|
|
33940
|
-
|
|
33941
|
-
continue;
|
|
33942
|
-
} // Create labelLine if not exists
|
|
33943
|
-
|
|
33944
|
-
|
|
33945
|
-
if (!labelLine) {
|
|
33946
|
-
labelLine = new Polyline();
|
|
33947
|
-
targetEl.setTextGuideLine(labelLine); // Reset state of normal because it's new created.
|
|
33948
|
-
// NOTE: NORMAL should always been the first!
|
|
33949
|
-
|
|
33950
|
-
if (!isNormal && (labelIgnoreNormal || !showNormal)) {
|
|
33951
|
-
setLabelLineState(labelLine, true, 'normal', statesModels.normal);
|
|
33952
|
-
} // Use same state proxy.
|
|
33953
|
-
|
|
33954
|
-
|
|
33955
|
-
if (targetEl.stateProxy) {
|
|
33956
|
-
labelLine.stateProxy = targetEl.stateProxy;
|
|
33957
|
-
}
|
|
33958
|
-
}
|
|
33959
|
-
|
|
33960
|
-
setLabelLineState(labelLine, false, stateName, stateModel);
|
|
33961
|
-
}
|
|
33962
|
-
}
|
|
33963
|
-
|
|
33964
|
-
if (labelLine) {
|
|
33965
|
-
defaults(labelLine.style, defaultStyle); // Not fill.
|
|
33966
|
-
|
|
33967
|
-
labelLine.style.fill = null;
|
|
33968
|
-
var showAbove = normalModel.get('showAbove');
|
|
33969
|
-
var labelLineConfig = targetEl.textGuideLineConfig = targetEl.textGuideLineConfig || {};
|
|
33970
|
-
labelLineConfig.showAbove = showAbove || false; // Custom the buildPath.
|
|
33971
|
-
|
|
33972
|
-
labelLine.buildPath = buildLabelLinePath;
|
|
33973
|
-
}
|
|
33974
|
-
}
|
|
33975
|
-
function getLabelLineStatesModels(itemModel, labelLineName) {
|
|
33976
|
-
labelLineName = labelLineName || 'labelLine';
|
|
33977
|
-
var statesModels = {
|
|
33978
|
-
normal: itemModel.getModel(labelLineName)
|
|
33979
|
-
};
|
|
33980
|
-
|
|
33981
|
-
for (var i = 0; i < SPECIAL_STATES.length; i++) {
|
|
33982
|
-
var stateName = SPECIAL_STATES[i];
|
|
33983
|
-
statesModels[stateName] = itemModel.getModel([stateName, labelLineName]);
|
|
33984
|
-
}
|
|
33985
|
-
|
|
33986
|
-
return statesModels;
|
|
33987
|
-
}
|
|
33988
|
-
|
|
33989
33516
|
function prepareLayoutList(input) {
|
|
33990
33517
|
var list = [];
|
|
33991
33518
|
|
|
@@ -34284,468 +33811,6 @@ function hideOverlap(labelList) {
|
|
|
34284
33811
|
}
|
|
34285
33812
|
}
|
|
34286
33813
|
|
|
34287
|
-
function cloneArr(points) {
|
|
34288
|
-
if (points) {
|
|
34289
|
-
var newPoints = [];
|
|
34290
|
-
|
|
34291
|
-
for (var i = 0; i < points.length; i++) {
|
|
34292
|
-
newPoints.push(points[i].slice());
|
|
34293
|
-
}
|
|
34294
|
-
|
|
34295
|
-
return newPoints;
|
|
34296
|
-
}
|
|
34297
|
-
}
|
|
34298
|
-
|
|
34299
|
-
function prepareLayoutCallbackParams(labelItem, hostEl) {
|
|
34300
|
-
var label = labelItem.label;
|
|
34301
|
-
var labelLine = hostEl && hostEl.getTextGuideLine();
|
|
34302
|
-
return {
|
|
34303
|
-
dataIndex: labelItem.dataIndex,
|
|
34304
|
-
dataType: labelItem.dataType,
|
|
34305
|
-
seriesIndex: labelItem.seriesModel.seriesIndex,
|
|
34306
|
-
text: labelItem.label.style.text,
|
|
34307
|
-
rect: labelItem.hostRect,
|
|
34308
|
-
labelRect: labelItem.rect,
|
|
34309
|
-
// x: labelAttr.x,
|
|
34310
|
-
// y: labelAttr.y,
|
|
34311
|
-
align: label.style.align,
|
|
34312
|
-
verticalAlign: label.style.verticalAlign,
|
|
34313
|
-
labelLinePoints: cloneArr(labelLine && labelLine.shape.points)
|
|
34314
|
-
};
|
|
34315
|
-
}
|
|
34316
|
-
|
|
34317
|
-
var LABEL_OPTION_TO_STYLE_KEYS = ['align', 'verticalAlign', 'width', 'height', 'fontSize'];
|
|
34318
|
-
var dummyTransformable = new Transformable();
|
|
34319
|
-
var labelLayoutInnerStore = makeInner();
|
|
34320
|
-
var labelLineAnimationStore = makeInner();
|
|
34321
|
-
|
|
34322
|
-
function extendWithKeys(target, source, keys) {
|
|
34323
|
-
for (var i = 0; i < keys.length; i++) {
|
|
34324
|
-
var key = keys[i];
|
|
34325
|
-
|
|
34326
|
-
if (source[key] != null) {
|
|
34327
|
-
target[key] = source[key];
|
|
34328
|
-
}
|
|
34329
|
-
}
|
|
34330
|
-
}
|
|
34331
|
-
|
|
34332
|
-
var LABEL_LAYOUT_PROPS = ['x', 'y', 'rotation'];
|
|
34333
|
-
|
|
34334
|
-
var LabelManager =
|
|
34335
|
-
/** @class */
|
|
34336
|
-
function () {
|
|
34337
|
-
function LabelManager() {
|
|
34338
|
-
this._labelList = [];
|
|
34339
|
-
this._chartViewList = [];
|
|
34340
|
-
}
|
|
34341
|
-
|
|
34342
|
-
LabelManager.prototype.clearLabels = function () {
|
|
34343
|
-
this._labelList = [];
|
|
34344
|
-
this._chartViewList = [];
|
|
34345
|
-
};
|
|
34346
|
-
/**
|
|
34347
|
-
* Add label to manager
|
|
34348
|
-
*/
|
|
34349
|
-
|
|
34350
|
-
|
|
34351
|
-
LabelManager.prototype._addLabel = function (dataIndex, dataType, seriesModel, label, layoutOption) {
|
|
34352
|
-
var labelStyle = label.style;
|
|
34353
|
-
var hostEl = label.__hostTarget;
|
|
34354
|
-
var textConfig = hostEl.textConfig || {}; // TODO: If label is in other state.
|
|
34355
|
-
|
|
34356
|
-
var labelTransform = label.getComputedTransform();
|
|
34357
|
-
var labelRect = label.getBoundingRect().plain();
|
|
34358
|
-
BoundingRect.applyTransform(labelRect, labelRect, labelTransform);
|
|
34359
|
-
|
|
34360
|
-
if (labelTransform) {
|
|
34361
|
-
dummyTransformable.setLocalTransform(labelTransform);
|
|
34362
|
-
} else {
|
|
34363
|
-
// Identity transform.
|
|
34364
|
-
dummyTransformable.x = dummyTransformable.y = dummyTransformable.rotation = dummyTransformable.originX = dummyTransformable.originY = 0;
|
|
34365
|
-
dummyTransformable.scaleX = dummyTransformable.scaleY = 1;
|
|
34366
|
-
}
|
|
34367
|
-
|
|
34368
|
-
var host = label.__hostTarget;
|
|
34369
|
-
var hostRect;
|
|
34370
|
-
|
|
34371
|
-
if (host) {
|
|
34372
|
-
hostRect = host.getBoundingRect().plain();
|
|
34373
|
-
var transform = host.getComputedTransform();
|
|
34374
|
-
BoundingRect.applyTransform(hostRect, hostRect, transform);
|
|
34375
|
-
}
|
|
34376
|
-
|
|
34377
|
-
var labelGuide = hostRect && host.getTextGuideLine();
|
|
34378
|
-
|
|
34379
|
-
this._labelList.push({
|
|
34380
|
-
label: label,
|
|
34381
|
-
labelLine: labelGuide,
|
|
34382
|
-
seriesModel: seriesModel,
|
|
34383
|
-
dataIndex: dataIndex,
|
|
34384
|
-
dataType: dataType,
|
|
34385
|
-
layoutOption: layoutOption,
|
|
34386
|
-
computedLayoutOption: null,
|
|
34387
|
-
rect: labelRect,
|
|
34388
|
-
hostRect: hostRect,
|
|
34389
|
-
// Label with lower priority will be hidden when overlapped
|
|
34390
|
-
// Use rect size as default priority
|
|
34391
|
-
priority: hostRect ? hostRect.width * hostRect.height : 0,
|
|
34392
|
-
// Save default label attributes.
|
|
34393
|
-
// For restore if developers want get back to default value in callback.
|
|
34394
|
-
defaultAttr: {
|
|
34395
|
-
ignore: label.ignore,
|
|
34396
|
-
labelGuideIgnore: labelGuide && labelGuide.ignore,
|
|
34397
|
-
x: dummyTransformable.x,
|
|
34398
|
-
y: dummyTransformable.y,
|
|
34399
|
-
scaleX: dummyTransformable.scaleX,
|
|
34400
|
-
scaleY: dummyTransformable.scaleY,
|
|
34401
|
-
rotation: dummyTransformable.rotation,
|
|
34402
|
-
style: {
|
|
34403
|
-
x: labelStyle.x,
|
|
34404
|
-
y: labelStyle.y,
|
|
34405
|
-
align: labelStyle.align,
|
|
34406
|
-
verticalAlign: labelStyle.verticalAlign,
|
|
34407
|
-
width: labelStyle.width,
|
|
34408
|
-
height: labelStyle.height,
|
|
34409
|
-
fontSize: labelStyle.fontSize
|
|
34410
|
-
},
|
|
34411
|
-
cursor: label.cursor,
|
|
34412
|
-
attachedPos: textConfig.position,
|
|
34413
|
-
attachedRot: textConfig.rotation
|
|
34414
|
-
}
|
|
34415
|
-
});
|
|
34416
|
-
};
|
|
34417
|
-
|
|
34418
|
-
LabelManager.prototype.addLabelsOfSeries = function (chartView) {
|
|
34419
|
-
var _this = this;
|
|
34420
|
-
|
|
34421
|
-
this._chartViewList.push(chartView);
|
|
34422
|
-
|
|
34423
|
-
var seriesModel = chartView.__model;
|
|
34424
|
-
var layoutOption = seriesModel.get('labelLayout');
|
|
34425
|
-
/**
|
|
34426
|
-
* Ignore layouting if it's not specified anything.
|
|
34427
|
-
*/
|
|
34428
|
-
|
|
34429
|
-
if (!(isFunction(layoutOption) || keys(layoutOption).length)) {
|
|
34430
|
-
return;
|
|
34431
|
-
}
|
|
34432
|
-
|
|
34433
|
-
chartView.group.traverse(function (child) {
|
|
34434
|
-
if (child.ignore) {
|
|
34435
|
-
return true; // Stop traverse descendants.
|
|
34436
|
-
} // Only support label being hosted on graphic elements.
|
|
34437
|
-
|
|
34438
|
-
|
|
34439
|
-
var textEl = child.getTextContent();
|
|
34440
|
-
var ecData = getECData(child); // Can only attach the text on the element with dataIndex
|
|
34441
|
-
|
|
34442
|
-
if (textEl && !textEl.disableLabelLayout) {
|
|
34443
|
-
_this._addLabel(ecData.dataIndex, ecData.dataType, seriesModel, textEl, layoutOption);
|
|
34444
|
-
}
|
|
34445
|
-
});
|
|
34446
|
-
};
|
|
34447
|
-
|
|
34448
|
-
LabelManager.prototype.updateLayoutConfig = function (api) {
|
|
34449
|
-
var width = api.getWidth();
|
|
34450
|
-
var height = api.getHeight();
|
|
34451
|
-
|
|
34452
|
-
function createDragHandler(el, labelLineModel) {
|
|
34453
|
-
return function () {
|
|
34454
|
-
updateLabelLinePoints(el, labelLineModel);
|
|
34455
|
-
};
|
|
34456
|
-
}
|
|
34457
|
-
|
|
34458
|
-
for (var i = 0; i < this._labelList.length; i++) {
|
|
34459
|
-
var labelItem = this._labelList[i];
|
|
34460
|
-
var label = labelItem.label;
|
|
34461
|
-
var hostEl = label.__hostTarget;
|
|
34462
|
-
var defaultLabelAttr = labelItem.defaultAttr;
|
|
34463
|
-
var layoutOption = void 0; // TODO A global layout option?
|
|
34464
|
-
|
|
34465
|
-
if (isFunction(labelItem.layoutOption)) {
|
|
34466
|
-
layoutOption = labelItem.layoutOption(prepareLayoutCallbackParams(labelItem, hostEl));
|
|
34467
|
-
} else {
|
|
34468
|
-
layoutOption = labelItem.layoutOption;
|
|
34469
|
-
}
|
|
34470
|
-
|
|
34471
|
-
layoutOption = layoutOption || {};
|
|
34472
|
-
labelItem.computedLayoutOption = layoutOption;
|
|
34473
|
-
var degreeToRadian = Math.PI / 180; // TODO hostEl should always exists.
|
|
34474
|
-
// Or label should not have parent because the x, y is all in global space.
|
|
34475
|
-
|
|
34476
|
-
if (hostEl) {
|
|
34477
|
-
hostEl.setTextConfig({
|
|
34478
|
-
// Force to set local false.
|
|
34479
|
-
local: false,
|
|
34480
|
-
// Ignore position and rotation config on the host el if x or y is changed.
|
|
34481
|
-
position: layoutOption.x != null || layoutOption.y != null ? null : defaultLabelAttr.attachedPos,
|
|
34482
|
-
// Ignore rotation config on the host el if rotation is changed.
|
|
34483
|
-
rotation: layoutOption.rotate != null ? layoutOption.rotate * degreeToRadian : defaultLabelAttr.attachedRot,
|
|
34484
|
-
offset: [layoutOption.dx || 0, layoutOption.dy || 0]
|
|
34485
|
-
});
|
|
34486
|
-
}
|
|
34487
|
-
|
|
34488
|
-
var needsUpdateLabelLine = false;
|
|
34489
|
-
|
|
34490
|
-
if (layoutOption.x != null) {
|
|
34491
|
-
// TODO width of chart view.
|
|
34492
|
-
label.x = parsePercent(layoutOption.x, width);
|
|
34493
|
-
label.setStyle('x', 0); // Ignore movement in style. TODO: origin.
|
|
34494
|
-
|
|
34495
|
-
needsUpdateLabelLine = true;
|
|
34496
|
-
} else {
|
|
34497
|
-
label.x = defaultLabelAttr.x;
|
|
34498
|
-
label.setStyle('x', defaultLabelAttr.style.x);
|
|
34499
|
-
}
|
|
34500
|
-
|
|
34501
|
-
if (layoutOption.y != null) {
|
|
34502
|
-
// TODO height of chart view.
|
|
34503
|
-
label.y = parsePercent(layoutOption.y, height);
|
|
34504
|
-
label.setStyle('y', 0); // Ignore movement in style.
|
|
34505
|
-
|
|
34506
|
-
needsUpdateLabelLine = true;
|
|
34507
|
-
} else {
|
|
34508
|
-
label.y = defaultLabelAttr.y;
|
|
34509
|
-
label.setStyle('y', defaultLabelAttr.style.y);
|
|
34510
|
-
}
|
|
34511
|
-
|
|
34512
|
-
if (layoutOption.labelLinePoints) {
|
|
34513
|
-
var guideLine = hostEl.getTextGuideLine();
|
|
34514
|
-
|
|
34515
|
-
if (guideLine) {
|
|
34516
|
-
guideLine.setShape({
|
|
34517
|
-
points: layoutOption.labelLinePoints
|
|
34518
|
-
}); // Not update
|
|
34519
|
-
|
|
34520
|
-
needsUpdateLabelLine = false;
|
|
34521
|
-
}
|
|
34522
|
-
}
|
|
34523
|
-
|
|
34524
|
-
var labelLayoutStore = labelLayoutInnerStore(label);
|
|
34525
|
-
labelLayoutStore.needsUpdateLabelLine = needsUpdateLabelLine;
|
|
34526
|
-
label.rotation = layoutOption.rotate != null ? layoutOption.rotate * degreeToRadian : defaultLabelAttr.rotation;
|
|
34527
|
-
label.scaleX = defaultLabelAttr.scaleX;
|
|
34528
|
-
label.scaleY = defaultLabelAttr.scaleY;
|
|
34529
|
-
|
|
34530
|
-
for (var k = 0; k < LABEL_OPTION_TO_STYLE_KEYS.length; k++) {
|
|
34531
|
-
var key = LABEL_OPTION_TO_STYLE_KEYS[k];
|
|
34532
|
-
label.setStyle(key, layoutOption[key] != null ? layoutOption[key] : defaultLabelAttr.style[key]);
|
|
34533
|
-
}
|
|
34534
|
-
|
|
34535
|
-
if (layoutOption.draggable) {
|
|
34536
|
-
label.draggable = true;
|
|
34537
|
-
label.cursor = 'move';
|
|
34538
|
-
|
|
34539
|
-
if (hostEl) {
|
|
34540
|
-
var hostModel = labelItem.seriesModel;
|
|
34541
|
-
|
|
34542
|
-
if (labelItem.dataIndex != null) {
|
|
34543
|
-
var data = labelItem.seriesModel.getData(labelItem.dataType);
|
|
34544
|
-
hostModel = data.getItemModel(labelItem.dataIndex);
|
|
34545
|
-
}
|
|
34546
|
-
|
|
34547
|
-
label.on('drag', createDragHandler(hostEl, hostModel.getModel('labelLine')));
|
|
34548
|
-
}
|
|
34549
|
-
} else {
|
|
34550
|
-
// TODO Other drag functions?
|
|
34551
|
-
label.off('drag');
|
|
34552
|
-
label.cursor = defaultLabelAttr.cursor;
|
|
34553
|
-
}
|
|
34554
|
-
}
|
|
34555
|
-
};
|
|
34556
|
-
|
|
34557
|
-
LabelManager.prototype.layout = function (api) {
|
|
34558
|
-
var width = api.getWidth();
|
|
34559
|
-
var height = api.getHeight();
|
|
34560
|
-
var labelList = prepareLayoutList(this._labelList);
|
|
34561
|
-
var labelsNeedsAdjustOnX = filter(labelList, function (item) {
|
|
34562
|
-
return item.layoutOption.moveOverlap === 'shiftX';
|
|
34563
|
-
});
|
|
34564
|
-
var labelsNeedsAdjustOnY = filter(labelList, function (item) {
|
|
34565
|
-
return item.layoutOption.moveOverlap === 'shiftY';
|
|
34566
|
-
});
|
|
34567
|
-
shiftLayoutOnX(labelsNeedsAdjustOnX, 0, width);
|
|
34568
|
-
shiftLayoutOnY(labelsNeedsAdjustOnY, 0, height);
|
|
34569
|
-
var labelsNeedsHideOverlap = filter(labelList, function (item) {
|
|
34570
|
-
return item.layoutOption.hideOverlap;
|
|
34571
|
-
});
|
|
34572
|
-
hideOverlap(labelsNeedsHideOverlap);
|
|
34573
|
-
};
|
|
34574
|
-
/**
|
|
34575
|
-
* Process all labels. Not only labels with layoutOption.
|
|
34576
|
-
*/
|
|
34577
|
-
|
|
34578
|
-
|
|
34579
|
-
LabelManager.prototype.processLabelsOverall = function () {
|
|
34580
|
-
var _this = this;
|
|
34581
|
-
|
|
34582
|
-
each$3(this._chartViewList, function (chartView) {
|
|
34583
|
-
var seriesModel = chartView.__model;
|
|
34584
|
-
var ignoreLabelLineUpdate = chartView.ignoreLabelLineUpdate;
|
|
34585
|
-
var animationEnabled = seriesModel.isAnimationEnabled();
|
|
34586
|
-
chartView.group.traverse(function (child) {
|
|
34587
|
-
if (child.ignore && !child.forceLabelAnimation) {
|
|
34588
|
-
return true; // Stop traverse descendants.
|
|
34589
|
-
}
|
|
34590
|
-
|
|
34591
|
-
var needsUpdateLabelLine = !ignoreLabelLineUpdate;
|
|
34592
|
-
var label = child.getTextContent();
|
|
34593
|
-
|
|
34594
|
-
if (!needsUpdateLabelLine && label) {
|
|
34595
|
-
needsUpdateLabelLine = labelLayoutInnerStore(label).needsUpdateLabelLine;
|
|
34596
|
-
}
|
|
34597
|
-
|
|
34598
|
-
if (needsUpdateLabelLine) {
|
|
34599
|
-
_this._updateLabelLine(child, seriesModel);
|
|
34600
|
-
}
|
|
34601
|
-
|
|
34602
|
-
if (animationEnabled) {
|
|
34603
|
-
_this._animateLabels(child, seriesModel);
|
|
34604
|
-
}
|
|
34605
|
-
});
|
|
34606
|
-
});
|
|
34607
|
-
};
|
|
34608
|
-
|
|
34609
|
-
LabelManager.prototype._updateLabelLine = function (el, seriesModel) {
|
|
34610
|
-
// Only support label being hosted on graphic elements.
|
|
34611
|
-
var textEl = el.getTextContent(); // Update label line style.
|
|
34612
|
-
|
|
34613
|
-
var ecData = getECData(el);
|
|
34614
|
-
var dataIndex = ecData.dataIndex; // Only support labelLine on the labels represent data.
|
|
34615
|
-
|
|
34616
|
-
if (textEl && dataIndex != null) {
|
|
34617
|
-
var data = seriesModel.getData(ecData.dataType);
|
|
34618
|
-
var itemModel = data.getItemModel(dataIndex);
|
|
34619
|
-
var defaultStyle = {};
|
|
34620
|
-
var visualStyle = data.getItemVisual(dataIndex, 'style');
|
|
34621
|
-
var visualType = data.getVisual('drawType'); // Default to be same with main color
|
|
34622
|
-
|
|
34623
|
-
defaultStyle.stroke = visualStyle[visualType];
|
|
34624
|
-
var labelLineModel = itemModel.getModel('labelLine');
|
|
34625
|
-
setLabelLineStyle(el, getLabelLineStatesModels(itemModel), defaultStyle);
|
|
34626
|
-
updateLabelLinePoints(el, labelLineModel);
|
|
34627
|
-
}
|
|
34628
|
-
};
|
|
34629
|
-
|
|
34630
|
-
LabelManager.prototype._animateLabels = function (el, seriesModel) {
|
|
34631
|
-
var textEl = el.getTextContent();
|
|
34632
|
-
var guideLine = el.getTextGuideLine(); // Animate
|
|
34633
|
-
|
|
34634
|
-
if (textEl // `forceLabelAnimation` has the highest priority
|
|
34635
|
-
&& (el.forceLabelAnimation || !textEl.ignore && !textEl.invisible && !el.disableLabelAnimation && !isElementRemoved(el))) {
|
|
34636
|
-
var layoutStore = labelLayoutInnerStore(textEl);
|
|
34637
|
-
var oldLayout = layoutStore.oldLayout;
|
|
34638
|
-
var ecData = getECData(el);
|
|
34639
|
-
var dataIndex = ecData.dataIndex;
|
|
34640
|
-
var newProps = {
|
|
34641
|
-
x: textEl.x,
|
|
34642
|
-
y: textEl.y,
|
|
34643
|
-
rotation: textEl.rotation
|
|
34644
|
-
};
|
|
34645
|
-
var data = seriesModel.getData(ecData.dataType);
|
|
34646
|
-
|
|
34647
|
-
if (!oldLayout) {
|
|
34648
|
-
textEl.attr(newProps); // Disable fade in animation if value animation is enabled.
|
|
34649
|
-
|
|
34650
|
-
if (!labelInner(textEl).valueAnimation) {
|
|
34651
|
-
var oldOpacity = retrieve2(textEl.style.opacity, 1); // Fade in animation
|
|
34652
|
-
|
|
34653
|
-
textEl.style.opacity = 0;
|
|
34654
|
-
initProps(textEl, {
|
|
34655
|
-
style: {
|
|
34656
|
-
opacity: oldOpacity
|
|
34657
|
-
}
|
|
34658
|
-
}, seriesModel, dataIndex);
|
|
34659
|
-
}
|
|
34660
|
-
} else {
|
|
34661
|
-
textEl.attr(oldLayout); // Make sure the animation from is in the right status.
|
|
34662
|
-
|
|
34663
|
-
var prevStates = el.prevStates;
|
|
34664
|
-
|
|
34665
|
-
if (prevStates) {
|
|
34666
|
-
if (indexOf(prevStates, 'select') >= 0) {
|
|
34667
|
-
textEl.attr(layoutStore.oldLayoutSelect);
|
|
34668
|
-
}
|
|
34669
|
-
|
|
34670
|
-
if (indexOf(prevStates, 'emphasis') >= 0) {
|
|
34671
|
-
textEl.attr(layoutStore.oldLayoutEmphasis);
|
|
34672
|
-
}
|
|
34673
|
-
}
|
|
34674
|
-
|
|
34675
|
-
updateProps$1(textEl, newProps, seriesModel, dataIndex);
|
|
34676
|
-
}
|
|
34677
|
-
|
|
34678
|
-
layoutStore.oldLayout = newProps;
|
|
34679
|
-
|
|
34680
|
-
if (textEl.states.select) {
|
|
34681
|
-
var layoutSelect = layoutStore.oldLayoutSelect = {};
|
|
34682
|
-
extendWithKeys(layoutSelect, newProps, LABEL_LAYOUT_PROPS);
|
|
34683
|
-
extendWithKeys(layoutSelect, textEl.states.select, LABEL_LAYOUT_PROPS);
|
|
34684
|
-
}
|
|
34685
|
-
|
|
34686
|
-
if (textEl.states.emphasis) {
|
|
34687
|
-
var layoutEmphasis = layoutStore.oldLayoutEmphasis = {};
|
|
34688
|
-
extendWithKeys(layoutEmphasis, newProps, LABEL_LAYOUT_PROPS);
|
|
34689
|
-
extendWithKeys(layoutEmphasis, textEl.states.emphasis, LABEL_LAYOUT_PROPS);
|
|
34690
|
-
}
|
|
34691
|
-
|
|
34692
|
-
animateLabelValue(textEl, dataIndex, data, seriesModel, seriesModel);
|
|
34693
|
-
}
|
|
34694
|
-
|
|
34695
|
-
if (guideLine && !guideLine.ignore && !guideLine.invisible) {
|
|
34696
|
-
var layoutStore = labelLineAnimationStore(guideLine);
|
|
34697
|
-
var oldLayout = layoutStore.oldLayout;
|
|
34698
|
-
var newLayout = {
|
|
34699
|
-
points: guideLine.shape.points
|
|
34700
|
-
};
|
|
34701
|
-
|
|
34702
|
-
if (!oldLayout) {
|
|
34703
|
-
guideLine.setShape(newLayout);
|
|
34704
|
-
guideLine.style.strokePercent = 0;
|
|
34705
|
-
initProps(guideLine, {
|
|
34706
|
-
style: {
|
|
34707
|
-
strokePercent: 1
|
|
34708
|
-
}
|
|
34709
|
-
}, seriesModel);
|
|
34710
|
-
} else {
|
|
34711
|
-
guideLine.attr({
|
|
34712
|
-
shape: oldLayout
|
|
34713
|
-
});
|
|
34714
|
-
updateProps$1(guideLine, {
|
|
34715
|
-
shape: newLayout
|
|
34716
|
-
}, seriesModel);
|
|
34717
|
-
}
|
|
34718
|
-
|
|
34719
|
-
layoutStore.oldLayout = newLayout;
|
|
34720
|
-
}
|
|
34721
|
-
};
|
|
34722
|
-
|
|
34723
|
-
return LabelManager;
|
|
34724
|
-
}();
|
|
34725
|
-
|
|
34726
|
-
var getLabelManager = makeInner();
|
|
34727
|
-
function installLabelLayout(registers) {
|
|
34728
|
-
registers.registerUpdateLifecycle('series:beforeupdate', function (ecModel, api, params) {
|
|
34729
|
-
// TODO api provide an namespace that can save stuff per instance
|
|
34730
|
-
var labelManager = getLabelManager(api).labelManager;
|
|
34731
|
-
|
|
34732
|
-
if (!labelManager) {
|
|
34733
|
-
labelManager = getLabelManager(api).labelManager = new LabelManager();
|
|
34734
|
-
}
|
|
34735
|
-
|
|
34736
|
-
labelManager.clearLabels();
|
|
34737
|
-
});
|
|
34738
|
-
registers.registerUpdateLifecycle('series:layoutlabels', function (ecModel, api, params) {
|
|
34739
|
-
var labelManager = getLabelManager(api).labelManager;
|
|
34740
|
-
params.updatedSeries.forEach(function (series) {
|
|
34741
|
-
labelManager.addLabelsOfSeries(api.getViewOfSeriesModel(series));
|
|
34742
|
-
});
|
|
34743
|
-
labelManager.updateLayoutConfig(api);
|
|
34744
|
-
labelManager.layout(api);
|
|
34745
|
-
labelManager.processLabelsOverall();
|
|
34746
|
-
});
|
|
34747
|
-
}
|
|
34748
|
-
|
|
34749
33814
|
/**
|
|
34750
33815
|
* Can only be called after coordinate system creation stage.
|
|
34751
33816
|
* (Can be called before coordinate system update stage).
|
|
@@ -38288,23 +37353,34 @@ exports.ChartView = ChartView;
|
|
|
38288
37353
|
exports.ComponentModel = ComponentModel;
|
|
38289
37354
|
exports.ComponentView = ComponentView;
|
|
38290
37355
|
exports.CoordinateSystemManager = CoordinateSystemManager;
|
|
37356
|
+
exports.DISPLAY_STATES = DISPLAY_STATES;
|
|
37357
|
+
exports.DataDiffer = DataDiffer;
|
|
37358
|
+
exports.Displayable = Displayable;
|
|
38291
37359
|
exports.Group = Group;
|
|
38292
37360
|
exports.IntervalScale = IntervalScale;
|
|
38293
37361
|
exports.Line = Line;
|
|
37362
|
+
exports.LinearGradient = LinearGradient;
|
|
38294
37363
|
exports.Model = Model;
|
|
38295
37364
|
exports.OrdinalMeta = OrdinalMeta;
|
|
38296
37365
|
exports.Path = Path;
|
|
37366
|
+
exports.PathProxy = PathProxy;
|
|
38297
37367
|
exports.Point = Point;
|
|
37368
|
+
exports.Polygon = Polygon;
|
|
38298
37369
|
exports.Polyline = Polyline;
|
|
38299
37370
|
exports.Rect = Rect;
|
|
37371
|
+
exports.SERIES_UNIVERSAL_TRANSITION_PROP = SERIES_UNIVERSAL_TRANSITION_PROP;
|
|
38300
37372
|
exports.SINGLE_REFERRING = SINGLE_REFERRING;
|
|
38301
37373
|
exports.SOURCE_FORMAT_ORIGINAL = SOURCE_FORMAT_ORIGINAL;
|
|
37374
|
+
exports.SPECIAL_STATES = SPECIAL_STATES;
|
|
38302
37375
|
exports.Sector = Sector;
|
|
38303
37376
|
exports.SeriesData = SeriesData;
|
|
38304
37377
|
exports.SeriesModel = SeriesModel;
|
|
38305
37378
|
exports.TooltipMarkupStyleCreator = TooltipMarkupStyleCreator;
|
|
37379
|
+
exports.Transformable = Transformable;
|
|
37380
|
+
exports.ZRImage = ZRImage;
|
|
38306
37381
|
exports.ZRText = ZRText;
|
|
38307
37382
|
exports.__extends = __extends$1;
|
|
37383
|
+
exports.animateLabelValue = animateLabelValue;
|
|
38308
37384
|
exports.applyTransform = applyTransform$1;
|
|
38309
37385
|
exports.bind = bind$1;
|
|
38310
37386
|
exports.box = box;
|
|
@@ -38312,24 +37388,33 @@ exports.buildTooltipMarkup = buildTooltipMarkup;
|
|
|
38312
37388
|
exports.calculateTextPosition = calculateTextPosition;
|
|
38313
37389
|
exports.clear = clear;
|
|
38314
37390
|
exports.clone = clone$2;
|
|
37391
|
+
exports.clonePath = clonePath;
|
|
38315
37392
|
exports.convertToColorString = convertToColorString;
|
|
37393
|
+
exports.createFloat32Array = createFloat32Array;
|
|
38316
37394
|
exports.createHashMap = createHashMap;
|
|
38317
37395
|
exports.createIcon = createIcon;
|
|
38318
37396
|
exports.createLegacyDataSelectAction = createLegacyDataSelectAction;
|
|
38319
37397
|
exports.createOrUpdate = createOrUpdate;
|
|
38320
37398
|
exports.createOrUpdatePatternFromDecal = createOrUpdatePatternFromDecal;
|
|
38321
37399
|
exports.createProgressiveLayout = createProgressiveLayout;
|
|
37400
|
+
exports.createRenderPlanner = createRenderPlanner;
|
|
38322
37401
|
exports.createScaleByModel = createScaleByModel;
|
|
38323
37402
|
exports.createSourceFromSeriesDataOption = createSourceFromSeriesDataOption;
|
|
38324
37403
|
exports.createSymbol = createSymbol;
|
|
38325
37404
|
exports.createTextStyle = createTextStyle;
|
|
38326
37405
|
exports.createTooltipMarkup = createTooltipMarkup;
|
|
37406
|
+
exports.cubicAt = cubicAt;
|
|
37407
|
+
exports.cubicProjectPoint = cubicProjectPoint;
|
|
37408
|
+
exports.cubicRootAt = cubicRootAt;
|
|
37409
|
+
exports.cubicSubdivide = cubicSubdivide;
|
|
38327
37410
|
exports.curry = curry;
|
|
38328
37411
|
exports.defaultEmphasis = defaultEmphasis;
|
|
38329
37412
|
exports.defaults = defaults;
|
|
37413
|
+
exports.dist = dist$1;
|
|
38330
37414
|
exports.each = each$3;
|
|
38331
37415
|
exports.enableDataStack = enableDataStack;
|
|
38332
37416
|
exports.enableHoverEmphasis = enableHoverEmphasis;
|
|
37417
|
+
exports.enterEmphasis = enterEmphasis;
|
|
38333
37418
|
exports.env = env;
|
|
38334
37419
|
exports.estimateLabelUnionRect = estimateLabelUnionRect;
|
|
38335
37420
|
exports.extend = extend;
|
|
@@ -38340,16 +37425,18 @@ exports.findEventDispatcher = findEventDispatcher;
|
|
|
38340
37425
|
exports.findPointFromSeries = findPointFromSeries;
|
|
38341
37426
|
exports.format = format;
|
|
38342
37427
|
exports.formatTpl = formatTpl;
|
|
37428
|
+
exports.fromPoints = fromPoints;
|
|
37429
|
+
exports.getAnimationConfig = getAnimationConfig;
|
|
38343
37430
|
exports.getAxisRawValue = getAxisRawValue;
|
|
38344
37431
|
exports.getBoundingRect = getBoundingRect;
|
|
38345
37432
|
exports.getDataDimensionsOnAxis = getDataDimensionsOnAxis;
|
|
38346
37433
|
exports.getDataItemValue = getDataItemValue;
|
|
38347
37434
|
exports.getDimensionTypeByAxis = getDimensionTypeByAxis;
|
|
38348
37435
|
exports.getECData = getECData;
|
|
38349
|
-
exports.getLabelLineStatesModels = getLabelLineStatesModels;
|
|
38350
37436
|
exports.getLabelStatesModels = getLabelStatesModels;
|
|
38351
37437
|
exports.getLayoutParams = getLayoutParams;
|
|
38352
37438
|
exports.getLayoutRect = getLayoutRect;
|
|
37439
|
+
exports.getOldStyle = getOldStyle;
|
|
38353
37440
|
exports.getOptionCategoryInterval = getOptionCategoryInterval;
|
|
38354
37441
|
exports.getPaddingFromTooltipModel = getPaddingFromTooltipModel;
|
|
38355
37442
|
exports.getPercentSeats = getPercentSeats;
|
|
@@ -38358,20 +37445,23 @@ exports.getScaleExtent = getScaleExtent;
|
|
|
38358
37445
|
exports.getTooltipRenderMode = getTooltipRenderMode;
|
|
38359
37446
|
exports.getValueLabel = getValueLabel;
|
|
38360
37447
|
exports.groupTransition = groupTransition;
|
|
37448
|
+
exports.hideOverlap = hideOverlap;
|
|
38361
37449
|
exports.ifAxisCrossZero = ifAxisCrossZero;
|
|
38362
37450
|
exports.increaseInterval = increaseInterval;
|
|
38363
37451
|
exports.indexOf = indexOf;
|
|
38364
37452
|
exports.inheritDefaultOption = inheritDefaultOption;
|
|
38365
37453
|
exports.init = init;
|
|
38366
37454
|
exports.initProps = initProps;
|
|
38367
|
-
exports.install = install$
|
|
38368
|
-
exports.install$1 = install
|
|
38369
|
-
exports.install$2 = install;
|
|
38370
|
-
exports.
|
|
37455
|
+
exports.install = install$1;
|
|
37456
|
+
exports.install$1 = install;
|
|
37457
|
+
exports.install$2 = install$2;
|
|
37458
|
+
exports.interpolateRawValues = interpolateRawValues;
|
|
38371
37459
|
exports.invert = invert;
|
|
38372
37460
|
exports.isArray = isArray;
|
|
38373
37461
|
exports.isCartesian2DSeries = isCartesian2DSeries;
|
|
37462
|
+
exports.isDimensionStacked = isDimensionStacked;
|
|
38374
37463
|
exports.isDom = isDom;
|
|
37464
|
+
exports.isElementRemoved = isElementRemoved;
|
|
38375
37465
|
exports.isFunction = isFunction;
|
|
38376
37466
|
exports.isIntervalOrLogScale = isIntervalOrLogScale;
|
|
38377
37467
|
exports.isNameSpecified = isNameSpecified;
|
|
@@ -38382,8 +37472,9 @@ exports.keys = keys;
|
|
|
38382
37472
|
exports.labelInner = labelInner;
|
|
38383
37473
|
exports.layout = layout;
|
|
38384
37474
|
exports.layout$1 = layout$1;
|
|
38385
|
-
exports.
|
|
38386
|
-
exports.
|
|
37475
|
+
exports.leaveEmphasis = leaveEmphasis;
|
|
37476
|
+
exports.lerp = lerp;
|
|
37477
|
+
exports.lerp$1 = lerp$1;
|
|
38387
37478
|
exports.linearMap = linearMap;
|
|
38388
37479
|
exports.makeInner = makeInner;
|
|
38389
37480
|
exports.makeLabelFormatter = makeLabelFormatter;
|
|
@@ -38397,25 +37488,34 @@ exports.niceScaleExtent = niceScaleExtent;
|
|
|
38397
37488
|
exports.noop = noop;
|
|
38398
37489
|
exports.normalizeCssArray = normalizeCssArray;
|
|
38399
37490
|
exports.normalizeEvent = normalizeEvent;
|
|
37491
|
+
exports.normalizeRadian = normalizeRadian;
|
|
37492
|
+
exports.normalizeSymbolOffset = normalizeSymbolOffset;
|
|
37493
|
+
exports.normalizeSymbolSize = normalizeSymbolSize;
|
|
37494
|
+
exports.normalizeToArray = normalizeToArray;
|
|
38400
37495
|
exports.normalizeTooltipFormatResult = normalizeTooltipFormatResult;
|
|
38401
37496
|
exports.parse = parse;
|
|
38402
37497
|
exports.parsePercent = parsePercent;
|
|
38403
37498
|
exports.parsePercent$1 = parsePercent$1;
|
|
38404
37499
|
exports.preParseFinder = preParseFinder;
|
|
37500
|
+
exports.prepareLayoutList = prepareLayoutList;
|
|
38405
37501
|
exports.prepareSeriesDataSchema = prepareSeriesDataSchema;
|
|
37502
|
+
exports.quadraticProjectPoint = quadraticProjectPoint;
|
|
37503
|
+
exports.queryDataIndex = queryDataIndex;
|
|
38406
37504
|
exports.queryReferringComponents = queryReferringComponents;
|
|
38407
37505
|
exports.register = register;
|
|
37506
|
+
exports.removeElement = removeElement;
|
|
38408
37507
|
exports.removeElementWithFadeOut = removeElementWithFadeOut;
|
|
38409
37508
|
exports.retrieve2 = retrieve2;
|
|
38410
37509
|
exports.retrieve3 = retrieve3;
|
|
38411
37510
|
exports.retrieveRawValue = retrieveRawValue;
|
|
38412
37511
|
exports.round = round$1;
|
|
38413
37512
|
exports.saveOldStyle = saveOldStyle;
|
|
38414
|
-
exports.setLabelLineStyle = setLabelLineStyle;
|
|
38415
37513
|
exports.setLabelStyle = setLabelStyle;
|
|
38416
37514
|
exports.setLabelValueAnimation = setLabelValueAnimation;
|
|
37515
|
+
exports.setStatesFlag = setStatesFlag;
|
|
38417
37516
|
exports.setStatesStylesFromModel = setStatesStylesFromModel;
|
|
38418
37517
|
exports.setTooltipConfig = setTooltipConfig;
|
|
37518
|
+
exports.shiftLayoutOnX = shiftLayoutOnX;
|
|
38419
37519
|
exports.shiftLayoutOnY = shiftLayoutOnY;
|
|
38420
37520
|
exports.shouldShowAllLabels = shouldShowAllLabels;
|
|
38421
37521
|
exports.stringify = stringify;
|