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 acdb3ab  jewel-drawer: fix a bug generated from an older refactor 
where drawer was not closing when click on the modal area
acdb3ab is described below

commit acdb3ab622fd5c5910f5c99c59d202a5f609fe17
Author: Carlos Rovira <[email protected]>
AuthorDate: Mon Feb 17 17:23:10 2020 +0100

    jewel-drawer: fix a bug generated from an older refactor where drawer was 
not closing when click on the modal area
---
 .../main/royale/org/apache/royale/jewel/Drawer.as  | 26 +++++++++++++---------
 .../jewel/supportClasses/drawer/DrawerBase.as      |  2 --
 2 files changed, 16 insertions(+), 12 deletions(-)

diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/Drawer.as 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/Drawer.as
index 1aa65fa..f463c7c 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/Drawer.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/Drawer.as
@@ -18,7 +18,10 @@
 
////////////////////////////////////////////////////////////////////////////////
 package org.apache.royale.jewel
 {
-       import org.apache.royale.core.UIBase;
+       COMPILE::JS
+       {
+       import org.apache.royale.core.WrappedHTMLElement;
+       }
        import org.apache.royale.events.Event;
        import org.apache.royale.events.MouseEvent;
        import org.apache.royale.jewel.supportClasses.drawer.DrawerBase;
@@ -62,14 +65,19 @@ package org.apache.royale.jewel
                        // defaults to float (notice that float or fixed is 
needed always)
             typeNames = "jewel drawer " + FLOAT;
 
-                       addEventListener(MouseEvent.CLICK, 
internalMouseHandler);
-
                        // TODO (carlosrovira) handle swipe touch gesture to 
close drawer in mobile (only on float)
                        // addEventListener("touchstart" handleTouchStart);
                        // addEventListener("touchmove" handleTouchMove);
                        // addEventListener("touchend" handleTouchEnd);
                }
 
+               COMPILE::JS
+               override public function set 
positioner(value:WrappedHTMLElement):void
+               {
+                       super.positioner = value;
+                       super.positioner.addEventListener(MouseEvent.CLICK, 
internalMouseHandler);
+               }
+
                // private function handleTouchStart(event:Event):void
                // {
                // }
@@ -80,16 +88,14 @@ package org.apache.royale.jewel
                // {
                // }
 
+               COMPILE::JS
                private function internalMouseHandler(event:MouseEvent):void
                {
-                       COMPILE::JS
+                       var aside:HTMLElement = event.target as HTMLElement;
+                       var hostClassList:DOMTokenList = aside.classList;
+                       if (hostClassList.contains("drawer"))
                        {
-                               var hostComponent:UIBase = event.target as 
UIBase;
-                               var hostClassList:DOMTokenList = 
hostComponent.positioner.classList;
-                               if (hostClassList.contains("drawer"))
-                               {
-                                       close();
-                               }
+                               close();
                        }
                }
 
diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/drawer/DrawerBase.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/drawer/DrawerBase.as
index e64292b..30cc7df 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/drawer/DrawerBase.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/drawer/DrawerBase.as
@@ -29,8 +29,6 @@ package org.apache.royale.jewel.supportClasses.drawer
         import org.apache.royale.core.WrappedHTMLElement;
         import org.apache.royale.html.util.addElementToWrapper;
     }
-       import org.apache.royale.core.IChild;
-       import org.apache.royale.core.IUIBase;
        import org.apache.royale.jewel.Group;
 
        /**

Reply via email to