You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by yi...@apache.org on 2022/04/07 20:44:56 UTC
[royale-asjs] branch develop updated: Add itemOpen event to ADG
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 9fe568117f Add itemOpen event to ADG
new d2f3528743 Merge branch 'develop' of https://github.com/apache/royale-asjs into develop
9fe568117f is described below
commit 9fe568117f22b255e069be238343fc073b8b4742
Author: Yishay Weiss <yi...@hotmail.com>
AuthorDate: Thu Apr 7 23:44:36 2022 +0300
Add itemOpen event to ADG
---
.../main/royale/mx/controls/AdvancedDataGrid.as | 2 +-
...vancedDataGridSingleSelectionMouseController.as | 24 ++++++++++++++++++----
2 files changed, 21 insertions(+), 5 deletions(-)
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/AdvancedDataGrid.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/AdvancedDataGrid.as
index 409aa74c95..b8b64759de 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/AdvancedDataGrid.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/AdvancedDataGrid.as
@@ -126,7 +126,7 @@ use namespace mx_internal;
* @playerversion AIR 1.1
* @productversion Royale 0.9.4
*/
-//[Event(name="itemOpen", type="mx.events.AdvancedDataGridEvent")]
+[Event(name="itemOpen", type="mx.events.AdvancedDataGridEvent")]
/**
* Dispatched when a tree branch open or close operation is initiated.
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/AdvancedDataGridSingleSelectionMouseController.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/AdvancedDataGridSingleSelectionMouseController.as
index 91161e2038..0ff9800e4e 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/AdvancedDataGridSingleSelectionMouseController.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/AdvancedDataGridSingleSelectionMouseController.as
@@ -30,6 +30,10 @@ package mx.controls.advancedDataGridClasses
import org.apache.royale.events.ItemClickedEvent;
import org.apache.royale.html.beads.controllers.ListSingleSelectionMouseController;
import mx.supportClasses.IFoldable;
+ import mx.events.AdvancedDataGridEvent;
+ import org.apache.royale.core.IHasDataField;
+ import mx.controls.listClasses.IListItemRenderer;
+ import org.apache.royale.utils.sendEvent;
/**
* The TreeSingleSelectionMouseController class is a controller for
@@ -73,9 +77,13 @@ package mx.controls.advancedDataGridClasses
*/
override protected function selectedHandler(event:ItemClickedEvent):void
{
+ var adg:AdvancedDataGrid = (_strand as AdvancedDataGridColumnList).grid as AdvancedDataGrid;
+ var lists:Array = (adg.view as AdvancedDataGridView).columnLists;
+ for (var i:int = 0; i < lists.length; i++)
+ if (lists[i] == _strand) break;
+
var node:Object = event.data;
- var adg:AdvancedDataGrid = (_strand as AdvancedDataGridColumnList).grid as AdvancedDataGrid;
var hasChildren:Boolean = adg.hasChildren(node);
var foldableTarget:IFoldable = event.target as IFoldable;
if (hasChildren && (foldableTarget is IFoldable))
@@ -84,6 +92,17 @@ package mx.controls.advancedDataGridClasses
adg.closeNode(node);
} else if (foldableTarget.canUnfold) {
adg.openNode(node);
+ var adgEvent:AdvancedDataGridEvent = new AdvancedDataGridEvent(
+ AdvancedDataGridEvent.ITEM_OPEN,
+ false,
+ false,
+ i,
+ (adg.columns[i] as IHasDataField).dataField,
+ event.index,
+ null,
+ event.target as IListItemRenderer
+ );
+ sendEvent(adg, adgEvent);
}
}
@@ -94,9 +113,6 @@ package mx.controls.advancedDataGridClasses
var newEvent:ListEvent = new ListEvent(ListEvent.ITEM_CLICK);
newEvent.rowIndex = event.index;
- var lists:Array = (adg.view as AdvancedDataGridView).columnLists;
- for (var i:int = 0; i < lists.length; i++)
- if (lists[i] == _strand) break;
newEvent.columnIndex = i;
newEvent.itemRenderer = event.currentTarget;
IEventDispatcher(_strand).dispatchEvent(newEvent);