Skip to content

Commit 56d2cfd

Browse files
committed
fix #874 TimeBox value is not set after picking time
1 parent 7aac106 commit 56d2cfd

File tree

3 files changed

+13
-4
lines changed

3 files changed

+13
-4
lines changed

domino-ui/src/main/java/org/dominokit/domino/ui/forms/TimeBox.java

-1
Original file line numberDiff line numberDiff line change
@@ -501,7 +501,6 @@ public void onTimeSelectionChanged(Date date) {
501501
clearInvalid();
502502
withValue(date);
503503
}
504-
this.popover.close();
505504
}
506505
}
507506

domino-ui/src/main/java/org/dominokit/domino/ui/timepicker/TimePicker.java

+12-2
Original file line numberDiff line numberDiff line change
@@ -113,12 +113,17 @@ public TimePicker(Date date, DateTimeFormatInfo dateTimeFormatInfo) {
113113
this.date = updatedTime;
114114
onTimeViewUpdate(updatedTime);
115115
triggerChangeListeners(oldTime, this.date);
116-
timeSelectionListeners.forEach(listener -> listener.onDaySelected(oldTime, this.date));
116+
onTimeSelectionChanged(this.date);
117+
timeSelectionListeners.forEach(listener -> listener.onTimeSelected(oldTime, this.date));
117118
});
118119

119120
onTimeViewUpdate(this.date);
120121
}
121122

123+
private void onTimeSelectionChanged(Date date) {
124+
new ArrayList<>(viewListeners).forEach(listener -> listener.onTimeSelectionChanged(date));
125+
}
126+
122127
/**
123128
* Creates a new TimePicker instance with the specified date.
124129
*
@@ -214,10 +219,15 @@ public DateTimeFormatInfo getDateTimeFormatInfo() {
214219
*/
215220
public TimePicker setDateTimeFormatInfo(DateTimeFormatInfo dateTimeFormatInfo) {
216221
this.dateTimeFormatInfo = dateTimeFormatInfo;
217-
onTimeViewUpdate(this.date);
222+
onDateTimeFormatChanged();
218223
return this;
219224
}
220225

226+
private void onDateTimeFormatChanged() {
227+
new ArrayList<>(viewListeners)
228+
.forEach(listener -> listener.onDateTimeFormatInfoChanged(getDateTimeFormatInfo()));
229+
}
230+
221231
/**
222232
* Binds a TimePickerViewListener to this TimePicker instance.
223233
*

domino-ui/src/main/java/org/dominokit/domino/ui/timepicker/TimeSelectionListener.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,5 +26,5 @@ public interface TimeSelectionListener {
2626
* @param oldDate The previously selected date.
2727
* @param newDate The newly selected date.
2828
*/
29-
void onDaySelected(Date oldDate, Date newDate);
29+
void onTimeSelected(Date oldDate, Date newDate);
3030
}

0 commit comments

Comments
 (0)