Back to jointjs.com.
Jump to other additions.
CHANGELOG
-
Upgrade jQuery dependency (v3.7.1)
jQuery v3.7.0 adds several minor fixes.
jQuery v3.7.1 adds several minor fixes.
-
Add ImageProcessor Application
Wondering how to process images in a node-based manner? Use our image processing application that combines the best of JointJS+ and the open-source OpenCV library, and easily manipulate images with filters and transformation tools.
In the example below, you can see how images are loaded and processed using nodes, proving that creating large-scale workflows is possible with JointJS+. The default example lets you create a token for various TTRPG from several images.
-
Add Angular16 version of Chatbot Application
A version of the application built for Angular16 was added to the
apps/Chatbot
folder.
-
In Chatbot Application, ensure that components are destroyed properly
This fix resolves an issue where component Subscriptions were not cleared as expected when a component was destroyed.
-
Add Angular16 version of KitchenSink Application
A version of the application built for Angular16 was added to the
apps/KitchenSink
folder.
-
In OrgChart Application, change deprecated
rounded
connector tostraight
The
rounded
connector was deprecated in release 3.7.0. This change brings the OrgChart Application into alignment by switching to thestraight
connector.
-
Redesign Yamazumi3D Application
A new look of the application was released as part of our Demo Wednesday initiative. The redesigned application also comes with a new feature - a slider to interactively increase or decrease the duration of a task.
-
dia.CommandManager - prevent error on undo after
graph.resetCells()
Previously, when changes were stored in the history stack of the CommandManager, followed by resetting the Graph using the
resetCells()
method, then clicking the undo button in the Toolbar would cause an error. The issue was that CommandManager was trying to access Cells which were no longer present in the Graph.To prevent this issue, JointJS+ will now listen for the reset event on the Graph and reset the CommandManager as well.
-
format.Visio - fix opening documents with missing NURBS value
Some Visio clients may leave the NURBS formula cell value empty, which was previously causing an error in the JointJS+ Visio parser.
We updated the logic in this case so that the parser tries to get the formula from the formula cell as well. If that cannot be done either, then the parser concludes that the spline cannot be drawn, ignores it, records the issue into the debug log, and moves on.
-
ui.ContextToolbar - fix to prevent error on
remove()
insideall
andclose
eventsPreviously, the following two scenarios resulted in an error:
contextToolbar.on('all', () => contextToolbar.remove()); contextToolbar.on('close', () => contextToolbar.remove());
-
ui.FreeTransform - fix to let all drag & drop handlers share the event
data
objectIt was previously not possible to share the event
data
object between theresize:start
androtate:start
events and the rest of their respective interaction events.This means that it is now possible to share data like this:
freeTransform.on({ 'resize:start': (evt) => { evt.data.resizeTest = 1; }, 'resize': (evt) => { console.log(evt.data.resizeTest); // value from `resize:start` }, 'resize:stop': (_, evt) => { console.log(evt.data.resizeTest); // value from `resize:start` }, 'rotate:start': (evt) => { evt.data.rotateTest = 1; }, 'rotate': (evt) => { console.log(evt.data.rotateTest); // value from `rotate:start` }, 'rotate:stop': (_, evt) => { console.log(evt.data.rotateTest); // value from `rotate:start` }, });
-
ui.Halo - fix to make sure that the
action:link:add
event is triggered within the current batch commandPreviously, the logic inside any
action:link:add
handlers was triggered outside the link creation CommandManager batch operation. This caused unexpected additional entries to be added to the undo/redo stack.For example, the following example would previously create 2 entries in the CommandManager, while the expected amount is 0. The new version fixes the issue.
halo.on('action:link:add', function(link) { if (!link.get('source').id || !link.get('target').id) { link.remove(); } });
-
ui.Navigator - fix paper position for flexbox layouts
Fix Navigator’s paper position when the parent element of the Navigator uses the flexbox layout.
Before fix After fix
- ui.Navigator - fix to scroll to point when clicking outside the current view when
useContentBBox
is in use
- ui.PaperScroller - fix to keep the focus point in the middle of the viewport after the window size has changed
- ui.PaperScroller - fix to throw an error when
width
and/orheight
of provided Paper object is not a number
-
ui.Stencil - fix to let all drag & drop handlers share the event
data
objectIt was previously not possible to share the event
data
object between theelement:dragstart
event and the rest of the dragging events in the case that thestartDragging(el, evt)
function was called at a point in time where the passedevt
didn’t havedata
object initialized. (Note that not having thedata
object defined was rather unusual, though.)This means that it is now possible to share data like this:
stencil.on({ 'element:dragstart': (_, evt) => { evt.data.test = 1; }, 'element:drag': (_, evt) => { console.log(evt.data.test); // value from `element:dragstart` }, 'element:dragend': (_, evt) => { console.log(evt.data.test); // value from `element:dragstart` }, 'element:drop': (_, evt) => { console.log(evt.data.test); // value from `element:dragstart` } });
The workaround needed prior to this change is no longer necessary:
// WORKAROUND NOT NEEDED ANYMORE: evt.data = {}; stencil.startDragging(element, evt);
Other Additions
-
Update Vue tutorial to use
create-vue
command and Composition APIUpdate tutorial for VueTs integration with JointJS+ using
create-vue
command and Composition API (and Vite). This tutorial is referencing the main branch of Vue tutorial repository.