Skip to main content

DragGroupsPlugin

Provides the ability to assign elements to groups for dragging purposes: when a member of some group is dragged, the other elements of the group can be dragged along with it.

The core concept is of the "DragGroup", which is basically just a tag. Each member of a group can belong to the group in one of two roles:

  • active The element, when dragged, causes all of the other members of the group to be dragged too.
  • passive The element, when dragged, will not cause any of the other members of the group to be dragged. But when an active member of the group is dragged, passive elements are dragged at the same time.

When you configure this plugin you are required to provide an assignDragGroup function, whose signature is:

assignDragGroup:(v:Vertex) => DragGroupSpec

The return value DragGroupSpec may be either:

  • a string, in which case the element is added to the drag group with the given name in an active role
  • an object containing id and active which you can specify the active/passive role
  • null, in which case the element is not added to a drag group.

Extends​

Implements​

Methods​

$edgeRemoved()​

$edgeRemoved(edge): void

Invoked when an edge has been removed

Parameters​

edge​

Edge

Returns​

void

Implementation of​

BrowserUIPlugin.$edgeRemoved

Inherited from​

BaseBrowserUIPlugin.$edgeRemoved


$edgeRendered()​

$edgeRendered(p): void

Invoked when an edge has been initially rendered. Only fired once for each edge.

Parameters​

p​

ConnectionEstablishedParams

Returns​

void

Implementation of​

BrowserUIPlugin.$edgeRendered

Inherited from​

BaseBrowserUIPlugin.$edgeRendered


$edgeUpdated()​

$edgeUpdated(edge): void

Invoked when an edge has been updated

Parameters​

edge​

Edge

Returns​

void

Implementation of​

BrowserUIPlugin.$edgeUpdated

Inherited from​

BaseBrowserUIPlugin.$edgeUpdated


$groupCollapsed()​

$groupCollapsed(element): void

Empty implementation of $groupCollapsed

Parameters​

element​

ViewportGroupElement<BrowserElement>

Returns​

void

Implementation of​

BrowserUIPlugin.$groupCollapsed

Inherited from​

BaseBrowserUIPlugin.$groupCollapsed


$groupExpanded()​

$groupExpanded(element): void

Empty implementation of $groupExpanded.

Parameters​

element​

ViewportGroupElement<BrowserElement>

Returns​

void

Implementation of​

BrowserUIPlugin.$groupExpanded

Inherited from​

BaseBrowserUIPlugin.$groupExpanded


$groupMemberAdded()​

$groupMemberAdded(element): void

Empty implementation of $groupMemberAdded.

Parameters​

element​

ViewportElement<BrowserElement>

Returns​

void

Implementation of​

BrowserUIPlugin.$groupMemberAdded

Inherited from​

BaseBrowserUIPlugin.$groupMemberAdded


$groupMemberRemoved()​

$groupMemberRemoved(element): void

Empty implementation of $groupMemberRemoved.

Parameters​

element​

ViewportElement<BrowserElement>

Returns​

void

Implementation of​

BrowserUIPlugin.$groupMemberRemoved

Inherited from​

BaseBrowserUIPlugin.$groupMemberRemoved


$groupRemoved()​

$groupRemoved(element): void

Empty implementation of $groupRemoved.

Parameters​

element​

ViewportGroupElement<BrowserElement>

Returns​

void

Implementation of​

BrowserUIPlugin.$groupRemoved

Inherited from​

BaseBrowserUIPlugin.$groupRemoved


$groupResized()​

$groupResized(params): void

Empty implementation of $groupResized.

Parameters​

params​

GroupResizeResult<BrowserElement>

Returns​

void

Implementation of​

BrowserUIPlugin.$groupResized

Inherited from​

BaseBrowserUIPlugin.$groupResized


$nodeRemoved()​

$nodeRemoved(element): void

Empty implementation of $nodeRemoved.

Parameters​

element​

ViewportElement<BrowserElement>

Returns​

void

Implementation of​

BrowserUIPlugin.$nodeRemoved

Inherited from​

BaseBrowserUIPlugin.$nodeRemoved


$vertexRerendered()​

$vertexRerendered(p): void

Empty implementation of $vertexRerendered.

Parameters​

p​
el​

BrowserElement

id​

string

size​

Size

vertex​

Vertex

Returns​

void

Implementation of​

BrowserUIPlugin.$vertexRerendered

Inherited from​

BaseBrowserUIPlugin.$vertexRerendered


$vertexResized()​

$vertexResized(element, width, height): void

Empty implementation of $vertexResized

Parameters​

element​

ViewportElement<BrowserElement>

width​

number

height​

number

Returns​

void

Implementation of​

BrowserUIPlugin.$vertexResized

Inherited from​

BaseBrowserUIPlugin.$vertexResized


$vertexRotated()​

$vertexRotated(element, rotation): void

Empty implementation of $vertexRotated.

Parameters​

element​

ViewportElement<BrowserElement>

rotation​

number

Returns​

void

Implementation of​

BrowserUIPlugin.$vertexRotated

Inherited from​

BaseBrowserUIPlugin.$vertexRotated


$vertexSynced()​

$vertexSynced(element): void

Empty implementation of $vertexSynced

Parameters​

element​

ViewportElement<BrowserElement>

Returns​

void

Implementation of​

BrowserUIPlugin.$vertexSynced

Inherited from​

BaseBrowserUIPlugin.$vertexSynced


$vertexUpdated()​

$vertexUpdated(element, reason): void

Empty implementation of $vertexUpdated

Parameters​

element​

ViewportElement<BrowserElement>

reason​

VertexUpdatedReason

Returns​

void

Implementation of​

BrowserUIPlugin.$vertexUpdated

Inherited from​

BaseBrowserUIPlugin.$vertexUpdated


addToDragGroup()​

addToDragGroup(spec, ...objects): void

Adds the given objects to the given drag group.

Parameters​

spec​

DragGroupSpec

Spec for the drag group. If you supply a string, then all objects are added to the drag group with that name, and they are marked "active". If you supply an object in the form { id:string, active?:boolean } then all the objects are added to the drag group with the active state you provide.

objects​

...(string | Node | ObjectData | VisuallyJSDOMElement)[]

Objects to add.

Returns​

void


assignToDragGroup()​

assignToDragGroup(...objects): void

Runs each of the given objects through the code that automatically assigns them to a drag group.

Parameters​

objects​

...(string | Node | ObjectData | VisuallyJSDOMElement)[]

Returns​

void


removeFromDragGroup()​

removeFromDragGroup(...objects): void

Removes the given object(s) from any drag group they may belong to. You don't need to specify the name of the drag group since an object may belong to only one at a time.

Parameters​

objects​

...(string | Node | ObjectData | BrowserElement)[]

Returns​

void