Skip to content

Releases: dmackdev/egui_json_tree

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.