Skip to content

Commit

Permalink
migrate the fix of #9657 (73af4bf)
Browse files Browse the repository at this point in the history
  • Loading branch information
100pah committed Jan 12, 2019
1 parent d3c5dfb commit 8dad11f
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 17 deletions.
33 changes: 19 additions & 14 deletions src/chart/pie/labelLayout.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ function adjustSingleSide(list, cx, cy, r, dir, viewWidth, viewHeight) {
return a.y - b.y;
});

// 压
function shiftDown(start, end, delta, dir) {
for (var j = start; j < end; j++) {
list[j].y += delta;
Expand All @@ -42,7 +41,6 @@ function adjustSingleSide(list, cx, cy, r, dir, viewWidth, viewHeight) {
shiftUp(end - 1, delta / 2);
}

// 弹
function shiftUp(end, delta) {
for (var j = end; j >= 0; j--) {
list[j].y -= delta;
Expand All @@ -56,18 +54,14 @@ function adjustSingleSide(list, cx, cy, r, dir, viewWidth, viewHeight) {

function changeX(list, isDownList, cx, cy, r, dir) {
var lastDeltaX = dir > 0
? isDownList // 右侧
? Number.MAX_VALUE //
: 0 //
: isDownList // 左侧
? Number.MAX_VALUE //
: 0; //
? isDownList // right-side
? Number.MAX_VALUE // down
: 0 // up
: isDownList // left-side
? Number.MAX_VALUE // down
: 0; // up

for (var i = 0, l = list.length; i < l; i++) {
// Not change x for center label
if (list[i].position === 'center') {
continue;
}
var deltaY = Math.abs(list[i].y - cy);
var length = list[i].len;
var length2 = list[i].len2;
Expand All @@ -78,11 +72,11 @@ function adjustSingleSide(list, cx, cy, r, dir, viewWidth, viewHeight) {
)
: Math.abs(list[i].x - cx);
if (isDownList && deltaX >= lastDeltaX) {
// 右下,左下
// right-down, left-down
deltaX = lastDeltaX - 10;
}
if (!isDownList && deltaX <= lastDeltaX) {
// 右上,左上
// right-up, left-up
deltaX = lastDeltaX + 10;
}

Expand Down Expand Up @@ -122,6 +116,9 @@ function avoidOverlap(labelLayoutList, cx, cy, r, viewWidth, viewHeight) {
var leftList = [];
var rightList = [];
for (var i = 0; i < labelLayoutList.length; i++) {
if (isPositionCenter(labelLayoutList[i])) {
continue;
}
if (labelLayoutList[i].x < cx) {
leftList.push(labelLayoutList[i]);
}
Expand All @@ -134,6 +131,9 @@ function avoidOverlap(labelLayoutList, cx, cy, r, viewWidth, viewHeight) {
adjustSingleSide(leftList, cx, cy, r, -1, viewWidth, viewHeight);

for (var i = 0; i < labelLayoutList.length; i++) {
if (isPositionCenter(labelLayoutList[i])) {
continue;
}
var linePoints = labelLayoutList[i].linePoints;
if (linePoints) {
var dist = linePoints[1][0] - linePoints[2][0];
Expand All @@ -149,6 +149,11 @@ function avoidOverlap(labelLayoutList, cx, cy, r, viewWidth, viewHeight) {
}
}

function isPositionCenter(layout) {
// Not change x for center label
return layout.position === 'center';
}

export default function (seriesModel, r, viewWidth, viewHeight) {
var data = seriesModel.getData();
var labelLayoutList = [];
Expand Down
4 changes: 1 addition & 3 deletions test/tmp-base.html
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,6 @@

<script>

var chart;
var myChart;
var option;

require([
Expand All @@ -55,7 +53,7 @@
// $.getJSON('./data/nutrients.json', function (data) {
// });

chart = myChart = testHelper.create(echarts, 'main0', {
var chart = testHelper.create(echarts, 'main0', {
option: option
});
});
Expand Down

0 comments on commit 8dad11f

Please sign in to comment.