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;
/**