@@ -82,9 +82,13 @@ export function generateDatePickerColumns(
82
82
if ( rank >= precisionRankRecord . second ) defaultColumns . push ( SECOND_COLUMN )
83
83
84
84
const finalColumns = columns ?. length ? columns : defaultColumns
85
+ const renderedColumns = finalColumns . filter ( columnType => {
86
+ const columnPrecision = columnToPrecisionMap [ columnType ]
87
+ return rank >= precisionRankRecord [ columnPrecision ]
88
+ } )
85
89
function getValue ( type : DateColumnType ) : number | null {
86
- const index = finalColumns . indexOf ( type )
87
- if ( index !== undefined && index >= 0 && index < selected . length ) {
90
+ const index = renderedColumns . indexOf ( type )
91
+ if ( index >= 0 && index < selected . length ) {
88
92
const val = parseInt ( selected [ index ] , 10 )
89
93
return isNaN ( val ) ? null : val
90
94
}
@@ -136,14 +140,9 @@ export function generateDatePickerColumns(
136
140
return column
137
141
}
138
142
139
- const validColumns = finalColumns . filter ( columnType => {
140
- const columnPrecision = columnToPrecisionMap [ columnType ]
141
- return rank >= precisionRankRecord [ columnPrecision ]
142
- } )
143
-
144
- validColumns . forEach ( columnType => {
143
+ renderedColumns . forEach ( columnType => {
145
144
switch ( columnType ) {
146
- case YEAR_COLUMN :
145
+ case YEAR_COLUMN : {
147
146
const lower = minYear
148
147
const upper = maxYear
149
148
const years = generateColumn ( lower , upper , 'year' )
@@ -154,8 +153,8 @@ export function generateDatePickerColumns(
154
153
} ) )
155
154
)
156
155
break
157
-
158
- case MONTH_COLUMN :
156
+ }
157
+ case MONTH_COLUMN : {
159
158
const lowerMonth = isInMinYear ? minMonth : 1
160
159
const upperMonth = isInMaxYear ? maxMonth : 12
161
160
const months = generateColumn ( lowerMonth , upperMonth , 'month' )
@@ -166,8 +165,8 @@ export function generateDatePickerColumns(
166
165
} ) )
167
166
)
168
167
break
169
-
170
- case DAY_COLUMN :
168
+ }
169
+ case DAY_COLUMN : {
171
170
const lowerDay = isInMinMonth ? minDay : 1
172
171
const upperDay = isInMaxMonth
173
172
? maxDay
@@ -180,8 +179,8 @@ export function generateDatePickerColumns(
180
179
} ) )
181
180
)
182
181
break
183
-
184
- case HOUR_COLUMN :
182
+ }
183
+ case HOUR_COLUMN : {
185
184
const lowerHour = isInMinDay ? minHour : 0
186
185
const upperHour = isInMaxDay ? maxHour : 23
187
186
const hours = generateColumn ( lowerHour , upperHour , 'hour' )
@@ -192,8 +191,8 @@ export function generateDatePickerColumns(
192
191
} ) )
193
192
)
194
193
break
195
-
196
- case MINUTE_COLUMN :
194
+ }
195
+ case MINUTE_COLUMN : {
197
196
const lowerMinute = isInMinHour ? minMinute : 0
198
197
const upperMinute = isInMaxHour ? maxMinute : 59
199
198
const minutes = generateColumn ( lowerMinute , upperMinute , 'minute' )
@@ -204,8 +203,8 @@ export function generateDatePickerColumns(
204
203
} ) )
205
204
)
206
205
break
207
-
208
- case SECOND_COLUMN :
206
+ }
207
+ case SECOND_COLUMN : {
209
208
const lowerSecond = isInMinMinute ? minSecond : 0
210
209
const upperSecond = isInMaxMinute ? maxSecond : 59
211
210
const seconds = generateColumn ( lowerSecond , upperSecond , 'second' )
@@ -216,6 +215,7 @@ export function generateDatePickerColumns(
216
215
} ) )
217
216
)
218
217
break
218
+ }
219
219
}
220
220
} )
221
221
0 commit comments