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;