[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
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)
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
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
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
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
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 }