Clipboard
Clipboard
implements the ability to copy and paste cells. It extends mvc.Collection.
Learn more about the Clipboard plugin.
constructorβ
constructor(opt?: Clipboard.Options);
The Clipboard
constructor accepts several parameters:
addCellOptionsβ
[optional] Options that will be passed to the graph.addCell()
method during paste operations (pasteCells()
, pasteCellsAtPoint()
).
deepβ
[optional] Set to true
if you want the clipboard to automatically add all cells embedded to the provided cells
when
copying or cutting. It defaults to false
.
linkβ
[optional] An object specifying attributes to be set on each copied link on every pasteCells()
or pasteCellsAtPoint()
call, e.g. { z: 1 }
.
originβ
[optional] The position in a cell's bbox which is used for determining the origin on every pasteCellsAtPoint()
call. It
is a string representing bbox positions (e.g. 'top-left'
, 'bottom'
etc.). It defaults to 'center'
.
removeCellOptionsβ
[optional] Options that will be passed to the cell.remove()
method during the cut operation.
translateβ
[optional] An object with dx
and dy
attributes which specify the increments that should be added to the x and y position of pasted elements on every pasteCells()
call. It defaults to { dx: 20, dy: 20 }
.
useLocalStorageβ
[optional] Set to false
if you don't want to use window.localStorage
for storing copied cells. It defaults to true
.
Methodsβ
clear()β
clipboard.clear(opt?: Clipboard.BaseOptions): void;
Clear all stored cells. Also clears window.localStorage
if useLocalStorage
is true
.
The opt
object allows you to override global options.
copyElements()β
clipboard.copyElements(
selection: mvc.Collection<dia.Cell> | Array<dia.Cell>,
graph: dia.Graph,
opt?: Clipboard.BaseOptions
): Array<dia.Cell>;
Store the elements from the selection
, plus all links which are connected by both source and target to these
elements.
The selection can either be an mvc.Collection
or an array of cells.
The opt
object allows you to override global options.
cutElements()β
clipboard.cutElements(
selection: mvc.Collection<dia.Cell> | Array<dia.Cell>,
graph: dia.Graph,
opt?: Clipboard.CutElementsOptions
): Array<dia.Cell>;
Similar to copyElements()
but it also removes all copied cells from the graph
.
isEmpty()β
clipboard.isEmpty(opt?: Clipboard.BaseOptions): boolean;
Return true
when no cells are stored on the Clipboard
instance. Also checks window.localStorage
if useLocalStorage
is true
, and returns true
only if no cells are stored there either.
Return false
otherwise.
pasteCells()β
clipboard.pasteCells(
graph: dia.Graph,
opt?: Clipboard.PasteCellsOptions
): Array<dia.Cell>;
Add copies of stored cells to the graph
. The method can be called multiple times, and it always
produces new copies.
The opt
object allows you to override the global options (e.g. translate
).
pasteCellsAtPoint()β
clipboard.pasteCellsAtPoint(
graph: dia.Graph,
point: dia.Point,
opt?: Clipboard.PasteCellsAtPointOptions
): Array<dia.Cell>;
Add copies of stored cells to the graph
at a specific point, specified as an object with x
and y
attributes. The method can be called multiple times, and it always
produces new copies.
The opt
object allows you to override the global options (e.g. origin
).
Typesβ
BaseOptionsβ
interface BaseOptions {
useLocalStorage?: boolean;
deep?: boolean;
[key: string]: any;
}
CutElementsOptionsβ
interface CutElementsOptions extends BaseOptions {
removeCellOptions?: dia.Cell.DisconnectableOptions;
}
Optionsβ
interface Options extends BaseOptions {
link?: { [key: string]: any };
origin?: dia.PositionName;
translate?: { dx: number, dy: number };
removeCellOptions?: dia.Cell.DisconnectableOptions;
addCellOptions?: dia.CollectionAddOptions;
}
PasteCellsOptionsβ
interface PasteCellsOptions extends BaseOptions {
translate?: { dx: number, dy: number };
link?: { [key: string]: any };
addCellOptions?: dia.CollectionAddOptions;
}
PasteCellsAtPointOptionsβ
interface PasteCellsAtPointOptions extends BaseOptions {
origin?: dia.PositionName;
link?: { [key: string]: any };
addCellOptions?: dia.CollectionAddOptions;
}