This action will force synchronization from Jason/mxgraph, which will overwrite any changes that you have made since you forked the repository, and can not be recovered!!!
Synchronous operation will process in the background and will refresh the page when finishing processing. Please be patient.
<!--Copyright (c) 2006-2013, JGraph LtdToolbar example for mxGraph. This example demonstrates usingexisting cells as templates for creating new cells.--><html><head><title>Toolbar example for mxGraph</title><!-- Sets the basepath for the library if not in same directory --><script type="text/javascript">mxBasePath = '../src';</script><!-- Loads and initializes the library --><script type="text/javascript" src="../src/js/mxClient.js"></script><!-- Example code --><script type="text/javascript">// Program starts here. Creates a sample graph in the// DOM node with the specified ID. This function is invoked// from the onLoad event handler of the document (see below).function main(){// Defines an icon for creating new connections in the connection handler.// This will automatically disable the highlighting of the source vertex.mxConnectionHandler.prototype.connectImage = new mxImage('images/connector.gif', 16, 16);// Checks if browser is supportedif (!mxClient.isBrowserSupported()){// Displays an error message if the browser is// not supported.mxUtils.error('Browser is not supported!', 200, false);}else{// Creates the div for the toolbarvar tbContainer = document.createElement('div');tbContainer.style.position = 'absolute';tbContainer.style.overflow = 'hidden';tbContainer.style.padding = '2px';tbContainer.style.left = '0px';tbContainer.style.top = '26px';tbContainer.style.width = '24px';tbContainer.style.bottom = '0px';document.body.appendChild(tbContainer);// Creates new toolbar without event processingvar toolbar = new mxToolbar(tbContainer);toolbar.enabled = false// Creates the div for the graphcontainer = document.createElement('div');container.style.position = 'absolute';container.style.overflow = 'hidden';container.style.left = '24px';container.style.top = '26px';container.style.right = '0px';container.style.bottom = '0px';container.style.background = 'url("editors/images/grid.gif")';document.body.appendChild(container);// Workaround for Internet Explorer ignoring certain stylesif (mxClient.IS_QUIRKS){document.body.style.overflow = 'hidden';new mxDivResizer(tbContainer);new mxDivResizer(container);}// Creates the model and the graph inside the container// using the fastest rendering available on the browservar model = new mxGraphModel();var graph = new mxGraph(container, model);graph.dropEnabled = true;// Matches DnD inside the graphmxDragSource.prototype.getDropTarget = function(graph, x, y){var cell = graph.getCellAt(x, y);if (!graph.isValidDropTarget(cell)){cell = null;}return cell;};// Enables new connections in the graphgraph.setConnectable(true);graph.setMultigraph(false);// Stops editing on enter or escape keypressvar keyHandler = new mxKeyHandler(graph);var rubberband = new mxRubberband(graph);var addVertex = function(icon, w, h, style){var vertex = new mxCell(null, new mxGeometry(0, 0, w, h), style);vertex.setVertex(true);addToolbarItem(graph, toolbar, vertex, icon);};addVertex('editors/images/swimlane.gif', 120, 160, 'shape=swimlane;startSize=20;');addVertex('editors/images/rectangle.gif', 100, 40, '');addVertex('editors/images/rounded.gif', 100, 40, 'shape=rounded');addVertex('editors/images/ellipse.gif', 40, 40, 'shape=ellipse');addVertex('editors/images/rhombus.gif', 40, 40, 'shape=rhombus');addVertex('editors/images/triangle.gif', 40, 40, 'shape=triangle');addVertex('editors/images/cylinder.gif', 40, 40, 'shape=cylinder');addVertex('editors/images/actor.gif', 30, 40, 'shape=actor');toolbar.addLine();var button = mxUtils.button('Create toolbar entry from selection', function(evt){if (!graph.isSelectionEmpty()){// Creates a copy of the selection array to preserve its statevar cells = graph.getSelectionCells();var bounds = graph.getView().getBounds(cells);// Function that is executed when the image is dropped on// the graph. The cell argument points to the cell under// the mousepointer if there is one.var funct = function(graph, evt, cell){graph.stopEditing(false);var pt = graph.getPointForEvent(evt);var dx = pt.x - bounds.x;var dy = pt.y - bounds.y;graph.setSelectionCells(graph.importCells(cells, dx, dy, cell));}// Creates the image which is used as the drag icon (preview)var img = toolbar.addMode(null, 'editors/images/outline.gif', funct);mxUtils.makeDraggable(img, graph, funct);}});button.style.position = 'absolute';button.style.left = '2px';button.style.top = '2px';document.body.appendChild(button);}}function addToolbarItem(graph, toolbar, prototype, image){// Function that is executed when the image is dropped on// the graph. The cell argument points to the cell under// the mousepointer if there is one.var funct = function(graph, evt, cell){graph.stopEditing(false);var pt = graph.getPointForEvent(evt);var vertex = graph.getModel().cloneCell(prototype);vertex.geometry.x = pt.x;vertex.geometry.y = pt.y;graph.setSelectionCells(graph.importCells([vertex], 0, 0, cell));}// Creates the image which is used as the drag icon (preview)var img = toolbar.addMode(null, image, funct);mxUtils.makeDraggable(img, graph, funct);}</script></head><!-- Calls the main function after the page has loaded. Container is dynamically created. --><body onload="main();"></body></html>
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。