{"id":15037837,"url":"https://github.com/northwoodssoftware/gojs","last_synced_at":"2025-05-12T05:12:29.838Z","repository":{"id":15639394,"uuid":"18376387","full_name":"NorthwoodsSoftware/GoJS","owner":"NorthwoodsSoftware","description":"JavaScript diagramming library for interactive flowcharts, org charts, design tools, planning tools, visual languages.","archived":false,"fork":false,"pushed_at":"2025-05-11T14:41:23.000Z","size":131396,"stargazers_count":8105,"open_issues_count":1,"forks_count":2859,"subscribers_count":290,"default_branch":"master","last_synced_at":"2025-05-12T05:12:23.674Z","etag":null,"topics":["canvas","chart","charts","data-visualization","diagram","es6","es6-modules","flowchart","gojs","graph","html","interactive-diagrams","javascript","javascript-library","layout","orgchart","svg","typescript","typescript-library","visualization"],"latest_commit_sha":null,"homepage":"http://gojs.net","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NorthwoodsSoftware.png","metadata":{"files":{"readme":"README.html","changelog":"changelog.html","contributing":null,"funding":null,"license":"license.html","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2014-04-02T18:18:40.000Z","updated_at":"2025-05-12T00:07:33.000Z","dependencies_parsed_at":"2023-01-13T20:30:18.028Z","dependency_job_id":"3007df4c-fb3b-4c8b-8588-42e5e9deac10","html_url":"https://github.com/NorthwoodsSoftware/GoJS","commit_stats":{"total_commits":392,"total_committers":14,"mean_commits":28.0,"dds":0.7806122448979592,"last_synced_commit":"ede6ec60964a606a5ff9c890631185174a1de731"},"previous_names":[],"tags_count":262,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NorthwoodsSoftware%2FGoJS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NorthwoodsSoftware%2FGoJS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NorthwoodsSoftware%2FGoJS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NorthwoodsSoftware%2FGoJS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NorthwoodsSoftware","download_url":"https://codeload.github.com/NorthwoodsSoftware/GoJS/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253678901,"owners_count":21946319,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["canvas","chart","charts","data-visualization","diagram","es6","es6-modules","flowchart","gojs","graph","html","interactive-diagrams","javascript","javascript-library","layout","orgchart","svg","typescript","typescript-library","visualization"],"created_at":"2024-09-24T20:35:59.416Z","updated_at":"2025-05-12T05:12:29.814Z","avatar_url":"https://github.com/NorthwoodsSoftware.png","language":"HTML","readme":"\u003ch1\u003eGoJS, a JavaScript Library for HTML Diagrams\u003c/h1\u003e\n\u003cimg align=\"right\" height=\"150\" src=\"https://www.nwoods.com/images/go.png\"\u003e\n\u003cp\u003e\u003ca href=\"https://gojs.net\"\u003eGoJS\u003c/a\u003e is a JavaScript and TypeScript library for creating and manipulating diagrams, charts, and graphs.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://www.npmjs.com/package/gojs\"\u003e\u003cimg src=\"https://img.shields.io/github/release/NorthwoodsSoftware/GoJS.svg\" alt=\"npm\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/NorthwoodsSoftware/GoJS/issues\"\u003e\u003cimg src=\"https://img.shields.io/github/issues-raw/NorthwoodsSoftware/GoJS.svg\" alt=\"open issues\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/NorthwoodsSoftware/GoJS/commits/master\"\u003e\u003cimg src=\"https://img.shields.io/github/last-commit/NorthwoodsSoftware/GoJS.svg\" alt=\"last commit\"\u003e\u003c/a\u003e\n\u003ca href=\"https://www.npmjs.com/package/gojs\"\u003e\u003cimg src=\"https://img.shields.io/npm/dw/gojs.svg\" alt=\"downloads\"\u003e\u003c/a\u003e\n\u003ca href=\"https://twitter.com/NorthwoodsGo\"\u003e\u003cimg src=\"https://img.shields.io/twitter/follow/NorthwoodsGo.svg?style=social\u0026amp;label=Follow\" alt=\"Twitter Follow\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://gojs.net/latest/samples\"\u003eSee GoJS Samples\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://gojs.net/latest/learn\"\u003eGet Started with GoJS\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eGoJS is a flexible library that can be used to create a number of different kinds of interactive diagrams,\nincluding data visualizations, drawing tools, and graph editors.\nThere are samples for\n\u003ca href=\"https://gojs.net/latest/samples/flowchart.html\"\u003eflowchart\u003c/a\u003e,\n\u003ca href=\"https://gojs.net/latest/samples/orgChartEditor.html\"\u003eorg chart\u003c/a\u003e,\n\u003ca href=\"https://gojs.net/latest/samples/bpmn/BPMN.html\"\u003ebusiness process BPMN\u003c/a\u003e,\n\u003ca href=\"https://gojs.net/latest/samples/swimlanes.html\"\u003eswimlanes\u003c/a\u003e,\n\u003ca href=\"https://gojs.net/latest/samples/timeline.html\"\u003etimelines\u003c/a\u003e,\n\u003ca href=\"https://gojs.net/latest/samples/statechart.html\"\u003estate charts\u003c/a\u003e,\n\u003ca href=\"https://gojs.net/latest/samples/kanban.html\"\u003ekanban\u003c/a\u003e,\n\u003ca href=\"https://gojs.net/latest/samples/network.html\"\u003enetwork\u003c/a\u003e,\n\u003ca href=\"https://gojs.net/latest/samples/mindMap.html\"\u003emindmap\u003c/a\u003e,\n\u003ca href=\"https://gojs.net/latest/samples/sankey.html\"\u003esankey\u003c/a\u003e,\n\u003ca href=\"https://gojs.net/latest/samples/familyTree.html\"\u003efamily trees\u003c/a\u003e and \u003ca href=\"https://gojs.net/latest/samples/genogram.html\"\u003egenogram charts\u003c/a\u003e,\n\u003ca href=\"https://gojs.net/latest/samples/Fishbone.html\"\u003efishbone diagrams\u003c/a\u003e,\n\u003ca href=\"https://gojs.net/latest/samples/floorplannerTS/index.html\"\u003efloor plans\u003c/a\u003e,\n\u003ca href=\"https://gojs.net/latest/samples/umlClass.html\"\u003eUML\u003c/a\u003e,\n\u003ca href=\"https://gojs.net/latest/samples/decisionTree.html\"\u003edecision trees\u003c/a\u003e,\n\u003ca href=\"https://gojs.net/latest/samples/PERT.html\"\u003ePERT charts\u003c/a\u003e,\n\u003ca href=\"https://gojs.net/latest/samples/gantt.html\"\u003eGantt\u003c/a\u003e, and\n\u003ca href=\"https://gojs.net/latest/samples/index.html\"\u003ehundreds more\u003c/a\u003e.\nGoJS includes a number of built in layouts including tree layout, force directed, circular, and layered digraph layout,\nand many custom layout extensions and examples.\u003c/p\u003e\n\u003cp\u003eGoJS is renders either to an HTML Canvas element (with export to SVG or image formats) or directly as SVG DOM.\nGoJS can run in a web browser, or server side in \u003ca href=\"https://nodejs.org/en/\"\u003eNode\u003c/a\u003e or \u003ca href=\"https://github.com/GoogleChrome/puppeteer\"\u003ePuppeteer\u003c/a\u003e.\nGoJS Diagrams are backed by Models, with saving and loading typically via JSON-formatted text.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://gojs.net/latest/samples/index.html\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/NorthwoodsSoftware/GoJS/master/.github/github-970x354.png\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eRead more about GoJS at \u003ca href=\"https://gojs.net\"\u003egojs.net\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis repository contains only the library.\nThe sources for all samples, extensions, and documentation can be installed by running:\u003c/p\u003e\n\u003cpre\u003e\u003ccode class=\"language-html\"\u003e$ npm create gojs-kit\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eYou can use the GitHub repository to quickly \u003ca href=\"https://github.com/NorthwoodsSoftware/GoJS-Samples/search?q=setDataProperty\u0026amp;type=Code\"\u003esearch through all of the sources\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eMinimal Sample\u003c/h2\u003e\n\u003cp\u003eGraphs are constructed by creating one or more templates, with desired properties data-bound, and adding model data.\u003c/p\u003e\n\u003cpre\u003e\u003ccode class=\"language-html\"\u003e\u0026lt;div id=\u0026quot;myDiagramDiv\u0026quot; style=\u0026quot;width:400px; height:150px;\u0026quot;\u0026gt;\u0026lt;/div\u0026gt;\n\n\u0026lt;script src=\u0026quot;https://unpkg.com/gojs\u0026quot;\u0026gt;\u0026lt;/script\u0026gt;\n\n\u0026lt;script\u0026gt;\nconst myDiagram =\n  new go.Diagram(\u0026quot;myDiagramDiv\u0026quot;,  // create a Diagram for the HTML Div element\n    { \u0026quot;undoManager.isEnabled\u0026quot;: true });  // enable undo \u0026amp; redo\n\n// define a simple Node template\nmyDiagram.nodeTemplate =\n  new go.Node(\u0026quot;Auto\u0026quot;)  // the Shape will automatically surround the TextBlock\n    // add a Shape and a TextBlock to this \u0026quot;Auto\u0026quot; Panel\n    .add(new go.Shape(\u0026quot;RoundedRectangle\u0026quot;,\n        { strokeWidth: 0, fill: \u0026quot;white\u0026quot; })  // no border; default fill is white\n        .bind(\u0026quot;fill\u0026quot;, \u0026quot;color\u0026quot;))  // Shape.fill is bound to Node.data.color\n    .add(new go.TextBlock({ margin: 8, stroke: \u0026quot;#333\u0026quot; })  // some room around the text\n        .bind(\u0026quot;text\u0026quot;, \u0026quot;key\u0026quot;));  // TextBlock.text is bound to Node.data.key\n\n// but use the default Link template, by not setting Diagram.linkTemplate\n\n// create the model data that will be represented by Nodes and Links\nmyDiagram.model = new go.GraphLinksModel(\n  [\n    { key: \u0026quot;Alpha\u0026quot;, color: \u0026quot;lightblue\u0026quot; },\n    { key: \u0026quot;Beta\u0026quot;, color: \u0026quot;orange\u0026quot; },\n    { key: \u0026quot;Gamma\u0026quot;, color: \u0026quot;lightgreen\u0026quot; },\n    { key: \u0026quot;Delta\u0026quot;, color: \u0026quot;pink\u0026quot; }\n  ],\n  [\n    { from: \u0026quot;Alpha\u0026quot;, to: \u0026quot;Beta\u0026quot; },\n    { from: \u0026quot;Alpha\u0026quot;, to: \u0026quot;Gamma\u0026quot; },\n    { from: \u0026quot;Beta\u0026quot;, to: \u0026quot;Beta\u0026quot; },\n    { from: \u0026quot;Gamma\u0026quot;, to: \u0026quot;Delta\u0026quot; },\n    { from: \u0026quot;Delta\u0026quot;, to: \u0026quot;Alpha\u0026quot; }\n  ]);\n\u0026lt;/script\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThe above diagram and model code creates the following graph.\nThe 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.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://gojs.net/latest/samples/minimal.html\"\u003e\u003cimg width=\"200\" height=\"200\" src=\"https://gojs.net/latest/assets/images/screenshots/minimal.png\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eClick the image to see the interactive GoJS Diagram\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eSupport\u003c/h2\u003e\n\u003cp\u003eNorthwoods Software offers a month of free developer-to-developer support for GoJS to prospective customers so you can finish your project faster.\u003c/p\u003e\n\u003cp\u003eRead and search the official \u003ca href=\"https://forum.nwoods.com/c/gojs\"\u003eGoJS forum\u003c/a\u003e for any topics related to your questions.\u003c/p\u003e\n\u003cp\u003ePosting in the forum is the fastest and most effective way of obtaining support for any GoJS related inquiries.\nPlease register for support at Northwoods Software's \u003ca href=\"https://www.nwoods.com/register.html\"\u003eregistration form\u003c/a\u003e before posting in the forum.\u003c/p\u003e\n\u003cp\u003eFor any nontechnical questions about GoJS, such as about sales or licensing,\nplease visit Northwoods Software's \u003ca href=\"https://www.nwoods.com/contact.html\"\u003econtact form\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eLicense\u003c/h2\u003e\n\u003cp\u003eThe GoJS \u003ca href=\"https://gojs.net/latest/license.html\"\u003esoftware license\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eCopyright (c) Northwoods Software Corporation\u003c/p\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnorthwoodssoftware%2Fgojs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnorthwoodssoftware%2Fgojs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnorthwoodssoftware%2Fgojs/lists"}