Setting isInitial: false, isOngoing: false to group layout looses nodes

I have a group template map, category “Space” which is having layout property, due to the flag isInitial: false I’m not able to see the nodes inside group getting loaded from json.

I’m giving layout to group node template,

layout: this.$(go.TreeLayout, {
alignment: go.TreeLayout.AlignmentStart,
angle: 0,
compaction: go.TreeLayout.CompactionNone,
layerSpacing: 0,
layerSpacingParentOverlap: 1,
nodeIndentPastParent: 1.0,
nodeSpacing: 0,
setsPortSpot: false,
setsChildPortSpot: false,
isInitial: false,
isOngoing: false,
}),

on setting isInitial: true, the nodes inside group appears but on moving the nodes around and reloading diagram rearrange the nodes in treeLayout inside group.

I want too preserver the ability to reload the diagram with new location or position of node.

Do you have a TwoWay data Binding on the Node.location property?

I think you want to set Layout.isInitial on each layout to be either false or true depending on whether or not there is saved location information on each node in the group.

I’m having two way binding like this for my node.

new go.Binding(“location”, “loc”, go.Point.parse).makeTwoWay(
go.Point.stringify
),

The loading json doesn’t include “loc” property.

It sounds like you only want to perform the layout if the nodes don’t already have locations saved in the data.

That is discussed here: GoJS Layouts -- Northwoods Software