Joint Versions Save

A proven SVG-based JavaScript diagramming library powering exceptional UIs

v3.7.3

11 months ago

CHANGELOG

  • demo.Isometric - add new demo as example of isometric projection (75a94c0e)
  • dia.Cell - add foregroundEmbeds option to toFront() and toBack() methods (ddc53455)
  • dia.Cell - fix the depth-first algorithm in getEmbeddedCells() method (e0e9144b)

v3.7.2

1 year ago

CHANGELOG

  • demo - add DWDM (Dense wavelength-division multiplexing) example
  • dia.Paper - allow immediate propagation on pointerup
  • dia.CellView - fix to checkMouseLeave working incorrectly when paper has autoFreeze=true
  • dia.CellView - fix to get correct ref node bounding box
  • dia.HighlighterView - prevent highlighter mounting to unmounted cell views

v3.7.1

1 year ago

CHANGELOG

  • bump jQuery to v3.6.4
  • demo.ROI - fix zooming in Safari (5f042a9b6636f5f17ca545182405eb2d7854ec2e)
  • dia.CellView - return correct target under the pointer for pointer events (5d8244e11e205e38fac3aa5223a018b16d012937)
  • dia.Cell - fix to prevent cell id undefined (83ac8509fb1750115bdbc4410dab518cc802c72f)
  • dia.attributes - prevent error when title is used on element with a text node (842748abd48e24edf58fd9fed98ca337134e2e71)

v3.7.0

1 year ago

CHANGELOG

  • demo.CustomEmbedding - add new demo to illustrate custom embedding functionality (3ac086725029fc865eaa2298df8ccc35aa8350dd)
  • demo.Flowchart - add new demo to illustrate rightAngle router and straight connector (9bc647047607bc9aafddc6c943abc07a435b10d9)
  • demo.ROI - add new demo to illustrate working with foreign objects (0edee6db2afd6916fe559db6e4593c738605fd8a)
  • demo.FTA - revamp demo to illustrate custom highlighter, straight connector, and alignment options of dia.Paper.transformToFitContent() (8e87f9b519d0403f9c7c09732c7d868eb6191fed)
  • dia.Paper - add overflow option (62110023020aca4e84ff33e0f40265acb4085dde)
  • dia.Paper - add transformToFitContent() method (6adcf54e65ead520db03c239085c0a93f1c649f9)
  • dia.Paper - change scaleContentToFit() into an alias of transformToFitContent() (6adcf54e65ead520db03c239085c0a93f1c649f9)
  • dia.Paper - add verticalAlign and horizontalAlign options to transformToFitContent() (6adcf54e65ead520db03c239085c0a93f1c649f9)
  • dia.Paper - add element:magnet:pointerdown, element:magnet:pointermove and element:magnet:pointerup events (0edee6db2afd6916fe559db6e4593c738605fd8a)
  • dia.Paper - improve event handling of form control elements inside <foreignObject> elements (0edee6db2afd6916fe559db6e4593c738605fd8a)
  • dia.Paper - add preventDefaultViewAction option (0edee6db2afd6916fe559db6e4593c738605fd8a)
  • dia.Paper - add drawGridSize option (169f26ad206327a60e1a1c76c29bc36fe93699b3)
  • dia.Paper - add autoFreeze option (ce1f70a825b860df57475df19c00c416586ae3ad)
  • dia.Paper - fix to trigger render callbacks and event when requireView() is called (cf3adde1e59c1330a0cc57df84a47dd4da776d45)
  • dia.Paper - fix to send mousewheel events when CTRL key is pressed while there are no paper:pinch subscribers (b3741ccf0f0018367c3b35c6d8ac320c4165ec76)
  • dia.Paper - fix to auto-rotate target markers as expected when using marker.markup (2d7cf263a61d60825e86003aa4c7e0ad993fd37c)
  • dia.Paper - fix event handlers to correctly receive dia.Event on touch screens (0edee6db2afd6916fe559db6e4593c738605fd8a)
  • dia.Paper - fix event handlers so that originalEvent always points to a native event (0edee6db2afd6916fe559db6e4593c738605fd8a)
  • dia.Paper - fix to trigger element:magnet:pointerclick when user clicks an invalid magnet (0edee6db2afd6916fe559db6e4593c738605fd8a)
  • dia.Paper - fix to hide tools and highlighters when associated cell view is detached (a29d6a697bb00ae5127c5e030a09afd515578634)
  • dia.Paper - fix to throw an error when unfreeze() is called on a paper which has been removed (7e7f0cf6402b175fe2ad2e194ddb9f9c4a688d84)
  • dia.ElementView - fix to correctly update port nodes with ref on size change (c954d5d99d4d151736afe28604b4e6eb787e958c)
  • dia.ElementView - fix to prevent double rendering of ports when CSS selectors are enabled (057598568a30ccd86fb556cb3923eaa53f7342e7)
  • dia.LinkView - enable link label dragging on touch screens in async mode (0edee6db2afd6916fe559db6e4593c738605fd8a)
  • dia.LinkView - fix to take defaultLabel.size into account for link label size calculations (bcb1ae3dc5475ed52cea239c796242c2edbcdeb2)
  • dia.LinkView - fix to remember initial cursor offset from label anchor coordinates when dragging (b8bb6c82deac59f7ce0e6bd8b695a8ff0b6601e5)
  • dia.LinkView - fix incorrect rotation of labels using keepGradient and absoluteOffset options (78b63fc9fd8a58082f79e9b7422812bc25c4ec80)
  • dia.LinkView - fix to prevent label jumping while being dragged along straight-line Curve links (f9dd510446b16c913c12222e53171d13b9655370)
  • dia.CellView - add preventDefaultInteraction() and isDefaultInteractionPrevented() methods (0edee6db2afd6916fe559db6e4593c738605fd8a)
  • dia.CellView - fix link update if connected element changes at the same time the connection is made (81698a1dc5ae3a44352eb91cc98e0548ed893f04)
  • dia.Element - add fitToChildren() and fitParent() methods (ff962c51716a20ca33ffecd4149b955605a6cee8)
  • dia.Element - change fitEmbeds() into an alias of fitToChildren() (ff962c51716a20ca33ffecd4149b955605a6cee8)
  • dia.Element - add expandOnly and shrinkOnly options to fitToChildren() and fitParent() (ff962c51716a20ca33ffecd4149b955605a6cee8)
  • dia.Cell - fix to always send propertyPath and propertyValue options when calling prop() (4f87599a2dd1552b11bc39112d83cc1c927f5c28)
  • dia.Cell - fix inconsistent merging behavior in prop() (7ed74df131e9f198df23d94e0a2a1db6079558ea)
  • dia.Cell - fix to preserve stacking of nested cells when toFront()/toBack() is called (64bc062552d3b06e61449f8309aeb682db0022a5)
  • linkTools.Anchor - fix to trigger mouseleave event after drag-and-drop interaction (68e05877f5b2bc8ded8d04d6c7082375b0be8627)
  • highlighters.mask - fix to prevent copying of class attribute to elements (02ac92c344e393e85775794a026e6e9dcff4209a)
  • layout.PortLabel - fix to center position of labels in outside/inside oriented layouts (93a1c2091ec80f3ea7f46fb41c1cde7c8e603620)
  • layout.PortLabel - fix to correctly set vertical position of text labels (7869174c007768d4a2d620b3379458587eb4dc06)
  • layout.PortLabel - fix to stop sending redundant information for manual layout (93a1c2091ec80f3ea7f46fb41c1cde7c8e603620)
  • connectionPoints.boundary - add option to disable automatic magnet lookup within elements (ec372eba2c55ddbf4871e4f48ab093b065769c95)
  • connectors.straight - add new connector, and deprecate normal and rounded connectors (2d776abff53771b6bac8ab2c9e37ab8aa1b7a2f3)
  • routers.rightAngle - add new router, and deprecate oneSide router (9bc647047607bc9aafddc6c943abc07a435b10d9)
  • dia.attributes - add props special attribute for setting various HTML form control properties (b9f45a771485a9d6f98455f1fbc883304706db7d)
  • dia.ports - fix to apply port layout transformations before ref nodes bbox measuring (c954d5d99d4d151736afe28604b4e6eb787e958c)
  • dia.ports - fix to apply port layout attributes to text element (7869174c007768d4a2d620b3379458587eb4dc06)
  • util - remove lodash util functions (7adc45e3619f40be0578c9ab4dbc64fa9db88d41)
  • util.breakText - support lineHeight in px units (ffdbd8b546ab9b8a869275d061ff70cce9672006)
  • util.normalizeEvent - fix to always return a dia.Event (0edee6db2afd6916fe559db6e4593c738605fd8a)
  • util.parseDOMJSON - add logic to process JSON with string array items as HTML text nodes (20c2d67664e9719f8eae369a0542ae5f15e81451)
  • util.svg - keep correct order of HTML text nodes when parsing <foreignObject> to JSON (20c2d67664e9719f8eae369a0542ae5f15e81451)
  • util.svg - fix to use lowercase for tagName of HTML elements when parsing <foreignObject> to JSON (f21577f369a72cc388cdf80a9e24f954a4d29ab7)
  • util.svg - fix textContent to contain HTML text nodes from all descendants when parsing <foreignObject> to JSON (f21577f369a72cc388cdf80a9e24f954a4d29ab7)
  • util.svg - fix to prevent setting empty textContent when parsing <foreignObject> to JSON (f21577f369a72cc388cdf80a9e24f954a4d29ab7)
  • Geometry - fix getSubdivisions() method for straight-line Curve objects (f9dd510446b16c913c12222e53171d13b9655370)

v3.6.5

1 year ago

CHANGELOG

  • dia.Paper - remove element unprefixed user-drag property (81deb108337c7d2f4228a4306693a178630dfddf)
  • linkTools.Anchor - fix area bounding box when the link is connected to a link (659ca7ce76e2603eeaccced7e57b8c2bbf4f2f46)

v3.6.4

1 year ago

CHANGELOG

  • dia.Paper - preserve contextmenu events hierarchy (f9093151981cae14604ed293784304faa17fd4be)
  • dia.Paper - fix element user-drag property (f9093151981cae14604ed293784304faa17fd4be)
  • Vectorizer - fix RegEx to avoid potential ReDoS attacks (f9093151981cae14604ed293784304faa17fd4be)
  • Geometry - fix RegEx to avoid potential ReDoS attacks (f9093151981cae14604ed293784304faa17fd4be)

v3.6.3

1 year ago

CHANGELOG

  • Vectorizer - remove deprecated hasFeature (a67df63b65176aca6865198348b78b8972492c3d)
  • dia.Cell - prevent exception when removeProp() called on non-existing top-level attribute (f983f8df9e3c5522f6fb3ca51e2a0a6048e498c4)
  • linkTools.Segments - fix non-orthogonal edge cases (c37bf38ccb31953b07640bc5061e3d9cafa674bd)
  • Vectorizer - fix removing & toggling multiple classes (85d1ab92e276ef265732a3f047c819317d6419a7)

v3.6.2

1 year ago

CHANGELOG

  • dia.Cell - fix isEmbeddedIn() with deep option set to false (efe142ff845ec7d89c77668c3ed5391846348a31)
  • util.svg - support embedded expressions (909c1f5233ff3378d9cf106264a198ef9806af2d)
  • util.svg - prevent className set to null (e0636edcc82a6f4db9b98261f87ac22097369db2)

v3.6.1

1 year ago

CHANGELOG

  • util.breakText - prevent infinite loop when using preserveSpaces (e14f1b62b1403ed635075ac7734a2fb8b4766207)
  • util.breakText - always account for height when using preserveSpaces (e14f1b62b1403ed635075ac7734a2fb8b4766207)

v3.6.0

1 year ago

CHANGELOG

  • replace phantomjs with puppeteer (a6739b5d96e1fac106788abe62b8a6a1935681cb)
  • demo.Sequence - add editing capabilities (5ac4a0665c2681e570562e368bc50a6a0ec41012)
  • demo.ELK - hide details when zoomed out (98e9c308cec7357e92d083c18b5d63a8e98f2a98)
  • dia.Paper - support pointerdblclick on touch devices (cd1d3e4889921bb1f32f633cd62bd583df073697)
  • dia.Paper - consistent firing of contextmenu event (af875a492a226a32643b9bd2c7460974f1709a64)
  • dia.Paper - fix memory leak (layers not being removed) (e325f6ec7576b8b4e808fcf6d37184348f8f4b85)
  • dia.Paper - 2-axis-scroll / pinch-to-zoom support (52bc786506d8dbc6bce77c408d3f3199b779288e)
  • dia.Paper - add snapLinksSelf option to snap arrowheads to the anchor and vertices (c394f8c028ae63cb599d7fdb8a9aed683d7864da)
  • dia.ElementView - findPortNode() search for all port nodes (299cfce235a656660833d693061df25702d068b0)
  • dia.ElementView - add portRoot and labelRoot selectors (299cfce235a656660833d693061df25702d068b0)
  • dia.ElementView - fix getNodeMatrix() and getNodeBBox() for elements with rotatable group (50619b2090406b4ed2756a35ae95fa4358f7a29a)
  • dia.CellView - passing cellView instance to attribute's set, qualify, position and offset methods (690be9469e8828df3cb2ff7a0744394961bece03)
  • dia.Cell - throw exception on embedding of an embedded cell (5137cbbd0769afbb884998660b058f9bdee182ed)
  • dia.HighlighterView - add removeAll() static method (95b31cc2186b9c4aec6aec5167c7d1c106703dc1)
  • dia.HighlighterView - add UPDATE_ATTRIBUTES property (84fdf77aab203022a087e24e889680bdef16a4b1)
  • elementTools - add scale option (8549a9609eb23d1e63bc1ac8bbb26e08b81cf399)
  • elementTools.HoverConnect - new connection tool displayed on mouseover (5ac4a0665c2681e570562e368bc50a6a0ec41012)
  • elementTools.Button - enable calc() expression for x and y (bff7079498d0c83e57bc177f0f21201108f43ce5)
  • linkTools - add scale option (8549a9609eb23d1e63bc1ac8bbb26e08b81cf399)
  • linkTools.HoverConnect - new connection tool displayed on mouseover (5ac4a0665c2681e570562e368bc50a6a0ec41012)
  • linkTools.Connect - fix touch support (eb4139f75cd452f944cf01ce9fd7c903fbba0a3e)
  • connectors.Curve - add rotate option (45d40b52f347a8546689ba6586d632774ed01aa5)
  • layout.Port - enable the use of the calc() expression for port positioning (199afac0382d3dfe4397cfe5e0e9f148dfca5e35)
  • highlighters.list - add a new highlighter to render a dynamic list of icons (84fdf77aab203022a087e24e889680bdef16a4b1)
  • highlighters.mask - fix rotation and position for nodes within rotatable group (393a92c661488e9f8d430fbc8a00af6b8349da99)
  • highlighters.stroke - fix rotation and position for nodes within rotatable group (393a92c661488e9f8d430fbc8a00af6b8349da99)
  • dia.attributes - calc() expression supports division (64ef08b91d41cf2fce76b1adf7d231a30101fe89)
  • dia.attributes - enable calc() expression for width and height for textWrap attribute (085efceef19dcb4b502104994be796aadc0f98df)
  • dia.attributes - fontSize and strokeWidth use calc() (d55793a837a5875a993744ee024b3f6ef591e7a8)
  • dia.attributes - prevent negative values for dimension attributes (0ee9de98673145822fa6dabe3e87b8b202ff525b)
  • dia.attributes - use cached segments subdivisions for calculating the connection stubs (57199edb8fb33fa335a1cf1d8aca60a2d9abe5ee)
  • mvc.Listener - add new class for attaching multiple event listeners on multiple objects. (0abfa1bbd6fe4ef5bafca1db42bd81d8c5d22aaa, 8e9f71418d54c1b8561bd3de68a7d4b1450d8b36)
  • util.svg - tagged SVG template (4e70b6f185917b0d597906b7f6578eb9de028f6e)
  • util.breakText - add preserveSpaces options (987d2aaca3420adbc15613bf2b90b7051dcbc5e5)
  • util.guid - can be called without an object argument (f22d7a3aca265209afe66cc38c54bcd12d96e43c)
  • util.getRectPoint - add utility to get a point on a rect from given keyword (1a77a9be5d7c602dcb074c16a1b42326f06d0a8c)
  • Vectorizer - text() reads empty line heights from annotations (fa0bd810e1687158a0d6449a5f529cf77d094945)