Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(toolbox): use default boundaryGap when switching the line & bar series by the toolbox component #19509

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

zhaxnb
Copy link
Contributor

@zhaxnb zhaxnb commented Jan 15, 2024

…ng default boundaryGap configuration.

Brief Information

This pull request is in the type of:

  • bug fixing
  • new feature
  • others

What does this PR do?

Fixed using the toolbox to change line or bar charts but without using default boundaryGap configuration.

Fixed issues

Details

Before: What was the problem?

using the toolbox to change line or bar charts but without using default boundaryGap configuration.

After: How does it behave after the fixing?

start
image
before
image
after
image

change
image
image

official website demo
image
image

official demo
modify xAxis->boundaryGap: fasle to boundaryGap: true, click run then click switch to line chart.

Document Info

One of the following should be checked.

  • This PR doesn't relate to document changes
  • The document should be updated later
  • The document changes have been made in apache/echarts-doc#xxx

Misc

ZRender Changes

  • This PR depends on ZRender changes (ecomfe/zrender#xxx).

Related test cases or examples to use the new APIs

N.A.

Others

Merging options

  • Please squash the commits into a single one when merging.

Other information

Copy link

echarts-bot bot commented Jan 15, 2024

Thanks for your contribution!
The community will review it ASAP. In the meanwhile, please checkout the coding standard and Wiki about How to make a pull request.

@zhaxnb
Copy link
Contributor Author

zhaxnb commented Jan 15, 2024

last pr #19428 is broken. this is new.

@plainheart plainheart changed the title fix: fix using the toolbox to change line or bar charts but without u… fix(toolbox): use default boundaryGap when switching the line & bar series by the toolbox component Jan 15, 2024
@plainheart plainheart added this to the 5.5.0 milestone Jan 15, 2024
Copy link
Contributor

The changes brought by this PR can be previewed at: https://echarts.apache.org/examples/editor?version=PR-19509@89007be

@Ovilia Ovilia modified the milestones: 5.5.0, 5.5.1 Jan 18, 2024
@admsev
Copy link

admsev commented May 25, 2024

@gooroodev review

@gooroodev
Copy link

Summary of Changes

The pull request makes the following changes to the MagicType.ts file:

  1. Comment Update:

    • The comment // Modify boundaryGap is changed to // Modify series.
  2. Code Removal:

    • The line (newOption[axisType] as any)[axisIndex].boundaryGap = type === 'bar'; is removed. This line was setting the boundaryGap property for the axis based on whether the series type is 'bar'.

Issues, Bugs, or Typos

  1. Comment Update:

    • The new comment // Modify series is somewhat vague. It could be more descriptive to clarify the specific modification being done.
  2. Potential Issue:

    • By removing the line that sets boundaryGap, the code now relies on the default boundaryGap behavior. Ensure that this change does not unintentionally affect any existing functionality or visual representation of the charts.

Proposed Improvements

  1. Improved Comment:
    • Update the comment to be more descriptive of the change being made. For example:
      // Modify series options and ensure default boundaryGap behavior

General Review of Code Quality and Style

  • Code Quality: The code is generally well-structured and easy to read. The use of zrUtil.defaults to merge options is a good practice to ensure default values are respected.
  • Style: The style follows typical TypeScript conventions, making use of type assertions like (newOption[axisType] as any) to handle dynamic properties.

Here is the revised diff with the proposed comment improvement:

diff --git a/src/component/toolbox/feature/MagicType.ts b/src/component/toolbox/feature/MagicType.ts
index e13d6db6cd..e9aec1fbfc 100644
--- a/src/component/toolbox/feature/MagicType.ts
+++ b/src/component/toolbox/feature/MagicType.ts
@@ -116,7 +116,7 @@ class MagicType extends ToolboxFeature<ToolboxMagicTypeFeatureOption> {
                 zrUtil.defaults(newSeriesOpt, seriesModel.option);
                 (newOption.series as SeriesOption[]).push(newSeriesOpt);
             }
-            // Modify boundaryGap
+            // Modify series options and ensure default boundaryGap behavior
             const coordSys = seriesModel.coordinateSystem;
             if (coordSys && coordSys.type === 'cartesian2d' && (type === 'line' || type === 'bar')) {
                 const categoryAxis = coordSys.getAxesByScale('ordinal')[0];
@@ -130,7 +130,6 @@ class MagicType extends ToolboxFeature<ToolboxMagicTypeFeatureOption> {
                     for (let i = 0; i <= axisIndex; i++) {
                         (newOption[axisType] as any)[axisIndex] = (newOption[axisType] as any)[axisIndex] || {};
                     }
-                    (newOption[axisType] as any)[axisIndex].boundaryGap = type === 'bar';
                 }
             }
         };

With these changes, the code should be clearer and maintain the intended functionality.

Yours, Gooroo.dev. To receive reviews automatically, install Github App

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants