This is an automated email from the ASF dual-hosted git repository.
yishayw 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 779f76b Emulation - deal with case header renderer item has a nested
element that can be clicked
779f76b is described below
commit 779f76b6305ae5b1e2f9673be7b884d37ef30848
Author: Yishay Weiss <[email protected]>
AuthorDate: Tue Feb 15 19:28:18 2022 +0200
Emulation - deal with case header renderer item has a nested element that
can be clicked
---
.../royale/mx/controls/beads/DataGridSortBead.as | 25 +++++++++++++++++-----
1 file changed, 20 insertions(+), 5 deletions(-)
diff --git
a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/DataGridSortBead.as
b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/DataGridSortBead.as
index e81ec44..d27de15 100644
---
a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/DataGridSortBead.as
+++
b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/DataGridSortBead.as
@@ -33,6 +33,8 @@ package mx.controls.beads
import org.apache.royale.events.MouseEvent;
import org.apache.royale.events.Event;
import org.apache.royale.html.DataGridButtonBar;
+ import org.apache.royale.core.IIndexedItemRenderer;
+ import org.apache.royale.core.IChild;
public class DataGridSortBead implements IBead
{
@@ -63,11 +65,24 @@ package mx.controls.beads
private function mouseClickHandler(event:MouseEvent):void
{
var dgView:DataGridView = dg.view as DataGridView;
- var buttonBar:DataGridButtonBar = (dgView.header as
DataGridButtonBar);
- // probably down on one button and up on another button
- // so the ButtonBar won't change selection
- if (event.target == buttonBar) return;
- var column:DataGridColumn = event.target.data as
DataGridColumn;
+ var buttonBar:DataGridButtonBar = (dgView.header as
DataGridButtonBar);
+ // probably down on one button and up on another button
+ // so the ButtonBar won't change selection
+ if (event.target == buttonBar) return;
+ var headerRenderer:IIndexedItemRenderer;
+ if ((event.target as IChild).parent == buttonBar)
+ {
+ headerRenderer = event.target as
IIndexedItemRenderer;
+ } else
+ {
+ var child:IChild = event.target as IChild;
+ while (child.parent != buttonBar)
+ {
+ child = child.parent as IChild;
+ }
+ headerRenderer = child as IIndexedItemRenderer;
+ }
+ var column:DataGridColumn = headerRenderer.data as
DataGridColumn;
if (column && !column.sortable) {
//ignore clicks on headers of columns that are
not sortable
return;