Skip to content

Releases: dmackdev/egui_json_tree

v0.13.0 - Auto reset expanded when `DefaultExpand` changes

22 Jul 09:31
Compare
Choose a tag to compare

What's Changed

  • Support automatic reset of expanded arrays/objects when DefaultExpand setting changes by @dmackdev in #47
  • Update editor demo by @dmackdev in #48

Full Changelog: v0.12.1...v0.13.0

🧳 Migration

By default, JsonTree now automatically resets expanded arrays and objects when the DefaultExpand setting changes between frames. You can safely remove any calls to JsonTreeResponse::reset_expanded that were done when the DefaultExpand setting changed.

If you wish to opt-out of this behaviour, you can disable it via JsonTree::auto_reset_expanded(false) when constructing the tree.

v0.12.1 - Fix `DefaultExpand::SearchResultsOrAll` empty string case

16 Jul 18:51
Compare
Choose a tag to compare

What's Changed

  • fix resetting expanded for DefaultExpand::SearchResultsOrAll("") by @dmackdev in #46

Full Changelog: v0.12.0...v0.12.1

v0.12.0 - Update to egui 0.32

12 Jul 16:10
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.11.0...v0.12.0

🧳 Migration

  • Update MSRV to 1.85.

v0.11.0 - Update to egui 0.31

10 Feb 18:38
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.10.0...v0.11.0

v0.10.0 - Text Wrapping Options

04 Jan 16:26
Compare
Choose a tag to compare

What's Changed

  • support truncation and wrapping options by @dmackdev in #39

Full Changelog: v0.9.0...v0.10.0

⭐ Added

  • Adds support for configuring wrapping options for primitive values rendered in the JsonTree. JsonTreeStyle can be configured with a new JsonTreeWrappingConfig to control the wrapping for primitive values in various scenarios and visual states. This can also be used to truncate long text within the visualisation.

See new "Wrapping" demo:
https://github.com/user-attachments/assets/72d48162-403e-468b-8146-e135ba0dc5c4

v0.9.0

17 Dec 14:26
c9d23b3
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.8.0...v0.9.0

⭐ Added

  • Exposes CollapsingState on property and expandable delimiter RenderContext structs so the render hook can mutate or inspect the expanded state of arrays/objects. See this in action in the JSON Editor UI demo - when new element is added to a collapsed array/object, it expands automatically.

v0.8.0

28 Oct 19:27
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.7.1...v0.8.0

🧳 Migration

  • Colour fields have been moved within JsonTreeStyle into a Option<JsonTreeVisuals> field.
  • abbreviate_root and toggle_buttons_state fields have been moved into JsonTreeStyle. There are no longer corresponding builder methods on JsonTree.
  • Set the JsonTreeStyle::visuals field to use a desired colour scheme. Otherwise a default dark or light theme will be used based on the egui::Visuals::dark_mode field.

⭐ Added

  • Builder methods to JsonTreeStyle for more fluent construction.

v0.7.1 - Toggle Button Customisation

06 Oct 12:49
Compare
Choose a tag to compare

What's Changed

New Feature: Toggle Button Customisation

Adds support to control visibility/interactivity of toggle buttons via 3 states: visible and enabled, visible and disabled, and hidden.

Configure the JsonTree via the new builder method toggle_buttons_state as follows:

JsonTree::new("id", &value)
    .toggle_buttons_state(ToggleButtonsState::VisibleDisabled)
    .show(ui);
Screen.Recording.2024-10-05.at.15.45.20.mov

Full Changelog: v0.7.0...v0.7.1

v0.7.0 - Update to `egui` 0.29

02 Oct 17:34
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.6.0...v0.7.0

v0.6.0 - New render hook for improved rendering customisation

07 Jul 16:04
Compare
Choose a tag to compare

✨ Highlights

  • New JsonTree::on_render and JsonTree::on_render_if hooks provide more granular rendering customisation of the tree via a user-defined closure. This also provides access to the actual JSON value involved in the render event, in its original type as passed to the JsonTree constructor.
  • Added new JSON Editor UI demo to exemplify JsonTree::on_render usage.
Screen.Recording.2024-06-22.at.19.43.19.mov

🧳 Migration

  • Update egui to 0.28.
  • Update MSRV to 1.76.
  • Replace JsonTree::response_callback with JsonTree::on_render. See Copy to Clipboard demo for updated code.

⭐ Added

  • Add JsonPointerSegment enum for array indices/object keys.
  • Add JsonPointer for JSON pointer utilities.