You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ah...@apache.org on 2017/06/06 06:56:27 UTC

[4/4] git commit: [flex-asjs] [refs/heads/release0.8.0] - don't validate until after data is set so we can share the model from the child. Otherwise TitleBarView's bindings fire too soon. We don't really want to watch the model instance to see if it ge

don't validate until after data is set so we can share the model from the child.  Otherwise TitleBarView's bindings fire too soon.  We don't really want to watch the model instance to see if it gets replaced, and there is really no point to laying out the renderer until after data is set


Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/51d2ec74
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/51d2ec74
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/51d2ec74

Branch: refs/heads/release0.8.0
Commit: 51d2ec7413340e5182d70823f43ae40410f50d3d
Parents: 48affe2
Author: Alex Harui <ah...@apache.org>
Authored: Mon Jun 5 23:53:27 2017 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Mon Jun 5 23:53:27 2017 -0700

----------------------------------------------------------------------
 .../html/beads/AccordionItemRendererView.as     | 25 +++++++++++++++++++-
 .../supportClasses/AccordionItemRenderer.as     |  2 ++
 2 files changed, 26 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/51d2ec74/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/AccordionItemRendererView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/AccordionItemRendererView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/AccordionItemRendererView.as
index 9c59377..5f3779a 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/AccordionItemRendererView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/AccordionItemRendererView.as
@@ -18,12 +18,14 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.html.beads
 {		
+	import org.apache.flex.core.IChild;
 	import org.apache.flex.events.Event;
 	import org.apache.flex.events.IEventDispatcher;
 	import org.apache.flex.html.supportClasses.ICollapsible;
+	import org.apache.flex.html.supportClasses.AccordionItemRenderer
     
 	/**
-	 * This class creates and manages the contents of an AccordionItemItemRenderer
+	 * This class creates and manages the contents of an AccordionItemRenderer
      *  
 	 *  @viewbead
      *  @langversion 3.0
@@ -49,6 +51,27 @@ package org.apache.flex.html.beads
 			super();
 		}
 		
+		override protected function completeSetup():void
+		{
+			// don't do anything here.  No need to complete setup
+			// until after data is set.
+			(_strand as IEventDispatcher).addEventListener("dataChange", dataChangeHandler);
+		}
+		
+		private function dataChangeHandler(event:Event):void
+		{
+			if (titleBar.parent == null) {
+				(_strand as AccordionItemRenderer).$addElement(titleBar);
+			}
+			if (contentArea.parent == null) {
+				(_strand as AccordionItemRenderer).$addElement(contentArea as IChild);
+			}
+
+			super.completeSetup();
+			
+			performLayout(null);
+		}
+		
 		override protected function performLayout(event:Event):void
 		{
 			var collapsibleStrand:ICollapsible = _strand as ICollapsible;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/51d2ec74/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/AccordionItemRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/AccordionItemRenderer.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/AccordionItemRenderer.as
index e1e4b0d..65eed98 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/AccordionItemRenderer.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/AccordionItemRenderer.as
@@ -22,6 +22,7 @@ package org.apache.flex.html.supportClasses
 	import org.apache.flex.core.ISelectableItemRenderer;
 	import org.apache.flex.core.IStrand;
 	import org.apache.flex.core.ITitleBarModel;
+	import org.apache.flex.events.Event;
 	import org.apache.flex.html.Panel;
 	import org.apache.flex.html.TitleBar;
 	import org.apache.flex.html.beads.PanelView;
@@ -117,6 +118,7 @@ package org.apache.flex.html.supportClasses
 					titleBar.model = dataTitleModel;
 				}
 			}
+			dispatchEvent(new Event("dataChange"));
 		}
 		
 		public function get listData():Object