No description
Find a file
2023-08-25 18:22:45 +01:00
.circleci fix: forces case sensitive dir names through Git 2023-07-25 16:31:06 +01:00
.codesandbox feat: adds codesandbox config 2023-07-29 10:04:13 +01:00
.vscode refactor: integrates the renderer with react 2023-07-20 16:45:54 +01:00
docs fix: updates documentation link prefixes 2023-08-25 18:22:45 +01:00
src feat: adds documentation 2023-08-25 18:09:51 +01:00
webpack chore: builds isopacks separately 2023-08-21 13:47:26 +01:00
.eslintrc refactor: connector functionality 2023-08-15 16:24:39 +01:00
.gitignore chore: configures CI 2023-03-16 21:27:09 +00:00
.nvmrc chore: adds an nvmrc file to ensure consistent node version 2023-08-05 09:54:31 +01:00
.prettierrc refactor: integrates the renderer with react 2023-07-20 16:45:54 +01:00
jest.config.js feat: implements group rendering (UI not implemented yet) 2023-07-26 13:04:27 +01:00
LICENSE
package-lock.json 0.3.49 2023-08-21 16:33:37 +01:00
package.json feat: adds documentation 2023-08-25 18:09:51 +01:00
README.md feat: adds documentation 2023-08-25 18:09:51 +01:00
tsconfig.json chore: excludes node_modules in tsconfig 2023-08-17 16:14:40 +01:00

readme-header

Isoflow Editor | Github | Discord

An open-source React component for drawing network diagrams.

License: MIT CircleCI

Key Features

  • Annotation tools: Annotate your architecture with isometric icons, labels, regions and connectors.
  • Customizable: Use the standard free set of networking icons (also included under the MIT licence), or create your own.
  • Export options: Export diagrams as images, JSON or YAML.

Roadmap

Beta release progress: ████████░

  • Basic view controls (pan & zoom)
  • Create / delete nodes
  • Create / delete connectors
  • Create / delete rectangle areas
  • onSceneUpdate callback
  • Drag items
  • Iconpacks
  • Documentation
  • Export options

Quick start

Install the Isoflow npm package:

npm install isoflow

Basic usage is as follows:

import Isoflow from 'isoflow';
import { networkingIsopack } from 'isoflow/dist/iconpacks';

const initialData = {
  icons: networkingIsopack,
  nodes: [
    {
      id: "node1",
      iconId: "server",
      position: {
        x: 0,
        y: 0,
      },
    },
  ],
  connectors: [],
  rectangles: []
};

const App = () => (
  <Isoflow initialData={initialData}>
);

Note: Isoflow cannot be server-side rendered. If using Next.js, make sure you only import Isoflow in the browser:

const Isoflow = dynamic(() => import("isoflow"), {
  ssr: false,
});

Developer documentation

For more detailed API documentation, examples and more, see the developer documentation.

CodeSandbox

Demo the latest version of Isoflow on Codesandbox here. The sandbox is always synced with the Github repo.

Contributing