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