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 118f7e0 jewel-DateChooserDateRangeRestriction: allow to setup only
one limit (min or max) or both.
118f7e0 is described below
commit 118f7e07d73a288715679773955e13d936e3f884
Author: Carlos Rovira <[email protected]>
AuthorDate: Sat Jan 2 12:08:32 2021 +0100
jewel-DateChooserDateRangeRestriction: allow to setup only one limit (min
or max) or both.
---
.../datechooser/DateChooserDateRangeRestriction.as | 39 +++++++++++++---------
1 file changed, 23 insertions(+), 16 deletions(-)
diff --git
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datechooser/DateChooserDateRangeRestriction.as
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datechooser/DateChooserDateRangeRestriction.as
index 77150b4..1a76d39 100644
---
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datechooser/DateChooserDateRangeRestriction.as
+++
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datechooser/DateChooserDateRangeRestriction.as
@@ -133,17 +133,19 @@ package org.apache.royale.jewel.beads.controls.datechooser
view.nextButton.addEventListener(MouseEvent.CLICK,
refreshDateRange);
view.viewSelector.addEventListener(MouseEvent.CLICK,
refreshDateRange);
- table = view.table;
- view.table.addEventListener(Event.CHANGE,
refreshDateRange);
-
- tableContent = table.getBeadByType(TBodyContentArea) as
TBodyContentArea;
-
refreshDateRange();
}
public function refreshDateRange():void
{
- if (!minDate || !maxDate) return;
+ if(!view) return;
+ if (!minDate && !maxDate) return;
+
+ if(view.table)
+ view.table.removeEventListener(Event.CHANGE,
refreshDateRange);
+ table = view.table;
+ view.table.addEventListener(Event.CHANGE,
refreshDateRange);
+ tableContent = table.getBeadByType(TBodyContentArea) as
TBodyContentArea;
var n:int = table.dataProvider.length;
for (var i:int = 0; i < tableContent.numElements; i++)
@@ -163,8 +165,12 @@ package org.apache.royale.jewel.beads.controls.datechooser
var rendererDate:Date =
renderer.data[renderer.labelField];
if (!rendererDate) return;
- var minTime:Number = minDate.getTime();
- var maxTime:Number = maxDate.getTime();
+ var minTime:Number;
+ var maxTime:Number;
+ if(minDate)
+ minTime = minDate.getTime();
+ if(maxDate)
+ maxTime = maxDate.getTime();
var itemTime:Number = rendererDate.getTime();
var disabled:Disabled = (renderer as
IStrand).getBeadByType(Disabled) as Disabled;
@@ -174,14 +180,15 @@ package org.apache.royale.jewel.beads.controls.datechooser
(renderer as IStrand).addBead(disabled);
}
- if ((itemTime > minTime) && (maxTime > itemTime))
- {
- disabled.disabled = false;
- }
- else
- {
- disabled.disabled = true;
- }
+ if(minDate && maxDate)
+ // both minDate and maxDate
+ disabled.disabled = (itemTime > minTime) &&
(maxTime > itemTime) ? false : true;
+ else if(!minDate && maxDate)
+ // only maxDate
+ disabled.disabled = maxTime > itemTime ? false
: true;
+ else if(minDate && !maxDate)
+ // only minDate
+ disabled.disabled = itemTime > minTime ? false
: true;
}
}
}
\ No newline at end of file