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 <[email protected]>
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;

Reply via email to