Releases: clientIO/joint
Releases · clientIO/joint
Release v2.1.0
CHANGELOG
- update Tutorials
- shapes.Standard - add new set of high-performance elements and links
- dia.LinkView - new flexible definitions based on geometric representation
- dia.LinkView - refactor event handlers
- dia.LinkView - introduce anchors, connectionPoints and connectionStrategy
- dia.LinkView - add getConnection(), getSerializedConnection(), getConnectionSubdivisions(), getPointAtRatio(), getTangentAtLength(), getTangentAtRatio() getClosestPoint() and getClosestPointLength()
- dia.LinkView - add getVertexIndex(), getLabelCoordinates()
- dia.Link - add vertex API
- dia.Link - add label API and allow define a default label
- dia.Link - add source(), target(), router(), connector()
- anchors - ready-to-use anchors (center, top, bottom, left, right, topLeft, topRight, bottomLeft, bottomRight, perpendicular, midSide)
- connectionPoints - ready-to-use connection points (anchor, bbox, rectangle, boundary),
- connectionStrategies - predefined connection strategies (defaulAnchor, pinAbsolute, pinRelative)
- dia.ElementView - allow element's rotation without rotatable group
- dia.ElementView - refactor event handlers
- dia.ElementView - apply vector-effect: non-scaling-stroke to nodes inside ths scalable group only
- dia.Element - add angle()
- dia.CellView - render markup from JSON (link, element, ports and labels)
- dia.Cell - avoid unnecessary z-index changes during toFront or toBack
- dia.ToolsView - set of tools for a link
- dia.ToolView - base class for a single link tool
- linkTools - ready-to-use tools (vertices, segments, anchor, arrowhead, boundary, remove button)
- dia.Paper - complete set of events
- dia.Paper - add allowLink option to revert/remove invalid links
- dia.Paper - add getContentArea()
- dia.Paper - findParentBy option can be defined as a function
- dia.Paper - consequitive pointerdown, pointermove and pointerup can share event data
- dia.Paper - fire pointerup event on touchcancel
- dia.Paper - improve preventing image dragging in FireFox
- dia.attributes - sourceMarker, targetMarker and vertextMarker receive default stroke, fill and opacity values from its context
- dia.attributes - add refRInscribed, refRCircumscribed, refD, refPoints, title, textVerticalAnchor attributes
- dia.attributes - add connection, atConnectionLength, atConnectionRatio
- routers.Manhattan - adaptive grid for pathfinding
- routers - supports anchors (don't necessary start and end in the center of the magnet)
- layout.DirectedGraph - prevent undesired input cells sorting
- Vectorizer - add toGeometryShape(), normalizePathData(), tagName() and id to prototype
- Vectorizer - add transformLine() and transformPolyline()
- Vectorizer - text() accepts textVerticalAnchor option
- Vectorizer - improve Kappa value
- Geometry - add Path and Curves
- Geometry - add Polyline bbox(), scale(), translate(), clone() and serialize()
- Geometry - implement intersections of line with various shapes
- Geometry - add Point lerp() for linear interpolation
- shapes.basic.TextBlock - sanitize text
- util - normalizeSides() validates input and accepts horizontal and vertical attributes
- util - add parseDOMJSON(), dataUriToBlob(), downloadBlob(), downloadDataUri() and isPercentage()
Release v2.0.1
CHANGELOG
- toggleFullscreen() - fix canceling fullscreen in an iframe
- dia.Link - fix default label font color (IE)
- dia.Cell - fix removeProp() on arrays
- dia.Graph - fromJSON() does not ignore dry option anymore
Release v2.0.0
CHANGELOG
- Typescript definitions refactored (breaking change of the release)
- JointJS now compatible with Lodash v4 (see
demo/lodash4
for instructions) - Geometry - add Polyline with pointAtLength(), length(), closestPointLength(), closestPoint() and convexHull()
- Geometry - add cross(), dot(), squaredDistance(), closestPoint(), closestPointNormalizedLength(), vector(), vectorAngle(), angleBetween() to Point
- Vectorizer - add children() and getBBox()
- Vectorizer - fix parseTransformString() and matrixToTransformString()
- Vectorizer - make the text
y
coordinate based on the first lineline-height
in text() - Vectorizer - add option to define the end-of-line character for text()
- layout.DirectedLayout - add ability to position labels
- layout.DirectedLayout - fix bug when the elements passed do not include their parents
- dia.Paper - add
clickThreshold
,moveThreshold
andpreventDefaultBlankAction
options - dia.Paper - add
cancelRenderViews()
for async mode - dia.CellView - do not reset node's transform attribute if no transform applied update()
- dia.Element - position() can be called with { deep: true } option to set position of the embeds
- dia.attributes -
text
attribute takesx
into account - dia.attributes - add
event
for easier events handling on CellViews andresetOffset
for paths to start at 0,0 - dia.LinkView - stop triggering link:connect/link:disconnnect when connection not allowed
- dia.LinkView - can
sendToken()
backwards - highlighters.Stroke - fix for magnets inside scalable group and with zero width or height
Release v1.1.0
CHANGELOG
- add TypeScript definitions
- update jQuery v3.1.1
- Geometry - improve Point/Rect prototype.round(precision) - fix coordinates being converted to a string after round() with a precision called, allow negative precision
- Geometry - add Rect inflate(), bottomLine(), topLine(), leftLine() and rightLine()
- Geometry - Point offset() and difference() accept both a point and x,y coordinates
- Geometry - add Line equals()
- Geometry - Line intersection() renamed to intersect() and calculates intersection points with another line or rectangle
- Vectorizer - stop accessing deprecated
nodeName
andnodeValue
attribute properties - Vectorizer - add prototype.contains() method
- Vectorizer - add matrixToTransformString() method as opposed to transformStringToMatrix()
- Vectorizer - add ensureId() method
- Vectorizer - add appendTo() method
- Vectorizer - V(node); does not set automatically id on the node anymore
- Vectorizer - text() with content doesn't set invalid display: null on node anymore
- Vectorizer - fix convertRectToPathData() for rounded rectangles
- dia.attributes - add namespace for defining custom attributes, allow camelCase attribute style
- dia.attributes - new attributes
sourceMarker
,targetMarker
,vertexMarker
,textWrap
,refRx
,refRy
,refCx
,refCy
,refX2
,refY2
- dia.attributes - improve
text
attribute performance on cellView update - dia.attributes - fix mixing various attributes (e.g.
transform
,refX
andrefDx
now add up) - dia.Paper - add defineGradient(), defineFilter(), defineMarker() and isDefined() methods
- dia.Paper - fix async rendering when cell was previously member of different graph.
- dia.Paper - improve grid precision, added new grid patterns, update drawGrid() options definition.
- dia.Paper -
blank:pointerup
event is fired only after a preceedingblank:pointerdown
event - dia.Paper - add paperToLocalPoint(), clientToLocalPoint(), pageToLocalPoint(), localToPaperPoint(), localToPagePoint() and localToClientPoint().
- dia.Paper - add paperToLocalRect(), clientToLocalRect(), pageToLocalRect(), localToPaperRect(), localToClientRect() and localToPageRect()
- dia.Paper - add clientOffset() and pageOffset()
- dia.Cell - make cell.attr() work as getter
- dia.Cell - prop(), removeProp() accept also path defined as an array
- dia.Element - add size(), getPortPositions() methods
- dia.Element - rotate() doesn't translate embeddeded cells anymore
- dia.Link - allow arbitrary shapes for labels
- dia.LinkView - fix link translating when embedded and has no marker
- dia.LinkView - set correct port and selector on the link
- mvc.View - prevent extend() from modifying prototype propertires
- ports events
ports:add
andports:remove
triggered when port is added to element/removed from element - utils - fix toggleFullScreen() in IE
- utils - breakText() takes the lineHeight style into account
- util - change cells() wrapper also accept a single cell
- highlighter.Stroke - allow multiple strokes to be applied to a single cellView magnet, prevent memory leaks
- connectors.jumpover - fix on graph
reset
Release v1.0.3
- make compatibility changes towards jQuery 3.1
- shapes.TextBlock - fix
SVGForeignObject
detection - dia.Graph - fix graph references stored on cells (when a cell added to another graph)
- layout.DirectedGraph - fix cell's graph references overriden by the layout
- Vectorizer - remove deprecated attributes'
nodeValue
andnodeName
calls
Release v1.0.2
- Vectorizer - fix
convertToPathData()
for polyline. - add yarn.lock
- improve documentation
Release v1.0.1
- All joint views now use the
joint-
class name prefix for their class names. - dia.Element - make it easy to add ports to an arbitrary element, introduced API for ports manipulation
- shapes.devs.Model - uses new port API internally. shapes.basic.PortsViewInterface, shapes.basic.PortsInterface are marked as
deprecated
- layout.Port - various layouts for positioning ports
- layout.PortLabel - various layouts for positioning labels relatively to ports
- joint.util.deepSupplement, joint.util.supplement, joint.util.mixin, joint.util.deepMixin marked as
deprecated
. Use lodash _.defaultsDeep, _.defaults, _.assign, _.mixin instead - layout.DirectedGraph - layout() returns a bbox
- dia.LinkView - unify
link:options
event signature with the rest of events (breaking change) - dia.LinkView - fix perpendicular links outside the paper area
- dia.ElementView - fix resizing without scalable group, re-render element when markup change
- dia.ElementView - improve x-alignment and y-alignment for text
- other bug fixes and improvements
Release v0.9.10
Release v0.9.9
JointJS
- Added
env
namespace withenv.test(name)
andenv.addTest(name, fn)
methods - Added
highlighters
namespace with two highlighters (stroke and opacity). Highlighting now done automatically when: embedding an element, connecting a link to a port or element. - dia.Paper:
- Added paper.drawGrid(opt) - draws grid lines on the paper's DOM element.
- Added paper.setGridSize(gridSize) - changes the grid size of the paper.
- Added paper.setInteractivity() for changing interactivity.
- Added blank:mousewheel and cell:mousewheel events to paper
- Added link:connect, link:disconnect paper events for easier link source/target change detection
- Changed the link tool event signature (e.g.
link:options
) to be the same as the rest of the cell events.
- dia.Cell:
- Added isElement() and isLink() methods
- dia.Element:
- Added scale() for transforming element by providing a scale ratio and origin.
- dia.Link:
- Added scale() for transforming link by providing a scale ratio and origin.
- dia.Graph:
- Added resize(), resizeCells() for a group resizing
- Added getCellsBBox() for getting a group bounding box
- Added removeCells()
- Can now use addCells(), removeCells(), and resetCells() with the same method signature. For example: addCells(cell, cell) addCells(cell, cell, opt) addCells([cell, cell]) addCells([cell, cell], opt) are all valid usage.
- layout.DirectedGraph:
- Added layout()
align
option for rank nodes alignment.
- Added layout()
Vectorizer
- Added transform() method to apply SVG matrix to SVG element
- Added empty(), before() method
- prepend() method now accepts single or multiple nodes
- createSVGTransform() now accepts optionally an SVG matrix
Geometry
- Added point.scale(), rect.scale() - scale point/rect with given origin.
- Added point.toJSON(), rect.toJSON() - converts point/rect into JSON object.
- Added leftMiddle(), rightMiddle(), topMiddle(), bottomMiddle() for finding middle points of rect sides.
- Added ellipse.fromRect(), rect.fromEllipse() for rect-ellipse interchangeability.
Release v0.9.6
CHANGELOG
- dia.Graph introduces new functions for traversing graphs:
dfs()
,bfs()
,search()
,isSuccessor()
,isPredecessor()
,getPredecessors()
,getSuccessors()
,isNeighbor()
,isSource()
,isSink()
,getSources()
,getSinks()
,getSubgraph()
,getFirstCell()
,getLastCell()
andgetCells()
- new functions for cloning cells
dia.Graph.cloneCells()
,dia.Graph.cloneSubgraph()
- dia.Element
resize()
function has been extended withdirection
option allowing for resizing to any side - new convenient methods for getting source/target elements added to dia.Link:
getSourceElement()
andgetTargetElement()
- dia.Paper has a new option
multiLinks
that when set tofalse
, prevents from creating multiple links between the same elements - dia.Paper has a new option function
guard
that allows for preventing the paper from handling UI events - dia.Paper
findViewsInArea()
has been extended withstrict
option that when set, returns only views that are contained within the area passed in the argument - Vectorizer adds a new method
transformPoint()
for a convenient way transform points via SVG transformation matrices - Geometry adds a new function
rect.union()
- another new utility function added:
joint.util.setAttributesBySelector()
for setting attributes on DOM elements referenced by a selector - dia.Element and dia.Link has a new function
getAncestors()
that returs an array of ancestor cells - dia.Link has a new method
hasLoop()
for checking whether the link is a loop-link - dia.LinkView enables for setting a custom markup for its secondary tools (enabled via the
doubleLinkTools
option) - dia.Graph
getNeighbors()
function extended withinbound
andoutbound
options - dia.Graph has a new
translate()
method for translating all elements in the graph - routers.manhattan introduces new options
startDirections
,endDirections
to control what direction a link can start/end andexcludeTypes
to ignore certain element types as obstacles - routers and connectors can now be defined directly on links as functions
- links are now much faster when used with manhattan router
- fixed a critical bug in upcoming Google Chrome which removed the native
getTransformToElement()
method on SVG elements - other bug fixes and improvements