Skip to main content

Home > @jsplumbtoolkit/core > MagnetizerOptions

MagnetizerOptions interface#


export interface MagnetizerOptions<T> 


constrain?MagnetizerConstrainFunction(Optional) Optional function used to constrain the movement of elements when the magnetizer is being applied. An example of this in use in the Toolkit is in the label spacer module, in which the magnetizer is used to ensure labels do not overlap, but their movement is limited to travel along the path inscribed by the connector to which they belong.
elements?Dictionary<T> | Array<T>(Optional) List of elements to magnetize. If not provided, the magnetizer's current element list is used.
exclude?FilterFunction<T>(Optional) Optional function used to determine which elements to completely exclude from the magnetizer - they are treated as if they do not exist, and other elements may end up positioned intersecting them.
filter?FilterFunction<T>(Optional) Optional function used to filter elements from being affected by the magnetizer. They are still taken into account when magnetizing the other elements, unless you set excludeFocus:true.
getContainerPosition?(c: any) => PointXY(Optional)
getId(el: T) => string
getPosition(el: T) => PointXY
getSize(el: T) => Size
padding?PointXY(Optional) Optional value for the padding to leave between elements. Defaults to 20 pixels in each axis.
setPosition(el: T, p: PointXY) => any