[GitHub] [incubator-echarts] 100pah commented on a change in pull request #12147: Fix: minOpen is true will drop a piece
100pah commented on a change in pull request #12147: Fix: minOpen is true will drop a piece URL: https://github.com/apache/incubator-echarts/pull/12147#discussion_r379893617 ## File path: src/component/visualMap/PiecewiseModel.js ## @@ -402,7 +402,7 @@ var resetMethods = { if (thisOption.minOpen) { pieceList.push({ -index: index++, +index: index, Review comment: Also consider (1) @pissang mentioned: when the split number is `5`, the final pieces should better be `5`. (2) The potential bug that the `piece.index` forget to change after `reformIntervals(pieceList)` called. I think the code to resolve this issue could be: ```js splitNumber: function () { var thisOption = this.option; var pieceList = this._pieceList; var precision = Math.min(thisOption.precision, 20); var dataExtent = this.getExtent(); var splitNumber = thisOption.splitNumber; splitNumber = Math.max(parseInt(splitNumber, 10), 1); thisOption.splitNumber = splitNumber; + var closedIntervalCount = splitNumber - (+thisOption.minOpen) - (+thisOption.maxOpen); - var splitStep = (dataExtent[1] - dataExtent[0]) / splitNumber; + var splitStep = (dataExtent[1] - dataExtent[0]) / closedIntervalCount; // Precision auto-adaption while (+splitStep.toFixed(precision) !== splitStep && precision < 5) { precision++; } thisOption.precision = precision; splitStep = +splitStep.toFixed(precision); - var index = 0; if (thisOption.minOpen) { pieceList.push({ - index++, interval: [-Infinity, dataExtent[0]], close: [0, 0] }); } for ( - var curr = dataExtent[0], len = index + splitNumber; - index < len; - curr += splitStep + var index = 0, curr = dataExtent[0]; + index < closedIntervalCount; + curr += splitStep, index++ ) { var max = index === splitNumber - 1 ? dataExtent[1] : (curr + splitStep); pieceList.push({ - index: index++, interval: [curr, max], close: [1, 1] }); } if (thisOption.maxOpen) { pieceList.push({ - index: index++, interval: [dataExtent[1], Infinity], close: [0, 0] }); } reformIntervals(pieceList); - zrUtil.each(pieceList, function (piece) { + zrUtil.each(pieceList, function (piece, index) { + piece.index = index; piece.text = this.formatValueText(piece.interval); }, this); }, ``` This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services - To unsubscribe, e-mail: commits-unsubscr...@echarts.apache.org For additional commands, e-mail: commits-h...@echarts.apache.org
[GitHub] [incubator-echarts] 100pah commented on a change in pull request #12147: Fix: minOpen is true will drop a piece
100pah commented on a change in pull request #12147: Fix: minOpen is true will drop a piece URL: https://github.com/apache/incubator-echarts/pull/12147#discussion_r379892312 ## File path: src/component/visualMap/PiecewiseModel.js ## @@ -402,7 +402,7 @@ var resetMethods = { if (thisOption.minOpen) { pieceList.push({ -index: index++, +index: index, Review comment: Only remove `++` is not correct. Because after `++` removed, the first piece and the second piece has the same `index`. That cause when click on the first piece, both the first piece and the second pieces are highlighted/downplayed. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services - To unsubscribe, e-mail: commits-unsubscr...@echarts.apache.org For additional commands, e-mail: commits-h...@echarts.apache.org
[GitHub] [incubator-echarts] 100pah commented on a change in pull request #12147: Fix: minOpen is true will drop a piece
100pah commented on a change in pull request #12147: Fix: minOpen is true will drop a piece URL: https://github.com/apache/incubator-echarts/pull/12147#discussion_r379893617 ## File path: src/component/visualMap/PiecewiseModel.js ## @@ -402,7 +402,7 @@ var resetMethods = { if (thisOption.minOpen) { pieceList.push({ -index: index++, +index: index, Review comment: Also consider (1) @pissang mentioned: when the split number is `5`, the final pieces should better be `5`. (2) The potential but that the `piece.index` forget to change after `reformIntervals(pieceList)` called. I think the code to solve this issue could be: ```js splitNumber: function () { var thisOption = this.option; var pieceList = this._pieceList; var precision = Math.min(thisOption.precision, 20); var dataExtent = this.getExtent(); var splitNumber = thisOption.splitNumber; splitNumber = Math.max(parseInt(splitNumber, 10), 1); thisOption.splitNumber = splitNumber; + var closedIntervalCount = splitNumber - (+thisOption.minOpen) - (+thisOption.maxOpen); - var splitStep = (dataExtent[1] - dataExtent[0]) / splitNumber; + var splitStep = (dataExtent[1] - dataExtent[0]) / closedIntervalCount; // Precision auto-adaption while (+splitStep.toFixed(precision) !== splitStep && precision < 5) { precision++; } thisOption.precision = precision; splitStep = +splitStep.toFixed(precision); - var index = 0; if (thisOption.minOpen) { pieceList.push({ - index++, interval: [-Infinity, dataExtent[0]], close: [0, 0] }); } for ( - var curr = dataExtent[0], len = index + splitNumber; - index < len; - curr += splitStep + var index = 0, curr = dataExtent[0]; + index < closedIntervalCount; + curr += splitStep, index++ ) { var max = index === splitNumber - 1 ? dataExtent[1] : (curr + splitStep); pieceList.push({ - index: index++, interval: [curr, max], close: [1, 1] }); } if (thisOption.maxOpen) { pieceList.push({ - index: index++, interval: [dataExtent[1], Infinity], close: [0, 0] }); } reformIntervals(pieceList); - zrUtil.each(pieceList, function (piece) { + zrUtil.each(pieceList, function (piece, index) { + piece.index = index; piece.text = this.formatValueText(piece.interval); }, this); }, ``` This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services - To unsubscribe, e-mail: commits-unsubscr...@echarts.apache.org For additional commands, e-mail: commits-h...@echarts.apache.org