From 199dd0149b5b328b52cafd5ecb07a120aa1473a7 Mon Sep 17 00:00:00 2001 From: Armen Kesablyan Date: Mon, 25 Jun 2012 16:56:06 -0700 Subject: Binding View - Objects Replace existing source Object if it exists Signed-off-by: Armen Kesablyan --- js/controllers/objects-controller.js | 10 +++++++++- js/panels/binding/edit-binding-view.reel/edit-binding-view.js | 1 + 2 files changed, 10 insertions(+), 1 deletion(-) (limited to 'js') diff --git a/js/controllers/objects-controller.js b/js/controllers/objects-controller.js index 3e35ef5f..6557c14e 100644 --- a/js/controllers/objects-controller.js +++ b/js/controllers/objects-controller.js @@ -58,7 +58,15 @@ var objectsController = exports.ObjectsController = Montage.create(Montage, { value: function(bindingArgs) { if(!bindingArgs.sourceObject || !bindingArgs.sourceObjectPropertyPath || !bindingArgs) { return; } - Object.defineBinding(bindingArgs.sourceObject, bindingArgs.sourceObjectPropertyPath, bindingArgs); + var sourceObject = bindingArgs.sourceObject, + sourcePath = bindingArgs.sourceObjectPropertyPath, + sourceDescriptor = sourceObject._bindingDescriptors; + + if(sourceDescriptor && sourceDescriptor[sourcePath]) { + this.removeBinding(bindingArgs); + } + + Object.defineBinding(sourceObject, sourcePath, bindingArgs); this.currentObjectBindings = this.getObjectBindings(bindingArgs.sourceObject); } }, diff --git a/js/panels/binding/edit-binding-view.reel/edit-binding-view.js b/js/panels/binding/edit-binding-view.reel/edit-binding-view.js index 4b20f74a..90fa30ba 100644 --- a/js/panels/binding/edit-binding-view.reel/edit-binding-view.js +++ b/js/panels/binding/edit-binding-view.reel/edit-binding-view.js @@ -216,6 +216,7 @@ var editBindingView = exports.EditBindingView = Montage.create(Component, { boundObjectPropertyPath : this.boundObjectPropertyPath, oneway: this.oneway }; + debugger; if(this.isNewBinding) { controller.addBinding(newBindingArgs); -- cgit v1.2.3