When DatePicker pops up it’s not possible to select/tap today’s date. Below the full app. You may tap every date and it works properly: the selected date is ‘picked’, it is shown in the text box and the DatePicker is closed. But if you restart the app and wish to select today’s date so you tap the current date it does nothing. In this case it seems that the DatePicker does not trigger as it doesn’t even close.
<App>
<JavaScript>
var Observable = require("FuseJS/Observable");
var showDatePicker = Observable(false);
var selectedDate = Observable();
var datePicked = Observable();
selectedDate.onValueChanged(module, function(date) {
if (Object.prototype.toString.call(date) === '[object Date]') {
datePicked.value = date;
toggleDatePicker();
}
});
function toggleDatePicker(){
if (showDatePicker.value) {
showDatePicker.value = false;
} else {
showDatePicker.value = true;
}
}
module.exports = {
toggleDatePicker: toggleDatePicker,
showDatePicker: showDatePicker,
selectedDate: selectedDate,
datePicked: datePicked,
minDate: new Date(Date.parse("1950-01-01T00:00:00.000Z")),
maxDate: new Date(Date.parse("2050-01-01T00:00:00.000Z")),
};
</JavaScript>
<ClientPanel>
<StackPanel Margin="20,20,20,20">
<Text Value="Tap to open datepicker" />
<Rectangle Height="32">
<Stroke Width="1" Color="#CCCCCC" />
<Text Dock="Left" TextAlignment="Center" Value="{datePicked}" FontSize="16" Margin="5,5,5,5">
<Tapped>
<Callback Handler="{toggleDatePicker}" />
</Tapped>
</Text>
</Rectangle>
</StackPanel>
<WhileTrue Value="{showDatePicker}">
<Panel Layer="Overlay" Offset="0,0">
<!-- This button allows to close the datepicker by tapping outside -->
<Button Text="Close" Clicked="{toggleDatePicker}" />
<NativeViewHost>
<DatePicker MinValue="{minDate}" MaxValue="{maxDate}" Value="{selectedDate}" Height="410" Width="90%" Background="#CCCCCC" Opacity="0.9" />
</NativeViewHost>
</Panel>
<OnBackButton>
<Callback Handler="{toggleDatePicker}" />
</OnBackButton>
</WhileTrue>
</ClientPanel>
</App>