File tree Expand file tree Collapse file tree 4 files changed +28
-2
lines changed
automated/src/ui/time-picker
packages/core/ui/time-picker Expand file tree Collapse file tree 4 files changed +28
-2
lines changed Original file line number Diff line number Diff line change @@ -197,13 +197,27 @@ export class TimePickerTest extends testModule.UITest<timePickerModule.TimePicke
197
197
TKUnit . assertEqual ( actualValue , expectedValue ) ;
198
198
}
199
199
200
+ public testHourZeroFromLocalToNative ( ) {
201
+ let expectedValue = 0 ;
202
+ this . testView . hour = expectedValue ;
203
+ let actualValue = timePickerTestsNative . getNativeHour ( this . testView ) ;
204
+ TKUnit . assertEqual ( actualValue , expectedValue ) ;
205
+ }
206
+
200
207
public testMinuteFromLocalToNative ( ) {
201
208
let expectedValue = 59 ;
202
209
this . testView . minute = expectedValue ;
203
210
let actualValue = timePickerTestsNative . getNativeMinute ( this . testView ) ;
204
211
TKUnit . assertEqual ( actualValue , expectedValue ) ;
205
212
}
206
213
214
+ public testMinuteZeroFromLocalToNative ( ) {
215
+ let expectedValue = 0 ;
216
+ this . testView . minute = expectedValue ;
217
+ let actualValue = timePickerTestsNative . getNativeMinute ( this . testView ) ;
218
+ TKUnit . assertEqual ( actualValue , expectedValue ) ;
219
+ }
220
+
207
221
public testHourFromNativeToLocal ( ) {
208
222
let expectedValue = 14 ;
209
223
timePickerTestsNative . setNativeHour ( this . testView , expectedValue ) ;
Original file line number Diff line number Diff line change @@ -10,6 +10,8 @@ export function navigatingTo(args: EventData) {
10
10
export class SampleData extends Observable {
11
11
minDate = new Date ( ) ;
12
12
maxDate = new Date ( 2030 , 7 , 1 ) ;
13
+ hour = 8 ;
14
+ minute = 0 ;
13
15
displayDate = {
14
16
day : new Date ( ) . getDate ( ) ,
15
17
month : new Date ( ) . getMonth ( ) ,
Original file line number Diff line number Diff line change @@ -16,5 +16,9 @@ year="{{displayDate?.year}}"
16
16
<Switch checked =" true" col =" 0" checkedChange =" {{checkedChange}}" />
17
17
<Label text =" Show Time" col =" 1" class =" m-l-10" />
18
18
</GridLayout >
19
+ <GridLayout rows =" auto,auto" columns =" " >
20
+ <Label text =" Time Picker standalone:" row =" 0" col =" 0" class =" m-t-10" />
21
+ <TimePicker row =" 1" hour =" {{hour}}" minute =" {{minute}}" ></TimePicker >
22
+ </GridLayout >
19
23
</StackLayout >
20
24
</Page >
Original file line number Diff line number Diff line change @@ -165,8 +165,11 @@ minuteIntervalProperty.register(TimePickerBase);
165
165
166
166
export const minuteProperty = new Property < TimePickerBase , number > ( {
167
167
name : 'minute' ,
168
- defaultValue : 0 ,
168
+ // avoid defaultValue of 0 because it will prevent valueChanged from firing to initialize value due to it already matching defaultValue to start
169
+ // sometimes user needs to set 0: https://github.com/NativeScript/NativeScript/issues/10457
170
+ defaultValue : null ,
169
171
valueChanged : ( picker , oldValue , newValue ) => {
172
+ newValue = newValue || 0 ;
170
173
if ( ! isMinuteValid ( newValue ) || ! isValidTime ( picker ) ) {
171
174
throw new Error ( getErrorMessage ( picker , 'minute' , newValue ) ) ;
172
175
}
@@ -179,8 +182,11 @@ minuteProperty.register(TimePickerBase);
179
182
180
183
export const hourProperty = new Property < TimePickerBase , number > ( {
181
184
name : 'hour' ,
182
- defaultValue : 0 ,
185
+ // avoid defaultValue of 0 because it will prevent valueChanged from firing to initialize value due to it already matching defaultValue to start
186
+ // sometimes user needs to set 0: https://github.com/NativeScript/NativeScript/issues/10457
187
+ defaultValue : null ,
183
188
valueChanged : ( picker , oldValue , newValue ) => {
189
+ newValue = newValue || 0 ;
184
190
if ( ! isHourValid ( newValue ) || ! isValidTime ( picker ) ) {
185
191
throw new Error ( getErrorMessage ( picker , 'Hour' , newValue ) ) ;
186
192
}
You can’t perform that action at this time.
0 commit comments