You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ca...@apache.org on 2020/07/24 15:23:41 UTC

[royale-asjs] branch feature/dataprovider-extensiblity updated: finish refactor of table mapper removing dataProviderChangeHandler since now the basic factory can be conveniently extended

This is an automated email from the ASF dual-hosted git repository.

carlosrovira pushed a commit to branch feature/dataprovider-extensiblity
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git


The following commit(s) were added to refs/heads/feature/dataprovider-extensiblity by this push:
     new 824f763  finish refactor of table mapper removing dataProviderChangeHandler since now the basic factory can be conveniently extended
824f763 is described below

commit 824f763941e31d85c27daf1c5eeafbb69355b161
Author: Carlos Rovira <ca...@apache.org>
AuthorDate: Fri Jul 24 17:23:29 2020 +0200

    finish refactor of table mapper removing dataProviderChangeHandler since now the basic factory can be conveniently extended
---
 .../TableItemRendererFactoryForCollectionView.as   | 65 ++++++++--------------
 1 file changed, 23 insertions(+), 42 deletions(-)

diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/TableItemRendererFactoryForCollectionView.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/TableItemRendererFactoryForCollectionView.as
index c7efcfa..b68b0f6 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/TableItemRendererFactoryForCollectionView.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/TableItemRendererFactoryForCollectionView.as
@@ -71,47 +71,18 @@ package org.apache.royale.jewel.beads.itemRenderers
 			return dataProviderModel as TableModel;
 		}
 
-        /**
-		 * @private
-		 * @royaleignorecoercion org.apache.royale.collections.ICollectionView
-		 * @royaleignorecoercion org.apache.royale.jewel.supportClasses.list.IListPresentationModel
-		 * @royaleignorecoercion org.apache.royale.core.IIndexedItemRenderer
-		 * @royaleignorecoercion org.apache.royale.events.IEventDispatcher
-		 */
-		override protected function dataProviderChangeHandler(event:Event):void
-		{
-			// -- 1) CLEANING PHASE
-            if (!model)
-				return;
-			if (!model.dataProvider)
-			{
-				model.selectedIndex = -1;
-				model.selectedItem = null;
-				model.selectedItemProperty = null;
-
-				// TBodyContentArea - remove data items
-				removeAllItemRenderers(dataGroup);
-				return;
-			}
-			// remove this and better add beads when needed
-			// listen for individual items being added in the future.
-			// var dped:IEventDispatcher = dp as IEventDispatcher;
-			// dped.addEventListener(CollectionEvent.ITEM_ADDED, itemAddedHandler);
-			// dped.addEventListener(CollectionEvent.ITEM_REMOVED, itemRemovedHandler);
-			// dped.addEventListener(CollectionEvent.ITEM_UPDATED, itemUpdatedHandler);
-			
-            // TBodyContentArea - remove data items
-			removeAllItemRenderers(dataGroup);
-			
-            // THEAD - remove header items
+		/**
+         *  Remove all itemrenderers
+         * 
+         *  @royaleignorecoercion org.apache.royale.core.IItemRendererOwnerView
+         */
+        override protected function removeAllItemRenderers(dataGroup:IItemRendererOwnerView):void
+        {
+			// TBodyContentArea - remove data items
+            super.removeAllItemRenderers(dataGroup);
+
+			// THEAD - remove header items
 			removeElements(view.thead);
-
-			if(!model.columns)
-				return;
-            
-			createAllItemRenderers(dataGroup);
-			
-			dispatchItemCreatedEvent();
         }
 
 		/**
@@ -122,6 +93,9 @@ package org.apache.royale.jewel.beads.itemRenderers
 		 */
 		override protected function createAllItemRenderers(dataGroup:IItemRendererOwnerView):void
 		{
+			if(!model.columns)
+				return;
+
 			// -- add the header
             createHeader();
 			
@@ -175,7 +149,11 @@ package org.apache.royale.jewel.beads.itemRenderers
 			}
 		}
 
-		public function removeElements(container: IParent):void
+		/**
+		 *  remove all elements in a container.
+		 *  Needed to remove THEAD contents as part of cleaning
+		 */
+		protected function removeElements(container: IParent):void
 		{
 			if(container != null)
 			{
@@ -186,7 +164,10 @@ package org.apache.royale.jewel.beads.itemRenderers
 			}
 		}
 
-        private function createHeader():void
+		/**
+		 * Create the THEAD in the creation phase with the columns info
+		 */
+        protected function createHeader():void
 		{
             var createHeaderRow:Boolean = false;
             var test:TableColumn;