awesome-repositories.com
المدونة
awesome-repositories.com

اكتشف أفضل مستودعات المصادر المفتوحة باستخدام بحث مدعوم بالذكاء الاصطناعي.

استكشفعمليات بحث منسقةبدائل مفتوحة المصدربرمجيات ذاتية الاستضافةالمدونةخريطة الموقع
المشروعحولكيفية ترتيب النتائجالصحافةخادم MCP
قانونيالخصوصيةالشروط
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
NorthwoodsSoftware avatar

NorthwoodsSoftware/GoJS

0
View on GitHub↗
8,447 نجوم·2,841 تفرعات·HTML·6 مشاهداتgojs.net↗

GoJS

GoJS is a JavaScript diagramming library and canvas-based visualization engine used to build interactive flowcharts, organizational charts, and network diagrams. It functions as a data-driven framework that binds JavaScript data models to visual elements, enabling bidirectional synchronization between the underlying data and the graphical representation.

The library features a comprehensive graph layout engine capable of automatically arranging nodes into trees, grids, circles, or force-directed layouts. It distinguishes itself through a template-based system for generating visual parts and a transactional history model that supports atomic commits for reliable undo and redo operations.

Its capability surface covers a wide range of specialized diagram types, including BPMN modeling, Gantt charts, industrial process monitoring, and interactive floor planning. It includes advanced interaction controls such as drag-and-drop palettes, in-place text editing, and obstacle-avoidance link routing, while maintaining performance for large datasets via viewport virtualization.

The framework integrates with various frontend architectures and supports server-side rendering for image generation and automated testing.

Features

  • Interactive Diagramming Libraries - Functions as a library for embedding interactive, browser-rendered diagrams that bind data to visual templates.
  • Data-Driven Diagramming Frameworks - Provides a complete framework for building diagrams that are bidirectionally synchronized with JavaScript data models.
  • Node-Based Diagramming Frameworks - Provides a framework for building interactive, node-based visual editors and diagrams in web applications.
  • Drag and Drop - Provides comprehensive drag-and-drop functionality for moving parts within diagrams or importing external HTML elements.
  • Organizational Charting - Creates hierarchical organizational charts with integrated capabilities for structural editing and reorganization.
  • Automated Graph Layouts - Uses algorithmic positioning such as tree, circular, and force-directed layouts to organize complex graphs.
  • Graph Data Models - Manages the diagram as a collection of nodes and links with separate data for each.
  • Graph Layout Engines - Implements an algorithmic system for automatically arranging nodes into trees, grids, and force-directed layouts.
  • Visual Data Modeling - Connects structured data models to a graphical interface for real-time synchronization and bidirectional updates.
  • Change Tracking - Tracks additions, deletions, and modifications to the diagram model to support history and synchronization.
  • Undo-Redo State History - Tracks state changes as atomic operations to provide reliable undo and redo functionality for user actions.
  • Diagram - Supports discarding changes made during a current batch operation to restore the previous diagram state.
  • Composite Visual Elements - Constructs complex visual parts using nested panels, shapes, text, and images as the primary building blocks for nodes.
  • Flowchart Rendering - Implements a programmatic rendering engine for custom flowcharts and process diagrams using vector graphics.
  • Canvas Rendering Engines - Implements a high-performance rendering system that draws nodes and links to an HTML Canvas or SVG.
  • Link Path Routing - Determines the path of links between nodes using curved lines or obstacle-avoidance routing to prevent overlaps.
  • Interactive Canvas Editing - Provides tools for users to drag elements and reconnect links directly on the canvas.
  • Template-Based Element Generation - Generates visual diagram parts by mapping data records to predefined reusable appearance templates.
  • Tree Layouts - Implements algorithmic tree-structured graph layouts to automatically arrange nodes into layers.
  • Algorithmic Positioning Engines - Calculates node coordinates using a set of pluggable layout algorithms for trees, grids, and graphs.
  • Atomic Transactional State Commits - Allows recording batches of diagram changes as single atomic operations for consistent undo and redo.
  • Diagram Link Styles - Provides diverse link styles including orthogonal and perpendicular lines that automatically adapt to node alignment.
  • Element Relationship Mapping - Connects nodes using lines and custom link types to represent relationships based on underlying data.
  • Large Dataset Optimizations - Reduces memory overhead by creating only visible elements while handling thousands of data points.
  • Composite Visual Trees - Constructs nodes and links as a hierarchy of shapes, text blocks, and panels to define visual layout.
  • Undo-Redo Management - Manages the editing timeline through a transactional system for state restoration.
  • Canvas Pan and Zoom Controls - Provides tools for navigating the canvas, including pinch-zooming and infinite scrolling.
  • Bidirectional Data-Binding - Links visual element properties to a JavaScript data model for bidirectional automatic updates.
  • Component Templates - Uses reusable templates to define the appearance and layout of nodes and links.
  • Data-to-UI Bindings - Links visual element properties to fields in a data model for automatic updates.
  • Canvas Element Repositioning - Enables repositioning of visual elements on the canvas by updating their location properties.
  • Rotation Handles - Implements interactive rotation handles for spinning visual elements around their center point.
  • Interactive Visual Modeling Tools - Provides a framework for creating editable diagrams with interactive palettes, transactional history, and in-place text editing.
  • Element Resizers - Provides interactive resize handles to programmatically and manually update element bounding box dimensions.
  • User Input Processing - Processes mouse, touch, and keyboard input via a tool system to execute interactive commands.
  • Viewport-Based Virtualization - Maintains high performance for large datasets by rendering only elements currently within the visible viewport.
  • Visual Component Templates - Uses a template-based system to map data records to reusable visual definitions for nodes and links.
  • Bidirectional Bindings - Provides bidirectional synchronization between underlying data models and visual diagram elements.
  • Interactive Link Reconnection - Supports disconnecting and reconnecting link ends to valid connection ports via drag-and-drop.
  • BPMN 2.0 Web Modelers - Creates interactive process notation diagrams with custom templates and linking rules.
  • Floor Plan Design - Provides capabilities for creating spatial layouts with drag-and-drop palettes and reshapable area definitions.
  • Gantt Charts - Creates project timelines with collapsible task trees and scheduled durations in a Gantt chart format.
  • Interactive Floor Planning - Enables designing spatial layouts with grid-snapping walls, room definitions, and drag-and-drop furniture.
  • Mind Mapping Software - Develops interactive mind maps using double-tree diagrams with dynamic node addition.
  • Warehouse Layout Planning - Enables the creation of warehouse layouts with reshapable areas and drag-and-drop palettes.
  • Cascading Deletions - Ensures that deleting a parent node automatically removes all of its descendant children.
  • Data Loading - Automatically loads structured JSON objects or arrays into the diagram model.
  • Model Persistence - Saves and loads diagram state as JSON-formatted text for persistence and restoration.
  • Custom Tool Integrations - Enables overriding methods of command handlers, tools, and layouts to add custom interactive behaviors.
  • Sequence Diagrams - Provides specialized templates and routing for creating interactive sequence diagrams.
  • State Diagrams - Supports the construction of state diagrams with dynamic runtime node and link creation.
  • Data-Driven Diagram Generators - Generates visual diagrams by reading and processing structured JSON data.
  • Multi-View Synchronization - Links multiple diagrams to a single data model so changes are reflected across all views.
  • Concept Maps - Displays interlinked concepts using a force-directed layout with link labels.
  • Data-Driven Visual Styling - Provides the ability to apply distinct visual styles to nodes automatically based on their associated data attributes.
  • Diagram Animations - GoJS moves nodes or tokens along link paths and applies visual effects to highlight specific parts.
  • Edge Flow Animations - Creates animated visual effects on links to represent the flow of materials through pipes and valves.
  • Family Tree Renderers - Arranges nodes in hierarchical layers to display genealogical relationships across generations.
  • Fill and Stroke Styles - Provides precise control over the fill color, stroke color, and other visual properties of drawn shapes.
  • Custom Shape Rendering - Renders a variety of predefined and user-defined custom shapes directly on the canvas.
  • Shape Rendering - Implements the rendering of geometric primitives such as rectangles, ellipses, and polygons within the diagram canvas.
  • Grid-Based Node Layouts - Positions nodes in a grid-like arrangement with configurable ordering, spacing, and wrapping.
  • Link Routing Controls - Provides orthogonal, curved, and parallel routing options for connection lines between diagram nodes.
  • Image Format Rendering - Supports loading and rendering images from various formats and sources as elements within diagram nodes.
  • Network Path Routing - Computes paths through connected nodes while avoiding obstacles and respecting specific link constraints.
  • Obstacle-Avoidance Link Routing - Computes paths for connecting lines that automatically route around nodes to prevent visual overlap.
  • Obstacle Avoidance Routing - Plots link paths that automatically avoid crossing over nodes using a specialized obstacle-avoidance router.
  • Path Animation Utilities - Animates diagram parts moving along complex link paths to illustrate progression or flow.
  • Diagram Path Animations - Provides the ability to animate nodes or tokens moving along link paths to visualize flow and progression.
  • Snap Alignment Libraries - Positions nodes and links using grid snapping and precise alignment tools for uniform distribution.
  • Subgraph Grouping - Treats collections of nodes and links as single units to create manageable subgraphs.
  • Schematic Capture Editors - Supports drawing electronic circuit diagrams using specialized symbols, wires, and routed connections.
  • Functional Network Topologies - Designs network topologies with the ability to organize nodes into functional subnetworks.
  • Interactive Connection Ports - Allows users to dynamically add and manage connection ports on nodes via buttons or context menus.
  • Dynamic System Modeling - Provides visualization capabilities for system dynamics, including material storages and flows.
  • Circular Layouts - Positions nodes in circular or radial arrangements around a central point.
  • Directed Graph Layouts - Places nodes of directed graphs into organized layers of rows or columns for hierarchical readability.
  • Component Behavior Overrides - Allows overriding internal methods and modifying properties of nodes and links to customize interaction and rendering.
  • Custom Interactive Tools - Supports the creation of custom interaction behaviors such as lasso selection and freehand drawing.
  • Container Nesting - Provides hierarchical containers that organize related nodes into expandable and collapsible groups.
  • Industrial Monitoring Screens - Builds SCADA-style monitoring screens and process flow visualizations for industrial control systems.
  • Industrial Process Visualization - Creates SCADA-style monitoring screens and piping diagrams with live indicators and animated process flows.
  • Real Time Process Monitors - Displays real-time industrial data on SCADA-style diagrams with updating indicators and icons.
  • Security Operation Dashboards - Constructs real-time security operation dashboards displaying live video feeds and door status.
  • Buttons - Integrates clickable interactive controls like expanders and checkboxes directly into the visual nodes.
  • Chart Embeddings - Integrates various data visualization components, including pie and bar charts, directly into individual nodes.
  • Collapsible Containers - Implements containers that group diagram elements together and can be expanded or collapsed by the user.
  • Component Palettes - Ships a draggable palette for placing furniture, appliances, and stairs into a diagram with resizing handles.
  • Context Menus - Provides pop-up context menus for executing actions on specific diagram elements.
  • Custom Node Geometries - Defines complex unique figures using SVG-like path strings and segment objects.
  • Custom Node and Edge Geometries - Constructs arbitrary shapes by parsing geometry path strings or assembling path figures.
  • Custom UI Control Implementations - Implements specialized UI widgets like gauges, meters, and checkboxes directly within the diagram canvas.
  • Overview Maps - Provides a thumbnail view of a larger diagram to show the current viewport.
  • Drag-and-Drop Palettes - Ships a draggable element palette for easily adding nodes and components to a diagram.
  • Force-Directed Layouts - Positions nodes using physical simulations of attraction and repulsion forces.
  • Floor Plan Components - Allows adding appliances, stairs, and furniture from a palette with support for snapping, rotation, and resizing.
  • Link Creation Handles - Allows users to create new links by dragging from the edge of a node.
  • Interaction Logic Hooks - Provides functional interfaces and hooks to override built-in tools and events for custom interaction models.
  • Interaction Controls - Implements high-level editor interaction logic including context menus, tooltips, and keyboard shortcuts.
  • Swimlane Layouts - Builds collapsible swimlanes that constrain nodes to stay within their lane.
  • Hover Previews - Displays informational tooltips as rich content previews when a user hovers over a diagram object.
  • Hover-Activated Action Buttons - Displays contextual action buttons in a node's adornment when the user hovers over it.
  • In-Place Editing Inputs - Allows users to modify text blocks directly within the diagram using custom HTML editors.
  • Input Handling Systems - Processes mouse and keyboard events through a modal tool system to execute specific interaction behaviors.
  • Interactive Connection Managers - Provides tools for dynamically drawing, relinking, and deleting connections between node ports.
  • Kanban Boards - Builds interactive Kanban boards for categorizing and editing tasks within columns.
  • Custom Layouts - Provides base structures for developing bespoke positioning algorithms to arrange nodes and links.
  • Node Grouping Visuals - Implements visual boundaries and panels to group nodes into clusters or subgraphs.
  • Data Merging - Applies incremental changes to the model without requiring a full reload of the data set.
  • Grid Snapping - Provides a coordinate grid that allows users to snap element positions and sizes to precise increments.
  • SVG Integration - Integrates SVG path strings to create custom vector-based shapes and icons within diagrams.
  • Viewport Focus Animations - Animates the diagram view to scroll to and scale a specific node to draw user attention.
  • Viewport Scrolling Control - Moves the viewport to bring a particular node, link, or part into view.
  • Boundary Constraints - Restricts movement or placement of nodes using custom dragging and boundary rules.
  • Keyboard Shortcut Mapping - Handles keyboard input events to trigger specific diagram actions or custom command logic.
  • Frontend Framework Integrations - Enables embedding diagrams into various JavaScript frontend framework architectures without external dependencies.
  • Viewport Fitting Controls - Adjusts the viewport so the entire diagram content is visible within the display area.

سجل النجوم

مخطط تاريخ النجوم لـ northwoodssoftware/gojsمخطط تاريخ النجوم لـ northwoodssoftware/gojs

بحث بالذكاء الاصطناعي

استكشف المزيد من المستودعات الرائعة

صف ما تحتاجه بلغة بسيطة — وسيقوم الذكاء الاصطناعي بترتيب آلاف المشاريع مفتوحة المصدر المنسقة حسب الصلة.

Start searching with AI

الأسئلة الشائعة

ما هي وظيفة northwoodssoftware/gojs؟

GoJS is a JavaScript diagramming library and canvas-based visualization engine used to build interactive flowcharts, organizational charts, and network diagrams. It functions as a data-driven framework that binds JavaScript data models to visual elements, enabling bidirectional synchronization between the underlying data and the graphical representation.

ما هي الميزات الرئيسية لـ northwoodssoftware/gojs؟

الميزات الرئيسية لـ northwoodssoftware/gojs هي: Interactive Diagramming Libraries, Data-Driven Diagramming Frameworks, Node-Based Diagramming Frameworks, Drag and Drop, Organizational Charting, Automated Graph Layouts, Graph Data Models, Graph Layout Engines.

ما هي البدائل مفتوحة المصدر لـ northwoodssoftware/gojs؟

تشمل البدائل مفتوحة المصدر لـ northwoodssoftware/gojs: cytoscape/cytoscape.js — Cytoscape.js is a JavaScript library designed for rendering interactive node-link diagrams and analyzing complex… xyflow/xyflow — This project is a React-based framework for constructing interactive, node-based visual interfaces. It provides a… konvajs/react-konva — react-konva is a declarative React canvas graphics library and 2D vector graphics framework. It serves as a rendering… alyssaxuu/flowy — Flowy is a JavaScript library designed for building interactive, drag-and-drop flowchart interfaces. It enables the… antvis/x6 — X6 is a JavaScript diagramming library and SVG graph rendering engine used to build interactive flowcharts, mind maps,… jerosoler/drawflow — Simple flow library 🖥️🖱️.

بدائل مفتوحة المصدر لـ GoJS

مشاريع مفتوحة المصدر مشابهة، مرتبة حسب عدد الميزات المشتركة مع GoJS.
  • cytoscape/cytoscape.jsالصورة الرمزية لـ cytoscape

    cytoscape/cytoscape.js

    10,857عرض على GitHub↗

    Cytoscape.js is a JavaScript library designed for rendering interactive node-link diagrams and analyzing complex network structures directly within a web browser. It functions as a comprehensive framework for building responsive graph interfaces, providing the tools necessary to visualize relational datasets and manage hierarchical data models. The library distinguishes itself through a modular architecture that supports custom layout algorithms and rendering styles, allowing for the integration of physics-based engines to organize complex network structures automatically. It utilizes an even

    JavaScriptanalysiscytoscapejsgraph-theory
    عرض على GitHub↗10,857
  • xyflow/xyflowالصورة الرمزية لـ xyflow

    xyflow/xyflow

    37,257عرض على GitHub↗

    This project is a React-based framework for constructing interactive, node-based visual interfaces. It provides a platform for building canvases where users define, connect, and organize logical processes, data pipelines, or complex workflows through a graphical interface. By utilizing a modular component architecture, it enables the development of low-code environments, visual programming tools, and interactive diagramming applications. The framework distinguishes itself through a declarative approach where state changes automatically synchronize with the visual representation of nodes and e

    TypeScriptflowchartgraphjavascript
    عرض على GitHub↗37,257
  • konvajs/react-konvaالصورة الرمزية لـ konvajs

    konvajs/react-konva

    6,362عرض على GitHub↗

    react-konva is a declarative React canvas graphics library and 2D vector graphics framework. It serves as a rendering engine and interactive canvas toolset that allows for the drawing and management of complex 2D shapes and graphics using a React component model. The library maps reactive component trees to an underlying object-oriented graphics scene graph, enabling the synchronization of visual states with application data. It provides specialized tools for building interactive graphical interfaces, including support for multi-touch gestures, drag-and-drop functionality, and real-time trans

    TypeScript
    عرض على GitHub↗6,362
  • alyssaxuu/flowyالصورة الرمزية لـ alyssaxuu

    alyssaxuu/flowy

    12,048عرض على GitHub↗

    Flowy is a JavaScript library designed for building interactive, drag-and-drop flowchart interfaces. It enables the creation of canvas-based environments where users can arrange blocks to design custom logic sequences, decision trees, and visual process maps. The library provides a structured approach to diagramming by organizing elements into a hierarchical parent-child tree. It features coordinate-based snapping logic to ensure blocks automatically align into organized layouts during user interaction. To support complex system configurations, the tool includes event-driven callback hooks th

    JavaScriptdiagramsdrag-and-dropengine
    عرض على GitHub↗12,048
  • عرض جميع البدائل الـ 30 لـ GoJS→