Changing attributes doesn't trigger NodeView.update()

We’re rendering our own NodeView component. The NodeType for which we are building the NodeView has some attributes and the look of our NodeView is dependent on those attributes. I was trying out a lot of things but it looks like neither NodeView.update() nor the NodeView’s constructor is not called when only changing a nodes attributes. This means a node is not rerendering when it’s attributes change.

I am not sure if this is a bug or it is supposed to work this way. Maybe there also is another way of doing what I want to do that I just couldn’t figure out yet… Any help appreciated :slight_smile:

How are you changing the attributes? Could you set up a minimal demo of the problem?

So I dig a bit further into the problem and it was a stupid mistake on our side. We accidentally mutated the nodes attributes directly and then dispatched a setNodeMarkup Command. In case anyone has a similar problem: Really keep an eye that you do not mutate the node directly but always use clones of the objects to perform your operations on.

I modified the dinosaur example a little, so if you click on a dinosaur the type of the dinosaur changes. A working example can be found here: https://glitch.com/edit/#!/walnut-beech

2 Likes