JointJS+ changelog v4.1.1
apps​
apps.BPMNPools - add phases import/export​
Previously, the export and import actions of the BPMNPools app ignored phases. We addressed this tech debt in the new version, which means that all exported diagrams exported from the app now look exactly the same when imported back into the app.
Details...
v4.1.0 | v4.1.1 | |
---|---|---|
Original | ![]() | ![]() |
Exported | ![]() | ![]() |
format​
Visio​
format.Visio - fix text annotations to use colorTrans
option in a Character
element​
Details...
The colorTrans
value is now correctly used to set the opacity (1 - colorTrans
) of text fragments created to represent Character
elements.
format.Visio - fix error when encountering a fld
element without content​
Details...
JointJS now uses ''
(empty string) as the default content of fld
elements.
format.Visio - fix to ignore unsupported image types​
JointJS now checks that the file type is one of the supported types (jpeg
, jpg
, png
, bmp
, gif
, tiff
, svg
, webp
, ico
) before trying to use the file as an image during import.
format.Visio - fix to show an error in the console in case of an empty ref XML file instead of throwing an exception​
Previously, the import was throwing an error in case of an empty ref XML file. Now, it logs a debug message in the browser console that the archive is wrong, but continues import as normal.
format.Visio - fix to export JointJS ports as Connection XML​
We now export ports in JointJS elements as Connection XML and then uses these Connections as source and target for links.
Details...
By default, the center of the port's bbox is set as the end point, but an exact point may be specified for created Visio Connections via the portConnectionPoint
callback:
portConnectionPoint: (port, elementView) => {
const portNode = elementView.findPortNode(port.id);
const portBBox = elementView.getNodeBBox(portNode);
let y: number;
switch (port.group) {
case 'bottom':
y = portBBox.height;
break;
case 'top':
default:
y = 0;
break;
}
return {
x: portBBox.width / 2,
y: y
}
},
ui​
Halo​
ui.Halo - fix to make sure the halo is updated after the cellView​
Previously, in the paper's async
mode, Halo updates were executed before the updates of the related cell view. This could result in the halo being positioned incorrectly (i.e. using the previous cell state).
PaperScroller​
ui.PaperScroller - fix rounding errors to prevent unnecessary scrollbars​
When calculating the required padding to position a paper inside a zoomed paperScroller, JointJS was previously working with rounded padding values. This could lead to a result that was 1px off the correct value (when rounding of the two padding values happened to align in one direction), and thus cause a scrollbar to be shown when it was not expected. Applying the rounding at the end of the calculation prevents the issue.
Selection​
ui.Selection - fix removeHandle()
method to apply to hidden handles​
Previously, if you tried to remove a handle while it was not visible, the handle was not removed. The method has now been fixed so that it removes hidden handles as well.
TextEditor​
ui.TextEditor - fix incorrect placeholder position​
Fixed incorrect background position when showing placeholder. Also fixed caret position when textAnchor: 'end'
, so that it matches the end of the placeholder.
layout​
DirectedGraph​
layout.DirectedGraph - fix to accept 0 value for nodesep
, edgesep
, ranksep
​
Previously, providing 0 as a value of nodesep
, edgesep
, ranksep
options of the layout()
was incorrectly interpreted the same as if no value was provided (and thus causing Dagre's default values to be applied). We now correctly check whether the provided value is a number, instead.
mvc​
Dom​
mvc.Dom - fix to use getComputedStyle()
for static position check​
Details...
We updated the position()
method to use window.getComputedStyle()
so that it accurately retrieves the position
property of the currently investigated parent element, in order to ensure proper handling of style inheritance and computed values.