Zurück zum Ranking

NorthwoodsSoftware/GoJS

HTMLgojs.net

JavaScript diagramming library for interactive flowcharts, org charts, design tools, planning tools, visual languages.

htmldiagramflowchartjavascriptorgchartlayoutgraphtypescriptinteractive-diagramsjavascript-librarychartvisualization
Sterne-Wachstum
Sterne
8.5k
Forks
2.8k
Wochenwachstum
Issues
0
5k
Apr. 2014Mai 2018Juni 2022Juli 2026
README

GoJS, a JavaScript Library for HTML Diagrams

GoJS is a JavaScript and TypeScript library for creating and manipulating diagrams, charts, and graphs.

npm open issues last commit downloads Twitter Follow

See GoJS Samples

Get Started with GoJS

GoJS is a flexible library that can be used to create a number of different kinds of interactive diagrams, including data visualizations, drawing tools, and graph editors. There are samples for flowchart, org chart, business process BPMN, swimlanes, timelines, state charts, kanban, network, mindmap, sankey, family trees and genogram charts, fishbone diagrams, floor plans, UML, decision trees, PERT charts, Gantt, and hundreds more. GoJS includes a number of built in layouts including tree layout, force directed, circular, and layered digraph layout, and many custom layout extensions and examples.

GoJS is renders either to an HTML Canvas element (with export to SVG or image formats) or directly as SVG DOM. GoJS can run in a web browser, or server side in Node or Puppeteer. GoJS Diagrams are backed by Models, with saving and loading typically via JSON-formatted text.

Read more about GoJS at gojs.net

The GitHub repository and the GoJS website contain not only the library, but also the sources for all samples, extensions, and documentation.

However the npm package contains only the library. You can install the GoJS library using npm:

$ npm install gojs

The samples, extensions, and documentation can be installed by running:

$ npm create gojs-kit

You can use the GitHub repository to quickly search through all of the sources.

Minimal Sample

Diagrams are built by creating one or more templates, with desired properties data-bound, and adding model data.

<div id="myDiagramDiv" style="width:400px; height:200px;"></div>

<script src="https://cdn.jsdelivr.net/npm/gojs"></script>

<script>
  const myDiagram = new go.Diagram('myDiagramDiv', {
    // create a Diagram for the HTML Div element
    'undoManager.isEnabled': true // enable undo & redo
  });

  // define a simple Node template
  // the Shape will automatically surround the TextBlock
  myDiagram.nodeTemplate = new go.Node('Auto').add(
    // add a Shape and a TextBlock to this "Auto" Panel
    new go.Shape('RoundedRectangle', { strokeWidth: 0, fill: 'white' }) // no border; default fill is white
      .bind('fill', 'color'), // Shape.fill is bound to Node.data.color
    new go.TextBlock({ margin: 8, font: 'bold 14px sans-serif', stroke: '#333' }) // some room around the text
      .bind('text', 'key') // TextBlock.text is bound to Node.data.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' }
    ]
  );
</script>

The above diagram and model code creates the following graph. The user can now click on nodes or links to select them, copy-and-paste them, drag them, delete them, scroll, pan, and zoom, with a mouse or with fingers.

Click the above image to see the interactive GoJS Diagram

Support

Northwoods Software offers a month of free developer-to-developer support for GoJS to prospective customers so you can finish your project faster.

Read and search the official GoJS forum for any topics related to your questions.

Posting in the forum is the fastest and most effective way of obtaining support for any GoJS related inquiries. Please register for support at Northwoods Software's registration form before posting in the forum.

For any nontechnical questions about GoJS, such as about sales or licensing, please visit Northwoods Software's contact form.

License

The GoJS software license.

The GoJS evaluation license.

Copyright Northwoods Software Corporation

Ähnliche Repositories
twbs/bootstrap

The most popular HTML, CSS, and JavaScript framework for developing responsive, mobile first projects on the web.

MDXMIT Licensecssbootstrap
getbootstrap.com
174.5k78.7k
Chalarangelo/30-seconds-of-code

Coding articles to level up your development skills

JavaScriptnpmCreative Commons Attribution 4.0 Internationalawesome-listjavascript
30secondsofcode.org
128.4k12.5k
electron/electron

:electron: Build cross-platform desktop apps with JavaScript, HTML, and CSS

C++MIT Licenseelectronjavascript
electronjs.org
122.1k17.3k
microsoft/Web-Dev-For-Beginners

24 Lessons, 12 Weeks, Get Started as a Web Developer

JavaScriptnpmMIT Licensejavascriptcurriculum
96k15.7k
florinpop17/app-ideas

A Collection of application ideas which can be used to improve your coding skills.

MIT Licenseapplicationsideas
coderabbit.ai
96k10.5k
storybookjs/storybook

Storybook is the industry standard workshop for building, documenting, and testing UI components in isolation

TypeScriptnpmMIT Licensestorybookstyleguide
storybook.js.org
90.6k10.2k
thedaviddias/Front-End-Checklist

🗂 The essential checklist for modern web development, for humans and AI agents

MDXfrontendfront-end-development
frontendchecklist.io
73.3k6.7k
docling-project/docling

Get your documents ready for gen AI

PythonPyPIMIT Licenseaiconvert
docling-project.github.io/docling
63.5k4.5k
rails/rails

Ruby on Rails

RubyRubyGemsMIT Licenserailsmvc
rubyonrails.org
58.6k22.4k
h5bp/html5-boilerplate

A professional front-end template for building fast, robust, and adaptable web apps or sites.

JavaScriptnpmMIT Licensehtml5-boilerplatehtml5
html5boilerplate.com
57.6k12.3k
prettier/prettier

Prettier is an opinionated code formatter.

JavaScriptnpmMIT Licenseformatterprinter
prettier.io
52.1k4.9k
jgthms/bulma

Modern CSS framework based on Flexbox

CSSnpmMIT Licensecsshtml
bulma.io
50.1k3.9k