diff --git a/src/webui/client/modules/performances/views/node.js b/src/webui/client/modules/performances/views/node.js index ccbb31455..fc73025b7 100644 --- a/src/webui/client/modules/performances/views/node.js +++ b/src/webui/client/modules/performances/views/node.js @@ -171,10 +171,15 @@ define(['application', 'marionette', './templates/node.tpl', 'lib/api', 'undersc this.ui.container.addClass('app-disabled') } }, - showSettings: function(node) { + showSettings: function (node) { + let self = this if (node === this.node) return this.node = node this.listenTo(node, 'change', this.updateNode) + this.listenTo(this.collection, 'add remove', function (model) { + if (self.node === model) + self.updateNode(model) + }); this.updateNode(node) this.ui.container.removeClass('app-disabled') this.ui.nodeTabs.removeClass('active') diff --git a/src/webui/client/modules/performances/views/node_settings.js b/src/webui/client/modules/performances/views/node_settings.js index f4d737c82..74157eeff 100644 --- a/src/webui/client/modules/performances/views/node_settings.js +++ b/src/webui/client/modules/performances/views/node_settings.js @@ -64,7 +64,9 @@ define(['application', 'marionette', './templates/node_settings.tpl', '../entiti if (this.model.hasProperty('blender_mode')) this.ui.kfModeSelect.val(this.model.get('blender_mode')) if (this.model.hasProperty('message')) this.ui.messageInput.val(this.model.get('message')) if (this.model.hasProperty('attention_region')) this.selectAttentionRegion() - + this.updateButtons() + }, + updateButtons: function () { if (this.collection.contains(this.model)) this.ui.createButton.hide() else @@ -73,6 +75,10 @@ define(['application', 'marionette', './templates/node_settings.tpl', '../entiti onAttach: function() { let self = this, settings = this.model.getSettings() + + this.listenTo(this.collection, 'add remove', function (model) { + if (self.model === model) self.updateButtons() + }) this.properties = this.model.getConfig().properties