Update maximal date on every DateInput dropdown toggle

This commit is contained in:
Jakub
2020-08-20 13:38:09 +02:00
committed by Michal Horejsek
parent 5f02e59fa4
commit 2182e573f9
3 changed files with 22 additions and 5 deletions

View File

@ -33,10 +33,11 @@ Rectangle {
property var dropDownStyle : Style.dropDownLight property var dropDownStyle : Style.dropDownLight
// dates // dates
property date currentDate : new Date() // default now property date currentDate : new Date() // default now
property date minDate : new Date(0) // default epoch start property date minDate : new Date(0) // default epoch start
property date maxDate : new Date() // default now property date maxDate : new Date() // default now
property int unix : Math.floor(currentDate.getTime()/1000) property bool isMaxDateToday : false
property int unix : Math.floor(currentDate.getTime()/1000)
onMinDateChanged: { onMinDateChanged: {
if (isNaN(minDate.getTime()) || minDate.getTime() > maxDate.getTime()) { if (isNaN(minDate.getTime()) || minDate.getTime() > maxDate.getTime()) {
@ -103,6 +104,11 @@ Rectangle {
onActivated: updateRange() onActivated: updateRange()
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
dropDownStyle: root.dropDownStyle dropDownStyle: root.dropDownStyle
onDownChanged: {
if (root.isMaxDateToday){
root.maxDate = new Date()
}
}
} }
Rectangle { Rectangle {
@ -120,6 +126,11 @@ Rectangle {
onActivated: updateRange() onActivated: updateRange()
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
dropDownStyle: root.dropDownStyle dropDownStyle: root.dropDownStyle
onDownChanged: {
if (root.isMaxDateToday){
root.maxDate = new Date()
}
}
} }
Rectangle { Rectangle {
@ -136,6 +147,11 @@ Rectangle {
onActivated: updateRange() onActivated: updateRange()
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
dropDownStyle: root.dropDownStyle dropDownStyle: root.dropDownStyle
onDownChanged: {
if (root.isMaxDateToday){
root.maxDate = new Date()
}
}
} }
} }
@ -240,4 +256,3 @@ Rectangle {
)) ))
} }
} }

View File

@ -63,6 +63,7 @@ Column {
metricsLabel: inputDateFrom.label metricsLabel: inputDateFrom.label
currentDate: new Date() // now currentDate: new Date() // now
minDate: inputDateFrom.currentDate minDate: inputDateFrom.currentDate
isMaxDateToday: true
dropDownStyle: dateRange.dropDownStyle dropDownStyle: dateRange.dropDownStyle
} }

View File

@ -76,6 +76,7 @@ Row {
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
currentDate: new Date() // default now currentDate: new Date() // default now
minDate: inputDateFrom.currentDate minDate: inputDateFrom.currentDate
isMaxDateToday: true
} }
CheckBoxLabel { CheckBoxLabel {