Changes:
- the-graph CSS themes are now in the
dist/
folder instead oftheme/
folder editor.getDefaultMenus
method has now been removed
Internal changes:
- Now using WebPack for the builds
New features
the-graph-render
: CLI tool for a graph to PNG/JPEG/SVG output. This is especially useful for generating images for documentation purposes. Implemented by executing the-graph codebase in a browser using JsJob. Some of the rendering API is available experimentally underTheGraph.render
, or one can execute the .jsjob programatically in Node.js.
Bugfixes
- Fix node menu not showing due missing require(). Regression in 0.11.0
Breaking changes
- Upgraded from React 14 to React 15. It is no longer a dependency, so applications using the-graph can (and must) pull in an appropriate version.
Internal changes
- Tests are now using Jest instead of Mocha/Chai. They are ran locally against JsDom, which makes them also in Pull Requests which was not possible with Saucelabs.
- More migration of code into proper CommonJS modules
Bugfixes
- Fixed unable to create edge from node context menu
Bugfixes
- Fixed compatibility with browsers only supporting
TouchEvent
, including Safari on iOS. - Fixed exception on long-press if no menu was defined
UI changes
- Movement threshold for starting panning reduced, making it a bit easier
UI changes
- Edges cannot be dropped on target port. Have to tap to complete edge connection.
- Menu item cannot be opened by swiping and releasing. Have to tap to perform menu action.
Breaking changes
- Polymer element
the-graph-thumb
has been removed. Should instead use the JavaScript APITheGraph.thumb.render()
, as shown inexamples/demo-thumbnail.html
. - Polymer element
the-graph-nav
has been removed. Should instead use the new React componentTheGraph.nav.Component
, as shown inexamples/demo-full.html
- Polymer element
the-graph
has been removed. Use React componentTheGraph.Graph
instead. - Polymer element
the-graph-editor
has been removed. Use React componentTheGraph.App
instead, as shown inexamples/demo-simple.html
Deprecated APIs, to be removed
TheGraph.editor.getDefaultMenus()
, should be explicitly set by app.TheGraph.autolayout.applyAutolayout()
, should be included in app if wanted.TheGraph.App::updateIcon()
, should instead passnodeIcons
prop.TheGraph.App::getComponent()
, should instead use info from the passed inlibrary
prop.- Property
getMenuDef
ofTheGraph.App
is deprecated, should pass the data inmenus
prop instead. - All methods on React elements are planned to be deprecated in favor of passing props.
Added APIs
TheGraph.library.libraryFromGraph()
, returns component library from afbp-graph.Graph
instance in format compatible with thelibrary
prop.
Bugfixes
- Changing
graph
prop of React element should now correctly reset and follow new graph instance.
Internal changes
- Usage of PolymerGestures has been replaced by hammer.js
- No longer depends on Polymer or webcomponents
- All dependencies are installed via NPM, bower is no longer used
- Some more modules have been converted to proper CommonJS
New features
the-graph-editor
Polymer element andGraph
React component now support areadonly
property. When set to true, destructive actions
Internal changes
menuCallback
: An empty object is considered falsy and will not show a menu.
Additions
fbp-graph
dependency is now exposed asfbpGraph
on the top-level module. Ex:TheGraph.fbpGraph
when includingdist/the-graph.js
.
Breaking changes
- Polymer element
the-graph-nav
no longer takes and directly manipulateseditor
. Instead it fires events likepanto
. And it expectsgraph
andview
attributes to be set. Tapping the element does not manipulate anything, only fires thetap
event. Seeexamples/demo-full.html
for usage. - Polymer element
the-graph-editor
no longer accepts a JSON string as input forgraph
property. Instead the property must always be afbpGraph.Graph
instance. The eventgraphInitialised
, which was used for this old async behavior has also been removed.
Breaking changes
- Polymer elements no longer automatically include the neccesary JS files.
Instead users must include
dist/the-graph.js
, which bundles the needed JavaScript and provides API underwindow.TheGraph
. The file is included inthe-graph
NPM packages. This is preparation for removing the Polymer dependency, instead providing JS APIs and React components.
- Add all dependencies besides Polymer to NPM. In the fututure NPM will be the recommended way to install, and Bower is considered deprecated.
- Depend on fbp-graph instead of NoFlo. Build size significantly reduced.
- Examples were cleaned up and can now be found under examples/
- Arrows on edges (#277) thanks @ifitzpatrick
- Font Awesome 4.6.3
- Fix pinch on touch screens (#286)
- Hotkeys: delete, f for fit, s to zoom selection (#272) thanks @ifitzpatrick
- React 0.14.3 (#231) thanks @u39kun
- Build dependencies
- JSHint with inline scripts; remove grunt-lint-inline
- Polymer 0.5.6
- Fix tooltip bug (#226)
- Fix pinch-to-zoom crash (introduced with #218)
- Fire graphInitialised event (#204)
- Allow max/min zoom parameterised (#218)
- Ports of type 'any' highlight for incoming edges (#220)
- Better thumbnail drawing (#221)
- (previous 4 thanks @townxelliot)
- Icon/library fix (#223)
- Font Awesome 4.4.0
- React 0.13.3
- Font Awesome 4.3.0
- React 0.12.2
Polymer 0.5.3(doesn't work in Safari 7-8)
- Define offset of graph editor (#190) thanks @fabiancook
- Improve heartbeats for animated edges (#194) thanks @lhausermann
- Fire "nodes" event when selected nodes change
- Fire "edges" event when selected edges change
- Remove selection on delete (#195)
- Update to Polymer 0.5.2
React.createFactory
anddisplayName
for all React elements- Can't access element
key
in React >=0.12.0 (reduced case)
- Update to React 0.12.1
- Move to klayjs-noflo
- Fix Windows build (#192)
- Update to Polymer 0.5.1
- Enable SVG icon to be loaded (#178) thanks @lhausermann
- font-awesome to 4.2.0
- Copy and paste (#167) thanks @mpricope
- Deployed with noflo-ui 0.2.0
- map-style zooming to node (#165) thanks @djdeath
- PolymerGestures fixed with Polymer 0.4.0
- Factories for component customization (#157) thanks @hayesmg
- Node height expands when there are many ports (#158)
- lib updates
- including noflo via npm; build with
grunt browserify
grunt build
now builds the Font Awesome unicode map, so we can use aliases #149
- Working with Polymer 0.2.3 and native custom elements.
- First all-SVG version
- Goodbye slow DOM
- All custom elements