1.0.0-beta.98
Highlights
Enhanced computation graph on the Discovery page:
Preview for image-like content strings in the struct view, with new Jora methods and assertions to work with such values:
New Jora methods for JSON, and first-class support for errors:
First-in-class diff view – text-diff:
All the changes
- Bumped jora to 1.0.0-beta.15
- Added
addQueryMethods()andaddQueryAssertions()methods for setup and prepare API - Deprecated
addQueryHelpers(), useaddQueryMethods()instead - Enhancements for value types:
- JSON:
- Added
jsonSafeParse()andjsonSafeStringify()utility functions, which behave likeJSON.parse()andJSON.stringify()but return an error instead of throwing an exception - Added experimental Jora query methods:
jsonParse(),jsonStringify(), andjsonInfo()(the latter based onstringifyInfo()fromjson-ext)
- Added
- Errors:
- Added
isError()utility function, serving as an alias forError.isError()with a fallback if unavailable - Added
errorJora assertion, based onisError(), enabling support forexpr is errorin queries - Added support for displaying error values (where
isError()returnstrue) instructview
- Added
- Images:
- Added utility functions:
isImageContent()returnstrueif value is image-like content strings, e.g. base64-encoded raw content (JPEG, PNG, SVG, GIF or ICO) or SVG-like string, which can be prefixed withimage/*ordata:image/*getImageContent()returns{ type, content }for image-like content strings, ornullisImageDataUri()returnstrueif value is a string starting withdata:image/*,getImageDataUri()produces an image data URI string from a image-like content strings if possible, or returnsundefinedotherwiseisImageSrc()returntrueif value is a path or an URL, including image data URIgetImageSrc()returns value itself if it's already an image-like src, or attempts produce a data URI from image-like content strings, or returnundefinedotherwise
- Added utility functions:
isImageContent()returnstrueif the value is an image-like content string, e.g. base64-encoded raw content (JPEG, PNG, SVG, GIF, ICO) or an SVG-like string, optionally prefixed withimage/*ordata:image/*getImageContent()returns{ type, content }for image-like content strings, ornullif not applicableisImageDataUri()returnstrueif the value is a string starting withdata:image/*,getImageDataUri()produces an image data URI string from image-like content strings if possible, or returnsundefinedotherwiseisImageSrc()returnstrueif the value is a path or URL, including an image data URIgetImageSrc()returns the value itself if it is already an image-like src, or attempts to produce a data URI from image-like content strings; returnsundefinedotherwise
- Added Jora query assertions based on utilities above:
imagecontent,imagedatauriandimagesrc, e.g.expr is imagedatauri - Added Jora query methods:
imagecontent(),imagedatauri()andimagesrc() - Changed
imageview:- When
srcis not explicitly specified in the config and the input data is a string, the data value is processed throughimagesrc()and used as thesrc - Config entries with a value of
undefinedare ignored
- When
- Added a default image-like content string detection annotation in the
structview: when a string value is identified as image-like content, a badgeimageis displayed before the string, showing an image preview on hover
- Added utility functions:
- JSON:
- Added
text-diffview - Added support for
diffsyntax insourceview - Added
hideOnTriggerClickoption for popup and tooltip views - Reworked the computation graph on the discovery page and related features:
- Enhanced the look and feel of the graph
- Improved layout handling for complex graphs
- Added labels to graph nodes, showing a fragment of the node's query or the content of a comment on the first line if it starts with
//! - Added a "new root query" button
- Removed the graph path query stack view above the query editor
- Changed the "clone" and "stash" current query actions to insert a new node immediately after the current node
- Fixed overriding of the parent node’s view config on graph node deletion
- Fixed premature cancellation of a computing node when switching the current node during path computation if the node is part of the new extended path
- Fixed "Copy page as JSON" action to include the graph
- Various minor improvements and fixes
- Changed
tableview to hide footer if no footer cells contain any content - Fixed
tableview footer rendering when cell rendering is disabled using thewhenoption - Fixed
tableview to render the footer after the body. Although this change does not affect the visual presentation, it ensures proper selection of table content - Fixed an exception in
sourceview whenprefixorpostfixis neitherundefinednor a string - Fixed
expandview to ensureexpandedproperty is boolean - Fixed tooltip display with delayed showing by preventing it from appearing if the trigger element has been removed from the document



