Repository: flex-asjs
Updated Branches:
  refs/heads/develop f2b108656 -> 6168c17d1


dismiss popup if click outside it.  A later commit will detect clicks in the 
background areas not covered by controls


Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/6168c17d
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/6168c17d
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/6168c17d

Branch: refs/heads/develop
Commit: 6168c17d18ee507774f4f14d0f0dbd45d2fde30f
Parents: f2b1086
Author: Alex Harui <[email protected]>
Authored: Mon Sep 14 11:49:39 2015 -0700
Committer: Alex Harui <[email protected]>
Committed: Mon Sep 14 11:49:39 2015 -0700

----------------------------------------------------------------------
 .../html/beads/controllers/DropDownListController.as     | 11 +++++++++++
 1 file changed, 11 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/6168c17d/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/controllers/DropDownListController.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/controllers/DropDownListController.as
 
b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/controllers/DropDownListController.as
index 17a4b64..29f58e1 100644
--- 
a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/controllers/DropDownListController.as
+++ 
b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/controllers/DropDownListController.as
@@ -25,6 +25,7 @@ package org.apache.flex.html.beads.controllers
        import org.apache.flex.core.IBeadController;
        import org.apache.flex.core.ISelectionModel;
        import org.apache.flex.core.IStrand;
+    import org.apache.flex.core.IUIBase;
     import org.apache.flex.core.UIBase;
        import org.apache.flex.events.Event;
        import org.apache.flex.events.IEventDispatcher;
@@ -89,6 +90,16 @@ package org.apache.flex.html.beads.controllers
                        DisplayObject(viewBead.popUp).x = pt.x;
                        DisplayObject(viewBead.popUp).y = pt.y;
             IEventDispatcher(viewBead.popUp).addEventListener("change", 
changeHandler);
+            IUIBase(_strand).topMostEventDispatcher.addEventListener("click", 
dismissHandler);
+        }
+        
+        private function dismissHandler(event:Event):void
+        {
+            if (event.target == _strand) return;
+            
+            
IUIBase(_strand).topMostEventDispatcher.removeEventListener("click", 
dismissHandler);
+            var viewBead:IDropDownListView = 
_strand.getBeadByType(IDropDownListView) as IDropDownListView;
+            viewBead.popUpVisible = false;
         }
         
         private function changeHandler(event:Event):void

Reply via email to