[royale-asjs] branch develop updated: fix a regression in Table labelField and move presentationModel to table initializer, also organize and clean a bit more mapper

2020-07-24 Thread carlosrovira
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/develop by this push:
 new 2555671  fix a regression in Table labelField and move 
presentationModel to table initializer, also organize and clean a bit more 
mapper
2555671 is described below

commit 2555671f85c3c2a47fb82822b0db4a8cdc415c8f
Author: Carlos Rovira 
AuthorDate: Sat Jul 25 01:44:27 2020 +0200

fix a regression in Table labelField and move presentationModel to table 
initializer, also organize and clean a bit more mapper
---
 .../itemRenderers/ListItemRendererInitializer.as   |  3 ++-
 .../TableItemRendererFactoryForCollectionView.as   | 26 +-
 .../itemRenderers/TableItemRendererInitializer.as  | 31 +-
 3 files changed, 16 insertions(+), 44 deletions(-)

diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/ListItemRendererInitializer.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/ListItemRendererInitializer.as
index aa41c0b..ab1caae 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/ListItemRendererInitializer.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/ListItemRendererInitializer.as
@@ -67,7 +67,8 @@ package org.apache.royale.jewel.beads.itemRenderers
{   
super.strand = value;
 ownerView = (value as IStrandWithModelView).view as 
IItemRendererOwnerView;
-presentationModel = (_strand as 
IStrandWithPresentationModel).presentationModel as IListPresentationModel;  
  
+   if(_strand as IStrandWithPresentationModel)
+   presentationModel = (_strand as 
IStrandWithPresentationModel).presentationModel as IListPresentationModel;  
  
}
 
 override protected function 
setupVisualsForItemRenderer(ir:IIndexedItemRenderer):void
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 b68b0f6..20d6c9b 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
@@ -24,17 +24,14 @@ package org.apache.royale.jewel.beads.itemRenderers
 import org.apache.royale.core.IItemRendererOwnerView;
 import org.apache.royale.core.IParent;
 import org.apache.royale.core.IStrandWithModelView;
-import org.apache.royale.core.UIBase;
 import org.apache.royale.events.Event;
 import org.apache.royale.html.beads.DataItemRendererFactoryBase;
-import org.apache.royale.html.supportClasses.StyledDataItemRenderer;
 import org.apache.royale.jewel.Label;
 import org.apache.royale.jewel.Table;
 import org.apache.royale.jewel.beads.controls.TextAlign;
 import org.apache.royale.jewel.beads.models.TableModel;
 import org.apache.royale.jewel.beads.views.TableView;
 import org.apache.royale.jewel.itemRenderers.TableItemRenderer;
-import org.apache.royale.jewel.supportClasses.list.IListPresentationModel;
 import org.apache.royale.jewel.supportClasses.table.THead;
 import org.apache.royale.jewel.supportClasses.table.TableColumn;
 import org.apache.royale.jewel.supportClasses.table.TableHeaderCell;
@@ -100,8 +97,6 @@ package org.apache.royale.jewel.beads.itemRenderers
 createHeader();

// -- 2) CREATION PHASE
-   var presentationModel:IListPresentationModel = 
_strand.getBeadByType(IListPresentationModel) as IListPresentationModel;
-   
 var column:TableColumn;
 var ir:TableItemRenderer;
 
@@ -121,29 +116,22 @@ package org.apache.royale.jewel.beads.itemRenderers
 ir = itemRendererFactory.createItemRenderer() as 
TableItemRenderer;
 }
 
+   ir.dataField = column.dataField;
+   ir.rowIndex = i;
+   ir.columnIndex = j;
+   if(column.align != "")
+   ir.align = column.align;
+   
var data:Object = 
model.dataProvider.getItemAt(i);
-
-(ir as StyledDataItemRenderer).dataField = 

[royale-asjs] branch develop updated (46581a7 -> c64c463)

2020-07-24 Thread carlosrovira
This is an automated email from the ASF dual-hosted git repository.

carlosrovira pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git.


from 46581a7  jewel-datagrid: Make sharedModel protected to increase 
ability for extending
 add 4c16889  dataprovider factory: little refactor to make it more 
extensible for more complex components (jewel table)
 add 8e4ff6e  jewel: fix mappers
 add 0bb036e  jewel-table-factory: refactor to use 
dataitemrendererfactorybase first step
 add 5c01d60  table mapper refactor model
 add d37826e  remove old methods to make it more near of new mappers
 add d2d35df  move creation code to createAllItemRenderers
 add 52575c0  more refactor for extensibility
 add 824f763  finish refactor of table mapper removing 
dataProviderChangeHandler since now the basic factory can be conveniently 
extended
 new c64c463  Merge branch 'feature/dataprovider-extensiblity' into develop

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../html/beads/DataItemRendererFactoryBase.as  |  50 +++--
 .../DataItemRendererFactoryForCollectionView.as|  35 +--
 .../royale/html/beads/ItemRendererFactoryBase.as   |   9 +-
 ...DownListItemRendererFactoryForCollectionView.as |   5 +-
 .../TableItemRendererFactoryForCollectionView.as   | 250 +
 5 files changed, 115 insertions(+), 234 deletions(-)



[royale-asjs] 01/01: Merge branch 'feature/dataprovider-extensiblity' into develop

2020-07-24 Thread carlosrovira
This is an automated email from the ASF dual-hosted git repository.

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

commit c64c4632fcaf12488742658a24974995755000b9
Merge: 46581a7 824f763
Author: Carlos Rovira 
AuthorDate: Fri Jul 24 17:30:57 2020 +0200

Merge branch 'feature/dataprovider-extensiblity' into develop

* feature/dataprovider-extensiblity:
  finish refactor of table mapper removing dataProviderChangeHandler since 
now the basic factory can be conveniently extended
  more refactor for extensibility
  move creation code to createAllItemRenderers
  remove old methods to make it more near of new mappers
  table mapper refactor model
  jewel-table-factory: refactor to use dataitemrendererfactorybase first 
step
  jewel: fix mappers
  dataprovider factory: little refactor to make it more extensible for more 
complex components (jewel table)

 .../html/beads/DataItemRendererFactoryBase.as  |  50 +++--
 .../DataItemRendererFactoryForCollectionView.as|  35 +--
 .../royale/html/beads/ItemRendererFactoryBase.as   |   9 +-
 ...DownListItemRendererFactoryForCollectionView.as |   5 +-
 .../TableItemRendererFactoryForCollectionView.as   | 250 +
 5 files changed, 115 insertions(+), 234 deletions(-)



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

2020-07-24 Thread carlosrovira
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 
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
+*/
+ 

[royale-asjs] branch feature/dataprovider-extensiblity updated: more refactor for extensibility

2020-07-24 Thread carlosrovira
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 52575c0  more refactor for extensibility
52575c0 is described below

commit 52575c03224b66f2c5a4722c3b4dddb7a799b5a7
Author: Carlos Rovira 
AuthorDate: Fri Jul 24 16:44:47 2020 +0200

more refactor for extensibility
---
 .../html/beads/DataItemRendererFactoryBase.as  | 25 --
 .../DataItemRendererFactoryForCollectionView.as| 23 ++---
 .../TableItemRendererFactoryForCollectionView.as   | 54 +++---
 3 files changed, 53 insertions(+), 49 deletions(-)

diff --git 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryBase.as
 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryBase.as
index 2f8cbd8..d3e430c 100644
--- 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryBase.as
+++ 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryBase.as
@@ -51,6 +51,12 @@ package org.apache.royale.html.beads
super(target);
}
 
+   protected function get dataGroup():IItemRendererOwnerView
+   {
+   var view:IListView = (_strand as 
IStrandWithModelView).view as IListView;
+   return view.dataGroup;
+   }
+
/**
 *  This Factory deletes all renderers, and generates a renderer
 *  for every data provider item.
@@ -65,13 +71,10 @@ package org.apache.royale.html.beads
 *  @royaleignorecoercion 
org.apache.royale.core.IItemRendererOwnerView
 */ 
override protected function 
dataProviderChangeHandler(event:Event):void
-   {   
-   var view:IListView = (_strand as 
IStrandWithModelView).view as IListView;
-   var dataGroup:IItemRendererOwnerView = view.dataGroup;
-   
+   {
removeAllItemRenderers(dataGroup);

-   if (!dataProviderModel.dataProvider)
+   if(!dataProviderExist)
return;

createAllItemRenderers(dataGroup);
@@ -80,6 +83,18 @@ package org.apache.royale.html.beads
}
 
/**
+* check if model and dataprovider exists. This check is done 
through all methods
+* @private
+*/
+   protected function get dataProviderExist():Boolean
+   {
+   if (!dataProviderModel || 
!dataProviderModel.dataProvider)
+   return false;
+   
+   return true;
+   }
+
+   /**
 *  create all item renderers
 *  
 *  @royaleignorecoercion 
org.apache.royale.core.IIndexedItemRenderer
diff --git 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryForCollectionView.as
 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryForCollectionView.as
index 01f3156..5d60d38 100644
--- 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryForCollectionView.as
+++ 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryForCollectionView.as
@@ -52,20 +52,19 @@ package org.apache.royale.html.beads
 */
override protected function 
dataProviderChangeHandler(event:Event):void
{
-   if (!dataProviderModel)
-   return;
-   
super.dataProviderChangeHandler(event);

-   if (!dataProviderModel.dataProvider)
-   return;
-   
if(dped)
{

dped.removeEventListener(CollectionEvent.ITEM_ADDED, itemAddedHandler);

dped.removeEventListener(CollectionEvent.ITEM_REMOVED, itemRemovedHandler);

dped.removeEventListener(CollectionEvent.ITEM_UPDATED, itemUpdatedHandler);
+   dped = null;
}
+   
+   if (!dataProviderModel.dataProvider)
+   return;
+  

[royale-asjs] branch develop updated: jewel-datagrid: Make sharedModel protected to increase ability for extending

2020-07-24 Thread piotrz
This is an automated email from the ASF dual-hosted git repository.

piotrz pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git


The following commit(s) were added to refs/heads/develop by this push:
 new 46581a7  jewel-datagrid: Make sharedModel protected to increase 
ability for extending
46581a7 is described below

commit 46581a7a7c9ef7b6ec511a2ece3081ea63206e7f
Author: Piotr Zarzycki 
AuthorDate: Fri Jul 24 12:05:26 2020 +0200

jewel-datagrid: Make sharedModel protected to increase ability for extending
---
 .../royale/jewel/beads/views/DataGridView.as   | 33 +++---
 1 file changed, 17 insertions(+), 16 deletions(-)

diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/DataGridView.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/DataGridView.as
index 0a27cf0..fbb9db1 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/DataGridView.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/DataGridView.as
@@ -79,11 +79,12 @@ package org.apache.royale.jewel.beads.views
 }
 
 private var _dg:IDataGrid = _strand as IDataGrid;
-private var _sharedModel:IDataGridModel;
 private var _header:DataGridButtonBar;
 private var _listArea:IUIBase;
 private var _lists:Array = [];
-
+
+protected var sharedModel:IDataGridModel;
+
 override public function set strand(value:IStrand):void
{
super.strand = value;
@@ -92,9 +93,9 @@ package org.apache.royale.jewel.beads.views
 _presentationModel = _dg.presentationModel as 
IDataGridPresentationModel;
 
 // see if there is a presentation model already in place. if not, 
add one.
-_sharedModel = _dg.model as IDataGridModel;
-
IEventDispatcher(_sharedModel).addEventListener("dataProviderChanged", 
handleDataProviderChanged);
-
IEventDispatcher(_sharedModel).addEventListener("selectedIndexChanged", 
handleSelectedIndexChanged);
+sharedModel = _dg.model as IDataGridModel;
+
IEventDispatcher(sharedModel).addEventListener("dataProviderChanged", 
handleDataProviderChanged);
+
IEventDispatcher(sharedModel).addEventListener("selectedIndexChanged", 
handleSelectedIndexChanged);
 
 listenOnStrand("initComplete", initCompleteHandler);
 
@@ -111,7 +112,7 @@ package org.apache.royale.jewel.beads.views
 // header
 var headerClass:Class = ValuesManager.valuesImpl.getValue(host, 
"headerClass") as Class;
 _header = new headerClass() as DataGridButtonBar;
-_header.dataProvider = new ArrayList(_sharedModel.columns);
+_header.dataProvider = new ArrayList(sharedModel.columns);
 _header.emphasis = (_dg as IEmphasis).emphasis;
 _header.labelField = "label";
 
@@ -119,7 +120,7 @@ package org.apache.royale.jewel.beads.views
 var bblayout:ButtonBarLayout = new headerLayoutClass() as 
ButtonBarLayout;
 _header.addBead(bblayout as IBead);
 _header.addBead(new Viewport() as IBead);
-_sharedModel.headerModel = _header.model as IBeadModel;
+sharedModel.headerModel = _header.model as IBeadModel;
 _dg.strandChildren.addElement(_header as IChild);
 
 // columns
@@ -128,7 +129,7 @@ package org.apache.royale.jewel.beads.views
 (_listArea as StyledUIBase).tabIndex = 0;
 _dg.strandChildren.addElement(_listArea as IChild);
 
-if (_sharedModel.columns)
+if (sharedModel.columns)
 createLists();
 }
 
@@ -145,9 +146,9 @@ package org.apache.royale.jewel.beads.views
 // get the name of the class to use for the columns
 var columnClass:Class = ValuesManager.valuesImpl.getValue(host, 
"columnClass") as Class;
 
-for (var i:int=0; i < _sharedModel.columns.length; i++)
+for (var i:int=0; i < sharedModel.columns.length; i++)
 {
-var dataGridColumn:IDataGridColumn = _sharedModel.columns[i] 
as IDataGridColumn;
+var dataGridColumn:IDataGridColumn = sharedModel.columns[i] as 
IDataGridColumn;
 
 var list:IDataGridColumnList = new columnClass();
 
@@ -162,7 +163,7 @@ package org.apache.royale.jewel.beads.views
 if (i == 0) {
 list.className = "first";
 }
-else if (i == _sharedModel.columns.length-1) {
+else if (i == sharedModel.columns.length-1) {
 list.className = "last";
 }
 else {
@@ -170,7 +171,7 @@ package org.apache.royale.jewel.beads.views
 }