Git Product home page Git Product logo

react-gojs-example's Introduction

Build Status TypeScript

react-gojs-example

Example to show how to use GoJS in a React/Redux environment with react-gojs.

add a new state

You can try the live demo here.

Requirements

  • Node.js
  • Yarn

Build and Start

  • Run yarn install
  • Run yarn run build
  • Run yarn start

How it works?

GoJS is not designed to work out of the box with React and Redux. This project shows how to create a GoJS diagram with react-gojs. react-gojs provides a generic React component that wraps the diagram object and makes the integration in a React project easier.

Key parts of the project:

  • Diagram model (DiagramModel<NodeModel, LinkModel> type): The model is stored in the redux state. The idea is to add, remove or update nodes or links by dispatching actions.
  • MyDiagram: example of a presentational component that uses GojsDiagram with a custom layout (based on the GoJS minimal sample)
  • MyDiagramContainer: example of a container component connected to a redux store (the react+redux container pattern)
  • The onModelChange event (MyDiagram component) is used to sync our model (in the redux state) when a link or a node is removed from the ui diagram (with the delete key for example).

License

MIT License

react-gojs-example's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

react-gojs-example's Issues

Issue Can not change model properties

I build this example to Mendix Platform, it can start initial Root Node, however, when i try to press initial button, it got error like below. Moreover, the create node also has a same problem

My source Code: https://github.com/qntbkk/MendixGoJSTS.git

action DIAGRAM/INIT @ 16:00:59.153
2mxui.js?637152192275961749:73 Error: applyIncrementalJson cannot change Model properties
at B (go.js:12)
at ar.../../../gojs/release/go.js.t.Cq (go.js:1803)
at ar.../../../gojs/release/go.js.t.yx (go.js:1736)
at GojsDiagram.../../../react-gojs/dist/GojsDiagram.js.GojsDiagram.applyUpdatesFromModel (GojsDiagram.js:149)
at GojsDiagram.../../../react-gojs/dist/GojsDiagram.js.GojsDiagram.componentDidUpdate (GojsDiagram.js:67)
at za (mxui.js?637152192275961749:55)
at Ha (mxui.js?637152192275961749:55)
at mxui.js?637152192275961749:55
at Object.t.unstable_runWithPriority (mxui.js?637152192275961749:73)
at Ps (mxui.js?637152192275961749:55)
(anonymous) @ mxui.js?637152192275961749:73
mxui.js?637152192275961749:55 Uncaught Error: applyIncrementalJson cannot change Model properties
at B (go.js:12)
at ar.../../../gojs/release/go.js.t.Cq (go.js:1803)
at ar.../../../gojs/release/go.js.t.yx (go.js:1736)
at GojsDiagram.../../../react-gojs/dist/GojsDiagram.js.GojsDiagram.applyUpdatesFromModel (GojsDiagram.js:149)
at GojsDiagram.../../../react-gojs/dist/GojsDiagram.js.GojsDiagram.componentDidUpdate (GojsDiagram.js:67)
at za (mxui.js?637152192275961749:55)
at Ha (mxui.js?637152192275961749:55)
at mxui.js?637152192275961749:55
at Object.t.unstable_runWithPriority (mxui.js?637152192275961749:73)
at Ps (mxui.js?637152192275961749:55)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.