UNPKG

gojs

Version:

Interactive diagrams, charts, and graphs, such as trees, flowcharts, orgcharts, UML, BPMN, or business diagrams

52 lines (51 loc) 2.6 kB
/* * Copyright (C) 1998-2020 by Northwoods Software Corporation. All Rights Reserved. */ (function (factory) { if (typeof module === "object" && typeof module.exports === "object") { var v = factory(require, exports); if (v !== undefined) module.exports = v; } else if (typeof define === "function" && define.amd) { define(["require", "exports", "../release/go.js", "./RotateMultipleTool.js"], factory); } })(function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var go = require("../release/go.js"); var RotateMultipleTool_js_1 = require("./RotateMultipleTool.js"); function init() { if (window.goSamples) window.goSamples(); // init for these samples -- you don't need to call this var $ = go.GraphObject.make; // for conciseness in defining templates var myDiagram = $(go.Diagram, 'myDiagramDiv', // create a Diagram for the DIV HTML element { rotatingTool: new RotateMultipleTool_js_1.RotateMultipleTool(), 'undoManager.isEnabled': true // enable undo & redo }); // define a simple Node template myDiagram.nodeTemplate = $(go.Node, 'Auto', // the Shape will go around the TextBlock { locationSpot: go.Spot.Center, rotatable: true }, new go.Binding('location', 'location', go.Point.parse).makeTwoWay(go.Point.stringify), new go.Binding('angle').makeTwoWay(), // save the modified Node.angle in the model data $(go.Shape, 'RoundedRectangle', { strokeWidth: 0 }, // Shape.fill is bound to Node.data.color new go.Binding('fill', 'color')), $(go.TextBlock, { margin: 8 }, // some room around the text // TextBlock.text is bound to Node.data.key new go.Binding('text', 'key'))); // but use the default Link template, by not setting Diagram.linkTemplate // create the model data that will be represented by Nodes and Links myDiagram.model = new go.GraphLinksModel([ { key: 'Alpha', color: 'lightblue' }, { key: 'Beta', color: 'orange' }, { key: 'Gamma', color: 'lightgreen' }, { key: 'Delta', color: 'pink' } ], [ { from: 'Alpha', to: 'Beta' }, { from: 'Alpha', to: 'Gamma' }, { from: 'Beta', to: 'Beta' }, { from: 'Gamma', to: 'Delta' }, { from: 'Delta', to: 'Alpha' } ]); } exports.init = init; });