Magnetizer
Offers a means to apply 'magnetization' to some list of elements, pushing them apart so that they do not overlap. For a given run of the magnetizer there is the concept of a "focus" rectangle. The center of this rectangle is the point from which magnetization occurs, with elements being pushed out radially from this point. There are a few different scenarios:
- execute magnetizer with a given origin, and affect all elements
- execute magnetizer on all elements, having first computed the center of them
- execute magnetizer using a specific element as the focus
Type Parameters
T
T extends HasId
Methods
executeAtCenter()
executeAtCenter(
options?):MagnetizeResult
Run the magnetizer using an origin computed to be the center of all elements.
Parameters
options?
Returns
executeAtPoint()
executeAtPoint(
origin,options?):MagnetizeResult
Run the magnetizer using the specified origin.
Parameters
origin
options?
Returns
executeWithFocus()
executeWithFocus(
focus,options?):MagnetizeResult
Run the magnetizer with the given element as its focus - the focus element will not be shifted.
Parameters
focus
string
options?
Returns
snapToGrid()
snapToGrid(
grid):MagnetizeResult
Snaps all elements to a grid. Returns a map of element IDs, representing all the elements that were moved.