UNPKG

create-gojs-kit

Version:

A CLI for downloading GoJS samples, extensions, and docs

548 lines (504 loc) 29.6 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"/> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, viewport-fit=cover"/> <meta name="description" content="Alphabetical list of all GoJS samples." /> <meta itemprop="description" content="Alphabetical list of all GoJS samples." /> <meta property="og:description" content="Alphabetical list of all GoJS samples." /> <meta name="twitter:description" content="Alphabetical list of all GoJS samples." /> <link rel="preconnect" href="https://rsms.me/"> <link rel="stylesheet" href="../assets/css/style.css"> <!-- Copyright 1998-2025 by Northwoods Software Corporation. --> <meta itemprop="name" content="Sample" /> <meta property="og:title" content="Sample" /> <meta name="twitter:title" content="Sample" /> <meta property="og:image" content="https://gojs.net/latest/assets/images/fp/defaultCard.png" /> <meta itemprop="image" content="https://gojs.net/latest/assets/images/fp/defaultCard.png" /> <meta name="twitter:image" content="https://gojs.net/latest/assets/images/fp/defaultCard.png" /> <meta property="og:url" content="https://gojs.net/latest/samples/all.html" /> <meta property="twitter:url" content="https://gojs.net/latest/samples/all.html" /> <meta name="twitter:card" content="summary_large_image" /> <meta property="og:type" content="website" /> <meta property="twitter:domain" content="gojs.net" /> <title> Sample | GoJS </title> <link rel="stylesheet" href="./assets/css/prism.css"/> </head> <body> <nav id="navTop" class=" w-full h-[var(--topnav-h)] z-30 bg-white border-b border-b-gray-200"> <div class="max-w-screen-xl mx-auto flex flex-wrap items-start justify-between px-4"> <a class="text-white bg-nwoods-primary font-bold !leading-[calc(var(--topnav-h)_-_1px)] my-0 px-2 text-4xl lg:text-5xl logo" href="../"> GoJS </a> <div class="relative"> <button id="topnavButton" class="h-[calc(var(--topnav-h)_-_1px)] px-2 m-0 text-gray-900 bg-inherit shadow-none md:hidden hover:!bg-inherit hover:!text-nwoods-accent hover:!shadow-none" aria-label="Navigation"> <svg class="h-7 w-7 block" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"> <path d="M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5" stroke-linecap="round" stroke-linejoin="round"/> </svg> </button> <div id="topnavList" class="hidden md:block"> <div class="absolute right-0 z-30 flex flex-col items-end rounded border border-gray-200 p-4 pl-12 shadow bg-white text-gray-900 font-semibold md:flex-row md:space-x-4 md:items-start md:border-0 md:p-0 md:shadow-none md:bg-inherit"> <a href="../learn/">Learn</a> <a href="../samples/">Samples</a> <a href="../intro/">Intro</a> <a href="../api/">API</a> <a href="../download.html">Download</a> <a href="https://forum.nwoods.com/c/gojs/11" target="_blank" rel="noopener">Forum</a> <a id="tc" href="https://nwoods.com/contact.html" target="_blank" rel="noopener" onclick="getOutboundLink('https://nwoods.com/contact.html', 'contact');">Contact</a> <a id="tb" href="https://nwoods.com/sales/index.html" target="_blank" rel="noopener" onclick="getOutboundLink('https://nwoods.com/sales/index.html', 'buy');">Buy</a> </div> </div> </div> </div> </nav> <script> window.addEventListener("DOMContentLoaded", function () { // topnav var topButton = document.getElementById("topnavButton"); var topnavList = document.getElementById("topnavList"); if (topButton && topnavList) { topButton.addEventListener("click", function (e) { topnavList .classList .toggle("hidden"); e.stopPropagation(); }); document.addEventListener("click", function (e) { // if the clicked element isn't the list, close the list if (!topnavList.classList.contains("hidden") && !e.target.closest("#topnavList")) { topButton.click(); } }); // set active <a> element var url = window .location .href .toLowerCase(); var aTags = topnavList.getElementsByTagName('a'); for (var i = 0; i < aTags.length; i++) { var lowerhref = aTags[i] .href .toLowerCase(); if (lowerhref.endsWith('.html')) lowerhref = lowerhref.slice(0, -5); if (url.startsWith(lowerhref)) { aTags[i] .classList .add('active'); break; } } } }); </script> <div class="w-full max-w-screen-xl mx-auto"> <div class="px-4 pb-16 w-full overflow-hidden prose"> <h1>Samples and Extensions</h1> <p> Below is a list of every <a href="../index.html">GoJS</a> sample and extension. See the <a href="index.html">samples index</a> for a subset of this list with screenshots and short descriptions. </p> <h2>Samples</h2> <p> These are in the <code>samples/</code> directory. Most are stand-alone apps, but a few depend on extensions and/or on common third-party libraries. Remember that the GoJS library does not depend on any other library. </p> <ul> <li><a href="absolute.html">absolute.html</a></li> <li><a href="Accessibility.html">Accessibility.html</a></li> <li><a href="addRemoveColumns.html">addRemoveColumns.html</a></li> <li><a href="addToPalette.html">addToPalette.html</a></li> <li><a href="adornmentButtons.html">adornmentButtons.html</a></li> <li><a href="animatedFocus.html">animatedFocus.html</a></li> <li><a href="arrowheads.html">arrowheads.html</a></li> <li><a href="barCharts.html">barCharts.html</a></li> <li><a href="basic.html">basic.html</a></li> <li><a href="beatPaths.html">beatPaths.html</a></li> <li><a href="belts.html">belts.html</a></li> <li><a href="blockEditor.html">blockEditor.html</a></li> <li><a href="candlestickCharts.html">candlestickCharts.html</a></li> <li><a href="canvases.html">canvases.html</a></li> <li><a href="classHierarchy.html">classHierarchy.html</a></li> <li><a href="cLayout.html">cLayout.html</a></li> <li><a href="comments.html">comments.html</a></li> <li><a href="conceptMap.html">conceptMap.html</a></li> <li><a href="connectionBoxNode.html">connectionBoxNode.html</a></li> <li><a href="constantSize.html">constantSize.html</a></li> <li><a href="contentAlign.html">contentAlign.html</a></li> <li><a href="controlGauges.html">controlGauges.html</a></li> <li><a href="customAnimations.html">customAnimations.html</a></li> <li><a href="customContextMenu.html">customContextMenu.html</a></li> <li><a href="customExpandCollapse.html">customExpandCollapse.html</a></li> <li><a href="customTextEditingTool.html">customTextEditingTool.html</a></li> <li><a href="dataFlow.html">dataFlow.html</a></li> <li><a href="dataFlowVertical.html">dataFlowVertical.html</a></li> <li><a href="dataVisualization.html">dataVisualization.html</a></li> <li><a href="decisionTree.html">decisionTree.html</a></li> <li><a href="distances.html">distances.html</a></li> <li><a href="DOMTree.html">DOMTree.html</a></li> <li><a href="donutCharts.html">donutCharts.html</a></li> <li><a href="doubleCircle.html">doubleCircle.html</a></li> <li><a href="doubleTree.html">doubleTree.html</a></li> <li><a href="dragDropFields.html">dragDropFields.html</a></li> <li><a href="draggableLink.html">draggableLink.html</a></li> <li><a href="dragOutFields.html">dragOutFields.html</a></li> <li><a href="dragUnoccupied.html">dragUnoccupied.html</a></li> <li><a href="dynamicPieChart.html">dynamicPieChart.html</a></li> <li><a href="dynamicPorts.html">dynamicPorts.html</a></li> <li><a href="entityRelationship.html">entityRelationship.html</a></li> <li><a href="euler.html">euler.html</a></li> <li><a href="familyTree.html">familyTree.html</a></li> <li><a href="familyTreeJP.html">familyTreeJP.html</a></li> <li><a href="faultTree.html">faultTree.html</a></li> <li><a href="fdLayout.html">fdLayout.html</a></li> <li><a href="flowBuilder.html">flowBuilder.html</a></li> <li><a href="flowchart.html">flowchart.html</a></li> <li><a href="flowgrammer.html">flowgrammer.html</a></li> <li><a href="friendWheel.html">friendWheel.html</a></li> <li><a href="gameOfLife.html">gameOfLife.html</a></li> <li><a href="gantt.html">gantt.html</a></li> <li><a href="genogram.html">genogram.html</a></li> <li><a href="gestureBehavior.html">gestureBehavior.html</a></li> <li><a href="gLayout.html">gLayout.html</a></li> <li><a href="grafcet.html">grafcet.html</a></li> <li><a href="grouping.html">grouping.html</a></li> <li><a href="hoverButtons.html">hoverButtons.html</a></li> <li><a href="htmlDragDrop.html">htmlDragDrop.html</a></li> <li><a href="htmlInteraction.html">htmlInteraction.html</a></li> <li><a href="icons.html">icons.html</a></li> <li><a href="incrementalTree.html">incrementalTree.html</a></li> <li><a href="industrialDiagram.html">industrialDiagram.html</a></li> <li><a href="industrialMonitor.html">industrialMonitor.html</a></li> <li><a href="instrumentGauge.html">instrumentGauge.html</a></li> <li><a href="interactiveForce.html">interactiveForce.html</a></li> <li><a href="IVRtree.html">IVRtree.html</a></li> <li><a href="kanban.html">kanban.html</a></li> <li><a href="kittenMonitor.html">kittenMonitor.html</a></li> <li><a href="ldLayout.html">ldLayout.html</a></li> <li><a href="leaflet.html">leaflet.html</a></li> <li><a href="linksToLinks.html">linksToLinks.html</a></li> <li><a href="localView.html">localView.html</a></li> <li><a href="logicCircuit.html">logicCircuit.html</a></li> <li><a href="macros.html">macros.html</a></li> <li><a href="magnifier.html">magnifier.html</a></li> <li><a href="mindMap.html">mindMap.html</a></li> <li><a href="minimal.html">minimal.html</a></li> <li><a href="minimalBlob.html">minimalBlob.html</a></li> <li><a href="minimalSvg.html">minimalSvg.html</a></li> <li><a href="multiArrow.html">multiArrow.html</a></li> <li><a href="multiColorLinks.html">multiColorLinks.html</a></li> <li><a href="multiNodePathLinks.html">multiNodePathLinks.html</a></li> <li><a href="navigation.html">navigation.html</a></li> <li><a href="network.html">network.html</a></li> <li><a href="networkConfig.html">networkConfig.html</a></li> <li><a href="orgChartAssistants.html">orgChartAssistants.html</a></li> <li><a href="orgChartEditor.html">orgChartEditor.html</a></li> <li><a href="orgChartExtras.html">orgChartExtras.html</a></li> <li><a href="orgChartStatic.html">orgChartStatic.html</a></li> <li><a href="pageFlow.html">pageFlow.html</a></li> <li><a href="panelLayout.html">panelLayout.html</a></li> <li><a href="parseTree.html">parseTree.html</a></li> <li><a href="pathAnimation.html">pathAnimation.html</a></li> <li><a href="PERT.html">PERT.html</a></li> <li><a href="pieCharts.html">pieCharts.html</a></li> <li><a href="pinchResizing.html">pinchResizing.html</a></li> <li><a href="pipes.html">pipes.html</a></li> <li><a href="pipeTree.html">pipeTree.html</a></li> <li><a href="planogram.html">planogram.html</a></li> <li><a href="processFlow.html">processFlow.html</a></li> <li><a href="productionEditor.html">productionEditor.html</a></li> <li><a href="productionProcess.html">productionProcess.html</a></li> <li><a href="radial.html">radial.html</a></li> <li><a href="radialAdornment.html">radialAdornment.html</a></li> <li><a href="radialPartition.html">radialPartition.html</a></li> <li><a href="records.html">records.html</a></li> <li><a href="regrouping.html">regrouping.html</a></li> <li><a href="regroupingTreeView.html">regroupingTreeView.html</a></li> <li><a href="relationships.html">relationships.html</a></li> <li><a href="roundedGroups.html">roundedGroups.html</a></li> <li><a href="ruleredDiagram.html">ruleredDiagram.html</a></li> <li><a href="sankey.html">sankey.html</a></li> <li><a href="scrollModes.html">scrollModes.html</a></li> <li><a href="seatingChart.html">seatingChart.html</a></li> <li><a href="selectableFields.html">selectableFields.html</a></li> <li><a href="selectablePorts.html">selectablePorts.html</a></li> <li><a href="sequenceDiagram.html">sequenceDiagram.html</a></li> <li><a href="sequentialFunction.html">sequentialFunction.html</a></li> <li><a href="shapes.html">shapes.html</a></li> <li><a href="sharedStates.html">sharedStates.html</a></li> <li><a href="shopFloorMonitor.html">shopFloorMonitor.html</a></li> <li><a href="singlePage.html">singlePage.html</a></li> <li><a href="spacingZoom.html">spacingZoom.html</a></li> <li><a href="sparklineGraphs.html">sparklineGraphs.html</a></li> <li><a href="spreadsheet.html">spreadsheet.html</a></li> <li><a href="stateChart.html">stateChart.html</a></li> <li><a href="stateChartIncremental.html">stateChartIncremental.html</a></li> <li><a href="svgDataUrl.html">svgDataUrl.html</a></li> <li><a href="swimBands.html">swimBands.html</a></li> <li><a href="swimLanes.html">swimLanes.html</a></li> <li><a href="swimLanesVertical.html">swimLanesVertical.html</a></li> <li><a href="systemDynamics.html">systemDynamics.html</a></li> <li><a href="taperedLinks.html">taperedLinks.html</a></li> <li><a href="thermometer.html">thermometer.html</a></li> <li><a href="tiger.html">tiger.html</a></li> <li><a href="timeline.html">timeline.html</a></li> <li><a href="tLayout.html">tLayout.html</a></li> <li><a href="tournament.html">tournament.html</a></li> <li><a href="treeLoadAnimation.html">treeLoadAnimation.html</a></li> <li><a href="treeMapper.html">treeMapper.html</a></li> <li><a href="treeView.html">treeView.html</a></li> <li><a href="triStateCheckBoxTree.html">triStateCheckBoxTree.html</a></li> <li><a href="twoDiagrams.html">twoDiagrams.html</a></li> <li><a href="twoHalves.html">twoHalves.html</a></li> <li><a href="umlClass.html">umlClass.html</a></li> <li><a href="updateDemo.html">updateDemo.html</a></li> <li><a href="venn.html">venn.html</a></li> <li><a href="virtualized.html">virtualized.html</a></li> <li><a href="virtualizedForceLayout.html">virtualizedForceLayout.html</a></li> <li><a href="virtualizedTree.html">virtualizedTree.html</a></li> <li><a href="virtualizedTreeLayout.html">virtualizedTreeLayout.html</a></li> <li><a href="visualTree.html">visualTree.html</a></li> <li><a href="visualTreeGrouping.html">visualTreeGrouping.html</a></li> <li><a href="vue.html">vue.html</a></li> <li><a href="warehouse.html">warehouse.html</a></li> <li><a href="wordcloud.html">wordcloud.html</a></li> <li><a href="bpmn/BPMN.html">.html</a>BPMN</li> <li><a href="floorplannerTS/index.html">Floorplanner</a></li> <li><a href="pdf/minimalPDF.html">PDF multi page</a></li> <li><a href="pdf/minimalPDFmultiDiagram.html">PDF multi diagram</a></li> <li><a href="pdf/minimalPDFonepage.html">PDF one page</a></li> </ul> <h2>Extensions</h2> <p> There are two extension directories. </p> <ul> <li><code>extensions/</code>, loadable in a simple &lt;script&gt; tag</li> <li><code>extensionsJSM/</code>, using <code>go-module.js</code>, compiled as an ECMAScript module and loaded by <code>import</code></li> </ul> <p> In all cases you should copy the extension code into your own project and make sure that any <code>import</code> or <code>require</code> is adjusted to fit your environment. Subtle errors can occur if your app loads the GoJS library more than once, especially if they are of different versions. </p> <h3>Layout Extensions:</h3> <ul> <li><a href="Arranging.html">Arranging.html</a>, using <a href="../extensions/ArrangingLayout.js">ArrangingLayout.js</a></li> <li><a href="doubleTree.html">DoubleTree.html</a>, using <a href="../extensions/DoubleTreeLayout.js">DoubleTreeLayout.js</a></li> <li><a href="Fishbone.html">Fishbone.html</a>, using <a href="../extensions/FishboneLayout.js">FishboneLayout.js</a></li> <li><a href="PackedHierarchy.html">PackedHierarchy.html, using <a href="../extensions/PackedLayout.js">PackedLayout.js</a></li> <li><a href="PackedLayout.html">PackedLayout.html</a>, using <a href="../extensions/PackedLayout.js">PackedLayout.js</a></li> <li><a href="Parallel.html">Parallel.html</a>, using <a href="../extensions/ParallelLayout.js">ParallelLayout.js</a></li> <li><a href="radial.html">radial.html</a>, using <a href="../extensions/RadialLayout.js">RadialLayout.js</a></li> <li><a href="Serpentine.html">Serpentine.html</a>, using <a href="../extensions/SerpentineLayout.js">SerpentineLayout.js</a></li> <li><a href="Spiral.html">Spiral.html</a>, using <a href="../extensions/SpiralLayout.js">SpiralLayout.js</a></li> <li><a href="SwimLaneLayout.html">SwimLaneLayout.html, using <a href="../extensions/SwimLaneLayout.js">SwimLaneLayout.js</a></li> <li><a href="Table.html">Table.html</a>, using <a href="../extensions/TableLayout.js">TableLayout.js</a></li> <li><a href="TreeMap.html">TreeMap.html</a>, using <a href="../extensions/TreeMapLayout.js">TreeMapLayout.js</a></li> <li><a href="VirtualizedPacked.html">VirtualizedPacked.html</a>, using <a href="../extensions/VirtualizedPackedLayout.js">VirtualizedPackedLayout.js</a></li> </li> </ul> <h3>PanelLayout Extensions</h3> <ul> <li><a href="PanelLayoutFlow.html">PanelLayoutFlow.html</a>, using <a href="../extensions/PanelLayoutFlow.js">PanelLayoutFlow.js</a> </ul> <h3>Router Extensions</h3> <ul> <li><a href="AvoidsLinksRouter.html">AvoidsLinksRouter.html</a>, using <a href="../extensions/AvoidsLinksRouter.js">AvoidsLinksRouter.js</a></li> <li><a href="LinkLabelRouter.html">LinkLabelRouter.html</a>, using <a href="../extensions/LinkLabelRouter.js">LinkLabelRouter.js</a></li> </ul> <h3>Tool Extensions:</h3> <ul> <li><a href="ColumnResizing.html">ColumnResizing.html</a>, using <a href="../extensions/ColumnResizingTool.js">ColumnResizingTool.js</a></li> <li><a href="CurvedLinkReshaping.html">CurvedLinkReshaping.html</a> using <a href="../extensions/CurvedLinkReshapingTool.js">CurvedLinkReshapingTool.js</a></li> <li><a href="DragCreating.html">DragCreating.html</a> using <a href="../extensions/DragCreatingTool.js">DragCreatingTool.js</a></li> <li><a href="DragZooming.html">DragZooming.html</a> using <a href="../extensions/DragZoomingTool.js">DragZoomingTool.js</a></li> <li><a href="FreehandDrawing.html">FreehandDrawing.html</a> using <a href="../extensions/FreehandDrawingTool.js">FreehandDrawingTool.js</a></li> <li><a href="GeometryReshaping.html">GeometryReshaping.html</a> using <a href="../extensions/GeometryReshapingTool.js">GeometryReshapingTool.js</a></li> <li><a href="GuidedDragging.html">GuidedDragging.html</a> using <a href="../extensions/GuidedDraggingTool.js">GuidedDraggingTool.js</a></li> <li><a href="LassoSelecting.html">LassoSelecting.html</a> using <a href="../extensions/LassoSelectingTool.js">LassoSelectingTool.js</a></li> <li><a href="LinkLabelDragging.html">LinkLabelDragging.html</a> using <a href="../extensions/LinkLabelDraggingTool.js">LinkLabelDraggingTool.js</a></li> <li><a href="LinkLabelOnPathDragging.html">LinkLabelOnPathDragging.html</a> using <a href="../extensions/LinkLabelOnPathDraggingTool.js">LinkLabelOnPathDraggingTool.js</a></li> <li><a href="LinkShifting.html">LinkShifting.html</a> using <a href="../extensions/LinkShiftingTool.js">LinkShiftingTool.js</a></li> <li><a href="NodeLabelDragging.html">NodeLabelDragging.html</a> using <a href="../extensions/NodeLabelDraggingTool.js">NodeLabelDraggingTool.js</a></li> <li><a href="NonRealtimeDragging.html">NonRealtimeDragging.html</a> using <a href="../extensions/NonRealtimeDraggingTool.js">NonRealtimeDraggingTool.js</a></li> <li><a href="OrthogonalLinkReshaping.html">OrthogonalLinkReshaping.html</a> using <a href="../extensions/OrthogonalLinkReshapingTool.js">OrthogonalLinkReshapingTool.js</a></li> <li><a href="OverviewResizing.html">OverviewResizing.html</a> using <a href="../extensions/OverviewResizingTool.js">OverviewResizingTool.js</a></li> <li><a href="PolygonDrawing.html">PolygonDrawing.html</a> using <a href="../extensions/PolygonDrawingTool.js">PolygonDrawingTool.js</a></li> <li><a href="PolylineLinking.html">PolylineLinking.html</a> using <a href="../extensions/PolylineLinkingTool.js">PolylineLinkingTool.js</a></li> <li><a href="PortShifting.html">PortShifting.html</a> using <a href="../extensions/PortShiftingTool.js">PortShiftingTool.js</a></li> <li><a href="RealtimeDragSelecting.html">RealtimeDragSelecting.html</a> using <a href="../extensions/RealtimeDragSelectingTool.js">RealtimeDragSelectingTool.js</a></li> <li><a href="Rescaling.html">Rescaling.html</a> using <a href="../extensions/RescalingTool.js">RescalingTool.js</a></li> <li><a href="ResizeMultiple.html">ResizeMultiple.html</a> using <a href="../extensions/ResizeMultipleTool.js">ResizeMultipleTool.js</a></li> <li><a href="RowResizing.html">RowResizing.html</a>, using <a href="../extensions/RowResizingTool.js">RowResizingTool.js</a></li> <li><a href="RotateMultiple.html">RotateMultiple.html</a> using <a href="../extensions/RotateMultipleTool.js">RotateMultipleTool.js</a></li> <li><a href="SectorReshaping.html">SectorReshaping.html</a> using <a href="../extensions/SectorReshapingTool.js">SectorReshapingTool.js</a></li> <li><a href="SnapLinkReshaping.html">SnapLinkReshaping.html</a> using <a href="../extensions/SnapLinkReshapingTool.js">SnapLinkReshapingTool.js</a></li> <li><a href="SpotRotating.html">SpotRotating.html</a> using <a href="../extensions/SpotRotatingTool.js">SpotRotatingTool.js</a></li> </ul> <h3>CommandHandler Extensions:</h3> <ul> <li><a href="DrawCommandHandler.html">DrawCommandHandler.html</a> using <a href="../extensions/DrawCommandHandler.js">DrawCommandHandler.js</a></li> </ul> <h3>Builder and Link Extensions:</h3> <ul> <li><a href="BalloonLink.html">BalloonLink.html</a> using <a href="../extensions/BalloonLink.js">BalloonLink.js</a></li> <li><a href="CheckBoxes.html">CheckBoxes.html</a> using predefined "CheckBox"s shown in <a href="../extensions/Buttons.js">Buttons.js</a></li> <li><a href="Dimensioning.html">Dimensioning.html</a> using <a href="../extensions/DimensioningLink.js">DimensioningLink.js</a></li> <li><a href="Hyperlink.html">Hyperlink.html</a> using <a href="../extensions/HyperlinkText.js">HyperlinkText.js</a></li> <li><a href="ParallelRoute.html">ParallelRoute.html</a> using <a href="../extensions/ParallelRouteLink.js">ParallelRouteLink.js</a></li> <li><a href="ScrollingTable.html">ScrollingTable.html</a> using <a href="../extensions/ScrollingTable.js">ScrollingTable.js</a></li> <li><a href="TextEditor.html">TextEditor.html</a> using <a href="../extensions/TextEditor.js">TextEditor.js</a>, <a href="../extensions/TextEditorRadioButtons.js">TextEditorRadioButtons.js</a>, or <a href="../extensions/TextEditorSelectBox.js">TextEditorSelectBox.js</a></li> </ul> <h3>Miscellaneous Extensions:</h3> <ul> <li><a href="DataInspector.html">DataInspector.html</a> using <a href="../extensions/DataInspector.js">DataInspector.js</a></li> <li><a href="htmlLightBoxContextMenu.html">htmlLightBoxContextMenu.html</a> using <a href="../extensions/LightBoxContextMenu.js">LightBoxContextMenu.js</a></li> <li><a href="Robot.html">Robot.html</a> using <a href="../extensions/Robot.js">Robot.js</a></li> <li><a href="../extensions/Themes.js">Themes.js</a>, as discussed in <a href="../intro/theming.html">intro/Theming</a></li> <li><a href="ZoomSlider.html">ZoomSlider.html</a> using <a href="../extensions/ZoomSlider.js">ZoomSlider.js</a></li> </ul> <h1>Predefined, built-in functionality:</h1> <ul> <li><a href="../extensions/Arrowheads.js">Arrowheads.js</a> all shown by <a href="arrowheads.html">arrowheads.html</a></li> <li><a href="../extensions/Buttons.js">Buttons.js</a> as shown in <a href="../intro/buttons.html">intro/Buttons.html</a></li> <li><a href="../extensions/Figures.js">Figures.js</a> all shown by <a href="shapes.html">shapes.html</a></li> <li><a href="../extensions/Templates.js">Templates.js</a></li> <li><a href="../extensions/TextEditor.js">TextEditor.js</a> as shown by <a href="TextEditor.html">TextEditor.html</a></li> </ul> <p> See the <a href="index.html">samples index</a> for a subset of this list with screenshots and short descriptions. </p> </div> </div> <footer class="bg-white text-gray-900 border-t border-t-gray-200"> <div class="w-full max-w-screen-lg mx-auto px-4 py-6"> <p id="version" class="text-xs text-gray-900 m-0"></p> <div class="text-sm px-0 mb-4 grid grid-cols-2 sm:grid-cols-3 gap-y-10"> <div> <h2 class="text-base font-semibold text-nwoods-primary">GoJS</h2> <ul class="list-none space-y-4 md:space-y-1 px-0"> <li> <a href="./samples/index.html">Samples</a> </li> <li> <a href="./learn/index.html">Learn</a> </li> <li> <a href="./intro/index.html">Intro</a> </li> <li> <a href="./api/index.html">API</a> </li> <li> <a href="./changelog.html">Changelog</a> </li> <li> <a href="https://github.com/NorthwoodsSoftware/GoJS" target="_blank" rel="noopener">GitHub</a> </li> </ul> </div> <div> <h2 class="text-base font-semibold text-nwoods-primary">Support</h2> <ul class="list-none space-y-4 md:space-y-1 px-0"> <li> <a href="https://nwoods.com/contact.html" target="_blank" rel="noopener" onclick="getOutboundLink('https://nwoods.com/contact.html', 'contact');">Contact</a> </li> <li> <a href="https://forum.nwoods.com/c/gojs" target="_blank" rel="noopener">Forum</a> </li> <li> <a href="https://nwoods.com/app/activate.aspx?sku=gojs" target="_blank" rel="noopener">Activate</a> </li> <li> <a href="https://nwoods.com/sales/index.html" target="_blank" rel="noopener" onclick="getOutboundLink('https://nwoods.com/sales/index.html', 'buy');">Buy</a> </li> <li> <a href="https://nwoods.com/register.html" target="_blank" rel="noopener">Register</a> </li> </ul> </div> <div> <h2 class="text-base font-semibold text-nwoods-primary">Company</h2> <ul class="list-none space-y-4 md:space-y-1 px-0"> <li> <a target="_blank" href="https://nwoods.com" target="_blank" rel="noopener">Northwoods</a> </li> <li> <a target="_blank" href="https://nwoods.com/about.html" target="_blank" rel="noopener">About Us</a> </li> <li> <a target="_blank" href="https://nwoods.com/contact.html" target="_blank" rel="noopener">Contact Us</a> </li> <li> <a target="_blank" href="https://nwoods.com/consulting.html" target="_blank" rel="noopener">Consulting</a> </li> <li> <a target="_blank" href="https://twitter.com/northwoodsgo" target="_blank" rel="noopener">Twitter</a> </li> </ul> </div> </div> <p class="text-sm text-gray-900 md:mb-6"> Copyright 1998-2025 <a href="https://nwoods.com">Northwoods Software</a> </p> </div> </footer> </body> <script async src="https://www.googletagmanager.com/gtag/js?id=G-S5QK8VSK84"></script> <script> window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag('js', new Date()); gtag('config', 'G-S5QK8VSK84'); var getOutboundLink = function (url, label) { gtag('event', 'click', { 'event_category': 'outbound', 'event_label': label, 'transport_type': 'beacon' }); } const params = new URL(document.location).searchParams let a = params.get('a'); if (a) localStorage.setItem('a', a); a = localStorage.getItem('a'); if (a) { const links = [...document.body.getElementsByTagName("a")].filter((l) => l.href.includes('nwoods.com')); for (const l of links) { const url = new URL(l.href); url.searchParams.set('a', a); l.href = url; } } </script> <script src="./assets/js/prism.js"></script> <script src="./release/go.js"></script> <script src="./assets/js/goDoc.js"></script> <script> document.addEventListener("DOMContentLoaded", function () { if (window.go) document .getElementById('version') .textContent = "GoJS version " + go.version; if (window.goDoc) window.goDoc(); } ); </script> </html>