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/03/01 10:19:41 UTC
[royale-asjs] branch develop updated: jewel-datagrid: fix height %
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 4f80199 jewel-datagrid: fix height %
4f80199 is described below
commit 4f80199b990472d6845e9f47f8268d523cf221ca
Author: Carlos Rovira <ca...@apache.org>
AuthorDate: Sun Mar 1 11:19:32 2020 +0100
jewel-datagrid: fix height %
---
.../royale/jewel/beads/layouts/DataGridLayout.as | 17 ++++++++--
.../royale/jewel/beads/views/DataGridView.as | 36 +++++++++++++---------
2 files changed, 37 insertions(+), 16 deletions(-)
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/layouts/DataGridLayout.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/layouts/DataGridLayout.as
index 33f1f81..028066e 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/layouts/DataGridLayout.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/layouts/DataGridLayout.as
@@ -125,8 +125,18 @@ package org.apache.royale.jewel.beads.layouts
}
var columnWidths:Array = [];
+ if(listArea.y != header.height)
+ listArea.y = header.height;
+
(listArea as ILayoutChild).percentWidth = 100;
- listArea.y = header.height;
+ // (listArea as ILayoutChild).percentHeight = 100;
+
+ COMPILE::JS {
+ if(datagrid.height == 0)
+ listArea.positioner.style.height = "calc(100% - " + header.height + "px)";
+ else
+ listArea.height = datagrid.height - header.height;
+ }
for(var i:int=0; i < bbmodel.dataProvider.length; i++) {
var columnDef:IDataGridColumn = (bbmodel.dataProvider as ArrayList).getItemAt(i) as IDataGridColumn;
@@ -137,7 +147,10 @@ package org.apache.royale.jewel.beads.layouts
columnList.height = NaN;
} else
{
- columnList.height = listArea.height;
+ if(datagrid.height == 0)
+ columnList.percentHeight = 100;
+ else
+ columnList.height = listArea.height;
}
//temporal- if only one isNaN(columnDef.columnWidth) make it true so widthType = ButtonBarModel.PIXEL_WIDTHS
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 5fce758..33cdd9b 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
@@ -88,8 +88,8 @@ package org.apache.royale.jewel.beads.views
_dg = _strand as IDataGrid;
_presentationModel = _dg.presentationModel as IDataGridPresentationModel;
- _dg.addEventListener("widthChanged", handleSizeChanges);
- _dg.addEventListener("heightChanged", handleSizeChanges);
+ // _dg.addEventListener("widthChanged", handleSizeChanges);
+ // _dg.addEventListener("heightChanged", handleSizeChanges);
// see if there is a presentation model already in place. if not, add one.
_sharedModel = _dg.model as IDataGridModel;
@@ -106,6 +106,8 @@ package org.apache.royale.jewel.beads.views
*/
private function createChildren():void
{
+ listenOnStrand("initComplete", initCompleteHandler);
+
// header
var headerClass:Class = ValuesManager.valuesImpl.getValue(host, "headerClass") as Class;
_header = new headerClass() as DataGridButtonBar;
@@ -131,10 +133,8 @@ package org.apache.royale.jewel.beads.views
// set default width and height
if(!_dg.width && !(_dg as ILayoutChild).percentWidth)
_dg.width = 220; // if width not set make it default to 220px
- if(!_dg.height)
+ if(!_dg.height && isNaN((_dg as ILayoutChild).percentHeight))
_dg.height = 240; // if height not set make it default to 240px
-
- handleDataProviderChanged(null);
}
/**
@@ -186,6 +186,23 @@ package org.apache.royale.jewel.beads.views
}
/**
+ * finish setup
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.7
+ *
+ * @param event
+ */
+ protected function initCompleteHandler(event:Event):void
+ {
+ IEventDispatcher(_strand).removeEventListener("initComplete", initCompleteHandler);
+ handleDataProviderChanged(null);
+ // host.dispatchEvent(new Event("layoutNeeded"));
+ }
+
+ /**
* An array of List objects the comprise the columns of the DataGrid.
*/
public function get columnLists():Array
@@ -209,15 +226,6 @@ package org.apache.royale.jewel.beads.views
return _header;
}
- /**
- * @private
- */
- private function handleSizeChanges(event:Event):void
- {
- _listArea.height = _dg.height - _header.height;
- dispatchEvent(new Event("layoutNeeded"));
- }
-
private var dp:IEventDispatcher;
/**
* @private