joint

A proven SVG-based JavaScript diagramming library powering exceptional UIs

MPL-2.0 License

Downloads
163.4K
Stars
4.7K
Committers
90

Bot releases are hidden (Show)

joint - Release v4.0.4 Latest Release

Published by kumilingus 5 months ago

CHANGELOG

@joint/core

  • update HTML demo in alignment with v4 (2f3282146344d5637f729dfde8385106bb4190a8)
  • dia.LinkView - fix missing arrowheads in Safari (66442ad55ea5b3a27509828f8e1204beec5d8f3c)
  • dia.attributes - fix to take the inline font attributes into account in textWrap(bccc2ef5605a1a090f7dda0f999ec1757b3ca173)
joint - Release v4.0.3

Published by zbynekstara 5 months ago

CHANGELOG

  • examples.libavoid - add new demo to illustrate using libavoid-js for orthogonal routing (8369b04d)

@joint/core

  • dia.Paper - fix to ensure grid pattern IDs are unique (68c5be48)
  • dia.ElementView - fix to support port IDs of number type (e842ea46)
  • linkTools.SourceArrowhead - fix to trigger pointerdown event when the user starts dragging an arrowhead (a383deef)
  • linkTools.TargetArrowhead - fix to trigger pointerdown event when the user starts dragging an arrowhead (a383deef)

@joint/layout-directed-graph

  • fix distributed package.json by resolving @joint/core workspace dependency
joint - Release v4.0.2

Published by zbynekstara 6 months ago

CHANGELOG

@joint/core

  • dia.Paper - fix to prevent leaks of pending animation frame requests on resetViews() (d300545)
  • routers.rightAngle - fix to improve generated route (a0e57de)
  • dia.attributes - fix text-wrap to take external CSS into account (920da5a)
  • Vectorizer - fix normalizePathData() to support zero-length arcto curves (62bfd32)
joint - Release v4.0.1

Published by kumilingus 9 months ago

CHANGELOG

@joint/core

  • add missing src/core.mjs to the dist folder.

@joint/layout-directed-graph

  • change the constraint on @joint/core dependency to allow patches only
joint - Release v4.0.0

Published by kumilingus 9 months ago

For a migration guide please visit the full changelog.

CHANGELOG

  • switch to a monorepo

@joint/core

  • rename package from jointjs to @joint/core
  • remove jQuery (15a73d146e4886bca1a07fd03772eda95e4f5b60, cc74f36922d8e07c06aec8fd695c77296aa17d4c, d0898c3e46184dbe5adc7184ee59c441e611c6d6, d0898c3e46184dbe5adc7184ee59c441e611c6d6, 229672e5b60f472994a1aa9c4d14dd2ac01525a0)
  • remove backbone (0fc2abf99d7681f3a813b85f73f54a019601f300, 415d84150b163d05e8f2c2c22bfb25307a817904, 8a3e1213239a5a012e79348e9de577ebea98e323, 0e6d4642b5dc862c680de817d5d49beaf9ef81a3)
  • remove lodash (ff5ae96729459765f5ed152a66ba627b80484cf1)
  • drop CSS (JointJS no longer distributed with CSS) (e4a86305e6a2ab573a68f28a7791d0305e5ea3b3)
  • !dia.Paper - change the default cell sorting to APPROX type (fa5b94aede61ea497be43262107b789d1c067f94)
  • !dia.Paper - remove deprecated perpendicularLinks option (8fbe4e0dd73c753a082411875905e78ec85544e4)
  • !dia.Paper - remove deprecated linkConnectionPoint option (f7bb456e5d93e0abb5d90b65ee4c7277a1cde7ba)
  • !dia.Paper - change the value of the defaultConnectionPoint option to boundary (df012f30640f3a43ac189637eb25c10f91f03050)
  • !dia.Paper - add SVG grid layer (1d392a15c8c7314422a565b9c948102c6f662e2f)
  • !dia.Paper - drop drawGrid() and clearGrid() methods (1d392a15c8c7314422a565b9c948102c6f662e2f)
  • dia.Paper - new transform event added (2a6e5a7161e3dd6cd610872761871554ec215758)
  • !dia.Paper - allow passing custom data along with transformation events (2a6e5a7161e3dd6cd610872761871554ec215758)
  • dia.Paper - allows passing custom data along with resize events (2a6e5a7161e3dd6cd610872761871554ec215758)
  • !dia.Paper - origin option removed (2a6e5a7161e3dd6cd610872761871554ec215758)
  • !dia.Paper - setOrigin method removed (2a6e5a7161e3dd6cd610872761871554ec215758)
  • !dia.Paper - scale() no longer accepts scaling origin (2a6e5a7161e3dd6cd610872761871554ec215758)
  • dia.Paper - add scaleUniformAtPoint() method (2a6e5a7161e3dd6cd610872761871554ec215758)
  • dia.Paper - fix paper:pinch dispatched event type (74b1ef7cfafc8d8c28517d791e6d9fa0012d05e5)
  • !dia.LinkView - remove support for legacy features (72b070ba3c809fa7ea6e89bf8c3be9a8a01acafc, 1f61873aa2336403e51f0cb8aa96851827ca5204)
  • !dia.CellView - early evaluation of calc attributes (da5000b7fcb722a4df61775e60b3c5f18fc3d9cf)
  • !dia.CellView - disable useCSSSelectors by default (910dfd97c196aa2c4ecf2cf49a506d1267c8a192)
  • !dia.Graph - throw exception when cell constructor not found (72ce83247ddc20da2320059b2b1cca09c0d6e5ff)
  • !dia.Link - replace legacy attributes in the default label definition (ae5b9cd1b2354c4ba7a1d1e786df110f1a2a3a07)
  • !dia.Link - become an abstract class (same as dia.Element) (72b070ba3c809fa7ea6e89bf8c3be9a8a01acafc)
  • !dia.Link - remove the deprecated smooth attribute (8558a53f5f38541337cf70c96bc410aa73474a4d)
  • !dia.Link - remove the deprecated manhattan attribute (8558a53f5f38541337cf70c96bc410aa73474a4d)
  • !dia.Cell - add mergeArrays options to constructor (e0cf97acf08f02b4950239987a31d51d2246c0ce)
  • !dia.Cell - remove the parent(id) setter (9fb496fab0ef49eee9a7c43b059acb188edd7ad6)
  • !shapes.standard - use calc expressions instead of legacy attributes (drop use of refWidth, refHeight, refX, refY, etc.) (d7f83b58643847e4f09923237d9fdd31fad9f6a7)
  • !shapes.basic - remove in favor of shapes.standard (29da5f0ba29f1264f5f4b94c804ba08f3522536b, bca68845e59ef013e6e401638f39d801ae16b798)
  • !shapes.devs - remove from package, define as custom shapes in demos (d7f83b58643847e4f09923237d9fdd31fad9f6a7)
  • !shapes.pn - remove from package, define as custom shapes in demos (29da5f0ba29f1264f5f4b94c804ba08f3522536b)
  • !shapes.uml - remove from package, define as custom shapes in demos (29da5f0ba29f1264f5f4b94c804ba08f3522536b)
  • !shapes.logic - remove from package, define as custom shapes in demos (29da5f0ba29f1264f5f4b94c804ba08f3522536b)
  • !shapes.org - remove from package, define as custom shapes in demos (29da5f0ba29f1264f5f4b94c804ba08f3522536b)
  • !shapes.chess - remove from package, define as custom shapes in demos (29da5f0ba29f1264f5f4b94c804ba08f3522536b)
  • !shapes.fsa - remove from package, define as custom shapes in demos (29da5f0ba29f1264f5f4b94c804ba08f3522536b)
  • !highlighters.opacity - add alphaValue option (80ab3ee6a653be81681c04368a465b5600ea56dc)
  • !highlighters.stroke - add nonScalingStroke option (5717ca9ae9170aec4c55841b3bbac75604acda0b)
  • !elementTools.Remove - change type to remove (d36e498262114674eb972f891a3730f393108671)
  • !linkTools.Remove - change type to remove (d36e498262114674eb972f891a3730f393108671)
  • linkTools.Vertices - fix to trigger link:mouseleave event when the user stops dragging a vertex (6b1b54fbb7567781feb6690b1d6e42c9f6cf0c20)
  • !attributes.filter - change the coordinate system of the filters from objectBoundingBox to userSpaceOnUse (b38fffbc98c294c19a703937bd7e61e78d14b864)
  • !util - remove deprecated shapePerimeterConnectionPoint (f7bb456e5d93e0abb5d90b65ee4c7277a1cde7ba)
  • !Vectorizer - enable camel case attribute support by default (5e743f31284afb2fa74d040fdbf3566cab37045d)
  • Vectorizer - make the attributeNames property public (5e743f31284afb2fa74d040fdbf3566cab37045d)

@joint/layout-directed-graph

  • move the DirectedGraph layout into separate package
  • upgrade dagre to version 1.0.4 (free from lodash dependency)
joint - Release v4.0.0-alpha.2

Published by zbynekstara 9 months ago

Release v4.0.0-alpha.2

joint - Release v4.0.0-alpha.1

Published by zbynekstara 9 months ago

joint - Release v3.7.7

Published by zbynekstara 12 months ago

CHANGELOG

  • dia.Paper - fix custom events on link label (8d3a09f4)
  • util.breakText - fix hyphenation regex to take international characters into account (c314a3d0)
joint - Release v3.7.6

Published by kumilingus 12 months ago

CHANGELOG

  • dia.Cell - make prop()'s internal set() call more efficient (4f8c058f6fbc51205fb8cd2d239ac042b6f5a8f6)
  • dia.LinkView - fix to prevent hidden doubleLinkTools to affect link bounding box (d9696c37ba2f2dfa5a031b1d7c7f2c1c56f25a50)
  • dia.attributes - fix to read all breakText options in textWrap attribute (dc9dc6f7bbf5284fe5971f2d2f18878274dbd320)
  • dia.attributes - fix ambiguous order of cache keys in text attribute (e0a5aacb09746dcf7f40982c2b4d1e7b1cac92a5)
  • connectors.Curve - fix wrong target tangent right direction (e291c175de58f9ca417d8f269496aedb8d53db4b)
  • linkTools.Segments - throw explicit error when incompatible router in use (f6ffb4b3e69c364acdffbae6fa536a8f2aa01d2b)
  • shapes.standard - fix cursor style on DoubleLink and ShadowLink (1a9ca06e1fa36dcd9574710797136aa5dc2078f9)
  • util.breakText - fix to use the defined separator to join words (dc9dc6f7bbf5284fe5971f2d2f18878274dbd320)
  • util.breakText - fix to allow empty string to be separator (dc9dc6f7bbf5284fe5971f2d2f18878274dbd320)
  • Geometry - prevent unnecessary object instantiation in Rect.prototype.containsPoint() (b8b8d9d38b405b1ce4b58b5441320799fd1f1f32)
  • Geometry - prevent rounding errors in simplify() of Polyline (70a8631f73df7ff3bc7e16cab6b4b9cb47f163ca)

Experimental

  • Vectorizer: add option to support camel case attributes (2c4804e80f58c3639012995ff73fa2072f7b8197)
  • routers.RightAngle: support user-defined vertices (7aca426c775217ed457d43fb569916b02c8d4037)
joint - Release 3.7.5

Published by zbynekstara about 1 year ago

CHANGELOG

  • layout.PortLabel - fix passing of label.position.args.attrs in inside, outside, radial layouts (2b826315)
  • connectors.Jumpover - fix to prevent stacked links from causing jumps (d8b2226f)
  • util.breakText - fix to prevent NO_SPACE characters from appearing in the result (690e84b2)
joint - Release 3.7.4

Published by zbynekstara over 1 year ago

CHANGELOG

  • dia.LinkView - fix element detection when using snapLinkSelf: true (8cfdea40)
joint - Release v3.7.3

Published by zbynekstara over 1 year 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)
joint - Release v3.7.2

Published by kumilingus over 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
joint - Release v3.7.1

Published by kumilingus over 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)
joint - Release v3.7.0

Published by zbynekstara over 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 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 to JSON (20c2d67664e9719f8eae369a0542ae5f15e81451)
  • util.svg - fix to use lowercase for tagName of HTML elements when parsing to JSON (f21577f369a72cc388cdf80a9e24f954a4d29ab7)
  • util.svg - fix textContent to contain HTML text nodes from all descendants when parsing to JSON (f21577f369a72cc388cdf80a9e24f954a4d29ab7)
  • util.svg - fix to prevent setting empty textContent when parsing to JSON (f21577f369a72cc388cdf80a9e24f954a4d29ab7)
  • Geometry - fix getSubdivisions() method for straight-line Curve objects (f9dd510446b16c913c12222e53171d13b9655370)
joint - Release v3.6.5

Published by zbynekstara almost 2 years 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)
joint - Release v3.6.4

Published by kumilingus almost 2 years 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)
joint - Release v3.6.3

Published by kumilingus almost 2 years 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)
joint - Release v3.6.2

Published by kumilingus almost 2 years 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)
joint - Release v3.6.1

Published by kumilingus about 2 years ago

CHANGELOG

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