Skip to content

[Bug] openinula-vchart ignores data prop when spec is provided #4657

Description

@dajiaohuang

Version

@visactor/openinula-vchart on develop at 0750d74cd6ea734e66897876506c78ca12680676

Link to Minimal Reproduction

Render <VChart spec={stableSpec} data={firstData} />, then re-render it with the same spec object and a different data value.

Steps to Reproduce

  1. Create an OpenInula VChart with both the documented spec and data props.
  2. Keep spec unchanged.
  3. Replace data with a new dataset and re-render.

Current Behavior

BaseChart enters the hasSpec branch and compares only eventsBinded.current.spec with props.spec. Because the spec is unchanged, the effect returns without updating the chart. parseSpec also does not merge the separate data prop into spec, so the data prop is ignored on initial creation as well.

Expected Behavior

The OpenInula wrapper should honor its declared data prop with a supplied spec, both initially and on data-only updates.

Environment

  • OS: Windows 11
  • Node.js: 20.20.2 and 24.14.1
  • Package: @visactor/openinula-vchart

Any additional comments?

The React wrapper already implements the intended behavior: it merges data into a supplied spec and calls updateFullDataSync when only data changes. That support was added in commit d69cb49fb for #2443, but the equivalent logic is absent from the OpenInula wrapper. The OpenInula package currently has no focused tests for this lifecycle path, so a port should add coverage for both initial and data-only updates.

I searched open and closed issues and pull requests for OpenInula data updates, hasSpec, BaseChart, and updateFullDataSync; I reviewed #2443 and both wrappers' histories. #2443 is specifically about react-vchart and its fix did not update openinula-vchart. The repository has no Discussions, and I found no existing OpenInula report or fix.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions