This is an automated email from the ASF dual-hosted git repository.
aharui 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 a9c66d7 allow DateField dropdown to close when the selectedDate is
clicked on. Should fix #700
a9c66d7 is described below
commit a9c66d7d04ae3c67071f3d1ad4d78aead3d2f72a
Author: Alex Harui <[email protected]>
AuthorDate: Wed Jan 29 23:04:22 2020 -0800
allow DateField dropdown to close when the selectedDate is clicked on.
Should fix #700
---
.../org/apache/royale/html/beads/DateFieldView.as | 2 ++
.../royale/html/beads/models/DateChooserModel.as | 22 +++++++++++++++++++++-
.../org/apache/royale/core/IDateChooserModel.as | 14 ++++++++++++++
3 files changed, 37 insertions(+), 1 deletion(-)
diff --git
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DateFieldView.as
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DateFieldView.as
index 4ca4e6e..6188cf1 100644
---
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DateFieldView.as
+++
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DateFieldView.as
@@ -206,6 +206,8 @@ package org.apache.royale.html.beads
var model:IDateChooserModel =
_strand.getBeadByType(IDateChooserModel) as IDateChooserModel;
_popUp.selectedDate =
model.selectedDate;
+ var popUpModel:IDateChooserModel =
_popUp.getBeadByType(IDateChooserModel) as IDateChooserModel;
+ popUpModel.disableChangeCheck = true;
var host:IPopUpHost =
UIUtils.findPopUpHost(getHost());
var point:Point = new
Point(_textInput.width, _button.height);
diff --git
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/DateChooserModel.as
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/DateChooserModel.as
index e202b1f..39ca423 100644
---
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/DateChooserModel.as
+++
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/DateChooserModel.as
@@ -65,6 +65,7 @@ package org.apache.royale.html.beads.models
private var _displayedMonth:Number;
private var _firstDayOfWeek:Number = 0;
private var _selectedDate:Date;
+ private var _disableChangeCheck:Boolean;
/**
* An array of strings used to name the days of the week with
Sunday being the
@@ -195,7 +196,7 @@ package org.apache.royale.html.beads.models
COMPILE::JS
{
// in JS, date compare does not compare values, only if same
instance
- if (value != null && _selectedDate != null && value.getTime()
== _selectedDate.getTime())
+ if (!disableChangeCheck && value != null && _selectedDate !=
null && value.getTime() == _selectedDate.getTime())
return;
}
if (value != _selectedDate) {
@@ -216,6 +217,25 @@ package org.apache.royale.html.beads.models
dispatchEvent( new Event("selectedDateChanged") );
}
+ else if (disableChangeCheck)
+ dispatchEvent( new Event("selectedDateChanged") );
+ }
+
+ /**
+ * The currently selected date or null if no date has been selected.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.0
+ */
+ public function get disableChangeCheck():Boolean
+ {
+ return _disableChangeCheck;
+ }
+ public function set disableChangeCheck(value:Boolean):void
+ {
+ _disableChangeCheck = value;
}
// Utilities
diff --git
a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/IDateChooserModel.as
b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/IDateChooserModel.as
index a0aaf5c..57caeaf 100644
---
a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/IDateChooserModel.as
+++
b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/IDateChooserModel.as
@@ -97,5 +97,19 @@ package org.apache.royale.core
*/
function get selectedDate():Date;
function set selectedDate(value:Date):void;
+
+ /**
+ * If true, the DateChooser will dispatch change
+ * events even if the date clicked is the selected date.
+ * This flag is used by DateField to get the
+ * dropdown to dismiss when clicking the selected date.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.0
+ */
+ function get disableChangeCheck():Boolean;
+ function set disableChangeCheck(value:Boolean):void;
}
}