From 2e04af953463643791f6362bd8ef4c6ba190abfa Mon Sep 17 00:00:00 2001 From: Valerio Virgillito Date: Wed, 18 Apr 2012 13:48:51 -0700 Subject: Squashed commit of the following: commit 2054551bfb01a0f4ca2e138b9d724835462d45cd Merge: 765c2da 616a853 Author: Valerio Virgillito Date: Wed Apr 18 13:48:21 2012 -0700 Merge branch 'refs/heads/master' into integration commit 765c2da8e1aa03550caf42b2bd5f367555ad2843 Author: Valerio Virgillito Date: Tue Apr 17 15:29:41 2012 -0700 updating the picasa carousel Signed-off-by: Valerio Virgillito commit 9484f1c82b81e27edf2dc0a1bcc1fa3b12077406 Merge: d27f2df cacb4a2 Author: Valerio Virgillito Date: Tue Apr 17 15:03:50 2012 -0700 Merge branch 'refs/heads/master' into integration commit d27f2df4d846064444263d7832d213535962abe7 Author: Valerio Virgillito Date: Wed Apr 11 10:39:36 2012 -0700 integrating new picasa carousel component Signed-off-by: Valerio Virgillito commit 6f98384c9ecbc8abe55ccfe1fc25a0c7ce22c493 Author: Valerio Virgillito Date: Tue Apr 10 14:33:00 2012 -0700 fixed the text area case issue Text area was renamed from TextArea to Textarea Signed-off-by: Valerio Virgillito commit 1e83e26652266136802bc7af930379c1ecd631a6 Author: Valerio Virgillito Date: Mon Apr 9 22:10:45 2012 -0700 integrating montage v0.8 into ninja. Signed-off-by: Valerio Virgillito Signed-off-by: Valerio Virgillito --- node_modules/montage/ui/component.js | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) (limited to 'node_modules/montage/ui/component.js') diff --git a/node_modules/montage/ui/component.js b/node_modules/montage/ui/component.js index 69559fc1..17f87b62 100755 --- a/node_modules/montage/ui/component.js +++ b/node_modules/montage/ui/component.js @@ -136,23 +136,32 @@ var Component = exports.Component = Montage.create(Montage,/** @lends module:mon }, set: function(value) { if (value == null) { - console.log("Warning: Tried to set element of ", this, " as " + value + "."); + console.warn("Tried to set element of ", this, " to ", value); return; } - this.eventManager.registerEventHandlerForElement(this, value); - if (this.isDeserializing) { + this.eventManager.registerEventHandlerForElement(this, value); + // if this component has a template and has been already instantiated then assume the value is the template. if (this._isTemplateInstantiated) { - this._templateElement = value; + // this is important for component extension, we don't want to override template element + if (!this._templateElement) { + this._templateElement = value; + } } else { this._element = value; if (!this.blockDrawGate.value && this._element) { this.blockDrawGate.setField("element", true); } } + } else if (!this._firstDraw) { + // If a draw has happened then at some point the element has been set + console.error("Cannot change element of ", this, " after it has been set"); + return; } else { + this.eventManager.registerEventHandlerForElement(this, value); + this._element = value; if (!this.blockDrawGate.value && this._element) { this.blockDrawGate.setField("element", true); @@ -614,9 +623,9 @@ var Component = exports.Component = Montage.create(Montage,/** @lends module:mon } }, - serializeSelf: { - value: function(serializer, propertyNames) { - serializer.setProperties(propertyNames); + serializeProperties: { + value: function(serializer) { + serializer.setAll(); var childComponents = this.childComponents; for (var i = 0, l = childComponents.length; i < l; i++) { serializer.addObject(childComponents[i]); -- cgit v1.2.3