Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: raylua2566/ECharts-Java
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: ECharts-Java/ECharts-Java
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 14 commits
  • 296 files changed
  • 7 contributors

Commits on Nov 4, 2024

  1. Update Author List and Add Github Star History Graph (ECharts-Java#88)

    * Update Author List
    
    Add collaborator @PeiyangYu into author list
    
    * Add Github Star History Graph to show more project metrics
    PeiyangYu authored Nov 4, 2024
    Configuration menu
    Copy the full SHA
    d10fefe View commit details
    Browse the repository at this point in the history

Commits on Nov 11, 2024

  1. [feat] Sort Data transform has been supported (ECharts-Java#72)

    * Update DataTransformConfigOption.java
    
    Add order
    
    * Update DataTransformConfig.java
    
    Add order
    xiaomaiyun authored Nov 11, 2024
    Configuration menu
    Copy the full SHA
    67cee73 View commit details
    Browse the repository at this point in the history
  2. Update Readme (ECharts-Java#89)

    * update readme
    
    * add reference to export images
    
    * add reference to export images
    
    * remove unnecessary file
    incandescentxxc authored Nov 11, 2024
    Configuration menu
    Copy the full SHA
    9d48d7d View commit details
    Browse the repository at this point in the history

Commits on Apr 22, 2025

  1. Support for Serializable-Interface (ECharts-Java#93)

    * Add Serializable to all classes
    
    * Add Serializable to generated classes
    
    * Add Serializable interface to manual created classes
    
    * Add @serial annotation
    
    * Remove @serial annotation
    
    ---------
    
    Co-authored-by: Markus Gettrup <[email protected]>
    guidecom-ze and mgegc authored Apr 22, 2025
    Configuration menu
    Copy the full SHA
    f89e623 View commit details
    Browse the repository at this point in the history

Commits on Apr 29, 2025

  1. Configuration menu
    Copy the full SHA
    a120985 View commit details
    Browse the repository at this point in the history

Commits on May 5, 2025

  1. Update config and correspondin class (ECharts-Java#96)

    * update config and corresponding source class
    
    * add class
    
    * add class
    incandescentxxc authored May 5, 2025
    Configuration menu
    Copy the full SHA
    a7c56ee View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e5145d1 View commit details
    Browse the repository at this point in the history
  3. Release 1.1.0 (ECharts-Java#97)

    * Release 1.1.0
    
    * Remove unnecessary plugins
    icepear-jzx authored May 5, 2025
    Configuration menu
    Copy the full SHA
    61c8230 View commit details
    Browse the repository at this point in the history

Commits on May 14, 2026

  1. Add Map chart support (closes ECharts-Java#100) (ECharts-Java#101)

    * Add Map chart support (closes ECharts-Java#100)
    
    Adds a Map chart series (type: "map") so users can render GEO/region maps
    such as the USA example without dropping down to a custom SeriesOption
    implementation. Mirrors the structure used by other charts (Funnel,
    Treemap, Heatmap): origin interfaces under origin/chart/map and Lombok
    data classes under charts/map, plus a MapChart wrapper extending
    Chart<MapChart, MapSeries>.
    
    The new public API:
    - MapChart, MapSeries, MapDataItem, MapEmphasis, MapItemStyle
    - MapSeriesOption, MapStateOption, MapEmphasisOption,
      MapDataItemOption, MapItemStyleOption (with map-specific areaColor)
    
    Covers: simple snapshot test, advanced USA-map snapshot reproducing the
    example from the issue, render-engine smoke test, and direct unit tests
    exercising every public setter (including roam/layoutSize overloads,
    boundingCoords, nameMap, projection, emphasis flags). 23 new tests, all
    passing.
    
    Co-Authored-By: Claude Opus 4.7 <[email protected]>
    
    * Drive Map chart code generation from JSON configs
    
    Adds scripts/config JSON definitions for the Map series following the
    established Funnel/Treemap/Heatmap pattern, so MapSeries, MapDataItem,
    MapEmphasis, MapItemStyle and the corresponding origin interfaces are
    produced by scripts/config-to-java.py rather than hand-written.
    
    Regenerated Java mirrors the previous hand-written files; only field
    order shifts to put inherited fields ahead of own fields, matching what
    the generator emits for every other chart.
    
    Co-Authored-By: Claude Opus 4.7 <[email protected]>
    
    ---------
    
    Co-authored-by: Claude Opus 4.7 <[email protected]>
    PeiyangYu and claude authored May 14, 2026
    Configuration menu
    Copy the full SHA
    ebcb0d0 View commit details
    Browse the repository at this point in the history
  2. Add EffectScatter chart support (ECharts-Java#102)

    * Add EffectScatter chart support
    
    Adds the effectScatter series (type: "effectScatter") — a scatter chart
    where each data point pulses with a configurable ripple animation. The
    canonical use case is highlighting hotspots on a map or any 2D plot.
    
    The new public API:
    - EffectScatter (top-level CartesianCoordChart wrapper)
    - EffectScatterSeries, EffectScatterDataItem, EffectScatterEmphasis
    - RippleEffect (period, scale, brushType, color, number)
    
    Mirrors the existing Scatter structure so all coordinate systems work
    (cartesian2d, polar, geo, calendar, single). Adds the effectScatter-
    specific fields on top: rippleEffect, showEffectOn ("render"|"emphasis"),
    effectType.
    
    Tests (22 new, all passing):
    - BasicEffectScatterTest (snapshot)
    - EffectScatterSeriesTest (18 unit tests covering every setter overload,
      ripple nesting, null-omission, axis indices, geo/polar coord systems)
    - RenderEffectScatterByChartTest (Engine smoke test)
    - EffectScatterDemo (writes /tmp/effect-scatter-demo.html for visual
      inspection — opt-in via mvn test -Dtest=EffectScatterDemo)
    
    Co-Authored-By: Claude Opus 4.7 <[email protected]>
    
    * Drive EffectScatter chart code generation from JSON configs
    
    Adds scripts/config JSON definitions for the EffectScatter series
    following the established pattern, so EffectScatterSeries, RippleEffect,
    EffectScatterDataItem, EffectScatterEmphasis and the corresponding
    origin interfaces are produced by scripts/config-to-java.py rather than
    hand-written. Regenerated output matches the previous hand-written code;
    only field/method order shifts to put inherited members ahead of own
    members, matching what the generator emits for every other chart.
    
    Co-Authored-By: Claude Opus 4.7 <[email protected]>
    
    ---------
    
    Co-authored-by: Claude Opus 4.7 <[email protected]>
    PeiyangYu and claude authored May 14, 2026
    Configuration menu
    Copy the full SHA
    b0c6c01 View commit details
    Browse the repository at this point in the history
  3. Add Lines chart support (ECharts-Java#103)

    * Add Lines chart support
    
    Adds the lines series (type: "lines") — draws lines/curves between
    coordinate pairs, the standard pick for flight paths, geo flows, and
    migration visualizations. Pairs naturally with the map and effectScatter
    series for animated map overlays.
    
    The new public API:
    - Lines (top-level wrapper, extends base Chart so xAxis/yAxis are not
      auto-emitted; users wire axes via Option for cartesian usage)
    - LinesSeries, LinesDataItem, LinesEmphasis, LinesEffect
    
    Key fields:
    - coords: Number[][] on each LinesDataItem (start/end or polyline points)
    - coordinateSystem: "geo" | "cartesian2d" | "polar"
    - polyline, large, largeThreshold
    - LinesEffect: show, period, delay, constantSpeed, symbol, symbolSize,
      color, trailLength, loop, roundTrip — drives the moving-symbol animation
    
    Tests (25 new, all passing):
    - BasicLinesTest (snapshot)
    - LinesSeriesTest (21 unit tests covering every setter overload, all
      three coordinate systems, effect nesting, lineStyle nesting, emphasis
      flags, the no-empty-axis-arrays invariant, null-omission)
    - RenderLinesByChartTest (Engine smoke test)
    - LinesDemo (writes /tmp/lines-demo.html — opt-in)
    
    Co-Authored-By: Claude Opus 4.7 <[email protected]>
    
    * Drive Lines chart code generation from JSON configs
    
    Adds scripts/config JSON definitions for the Lines series so
    LinesSeries, LinesEffect, LinesDataItem, LinesEmphasis and the
    corresponding origin interfaces are produced by
    scripts/config-to-java.py rather than hand-written. Field ordering on
    the class shifts to put inherited fields ahead of own fields, matching
    generator output across other charts. setSeriesLayoutBy collapses to a
    single String setter because LinesSeriesOption does not extend
    SeriesEncodeOptionMixin; no tests exercised the prior Object overload.
    
    Co-Authored-By: Claude Opus 4.7 <[email protected]>
    
    ---------
    
    Co-authored-by: Claude Opus 4.7 <[email protected]>
    PeiyangYu and claude authored May 14, 2026
    Configuration menu
    Copy the full SHA
    6662f86 View commit details
    Browse the repository at this point in the history
  4. Add PictorialBar chart support (ECharts-Java#104)

    * Add PictorialBar chart support
    
    Adds the pictorialBar series (type: "pictorialBar") — a bar chart that
    uses repeated symbols (pictograms) instead of solid rectangles. Standard
    choice for infographic-style dashboards (icon stacks, progress
    pictograms).
    
    The new public API:
    - PictorialBar (top-level CartesianCoordChart wrapper, mirrors Bar)
    - PictorialBarSeries, PictorialBarDataItem, PictorialBarEmphasis
    
    Reuses BarItemStyleOption / BarLabelOption / BarBackgroundStyleOption
    from the existing Bar package — pictorialBar shares those semantics.
    
    The pictogram-specific fields (with the standard Number/String overload
    pattern where applicable):
    - symbol (preset name or path://... SVG)
    - symbolSize, symbolPosition, symbolOffset, symbolRotate
    - symbolRepeat (Boolean | Number | String "fixed")
    - symbolRepeatDirection
    - symbolMargin, symbolClip, symbolBoundingData, symbolPatternSize
    - hoverAnimation
    All also available per-data-item to override series-level settings.
    
    Tests (26 new, all passing):
    - BasicPictorialBarTest (snapshot)
    - PictorialBarSeriesTest (22 unit tests covering every overload, all
      three symbolRepeat type variants, per-data-item overrides, bar-layout
      passthrough, item/label nesting, emphasis flags, null-omission)
    - RenderPictorialBarByChartTest (Engine smoke test)
    - PictorialBarDemo (writes /tmp/pictorial-bar-demo.html — opt-in)
    
    Co-Authored-By: Claude Opus 4.7 <[email protected]>
    
    * Drive PictorialBar chart code generation from JSON configs
    
    Adds scripts/config JSON definitions for the PictorialBar series so
    PictorialBarSeries, PictorialBarDataItem, PictorialBarEmphasis and the
    corresponding origin interfaces are produced by
    scripts/config-to-java.py rather than hand-written. Field/method
    ordering on the classes shifts to put inherited members ahead of own
    members, matching generator output across other charts.
    
    Co-Authored-By: Claude Opus 4.7 <[email protected]>
    
    ---------
    
    Co-authored-by: Claude Opus 4.7 <[email protected]>
    PeiyangYu and claude authored May 14, 2026
    Configuration menu
    Copy the full SHA
    6d1f636 View commit details
    Browse the repository at this point in the history
  5. Add JsFunction for tooltip/label formatter callbacks (closes ECharts-…

    …Java#86) (ECharts-Java#105)
    
    ECharts on the JS side accepts string templates ("{b}: {c}") *or* a
    function (params) => string for fields like tooltip.formatter,
    label.formatter, axisLabel.formatter, visualMap.formatter, etc. The
    string form already worked through the existing setFormatter(String)
    overloads; the function form was unreachable because Gson quoted any
    Object value as a JSON string.
    
    This adds a JsFunction value class plus a low-level Gson TypeAdapter
    that uses JsonWriter.jsonValue(String) to write the body straight
    into the output stream, unquoted. Result: when the option JSON is
    embedded into the rendered <script> tag (Engine uses Handlebars
    triple-braces), the function survives as a real JS callable.
    
    Usage — pass through any existing setFormatter(Object) overload:
    
        tooltip.setFormatter((Object) new JsFunction(
            "function (p) { return p.name + ': ' + p.value + ' (' + p.percent + '%)'; }"));
    
    The adapter is registered automatically inside EChartsSerializer's
    constructor — no new public surface beyond the JsFunction class itself.
    
    Tests (18 new, all passing):
    - JsFunctionTest covers the value class (equals/hashCode/null-rejection),
      unquoted-output invariant, multi-line bodies, HTML <tag> preservation
      (HTML escaping must stay disabled for raw JS), end-to-end through
      Tooltip on both Pie and Bar, sanity check that string formatters
      remain quoted, and the read direction (best-effort symmetric path)
    - JsFunctionTooltipDemo writes /tmp/js-function-tooltip-demo.html with
      a styled Pie chart whose tooltip uses the exact JS shape from the
      issue (params.marker / name / value / percent)
    
    Co-authored-by: Claude Opus 4.7 <[email protected]>
    PeiyangYu and claude authored May 14, 2026
    Configuration menu
    Copy the full SHA
    629ffea View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    02641dd View commit details
    Browse the repository at this point in the history
Loading