Binding reset on moving the node

I am unable to reproduce any problem. I started from the sample that I gave you in Unique names on drag/drop - #4 by walter and I made the following changes:

  • added a “VIS” property to the Model.modelData object:
"modelData": {"red":1, "green":1, "blue":0, "orange":0, "none":0, "VIS": false},
  • added a small Shape to the node template:
      . . .,
      $(go.Shape,
        { visible: false, width: 8, height: 8, alignment: go.Spot.BottomRight },
        new go.Binding("visible", "VIS").ofModel())

Now when I load the model, the nodes do not show any small black square in the bottom right corner of each node. Drag-and-dropping a node from the Palette creates a node that does not have that small square either.

Then I modify the “VIS” property of the modelData object:

myDiagram.model.commit(m => m.set(m.modelData, "VIS", true))

Now suddenly all of the nodes in the diagram have those small squares. And when I drag-and-drop a new node from the Palette, it does too.

Naturally, setting “VIS” back to false hides all of the small squares.