Options
All
  • Public
  • Public/Protected
  • All
Menu
example
mxClipboard.copy(graph);
mxClipboard.paste(graph2);

This copies the selection cells from the graph to the clipboard and pastes them into graph2.

For fine-grained control of the clipboard data the mxGraph.canExportCell and mxGraph.canImportCell functions can be overridden.

To restore previous parents for pasted cells, the implementation for copy and paste can be changed as follows.

example
mxClipboard.copy = function(graph, cells)
{
  cells = cells || graph.getSelectionCells();
  var result = graph.getExportableCells(cells);

  mxClipboard.parents = new Object();

  for (var i = 0; i < result.length; i++)
  {
    mxClipboard.parents[i] = graph.model.getParent(cells[i]);
  }

  mxClipboard.insertCount = 1;
  mxClipboard.setCells(graph.cloneCells(result));

  return result;
};

mxClipboard.paste = function(graph)
{
  if (!mxClipboard.isEmpty())
  {
    var cells = graph.getImportableCells(mxClipboard.getCells());
    var delta = mxClipboard.insertCount * mxClipboard.STEPSIZE;
    var parent = graph.getDefaultParent();

    graph.model.beginUpdate();
    try
    {
      for (var i = 0; i < cells.length; i++)
      {
        var tmp = (mxClipboard.parents != null && graph.model.contains(mxClipboard.parents[i])) ?
             mxClipboard.parents[i] : parent;
        cells[i] = graph.importCells([cells[i]], delta, delta, tmp)[0];
      }
    }
    finally
    {
      graph.model.endUpdate();
    }

    // Increments the counter and selects the inserted cells
    mxClipboard.insertCount++;
    graph.setSelectionCells(cells);
  }
};

Hierarchy

  • mxClipboard

Index

Constructors

constructor

Properties

Static STEPSIZE

STEPSIZE: number

Defines the step size to offset the cells after each paste operation. Default is 10.

Static cells

cells: mxCell[]

Holds the array of mxCell currently in the clipboard.

Static insertCount

insertCount: number

Counts the number of times the clipboard data has been inserted.

Methods

Static copy

  • Copies the given array of mxCell from the specified graph to cells. Returns the original array of cells that has been cloned. Descendants of cells in the array are ignored.

    Parameters

    Returns mxCell[]

Static cut

  • Cuts the given array of mxCell from the specified graph. If cells is null then the selection cells of the graph will be used. Returns the cells that have been cut from the graph.

    Parameters

    Returns mxCell[]

Static getCells

Static isEmpty

  • isEmpty(): boolean

Static paste

  • Pastes the cells into the specified graph restoring the relation to {@link parents}, if possible. If the parents are no longer in the graph or invisible then the cells are added to the graph's default or into the swimlane under the cell's new location if one exists. The cells are added to the graph using mxGraph.importCells and returned.

    Parameters

    Returns mxCell[]

Static removeCells

Static setCells

  • setCells(cells: mxCell[]): void

Generated using TypeDoc