Skip to main content

Release 1.1.0

· 4 min read
sporritt

Release 1.1.0 of VisuallyJs adds a couple of very useful capabilities - a component to manage scrollable lists (such as for data mappers), and the ability to declaratively hide/show content based on zoom level.

Scrolling list manager​

Configure a scrollable list with a single DOM attribute.

export function MyList() {
return <div data-vjs-list={true}>
<div data-vjs-port="1">Item One</div>
<div data-vjs-port="2">Item Two</div>
<div data-vjs-port="3">Item Three</div>
...
</div>
}

VisuallyJs will attach a listener to this component and then whenever it is scrolled, edges attached to any of the child elements that are scrolled out of view will be moved so that they are attached to the component's container.

Displaying content based on zoom​

In some applications, you might want to display more content on your nodes and groups when the canvas is zoomed in, and less when it is zoomed out, to reduce clutter. In 1.1.0 we've added support for this across our various library integrations.

Use the new useZoom hook to get access to the current zoom as state:

import { useZoom } from '@visuallyjs/browser-ui-react';

export default function ZoomDisplay({ ui, obj, model }) {
const zoom = useZoom(ui);

return (
<div style={{ position: 'absolute', top: 10, left: 10, background: 'white', padding: '5px' }}>
Current Zoom: {(zoom * 100).toFixed(0)}%
{zoom > 1.5 && <p>High magnification active</p>}
{zoom < 0.5 && <p>Low magnification active</p>}
</div>
);
}

Other updates​

In addition to these two new capabilities, we've also made a number of small updates:

  • Updated the ForceDirected layout to ensure that attraction/repulsion is clamped to a specific range, to avoid blowouts in positioning.
  • Palette uses .vjs-palette-drag-active and .vjs-palette-drag-hover classes now, instead of using the same ones that are used in the edge drag lifecycle.
  • Improved API docs
  • Fixed issue in Snaplines plugin that would cause it to not reset if drag was aborted.
  • Added the ability to provide sort function to the GridLayout (and ColumnLayout/RowLayout)
  • Fixed positioning issue when labels on a chart were rotated 45 degrees to maximise space
  • Added support for pluggable router


Try VisuallyJs​

VisuallyJs offers an extensive list of starter apps, diagrams, charts and dashboards to quick start your development, in React, Angular, Vue, Svelte and Typescript/Javascript.

VisuallyJs - JavaScript and Typescript diagramming library that fuels exceptional UIs
Call Flow
Use VisuallyJs to build a visual Call Flow editor
VisuallyJs - industry standard diagramming and rich visual UI Javascript and Typescript library
AI Agent Builder
Use VisuallyJs to create an advanced AI agent builder
VisuallyJs - callflow builders, sankey charts, database schemas, ERD diagrams and more
Chatbot
Use VisuallyJs to build a Chatbot editor, with actions, messages, input and choices
VisuallyJs - leading alternative to GoJS, JointJS, ReactFlow and SvelteFlow
Flowchart
Fully featured flowchart builder including support for custom shapes, edge routing to avoid vertices, shape resize/rotate, SVG/PNG/JPG export and more
VisuallyJs - effortlessly build professional node based UIs with Javascript, Typescript, React, Svelte, Angular and Vue
BPMN
BPMN editor for modelling the steps of a business process. Pools, lanes, and a full set of task, event and gateway types
VisuallyJs - build diagrams and rich visual UIs fast
ERD
ERD editor for modelling the steps of a business process
VisuallyJs - JavaScript and Typescript diagramming library that fuels exceptional UIs
Gantt
Interactive Gantt chart featuring tasks, task groups and milestones
VisuallyJs - leading alternative to GoJS, JointJS, ReactFlow and SvelteFlow
Kanban
Fully featured Kanban board. Drag items between columns and use the inspector to update items and columns
VisuallyJs - leading alternative to GoJS, JointJS, ReactFlow and SvelteFlow
Database Schema
Database Schema builder with support for tables, views, multiple columns types, and column relationships
When you've reached the limits with ReactFlow, VisuallyJs has what you need
Org Chart
Uses the classic org chart layout and provides an inspector from which the user can navigate around
When you've reached the limits with ngDiagram, VisuallyJs has what you need
Circuit Diagram
Fully featured starter app containing a circuit diagram builder
VisuallyJs - industry standard diagramming and rich visual UI Javascript and Typescript library
Scada/HMI
Professional and modern Scada/HMI application with fluid, heating/cooling & instrumentation shapes, adhering to the HMI ISA-101 Design Standard
VisuallyJs - industry standard diagramming and rich visual UI Javascript and Typescript library
Mindmap
The mindmap builder highlights several advanced features, such as custom layouts, parsers and exporters
VisuallyJs - industry standard diagramming and rich visual UI Javascript and Typescript library
Neighbourhood Views
Demonstrates how to include multiple views of a dataset on one page
VisuallyJs - JavaScript and Typescript diagramming library that fuels exceptional UIs
Logic Gates
Fully featured starter app containing a logic gates diagram builder
VisuallyJs - JavaScript and Typescript diagramming library that fuels exceptional UIs
Template
Basic starter app demonstrating how to setup VisuallyJs and its main features
VisuallyJs - callflow builders, sankey charts, database schemas, ERD diagrams and more
Area & Line charts
Use VisuallyJs to create area and line charts
VisuallyJs - JavaScript and Typescript diagramming library that fuels exceptional UIs
Bar & Column charts
Multiple series, stacked, grouped, pivoted, and much more
When you've reached the limits with ngDiagram, VisuallyJs has what you need
Scatter & Bubble charts
Circle, rectangle, triangle or custom markers, multiple series, fully customizable
VisuallyJs - callflow builders, sankey charts, database schemas, ERD diagrams and more
Sankey chart
Use VisuallyJs to create a professional Sankey chart, with support for pivoting
VisuallyJs - JavaScript and Typescript diagramming library that fuels exceptional UIs
Supply Chain Analyzer
Dashboard for managing and analyzing supply chains
VisuallyJs - build diagrams and rich visual UIs fast
Network Infrastructure
Combine a network management diagram with charts showing projected cost and resource usage
VisuallyJs - effortlessly build professional node based UIs with Javascript, Typescript, React, Svelte, Angular and Vue
Scrolling Lists
Use the ListManager plugin to manage scrolling lists: as elements are scrolled out of the view, their edges are moved to the list container
VisuallyJs - leading alternative to GoJS, JointJS, ReactFlow and SvelteFlow
FIFA World Cup
A visualizer for the FIFA World cup - group stages, team journeys and a tournament view.
VisuallyJs - industry standard diagramming and rich visual UI Javascript and Typescript library
Fault Tree Analysis
Combines a fault tree analysis diagram with charts showing risk and list of cut sets