Kanban with links

I’m wondering if there’s a way of getting the kanban diagram to include links between nodes - Kanban Board?

I need to develop a diagram that allows the user to put nodes into ‘lanes’ (vertical) and then on selecting a node in the far left lane would display any related nodes in the right hand lane/s (either all lanes or progressively as the user selects). Kanban looks so good I wanted to use that even though the swimlane Beat Paths with Lanes for Divisions Using SwimLaneLayout might be a better place to start.

I guess I’m struggling with the number of options I have (that’s a good thing) to know where to start. I also like these as starting points but what would you suggest?

Any suggestions highly appreciated!

The nodes in the Kanban sample are indeed instances of the Node class, so you can add Links between them.

You can customize selection behavior by implementing a “ChangedSelection” DiagramEvent listener to highlight connected links and nodes. There are examples of this.

So … I tried this and am hitting errors. Our GoJS code is embedded in an AngularJS application and when I try to embed the sample it errors on some of the techniques employed. For example extending the GridLayout class in the follwoing line of code causes an error:

class PoolLayout extends go.GridLayout {

I’m assuming this means that the javascript framework doesn’t support classes / extending a class or that doing this within an AngularJS controller causes the error. Other javascript works but this and then code such as the following also fails:

mouseDrop: e => { e.diagram.currentTool.doCancel(); }

If you have any advice it would be very much appreciated!

Thanks Walter. Your help has been invaluable in previous cases too.

Huh? You can’t define new classes in your code? You need to figure out how to do that, even if you aren’t using GoJS.

How does the mouseDrop event handler fail?

Ah - it’s down to the JS implementation - we can’t use ES6 code because of the legacy of the application framework - AngularJS. So, I’d have to somehow convert your ES6 code backwards to ES5 (mainly the class extend) to get this to work right?

Try the sample code from v2.1.*, which is from before we started upgrading the samples to start using ES6 syntax.