File tree Expand file tree Collapse file tree 3 files changed +24
-8
lines changed Expand file tree Collapse file tree 3 files changed +24
-8
lines changed Original file line number Diff line number Diff line change @@ -25,11 +25,12 @@ export default function useTimeSelection<DateType>({
2525 newMinute : number ,
2626 newSecond : number ,
2727 ) => {
28- let newDate = value || generateConfig . getNow ( ) ;
28+ const now = generateConfig . getNow ( ) ;
29+ let newDate = value || now ;
2930
30- const mergedHour = Math . max ( 0 , newHour ) ;
31- let mergedMinute = Math . max ( 0 , newMinute ) ;
32- let mergedSecond = Math . max ( 0 , newSecond ) ;
31+ const mergedHour = newHour < 0 ? generateConfig . getHour ( now ) : newHour ;
32+ let mergedMinute = newMinute < 0 ? generateConfig . getMinute ( now ) : newMinute ;
33+ let mergedSecond = newSecond < 0 ? generateConfig . getSecond ( now ) : newSecond ;
3334
3435 const newDisabledMinutes = disabledMinutes && disabledMinutes ( mergedHour ) ;
3536 if ( newDisabledMinutes ?. includes ( mergedMinute ) ) {
Original file line number Diff line number Diff line change @@ -92,6 +92,7 @@ describe('Picker.DisabledTime', () => {
9292 } ) ;
9393
9494 it ( 'dynamic disabledTime should be correct' , ( ) => {
95+ jest . useFakeTimers ( ) . setSystemTime ( getMoment ( '2023-09-05 22:02:00' ) . valueOf ( ) ) ;
9596 render (
9697 < MomentPicker
9798 open
@@ -106,6 +107,7 @@ describe('Picker.DisabledTime', () => {
106107 }
107108 } ,
108109 disabledSeconds : ( _ , selectMinute ) => {
110+ console . log ( selectMinute )
109111 if ( selectMinute === 2 ) {
110112 return [ 0 , 1 ] ;
111113 } else {
@@ -134,6 +136,7 @@ describe('Picker.DisabledTime', () => {
134136 expect ( document . querySelector ( '.rc-picker-input input' ) . getAttribute ( 'value' ) ) . toEqual (
135137 '02:02:02' ,
136138 ) ;
139+ jest . useRealTimers ( ) ;
137140 } ) ;
138141
139142 describe ( 'warning for legacy props' , ( ) => {
Original file line number Diff line number Diff line change @@ -52,6 +52,10 @@ describe('Picker.Basic', () => {
5252 } ) ;
5353 }
5454
55+ function selectColumn ( colIndex : number , rowIndex : number ) {
56+ fireEvent . click ( document . querySelectorAll ( 'ul' ) [ colIndex ] . querySelectorAll ( 'li' ) [ rowIndex ] ) ;
57+ }
58+
5559 describe ( 'mode' , ( ) => {
5660 const modeList : { mode : PanelMode ; className : string } [ ] = [
5761 {
@@ -474,10 +478,6 @@ describe('Picker.Basic', () => {
474478 const { container } = render ( < MomentPicker picker = "time" onChange = { onChange } onOk = { onOk } /> ) ;
475479 openPicker ( container ) ;
476480
477- function selectColumn ( colIndex : number , rowIndex : number ) {
478- fireEvent . click ( document . querySelectorAll ( 'ul' ) [ colIndex ] . querySelectorAll ( 'li' ) [ rowIndex ] ) ;
479- }
480-
481481 selectColumn ( 0 , 13 ) ;
482482 selectColumn ( 1 , 22 ) ;
483483 selectColumn ( 2 , 33 ) ;
@@ -1107,4 +1107,16 @@ describe('Picker.Basic', () => {
11071107 // Reset locale
11081108 moment . locale ( 'en' ) ;
11091109 } ) ;
1110+
1111+ it ( 'select minutes and seconds directly in dateTime mode will apply the current time' , ( ) => {
1112+ jest . setSystemTime ( getMoment ( '2023-09-04 21:49:10' ) . valueOf ( ) ) ;
1113+ const ui = < MomentPicker showTime /> ;
1114+ const { container } = render ( ui ) ;
1115+
1116+ openPicker ( container ) ;
1117+ // Select minute
1118+ selectColumn ( 1 , 5 ) ;
1119+
1120+ expect ( container . querySelector ( 'input' ) ) . toHaveValue ( '2023-09-04 21:05:10' ) ;
1121+ } ) ;
11101122} ) ;
You can’t perform that action at this time.
0 commit comments