diff --git a/tests/app/ui/date-picker/date-picker-tests-native.android.ts b/tests/app/ui/date-picker/date-picker-tests-native.android.ts index 9ce5500c8..0b1c4353f 100644 --- a/tests/app/ui/date-picker/date-picker-tests-native.android.ts +++ b/tests/app/ui/date-picker/date-picker-tests-native.android.ts @@ -5,7 +5,7 @@ export function getNativeYear(datePicker: datePickerModule.DatePicker): number { } export function getNativeMonth(datePicker: datePickerModule.DatePicker): number { - return datePicker.android.getMonth(); + return datePicker.android.getMonth() + 1; } export function getNativeDay(datePicker: datePickerModule.DatePicker): number { @@ -25,7 +25,7 @@ export function setNativeYear(datePicker: datePickerModule.DatePicker, value: nu } export function setNativeMonth(datePicker: datePickerModule.DatePicker, value: number): void { - datePicker.android.updateDate(datePicker.android.getYear(), value, datePicker.android.getDayOfMonth()); + datePicker.android.updateDate(datePicker.android.getYear(), value - 1, datePicker.android.getDayOfMonth()); } export function setNativeDay(datePicker: datePickerModule.DatePicker, value: number): void { @@ -33,5 +33,5 @@ export function setNativeDay(datePicker: datePickerModule.DatePicker, value: num } export function setNativeDate(datePicker: datePickerModule.DatePicker, year: number, month: number, day: number): void { - datePicker.android.updateDate(year, month, day); + datePicker.android.updateDate(year, month - 1, day); } diff --git a/tests/app/ui/date-picker/date-picker-tests-native.ios.ts b/tests/app/ui/date-picker/date-picker-tests-native.ios.ts index bc6b8ca1f..ead0fa337 100644 --- a/tests/app/ui/date-picker/date-picker-tests-native.ios.ts +++ b/tests/app/ui/date-picker/date-picker-tests-native.ios.ts @@ -7,7 +7,7 @@ export function getNativeYear(datePicker: datePickerModule.DatePicker): number { } export function getNativeMonth(datePicker: datePickerModule.DatePicker): number { - return utils.ios.getter(NSCalendar, NSCalendar.currentCalendar).componentsFromDate(NSCalendarUnit.CalendarUnitYear | NSCalendarUnit.CalendarUnitMonth | NSCalendarUnit.CalendarUnitDay, datePicker.ios.date).month - 1; + return utils.ios.getter(NSCalendar, NSCalendar.currentCalendar).componentsFromDate(NSCalendarUnit.CalendarUnitYear | NSCalendarUnit.CalendarUnitMonth | NSCalendarUnit.CalendarUnitDay, datePicker.ios.date).month; } export function getNativeDay(datePicker: datePickerModule.DatePicker): number { @@ -31,7 +31,7 @@ export function setNativeYear(datePicker: datePickerModule.DatePicker, value: nu export function setNativeMonth(datePicker: datePickerModule.DatePicker, value: number): void { var comps = utils.ios.getter(NSCalendar, NSCalendar.currentCalendar).componentsFromDate(NSCalendarUnit.CalendarUnitYear | NSCalendarUnit.CalendarUnitMonth | NSCalendarUnit.CalendarUnitDay, datePicker.ios.date); - comps.month = value + 1; + comps.month = value; datePicker.ios.setDateAnimated(utils.ios.getter(NSCalendar, NSCalendar.currentCalendar).dateFromComponents(comps), false); (datePicker)._changeHandler.valueChanged(datePicker.ios); } @@ -46,7 +46,7 @@ export function setNativeDay(datePicker: datePickerModule.DatePicker, value: num export function setNativeDate(datePicker: datePickerModule.DatePicker, year: number, month: number, day: number): void { var comps = utils.ios.getter(NSCalendar, NSCalendar.currentCalendar).componentsFromDate(NSCalendarUnit.CalendarUnitYear | NSCalendarUnit.CalendarUnitMonth | NSCalendarUnit.CalendarUnitDay, datePicker.ios.date); comps.year = year; - comps.month = month + 1; + comps.month = month; comps.day = day; datePicker.ios.setDateAnimated(utils.ios.getter(NSCalendar, NSCalendar.currentCalendar).dateFromComponents(comps), false); (datePicker)._changeHandler.valueChanged(datePicker.ios); diff --git a/tests/app/ui/date-picker/date-picker-tests.ts b/tests/app/ui/date-picker/date-picker-tests.ts index 2fe55b493..d721b94cb 100644 --- a/tests/app/ui/date-picker/date-picker-tests.ts +++ b/tests/app/ui/date-picker/date-picker-tests.ts @@ -89,7 +89,7 @@ export class DatePickerTest extends testModule.UITest({ name: "month", - defaultValue: defaultDate.getMonth(), + defaultValue: defaultDate.getMonth() + 1, valueConverter: v => parseInt(v), }); monthProperty.register(DatePickerBase); diff --git a/tns-core-modules/ui/date-picker/date-picker.android.ts b/tns-core-modules/ui/date-picker/date-picker.android.ts index 3b15f7aa3..36782dda4 100644 --- a/tns-core-modules/ui/date-picker/date-picker.android.ts +++ b/tns-core-modules/ui/date-picker/date-picker.android.ts @@ -31,8 +31,8 @@ function initializeDateChangedListener(): void { dateChanged = true; } - if (month !== owner.month) { - monthProperty.nativeValueChange(owner, month); + if (month !== (owner.month - 1)) { + monthProperty.nativeValueChange(owner, month + 1); dateChanged = true; } @@ -77,42 +77,29 @@ export class DatePicker extends DatePickerBase { private updateNativeDate(): void { const nativeView = this.nativeViewProtected; const year = typeof this.year === "number" ? this.year : nativeView.getYear(); - const month = typeof this.month === "number" ? this.month : nativeView.getMonth(); + const month = typeof this.month === "number" ? this.month - 1 : nativeView.getMonth(); const day = typeof this.day === "number" ? this.day : nativeView.getDayOfMonth(); this.date = new Date(year, month, day); } - [yearProperty.getDefault](): number { - return this.nativeViewProtected.getYear(); - } [yearProperty.setNative](value: number) { if (this.nativeViewProtected.getYear() !== value) { this.updateNativeDate(); } } - [monthProperty.getDefault](): number { - return this.nativeViewProtected.getMonth(); - } [monthProperty.setNative](value: number) { - if (this.nativeViewProtected.getMonth() !== value) { + if (this.nativeViewProtected.getMonth() !== (value - 1)) { this.updateNativeDate(); } } - [dayProperty.getDefault](): number { - return this.nativeViewProtected.getDayOfMonth(); - } [dayProperty.setNative](value: number) { if (this.nativeViewProtected.getDayOfMonth() !== value) { this.updateNativeDate(); } } - [dateProperty.getDefault](): Date { - const nativeView = this.nativeViewProtected; - return new Date(nativeView.getYear(), nativeView.getMonth(), nativeView.getDayOfMonth()); - } [dateProperty.setNative](value: Date) { const nativeView = this.nativeViewProtected; if (nativeView.getDayOfMonth() !== value.getDay() diff --git a/tns-core-modules/ui/date-picker/date-picker.ios.ts b/tns-core-modules/ui/date-picker/date-picker.ios.ts index 410fc423b..97b670ad9 100644 --- a/tns-core-modules/ui/date-picker/date-picker.ios.ts +++ b/tns-core-modules/ui/date-picker/date-picker.ios.ts @@ -25,30 +25,18 @@ export class DatePicker extends DatePickerBase { return this.nativeViewProtected; } - [yearProperty.getDefault](): number { - return this.nativeViewProtected.date.getFullYear(); - } [yearProperty.setNative](value: number) { - this.date = new Date(value, this.month, this.day); + this.date = new Date(value, this.month - 1, this.day); } - [monthProperty.getDefault](): number { - return this.nativeViewProtected.date.getMonth(); - } [monthProperty.setNative](value: number) { - this.date = new Date(this.year, value, this.day); + this.date = new Date(this.year, value - 1, this.day); } - [dayProperty.getDefault](): number { - return this.nativeViewProtected.date.getDay(); - } [dayProperty.setNative](value: number) { - this.date = new Date(this.year, this.month, value); + this.date = new Date(this.year, this.month - 1, value); } - [dateProperty.getDefault](): Date { - return this.nativeViewProtected.date; - } [dateProperty.setNative](value: Date) { const picker = this.nativeViewProtected; const comps = ios.getter(NSCalendar, NSCalendar.currentCalendar).componentsFromDate(NSCalendarUnit.CalendarUnitYear | NSCalendarUnit.CalendarUnitMonth | NSCalendarUnit.CalendarUnitDay, picker.date); @@ -108,9 +96,8 @@ class UIDatePickerChangeHandlerImpl extends NSObject { dateChanged = true; } - const jsMonth = comps.month - 1; - if (jsMonth !== owner.month) { - monthProperty.nativeValueChange(owner, jsMonth); + if (comps.month !== owner.month) { + monthProperty.nativeValueChange(owner, comps.month); dateChanged = true; } @@ -120,7 +107,7 @@ class UIDatePickerChangeHandlerImpl extends NSObject { } if (dateChanged) { - dateProperty.nativeValueChange(owner, new Date(comps.year, jsMonth, comps.day)); + dateProperty.nativeValueChange(owner, new Date(comps.year, comps.month - 1, comps.day)); } }