You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ca...@apache.org on 2020/12/31 16:13:47 UTC
[royale-asjs] branch develop updated: jewel-datefield: add
"popUpOpened" and "popUpClosed" to hook actions when open the datechooser
popup. This is the same we do in ComboBox
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 8da9b34 jewel-datefield: add "popUpOpened" and "popUpClosed" to hook actions when open the datechooser popup. This is the same we do in ComboBox
8da9b34 is described below
commit 8da9b34976f5a86d4eb9e08747f805b8e139f4a4
Author: Carlos Rovira <ca...@apache.org>
AuthorDate: Thu Dec 31 17:13:36 2020 +0100
jewel-datefield: add "popUpOpened" and "popUpClosed" to hook actions when open the datechooser popup. This is the same we do in ComboBox
---
.../royale/org/apache/royale/jewel/DateField.as | 22 ++++++++++++++++++++++
.../royale/jewel/beads/views/DateFieldView.as | 9 +++++++--
2 files changed, 29 insertions(+), 2 deletions(-)
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/DateField.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/DateField.as
index 5297208..0d6fa25 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/DateField.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/DateField.as
@@ -29,6 +29,28 @@ package org.apache.royale.jewel
* The change event is dispatched when the selectedDate is changed.
*/
[Event(name="change", type="org.apache.royale.events.Event")]
+
+ /**
+ * Dispatched when the popup is opened.
+ *
+ * @toplevel
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.8
+ */
+ [Event(name="popUpOpened", type="org.apache.royale.events.Event")]
+
+ /**
+ * Dispatched when the popup is closed.
+ *
+ * @toplevel
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.8
+ */
+ [Event(name="popUpClosed", type="org.apache.royale.events.Event")]
/**
* The DateField class provides an input field where a date can be entered
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/DateFieldView.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/DateFieldView.as
index 0209ec3..7831c2c 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/DateFieldView.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/DateFieldView.as
@@ -49,6 +49,7 @@ package org.apache.royale.jewel.beads.views
import org.apache.royale.jewel.beads.controls.textinput.MaxNumberCharacters;
import org.apache.royale.jewel.beads.views.DateChooserView;
import org.apache.royale.utils.UIUtils;
+ import org.apache.royale.utils.sendStrandEvent;
/**
* The DateFieldView class is a bead for DateField that creates the
@@ -267,13 +268,16 @@ package org.apache.royale.jewel.beads.views
table = (popUp.view as DateChooserView).table;
// rq = requestAnimationFrame(prepareForPopUp); // not work in Chrome/Firefox, while works in Safari, IE11, setInterval/Timer as well doesn't work right in Firefox
- setTimeout(prepareForPopUp, 300);
-
+
COMPILE::JS
{
window.addEventListener('resize', autoResizeHandler, false);
}
+ prepareForPopUp();
+
+ sendStrandEvent(_strand, "popUpOpened");
+
autoResizeHandler();
}
else
@@ -286,6 +290,7 @@ package org.apache.royale.jewel.beads.views
}
_popUp.removeEventListener("initComplete", handlePopUpInitComplete);
_popUp = null;
+ sendStrandEvent(_strand, "popUpClosed");
}
}
_showingPopup = false;