1.2.49 • Published 3 years ago

@keep-app/react-diagrams v1.2.49

Weekly downloads
34
License
-
Repository
gitlab
Last release
3 years ago

STORM React Diagrams

PSA 2018: React Diagrams ~is currently~ was getting a bit of a rewrite to enable much more advanced features. To see the new foundation WIP visit https://github.com/projectstorm/react-canvas.

PSA 2019: I still want to jump onto the rewrite, but it is a much larger project than anticipated, so going to try maintain this one in the mean time.


DEMO: http://projectstorm.cloud/react-diagrams

(SOME) DOCS: https://projectstorm.gitbooks.io/react-diagrams

RELEASE NOTES : http://dylanv.blog/2018/03/03/storm-react-diagrams-5-0-0/

A super simple, no-nonsense diagramming library written in React that just works.

Join the chat at https://gitter.im/projectstorm/react-diagrams NPM NPM Package Quality CircleCI

Example implementation using custom models: Personal Project npm.io Get started with the default models right out of the box: npm.io

Introduction

A no-nonsense diagramming library written entirely in React with the help of a few small libraries. It aims to be:

  • Simple, and void of any fuss/complications when implementing it into your own application
  • Customizable without having to hack the core (adapters/factories etc..)
  • Simple to operate and understand without sugar and magic
  • Fast and optimized to handle large diagrams with hundreds of nodes/links
  • Super easy to use, and should work as you expect it to
  • Perfect for creating declarative systems such as programmatic pipelines and visual programming languages

Installing

yarn add @projectstorm/react-diagrams

Run the demos

After running yarn install you must then run: yarn run storybook

Building from source

Simply run webpack in the root directory (or export NODE_ENV=production && webpack if you want a production build) and it will spit out the transpiled code and typescript definitions into the dist directory as a single file. We use webpack for this because TSC cannot compile a single UMD file (TSC can currently only output multiple UMD files).

Checkout the docs

Engine settings

// Board related settings
board: {
  /*
   * Define board type
   * - movable: absolute positioning
   * - scrollable: using scrollbars
   * type: "movable" | "scrollable";
   * default: "movable"
   */
  type: 'scrollable',
},
// Zoom related settings
zoom: {
  /*
   * Keep/Adjust diagram position when zooming
   * type: boolean;
   * default: true
   */
  // center: true,
  // Zoom when scrolling related settings
  onScroll: {
    /*
     * Enable zooming using mouse scroll
     * type: boolean;
     * default: true
     */
    // enabled: true,
    /*
     * Inverse in/out zooming based on scrolling direction
     * type: boolean;
     * default: false
     */
    // inverse: false,
    /*
     * Use ctrl key to zoom
     * type: boolean;
     * default: true
     */
    // withCtrlKey: true,
    /*
     * Zoom delta
     * type: number;
     * default: 10
     */
    // delta: 10,
    /*
     * Center on mouse position
     * type: number;
     * default: true
     */
    // centerOnMouse: true
  },
  /*
   * Min zoom level
   * type: number
   * default: 10
   */
  // min: 10,
  /*
   * Max zoom level
   * type: number
   * default: 200
   */
  max: 100,
},
// Zoom to fit related settings
zoomToFit: {
  /*
   * Place nodes in the diagram center
   * type: boolean
   * default: false
   */
  // centerNodes: false
  /*
   * Calculate diagram dimensions with padding
   * type: number
   * default: 0
   */
  padding: 60,
  /*
   * Zoom to fit initially
   * type: boolean
   * default: false
   */
  // onStart: false,
},
// Auto distribute related settings
autoDistribute: {
  /*
   * Distance between nodes
   * type: number
   * default: 50
   */
  // padding: 50,
  // Distance from top left corner
  offset: {
    /*
     * Distance from top edge
     * type: number
     * default: 0
     */
    top: 60,
    /*
     * Distance from left edge
     * type: number
     * default: 0
     */
    left: 60,
  },
  /*
   * Callback to adjust default behaviour
   * type: Function
   * default: (distributedNodes) => {}
   */
  // renderer: () => {};
},
1.2.49

3 years ago

1.2.47

3 years ago

1.2.45

3 years ago

1.2.46

3 years ago

1.2.44

3 years ago

1.2.41

3 years ago

1.2.42

3 years ago

1.2.40

3 years ago

1.2.43

3 years ago

1.2.34

3 years ago

1.2.35

3 years ago

1.2.32

3 years ago

1.2.33

3 years ago

1.2.38

3 years ago

1.2.36

3 years ago

1.2.37

3 years ago

1.2.20

4 years ago

1.2.23

4 years ago

1.2.24

4 years ago

1.2.21

4 years ago

1.2.22

4 years ago

1.2.27

4 years ago

1.2.28

4 years ago

1.2.25

4 years ago

1.2.26

4 years ago

1.2.29

4 years ago

1.2.30

4 years ago

1.2.31

4 years ago

1.2.18

4 years ago

1.2.19

4 years ago

1.2.16

4 years ago

1.2.17

4 years ago

1.2.7-rr1

4 years ago

1.2.15

4 years ago

1.2.14

4 years ago

1.2.13

4 years ago

1.2.12

4 years ago

1.2.8

4 years ago

1.2.9

4 years ago

1.2.10

4 years ago

1.2.11

4 years ago

1.2.7

4 years ago

1.2.6

4 years ago

1.2.5

4 years ago

1.2.4

4 years ago

1.2.3

4 years ago

1.2.2

4 years ago

1.2.0

4 years ago

1.2.1

4 years ago

1.1.7

5 years ago

1.1.6

5 years ago

1.1.5

5 years ago

1.1.4

5 years ago

1.1.3

5 years ago

1.1.2

5 years ago

1.1.1

5 years ago

1.1.0

5 years ago

1.0.14

5 years ago

1.0.13

5 years ago

1.0.12

5 years ago

1.0.11

5 years ago

1.0.10

5 years ago

1.0.9

5 years ago

1.0.8

5 years ago

1.0.7

5 years ago

1.0.6

5 years ago

1.0.5

5 years ago

1.0.4

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago