Changing attributes doesn't trigger NodeView.update()


#1

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:


#2

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


#3

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