You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by pe...@apache.org on 2017/03/23 15:59:37 UTC

[07/12] git commit: [flex-asjs] [refs/heads/develop] - List now extends DataContainer; ListView extends DataContainerView.

List now extends DataContainer; ListView extends DataContainerView.


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

Branch: refs/heads/develop
Commit: e52f0cbf94747c92df365cf2d1490f7ff32f1078
Parents: f8a71b2
Author: Peter Ent <pe...@apache.org>
Authored: Wed Mar 22 06:44:38 2017 -0400
Committer: Peter Ent <pe...@apache.org>
Committed: Wed Mar 22 06:44:38 2017 -0400

----------------------------------------------------------------------
 .../flex/org/apache/flex/html/DataContainer.as  |  39 ++--
 .../src/main/flex/org/apache/flex/html/List.as  | 226 +------------------
 .../apache/flex/html/beads/DataContainerView.as |  18 +-
 .../flex/org/apache/flex/html/beads/ListView.as |  84 +------
 4 files changed, 32 insertions(+), 335 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e52f0cbf/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataContainer.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataContainer.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataContainer.as
index 948a953..df8f0b0 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataContainer.as
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataContainer.as
@@ -124,14 +124,6 @@ package org.apache.flex.html
         {
             IDataProviderModel(model).dataProvider = value;
         }
-		
-		/**
-		 * Returns the sub-component that parents all of the item renderers.
-		 */
-		public function get dataGroup():IItemRendererParent
-		{
-			return this;
-		}
 
 			
 		/**
@@ -152,23 +144,23 @@ package org.apache.flex.html
 			return presModel;
 		}
 		
+		/*
+		 * IList and IItemRendererParent
+		 */
+		
 		/**
-		 *  The default height of each cell in every column
+		 * Returns the sub-component that parents all of the item renderers.
 		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
 		 *  @productversion FlexJS 0.0
 		 */
-		public function get rowHeight():Number
-		{
-			return presentationModel.rowHeight;
-		}
-		public function set rowHeight(value:Number):void
+		public function get dataGroup():IItemRendererParent
 		{
-			presentationModel.rowHeight = value;
+			return this;
 		}
-				
+		
 		private var _itemRenderer:IFactory;
 		
 		/**
@@ -205,18 +197,18 @@ package org.apache.flex.html
 			COMPILE::SWF {
 				result = _itemRenderer != null;
 			}
-			
+				
 			COMPILE::JS {
 				var test:* = _itemRenderer;
 				result = _itemRenderer !== null && test !== undefined;
 			}
-			
-			return result;
+				
+				return result;
 		}
 		
 		/*
-		* IItemRendererParent
-		*/
+		 * IItemRendererParent
+		 */
 		
 		/**
 		 * @copy org.apache.flex.core.IItemRendererParent#getItemRendererForIndex()
@@ -295,9 +287,8 @@ package org.apache.flex.html
 		}
 		
 		/*
-		* UIBase
-		*/
-		
+		 * UIBase
+		 */
 		
 		/**
 		 * @private

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e52f0cbf/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/List.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/List.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/List.as
index bb330c8..7caffff 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/List.as
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/List.as
@@ -89,7 +89,7 @@ package org.apache.flex.html
 	 *  @playerversion AIR 2.6
 	 *  @productversion FlexJS 0.0
 	 */
-	public class List extends ListBase implements IList, IItemRendererParent, ILayoutObject
+	public class List extends DataContainer
 	{
 		/**
 		 *  constructor.
@@ -102,43 +102,7 @@ package org.apache.flex.html
 		public function List()
 		{
 			super();
-			addEventListener("beadsAdded", beadsAddedHandler);
 		}
-		
-		/**
-		 *  The name of field within the data used for display. Each item of the
-		 *  data should have a property with this name.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get labelField():String
-		{
-			return ISelectionModel(model).labelField;
-		}
-		public function set labelField(value:String):void
-		{
-			ISelectionModel(model).labelField = value;
-		}
-		
-		/**
-		 *  The data being display by the List.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-        public function get dataProvider():Object
-        {
-            return ISelectionModel(model).dataProvider;
-        }
-        public function set dataProvider(value:Object):void
-        {
-            ISelectionModel(model).dataProvider = value;
-        }
 
 		/**
 		 *  The index of the currently selected item. Changing this value
@@ -174,24 +138,6 @@ package org.apache.flex.html
 		{
 			IRollOverModel(model).rollOverIndex = value;
 		}
-			
-		/**
-		 *  The presentation model for the list.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get presentationModel():IListPresentationModel
-		{
-			var presModel:IListPresentationModel = getBeadByType(IListPresentationModel) as IListPresentationModel;
-			if (presModel == null) {
-				presModel = new ListPresentationModel();
-				addBead(presModel);
-			}
-			return presModel;
-		}
 		
 		/**
 		 *  The default height of each cell in every column
@@ -229,179 +175,9 @@ package org.apache.flex.html
 		}
 		
 		/*
-		 * IList and IItemRendererProvider
-		 */
-		
-		/**
-		 * Provides the DataGroup for this List.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get dataGroup():IItemRendererParent
-		{
-			return this;
-		}
-		
-		private var _itemRenderer:IFactory;
-		
-		/**
-		 *  The class or factory used to display each item.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get itemRenderer():IFactory
-		{
-			return _itemRenderer;
-		}
-		public function set itemRenderer(value:IFactory):void
-		{
-			_itemRenderer = value;
-		}
-		
-		/**
-		 * Returns whether or not the itemRenderer property has been set.
-		 *
-		 *  @see org.apache.flex.core.IItemRendererProvider
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get hasItemRenderer():Boolean
-		{
-			var result:Boolean = false;
-			
-			COMPILE::SWF {
-				result = _itemRenderer != null;
-			}
-			
-			COMPILE::JS {
-				var test:* = _itemRenderer;
-				result = _itemRenderer !== null && test !== undefined;
-			}
-			
-			return result;
-		}
-		
-		/*
-		 * IItemRendererParent
-		 */
-		
-		/**
-		 * @copy org.apache.flex.core.IItemRendererParent#getItemRendererForIndex()
-		 * @private
-		 */
-		public function addItemRenderer(renderer:IItemRenderer):void
-		{			
-			addElement(renderer, true);
-			
-			var newEvent:ItemAddedEvent = new ItemAddedEvent("itemAdded");
-			newEvent.item = renderer;
-			
-			dispatchEvent(newEvent);
-		}
-		
-		/**
-		 * @copy org.apache.flex.core.IItemRendererParent#getItemRendererForIndex()
-		 * @private
-		 */
-		public function removeItemRenderer(renderer:IItemRenderer):void
-		{				
-			removeElement(renderer, true);
-			
-			var newEvent:ItemRemovedEvent = new ItemRemovedEvent("itemRemoved");
-			newEvent.item = renderer;
-			
-			dispatchEvent(newEvent);
-		}
-		
-		/**
-		 * @copy org.apache.flex.core.IItemRendererParent#getItemRendererForIndex()
-		 * @private
-		 */
-		public function removeAllItemRenderers():void
-		{			
-			while (numElements > 0) {
-				var child:IChild = getElementAt(0);
-				removeElement(child);
-			}
-		}
-		
-		/**
-		 *  @copy org.apache.flex.core.IItemRendererParent#getItemRendererForIndex()
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function getItemRendererForIndex(index:int):IItemRenderer
-		{			
-			if (index < 0 || index >= numElements) return null;
-			return getElementAt(index) as IItemRenderer;
-		}
-		
-		/**
-		 *  Refreshes the itemRenderers. Useful after a size change by the data group.
-		 *  
-		 *  @copy org.apache.flex.core.IItemRendererParent#getItemRendererForIndex()
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function updateAllItemRenderers():void
-		{			
-			var n:Number = numElements;
-			for (var i:Number = 0; i < n; i++)
-			{
-				var renderer:DataItemRenderer = getItemRendererForIndex(i) as DataItemRenderer;
-				if (renderer) {
-					renderer.setWidth(this.width,true);
-					renderer.adjustSize();
-				}
-			}
-		}
-		
-		/*
 		 * UIBase
 		 */
 		
-		/**
-		 * @private
-		 */
-		override public function addedToParent():void
-		{
-            super.addedToParent();
-            		
-			dispatchEvent(new Event("initComplete"));
-		}
-        
-		/**
-		 * @private
-		 */
-	    private function beadsAddedHandler(e:Event):void
-		{
-            if (getBeadByType(IDataProviderItemRendererMapper) == null)
-            {
-                var mapper:IDataProviderItemRendererMapper = new (ValuesManager.valuesImpl.getValue(this, "iDataProviderItemRendererMapper")) as IDataProviderItemRendererMapper;
-                addBead(mapper);
-            }
-			var itemRendererFactory:IItemRendererClassFactory = getBeadByType(IItemRendererClassFactory) as IItemRendererClassFactory;
-			if (!itemRendererFactory)
-			{
-				itemRendererFactory = new (ValuesManager.valuesImpl.getValue(this, "iItemRendererClassFactory")) as IItemRendererClassFactory;
-				addBead(itemRendererFactory);
-			}
-		}
-		
         /**
          * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
          */

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e52f0cbf/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataContainerView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataContainerView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataContainerView.as
index 5036b6b..de3587e 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataContainerView.as
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataContainerView.as
@@ -62,7 +62,7 @@ package org.apache.flex.html.beads
 			super();
 		}
 		
-		protected var listModel:IDataProviderModel;
+		protected var dataModel:IDataProviderModel;
 		
 		public function get dataGroup():IItemRendererParent
 		{
@@ -72,9 +72,9 @@ package org.apache.flex.html.beads
 		override protected function beadsAddedHandler(event:Event):void
 		{
 			
-			listModel = _strand.getBeadByType(IDataProviderModel) as IDataProviderModel;
+			dataModel = _strand.getBeadByType(IDataProviderModel) as IDataProviderModel;
 			host.addEventListener("itemsCreated", itemsCreatedHandler);
-			listModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
+			dataModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
 			
 			super.beadsAddedHandler(event);
 		}
@@ -104,7 +104,7 @@ package org.apache.flex.html.beads
 			super();
 		}
 						
-		protected var listModel:IDataProviderModel;
+		protected var dataModel:IDataProviderModel;
 		
 		/**
 		 * @private
@@ -137,9 +137,14 @@ package org.apache.flex.html.beads
 			host.removeEventListener("childrenAdded", childrenChangedHandler);
 			host.removeEventListener("childrenAdded", performLayout);
 			host.addEventListener("itemsCreated", itemsCreatedHandler);
+		}
+		
+		override protected function beadsAddedHandler(event:Event):void
+		{
+			super.beadsAddedHandler(event);
 			
-			listModel = _strand.getBeadByType(IDataProviderModel) as IDataProviderModel;
-			listModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
+			dataModel = _strand.getBeadByType(IDataProviderModel) as IDataProviderModel;
+			dataModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
 		}
 		
 		/**
@@ -189,6 +194,7 @@ package org.apache.flex.html.beads
          */
 		override protected function resizeHandler(event:Event):void
 		{
+			// might need to do something here, not sure yet.
 			super.resizeHandler(event);
 		}
 	}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e52f0cbf/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ListView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ListView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ListView.as
index f27d388..4087f1c 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ListView.as
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ListView.as
@@ -58,7 +58,7 @@ package org.apache.flex.html.beads
 	 *  @productversion FlexJS 0.0
 	 */
 	COMPILE::JS
-	public class ListView extends ContainerView implements IListView
+	public class ListView extends DataContainerView
 	{
 		public function ListView()
 		{
@@ -66,21 +66,15 @@ package org.apache.flex.html.beads
 		}
 		
 		protected var listModel:ISelectionModel;
-		protected var lastSelectedIndex:int = -1;
 		
-		public function get dataGroup():IItemRendererParent
-		{
-			return (_strand as IList).dataGroup;
-		}
+		protected var lastSelectedIndex:int = -1;
 		
 		override protected function beadsAddedHandler(event:Event):void
 		{
 			
 			listModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
-			host.addEventListener("itemsCreated", itemsCreatedHandler);
 			listModel.addEventListener("selectedIndexChanged", selectionChangeHandler);
 			//listModel.addEventListener("rollOverIndexChanged", rollOverIndexChangeHandler);
-			listModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
 			
 			super.beadsAddedHandler(event);
 		}
@@ -99,41 +93,17 @@ package org.apache.flex.html.beads
 			}
 			lastSelectedIndex = listModel.selectedIndex;
 		}
-		
-		/**
-		 * @private
-		 */
-		protected function itemsCreatedHandler(event:Event):void
-		{
-			performLayout(event);
-		}
-		
-		/**
-		 * @private
-		 */
-		protected function dataProviderChangeHandler(event:Event):void
-		{
-			performLayout(event);
-		}
 	}
 	
 	COMPILE::SWF
-	public class ListView extends ContainerView implements IListView
+	public class ListView extends DataContainerView
 	{
 		public function ListView()
 		{
 			super();
 		}
-						
+		
 		protected var listModel:ISelectionModel;
-        
-        /**
-         * @private
-         */
-        override public function get host():IUIBase
-        {
-            return _strand as IUIBase;
-        }
         		
 		/**
 		 *  @copy org.apache.flex.core.IBead#strand
@@ -149,17 +119,6 @@ package org.apache.flex.html.beads
 			super.strand = value;
 		}
 		
-		override protected function completeSetup():void
-		{
-			super.completeSetup();
-			
-			// list is not interested in UI children, it wants to know when new items
-			// have been added or the dataProvider has changed.
-			host.removeEventListener("childrenAdded", childrenChangedHandler);
-			host.removeEventListener("childrenAdded", performLayout);
-			host.addEventListener("itemsCreated", itemsCreatedHandler);
-		}
-		
 		override protected function beadsAddedHandler(event:Event):void
 		{
 			super.beadsAddedHandler(event);
@@ -167,12 +126,6 @@ package org.apache.flex.html.beads
 			listModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
 			listModel.addEventListener("selectedIndexChanged", selectionChangeHandler);
 			listModel.addEventListener("rollOverIndexChanged", rollOverIndexChangeHandler);
-			listModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
-		}
-		
-		public function get dataGroup():IItemRendererParent
-		{
-			return (_strand as IList).dataGroup;
 		}
 		
 		protected var lastSelectedIndex:int = -1;
@@ -180,22 +133,6 @@ package org.apache.flex.html.beads
 		/**
 		 * @private
 		 */
-		protected function itemsCreatedHandler(event:Event):void
-		{
-			performLayout(event);
-		}
-		
-		/**
-		 * @private
-		 */
-		protected function dataProviderChangeHandler(event:Event):void
-		{
-			performLayout(event);
-		}
-		
-		/**
-		 * @private
-		 */
 		protected function selectionChangeHandler(event:Event):void
 		{
 			if (lastSelectedIndex != -1)
@@ -230,18 +167,5 @@ package org.apache.flex.html.beads
 			}
 			lastRollOverIndex = IRollOverModel(listModel).rollOverIndex;
 		}
-        
-        /**
-         *  respond to a change in size or request to re-layout everything
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		override protected function resizeHandler(event:Event):void
-		{
-			super.resizeHandler(event);
-		}
 	}
 }