mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-11-05 13:26:48 +08:00
Pickers fixes and tests
This commit is contained in:
@@ -31,3 +31,7 @@ export function setNativeMonth(datePicker: datePickerModule.DatePicker, value: n
|
|||||||
export function setNativeDay(datePicker: datePickerModule.DatePicker, value: number): void {
|
export function setNativeDay(datePicker: datePickerModule.DatePicker, value: number): void {
|
||||||
datePicker.android.updateDate(datePicker.android.getYear(), datePicker.android.getMonth(), value);
|
datePicker.android.updateDate(datePicker.android.getYear(), datePicker.android.getMonth(), value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function setNativeDate(datePicker: datePickerModule.DatePicker, year: number, month: number, day: number): void {
|
||||||
|
datePicker.android.updateDate(year, month - 1, day);
|
||||||
|
}
|
||||||
@@ -9,4 +9,6 @@ export declare function getNativeMinDate(datePicker: datePickerModule.DatePicker
|
|||||||
|
|
||||||
export declare function setNativeYear(datePicker: datePickerModule.DatePicker, value: number): void;
|
export declare function setNativeYear(datePicker: datePickerModule.DatePicker, value: number): void;
|
||||||
export declare function setNativeMonth(datePicker: datePickerModule.DatePicker, value: number): void;
|
export declare function setNativeMonth(datePicker: datePickerModule.DatePicker, value: number): void;
|
||||||
export declare function setNativeDay(datePicker: datePickerModule.DatePicker, value: number): void;
|
export declare function setNativeDay(datePicker: datePickerModule.DatePicker, value: number): void;
|
||||||
|
|
||||||
|
export declare function setNativeDate(datePicker: datePickerModule.DatePicker, year: number, month: number, day: number): void;
|
||||||
@@ -41,4 +41,11 @@ export function setNativeDay(datePicker: datePickerModule.DatePicker, value: num
|
|||||||
(<any>datePicker)._changeHandler.valueChanged(datePicker.ios);
|
(<any>datePicker)._changeHandler.valueChanged(datePicker.ios);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function setNativeDate(datePicker: datePickerModule.DatePicker, year: number, month: number, day: number): void {
|
||||||
|
var comps = NSCalendar.currentCalendar().componentsFromDate(NSCalendarUnit.NSCalendarUnitYear | NSCalendarUnit.NSCalendarUnitMonth | NSCalendarUnit.NSCalendarUnitDay, datePicker.ios.date);
|
||||||
|
comps.year = year;
|
||||||
|
comps.month = month;
|
||||||
|
comps.day = day;
|
||||||
|
datePicker.ios.setDateAnimated(NSCalendar.currentCalendar().dateFromComponents(comps), false);
|
||||||
|
(<any>datePicker)._changeHandler.valueChanged(datePicker.ios);
|
||||||
|
}
|
||||||
@@ -11,7 +11,7 @@ import datePickerModule = require("ui/date-picker");
|
|||||||
// ```
|
// ```
|
||||||
// </snippet>
|
// </snippet>
|
||||||
|
|
||||||
function _createDatePicker(): datePickerModule.DatePicker {
|
function _createDatePicker(year?: number, month?: number, day?: number): datePickerModule.DatePicker {
|
||||||
// <snippet module="ui/date-picker" title="DatePicker">
|
// <snippet module="ui/date-picker" title="DatePicker">
|
||||||
// ## Creating a DatePicker
|
// ## Creating a DatePicker
|
||||||
// ``` JavaScript
|
// ``` JavaScript
|
||||||
@@ -19,10 +19,23 @@ function _createDatePicker(): datePickerModule.DatePicker {
|
|||||||
// ```
|
// ```
|
||||||
// </snippet>
|
// </snippet>
|
||||||
datePicker.id = "DatePicker";
|
datePicker.id = "DatePicker";
|
||||||
|
|
||||||
|
if (year) {
|
||||||
|
datePicker.year = year;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (month) {
|
||||||
|
datePicker.month = month;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (day) {
|
||||||
|
datePicker.day = day;
|
||||||
|
}
|
||||||
|
|
||||||
return datePicker;
|
return datePicker;
|
||||||
}
|
}
|
||||||
|
|
||||||
export var test_DummyForCodeSnippet = function () {
|
export function test_DummyForCodeSnippet() {
|
||||||
helper.buildUIAndRunTest(_createDatePicker(), function (views: Array<viewModule.View>) {
|
helper.buildUIAndRunTest(_createDatePicker(), function (views: Array<viewModule.View>) {
|
||||||
var datePicker = <datePickerModule.DatePicker>views[0];
|
var datePicker = <datePickerModule.DatePicker>views[0];
|
||||||
// <snippet module="ui/date-picker" title="DatePicker">
|
// <snippet module="ui/date-picker" title="DatePicker">
|
||||||
@@ -38,7 +51,7 @@ export var test_DummyForCodeSnippet = function () {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
export var test_WhenCreated_YearIsUndefined = function () {
|
export function test_WhenCreated_YearIsUndefined() {
|
||||||
helper.buildUIAndRunTest(_createDatePicker(), function (views: Array<viewModule.View>) {
|
helper.buildUIAndRunTest(_createDatePicker(), function (views: Array<viewModule.View>) {
|
||||||
var datePicker = <datePickerModule.DatePicker>views[0];
|
var datePicker = <datePickerModule.DatePicker>views[0];
|
||||||
var actualValue = datePicker.year;
|
var actualValue = datePicker.year;
|
||||||
@@ -47,7 +60,7 @@ export var test_WhenCreated_YearIsUndefined = function () {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
export var test_WhenCreated_MonthIsUndefined = function () {
|
export function test_WhenCreated_MonthIsUndefined() {
|
||||||
helper.buildUIAndRunTest(_createDatePicker(), function (views: Array<viewModule.View>) {
|
helper.buildUIAndRunTest(_createDatePicker(), function (views: Array<viewModule.View>) {
|
||||||
var datePicker = <datePickerModule.DatePicker>views[0];
|
var datePicker = <datePickerModule.DatePicker>views[0];
|
||||||
var actualValue = datePicker.month;
|
var actualValue = datePicker.month;
|
||||||
@@ -56,7 +69,7 @@ export var test_WhenCreated_MonthIsUndefined = function () {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
export var test_WhenCreated_DayIsUndefined = function () {
|
export function test_WhenCreated_DayIsUndefined() {
|
||||||
helper.buildUIAndRunTest(_createDatePicker(), function (views: Array<viewModule.View>) {
|
helper.buildUIAndRunTest(_createDatePicker(), function (views: Array<viewModule.View>) {
|
||||||
var datePicker = <datePickerModule.DatePicker>views[0];
|
var datePicker = <datePickerModule.DatePicker>views[0];
|
||||||
var actualValue = datePicker.day;
|
var actualValue = datePicker.day;
|
||||||
@@ -65,7 +78,7 @@ export var test_WhenCreated_DayIsUndefined = function () {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
export var testYearFromLocalToNative = function () {
|
export function testYearFromLocalToNative() {
|
||||||
helper.buildUIAndRunTest(_createDatePicker(), function (views: Array<viewModule.View>) {
|
helper.buildUIAndRunTest(_createDatePicker(), function (views: Array<viewModule.View>) {
|
||||||
var datePicker = <datePickerModule.DatePicker>views[0];
|
var datePicker = <datePickerModule.DatePicker>views[0];
|
||||||
var expectedValue = 1980;
|
var expectedValue = 1980;
|
||||||
@@ -75,7 +88,7 @@ export var testYearFromLocalToNative = function () {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
export var testMonthFromLocalToNative = function () {
|
export function testMonthFromLocalToNative() {
|
||||||
helper.buildUIAndRunTest(_createDatePicker(), function (views: Array<viewModule.View>) {
|
helper.buildUIAndRunTest(_createDatePicker(), function (views: Array<viewModule.View>) {
|
||||||
var datePicker = <datePickerModule.DatePicker>views[0];
|
var datePicker = <datePickerModule.DatePicker>views[0];
|
||||||
var expectedValue = 5;
|
var expectedValue = 5;
|
||||||
@@ -85,7 +98,7 @@ export var testMonthFromLocalToNative = function () {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
export var testDayFromLocalToNative = function () {
|
export function testDayFromLocalToNative() {
|
||||||
helper.buildUIAndRunTest(_createDatePicker(), function (views: Array<viewModule.View>) {
|
helper.buildUIAndRunTest(_createDatePicker(), function (views: Array<viewModule.View>) {
|
||||||
var datePicker = <datePickerModule.DatePicker>views[0];
|
var datePicker = <datePickerModule.DatePicker>views[0];
|
||||||
var expectedValue = 19;
|
var expectedValue = 19;
|
||||||
@@ -95,7 +108,7 @@ export var testDayFromLocalToNative = function () {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
export var testMaxDateFromLocalToNative = function () {
|
export function testMaxDateFromLocalToNative() {
|
||||||
helper.buildUIAndRunTest(_createDatePicker(), function (views: Array<viewModule.View>) {
|
helper.buildUIAndRunTest(_createDatePicker(), function (views: Array<viewModule.View>) {
|
||||||
var datePicker = <datePickerModule.DatePicker>views[0];
|
var datePicker = <datePickerModule.DatePicker>views[0];
|
||||||
var expectedValue = new Date(1980, 1, 9);
|
var expectedValue = new Date(1980, 1, 9);
|
||||||
@@ -105,7 +118,7 @@ export var testMaxDateFromLocalToNative = function () {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
export var testMinDateFromLocalToNative = function () {
|
export function testMinDateFromLocalToNative() {
|
||||||
helper.buildUIAndRunTest(_createDatePicker(), function (views: Array<viewModule.View>) {
|
helper.buildUIAndRunTest(_createDatePicker(), function (views: Array<viewModule.View>) {
|
||||||
var datePicker = <datePickerModule.DatePicker>views[0];
|
var datePicker = <datePickerModule.DatePicker>views[0];
|
||||||
var expectedValue = new Date(1980, 1, 9);
|
var expectedValue = new Date(1980, 1, 9);
|
||||||
@@ -115,7 +128,7 @@ export var testMinDateFromLocalToNative = function () {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
export var testYearFromNativeToLocal = function () {
|
export function testYearFromNativeToLocal() {
|
||||||
helper.buildUIAndRunTest(_createDatePicker(), function (views: Array<viewModule.View>) {
|
helper.buildUIAndRunTest(_createDatePicker(), function (views: Array<viewModule.View>) {
|
||||||
var datePicker = <datePickerModule.DatePicker>views[0];
|
var datePicker = <datePickerModule.DatePicker>views[0];
|
||||||
var expectedValue = 1981;
|
var expectedValue = 1981;
|
||||||
@@ -125,7 +138,7 @@ export var testYearFromNativeToLocal = function () {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
export var testMonthFromNativeToLocal = function () {
|
export function testMonthFromNativeToLocal() {
|
||||||
helper.buildUIAndRunTest(_createDatePicker(), function (views: Array<viewModule.View>) {
|
helper.buildUIAndRunTest(_createDatePicker(), function (views: Array<viewModule.View>) {
|
||||||
var datePicker = <datePickerModule.DatePicker>views[0];
|
var datePicker = <datePickerModule.DatePicker>views[0];
|
||||||
var expectedValue = 6;
|
var expectedValue = 6;
|
||||||
@@ -135,7 +148,19 @@ export var testMonthFromNativeToLocal = function () {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
export var testDayFromNativeToLocal = function () {
|
export function testYearMonthDayFromNativeToLocal() {
|
||||||
|
var testYear = 2000;
|
||||||
|
var testMonth = 3;
|
||||||
|
var testDay = 24;
|
||||||
|
|
||||||
|
helper.buildUIAndRunTest(_createDatePicker(), function (views: Array<viewModule.View>) {
|
||||||
|
var datePicker = <datePickerModule.DatePicker>views[0];
|
||||||
|
datePickerTestsNative.setNativeDate(datePicker, testYear, testMonth, testDay);
|
||||||
|
assertDate(datePicker, testYear, testMonth, testDay);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export function testDayFromNativeToLocal() {
|
||||||
helper.buildUIAndRunTest(_createDatePicker(), function (views: Array<viewModule.View>) {
|
helper.buildUIAndRunTest(_createDatePicker(), function (views: Array<viewModule.View>) {
|
||||||
var datePicker = <datePickerModule.DatePicker>views[0];
|
var datePicker = <datePickerModule.DatePicker>views[0];
|
||||||
var expectedValue = 20;
|
var expectedValue = 20;
|
||||||
@@ -145,7 +170,50 @@ export var testDayFromNativeToLocal = function () {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
//export var testWTF = function () {
|
export function testSetYearMonthDay_BeforeLoaded() {
|
||||||
|
var testYear = 2000;
|
||||||
|
var testMonth = 3;
|
||||||
|
var testDay = 24;
|
||||||
|
|
||||||
|
helper.buildUIAndRunTest(_createDatePicker(testYear, testMonth, testDay), function (views: Array<viewModule.View>) {
|
||||||
|
var datePicker = <datePickerModule.DatePicker>views[0];
|
||||||
|
|
||||||
|
TKUnit.assertEqual(datePicker.year, testYear, "datePicker.year");
|
||||||
|
TKUnit.assertEqual(datePicker.month, testMonth, "datePicker.month");
|
||||||
|
TKUnit.assertEqual(datePicker.day, testDay, "datePicker.day");
|
||||||
|
|
||||||
|
TKUnit.assertEqual(datePickerTestsNative.getNativeYear(datePicker), testYear, "Native datePicker.year");
|
||||||
|
TKUnit.assertEqual(datePickerTestsNative.getNativeMonth(datePicker), testMonth, "Native datePicker.month");
|
||||||
|
TKUnit.assertEqual(datePickerTestsNative.getNativeDay(datePicker), testDay, "Native datePicker.day");
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export function testSetYearMonthDay_AfterLoaded() {
|
||||||
|
var testYear = 2000;
|
||||||
|
var testMonth = 3;
|
||||||
|
var testDay = 24;
|
||||||
|
|
||||||
|
helper.buildUIAndRunTest(_createDatePicker(), function (views: Array<viewModule.View>) {
|
||||||
|
var datePicker = <datePickerModule.DatePicker>views[0];
|
||||||
|
datePicker.year = testYear;
|
||||||
|
datePicker.month = testMonth;
|
||||||
|
datePicker.day = testDay;
|
||||||
|
|
||||||
|
assertDate(datePicker, testYear, testMonth, testDay);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function assertDate(datePicker: datePickerModule.DatePicker, expectedYear: number, expectedMonth: number, expectedDay: number) {
|
||||||
|
TKUnit.assertEqual(datePicker.year, expectedYear, "datePicker.year");
|
||||||
|
TKUnit.assertEqual(datePicker.month, expectedMonth, "datePicker.month");
|
||||||
|
TKUnit.assertEqual(datePicker.day, expectedDay, "datePicker.day");
|
||||||
|
|
||||||
|
TKUnit.assertEqual(datePickerTestsNative.getNativeYear(datePicker), expectedYear, "Native datePicker.year");
|
||||||
|
TKUnit.assertEqual(datePickerTestsNative.getNativeMonth(datePicker), expectedMonth, "Native datePicker.month");
|
||||||
|
TKUnit.assertEqual(datePickerTestsNative.getNativeDay(datePicker), expectedDay, "Native datePicker.day");
|
||||||
|
}
|
||||||
|
|
||||||
|
//export function testWTF() {
|
||||||
// var picker = new UIDatePicker();
|
// var picker = new UIDatePicker();
|
||||||
// picker.datePickerMode = UIDatePickerMode.UIDatePickerModeDate;
|
// picker.datePickerMode = UIDatePickerMode.UIDatePickerModeDate;
|
||||||
// var jsDate = new Date(1980, 1, 9);
|
// var jsDate = new Date(1980, 1, 9);
|
||||||
|
|||||||
@@ -14,4 +14,9 @@ export function setNativeHour(timePicker: timePickerModule.TimePicker, value: nu
|
|||||||
|
|
||||||
export function setNativeMinute(timePicker: timePickerModule.TimePicker, value: number): void {
|
export function setNativeMinute(timePicker: timePickerModule.TimePicker, value: number): void {
|
||||||
timePicker.android.setCurrentMinute(new java.lang.Integer(value));
|
timePicker.android.setCurrentMinute(new java.lang.Integer(value));
|
||||||
|
}
|
||||||
|
|
||||||
|
export function setNativeTime(timePicker: timePickerModule.TimePicker, hour: number, minute: number): void {
|
||||||
|
timePicker.android.setCurrentHour(new java.lang.Integer(hour));
|
||||||
|
timePicker.android.setCurrentMinute(new java.lang.Integer(minute));
|
||||||
}
|
}
|
||||||
@@ -5,4 +5,6 @@ export declare function getNativeHour(timePicker: timePickerModule.TimePicker):
|
|||||||
export declare function getNativeMinute(timePicker: timePickerModule.TimePicker): number;
|
export declare function getNativeMinute(timePicker: timePickerModule.TimePicker): number;
|
||||||
|
|
||||||
export declare function setNativeHour(timePicker: timePickerModule.TimePicker, value: number): void;
|
export declare function setNativeHour(timePicker: timePickerModule.TimePicker, value: number): void;
|
||||||
export declare function setNativeMinute(timePicker: timePickerModule.TimePicker, value: number): void;
|
export declare function setNativeMinute(timePicker: timePickerModule.TimePicker, value: number): void;
|
||||||
|
|
||||||
|
export declare function setNativeTime(timePicker: timePickerModule.TimePicker, hour: number, minute: number): void;
|
||||||
@@ -21,4 +21,12 @@ export function setNativeMinute(timePicker: timePickerModule.TimePicker, value:
|
|||||||
timePicker.ios.setDateAnimated(NSCalendar.currentCalendar().dateFromComponents(comps), false);
|
timePicker.ios.setDateAnimated(NSCalendar.currentCalendar().dateFromComponents(comps), false);
|
||||||
(<any>timePicker)._changeHandler.valueChanged(timePicker.ios);
|
(<any>timePicker)._changeHandler.valueChanged(timePicker.ios);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function setNativeTime(timePicker: timePickerModule.TimePicker, hour: number, minute: number): void {
|
||||||
|
var comps = NSCalendar.currentCalendar().componentsFromDate(NSCalendarUnit.NSCalendarUnitHour | NSCalendarUnit.NSCalendarUnitMinute, timePicker.ios.date);
|
||||||
|
comps.hour = hour;
|
||||||
|
comps.minute = minute;
|
||||||
|
timePicker.ios.setDateAnimated(NSCalendar.currentCalendar().dateFromComponents(comps), false);
|
||||||
|
(<any>timePicker)._changeHandler.valueChanged(timePicker.ios);
|
||||||
|
}
|
||||||
|
|
||||||
@@ -11,7 +11,7 @@ import timePickerModule = require("ui/time-picker");
|
|||||||
// ```
|
// ```
|
||||||
// </snippet>
|
// </snippet>
|
||||||
|
|
||||||
function _createTimePicker(): timePickerModule.TimePicker {
|
function _createTimePicker(hour?: number, minute?: number): timePickerModule.TimePicker {
|
||||||
// <snippet module="ui/time-picker" title="TimePicker">
|
// <snippet module="ui/time-picker" title="TimePicker">
|
||||||
// ## Creating a TimePicker
|
// ## Creating a TimePicker
|
||||||
// ``` JavaScript
|
// ``` JavaScript
|
||||||
@@ -19,10 +19,19 @@ function _createTimePicker(): timePickerModule.TimePicker {
|
|||||||
// ```
|
// ```
|
||||||
// </snippet>
|
// </snippet>
|
||||||
timePicker.id = "timePicker";
|
timePicker.id = "timePicker";
|
||||||
|
|
||||||
|
if (hour) {
|
||||||
|
timePicker.hour = hour;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (minute) {
|
||||||
|
timePicker.minute = minute;
|
||||||
|
}
|
||||||
|
|
||||||
return timePicker;
|
return timePicker;
|
||||||
}
|
}
|
||||||
|
|
||||||
export var test_DummyForCodeSnippet = function () {
|
export function test_DummyForCodeSnippet() {
|
||||||
helper.buildUIAndRunTest(_createTimePicker(), function (views: Array<viewModule.View>) {
|
helper.buildUIAndRunTest(_createTimePicker(), function (views: Array<viewModule.View>) {
|
||||||
var timePicker = <timePickerModule.TimePicker>views[0];
|
var timePicker = <timePickerModule.TimePicker>views[0];
|
||||||
// <snippet module="ui/time-picker" title="TimePicker">
|
// <snippet module="ui/time-picker" title="TimePicker">
|
||||||
@@ -35,7 +44,7 @@ export var test_DummyForCodeSnippet = function () {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
export var test_WhenCreated_HourIsUndefined = function () {
|
export function test_WhenCreated_HourIsUndefined() {
|
||||||
helper.buildUIAndRunTest(_createTimePicker(), function (views: Array<viewModule.View>) {
|
helper.buildUIAndRunTest(_createTimePicker(), function (views: Array<viewModule.View>) {
|
||||||
var timePicker = <timePickerModule.TimePicker>views[0];
|
var timePicker = <timePickerModule.TimePicker>views[0];
|
||||||
var actualValue = timePicker.hour;
|
var actualValue = timePicker.hour;
|
||||||
@@ -44,7 +53,7 @@ export var test_WhenCreated_HourIsUndefined = function () {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
export var test_WhenCreated_MinuteIsUndefined = function () {
|
export function test_WhenCreated_MinuteIsUndefined() {
|
||||||
helper.buildUIAndRunTest(_createTimePicker(), function (views: Array<viewModule.View>) {
|
helper.buildUIAndRunTest(_createTimePicker(), function (views: Array<viewModule.View>) {
|
||||||
var timePicker = <timePickerModule.TimePicker>views[0];
|
var timePicker = <timePickerModule.TimePicker>views[0];
|
||||||
var actualValue = timePicker.minute;
|
var actualValue = timePicker.minute;
|
||||||
@@ -53,7 +62,7 @@ export var test_WhenCreated_MinuteIsUndefined = function () {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
export var testHourFromLocalToNative = function () {
|
export function testHourFromLocalToNative() {
|
||||||
helper.buildUIAndRunTest(_createTimePicker(), function (views: Array<viewModule.View>) {
|
helper.buildUIAndRunTest(_createTimePicker(), function (views: Array<viewModule.View>) {
|
||||||
var timePicker = <timePickerModule.TimePicker>views[0];
|
var timePicker = <timePickerModule.TimePicker>views[0];
|
||||||
var expectedValue = 13;
|
var expectedValue = 13;
|
||||||
@@ -63,7 +72,7 @@ export var testHourFromLocalToNative = function () {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
export var testMinuteFromLocalToNative = function () {
|
export function testMinuteFromLocalToNative() {
|
||||||
helper.buildUIAndRunTest(_createTimePicker(), function (views: Array<viewModule.View>) {
|
helper.buildUIAndRunTest(_createTimePicker(), function (views: Array<viewModule.View>) {
|
||||||
var timePicker = <timePickerModule.TimePicker>views[0];
|
var timePicker = <timePickerModule.TimePicker>views[0];
|
||||||
var expectedValue = 59;
|
var expectedValue = 59;
|
||||||
@@ -73,7 +82,7 @@ export var testMinuteFromLocalToNative = function () {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
export var testHourFromNativeToLocal = function () {
|
export function testHourFromNativeToLocal() {
|
||||||
helper.buildUIAndRunTest(_createTimePicker(), function (views: Array<viewModule.View>) {
|
helper.buildUIAndRunTest(_createTimePicker(), function (views: Array<viewModule.View>) {
|
||||||
var timePicker = <timePickerModule.TimePicker>views[0];
|
var timePicker = <timePickerModule.TimePicker>views[0];
|
||||||
var expectedValue = 14;
|
var expectedValue = 14;
|
||||||
@@ -83,7 +92,7 @@ export var testHourFromNativeToLocal = function () {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
export var testMinuteFromNativeToLocal = function () {
|
export function testMinuteFromNativeToLocal() {
|
||||||
helper.buildUIAndRunTest(_createTimePicker(), function (views: Array<viewModule.View>) {
|
helper.buildUIAndRunTest(_createTimePicker(), function (views: Array<viewModule.View>) {
|
||||||
var timePicker = <timePickerModule.TimePicker>views[0];
|
var timePicker = <timePickerModule.TimePicker>views[0];
|
||||||
var expectedValue = 33;
|
var expectedValue = 33;
|
||||||
@@ -91,4 +100,46 @@ export var testMinuteFromNativeToLocal = function () {
|
|||||||
var actualValue = timePicker.minute;
|
var actualValue = timePicker.minute;
|
||||||
TKUnit.assert(actualValue === expectedValue, "Actual: " + actualValue + "; Expected: " + expectedValue);
|
TKUnit.assert(actualValue === expectedValue, "Actual: " + actualValue + "; Expected: " + expectedValue);
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export function testHourAndMinuteFromNativeToLocal() {
|
||||||
|
var expectedHour = 12;
|
||||||
|
var expectedMinute = 34;
|
||||||
|
|
||||||
|
helper.buildUIAndRunTest(_createTimePicker(), function (views: Array<viewModule.View>) {
|
||||||
|
var timePicker = <timePickerModule.TimePicker>views[0];
|
||||||
|
timePickerTestsNative.setNativeTime(timePicker, expectedHour, expectedMinute);
|
||||||
|
assertTime(timePicker, expectedHour, expectedMinute);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export function testSetHourMinute_BeforeLoaded() {
|
||||||
|
var expectedHour = 12;
|
||||||
|
var expectedMinute = 34;
|
||||||
|
|
||||||
|
helper.buildUIAndRunTest(_createTimePicker(expectedHour, expectedMinute), function (views: Array<viewModule.View>) {
|
||||||
|
var timePicker = <timePickerModule.TimePicker>views[0];
|
||||||
|
assertTime(timePicker, expectedHour, expectedMinute);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export function testSetHourMinute_AfterLoaded() {
|
||||||
|
var expectedHour = 12;
|
||||||
|
var expectedMinute = 34;
|
||||||
|
|
||||||
|
helper.buildUIAndRunTest(_createTimePicker(), function (views: Array<viewModule.View>) {
|
||||||
|
var timePicker = <timePickerModule.TimePicker>views[0];
|
||||||
|
timePicker.hour = expectedHour;
|
||||||
|
timePicker.minute = expectedMinute;
|
||||||
|
|
||||||
|
assertTime(timePicker, expectedHour, expectedMinute);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function assertTime(timePicker: timePickerModule.TimePicker, expectedHour: number, expectedMinute) {
|
||||||
|
TKUnit.assertEqual(timePicker.hour, expectedHour, "timePicker.hour");
|
||||||
|
TKUnit.assertEqual(timePicker.minute, expectedMinute, "timePicker.minute");
|
||||||
|
|
||||||
|
TKUnit.assertEqual(timePickerTestsNative.getNativeHour(timePicker), expectedHour, "Native timePicker.hour");
|
||||||
|
TKUnit.assertEqual(timePickerTestsNative.getNativeMinute(timePicker), expectedMinute, "Native timePicker.minute");
|
||||||
}
|
}
|
||||||
@@ -1,12 +1,13 @@
|
|||||||
import common = require("ui/date-picker/date-picker-common");
|
import common = require("ui/date-picker/date-picker-common");
|
||||||
import dependencyObservable = require("ui/core/dependency-observable");
|
import dependencyObservable = require("ui/core/dependency-observable");
|
||||||
import proxy = require("ui/core/proxy");
|
import proxy = require("ui/core/proxy");
|
||||||
|
import types = require("utils/types");
|
||||||
|
|
||||||
function onYearPropertyChanged(data: dependencyObservable.PropertyChangeData) {
|
function onYearPropertyChanged(data: dependencyObservable.PropertyChangeData) {
|
||||||
var picker = <DatePicker>data.object;
|
var picker = <DatePicker>data.object;
|
||||||
|
|
||||||
if (picker.android && picker.android.getYear() !== data.newValue) {
|
if (picker.android && picker.android.getYear() !== data.newValue) {
|
||||||
picker.android.updateDate(data.newValue, picker.android.getMonth(), picker.android.getDayOfMonth());
|
updateNativeDate(picker);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -16,7 +17,7 @@ function onMonthPropertyChanged(data: dependencyObservable.PropertyChangeData) {
|
|||||||
var picker = <DatePicker>data.object;
|
var picker = <DatePicker>data.object;
|
||||||
|
|
||||||
if (picker.android && picker.android.getMonth() !== (data.newValue - 1)) {
|
if (picker.android && picker.android.getMonth() !== (data.newValue - 1)) {
|
||||||
picker.android.updateDate(picker.android.getYear(), data.newValue - 1, picker.android.getDayOfMonth());
|
updateNativeDate(picker);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -26,12 +27,20 @@ function onDayPropertyChanged(data: dependencyObservable.PropertyChangeData) {
|
|||||||
var picker = <DatePicker>data.object;
|
var picker = <DatePicker>data.object;
|
||||||
|
|
||||||
if (picker.android && picker.android.getDayOfMonth !== data.newValue) {
|
if (picker.android && picker.android.getDayOfMonth !== data.newValue) {
|
||||||
picker.android.updateDate(picker.android.getYear(), picker.android.getMonth(), data.newValue);
|
updateNativeDate(picker);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
(<proxy.PropertyMetadata>common.DatePicker.dayProperty.metadata).onSetNativeValue = onDayPropertyChanged;
|
(<proxy.PropertyMetadata>common.DatePicker.dayProperty.metadata).onSetNativeValue = onDayPropertyChanged;
|
||||||
|
|
||||||
|
function updateNativeDate(picker: DatePicker) {
|
||||||
|
var year = types.isNumber(picker.year) ? picker.year : picker.android.getYear();
|
||||||
|
var month = types.isNumber(picker.month) ? (picker.month - 1) : picker.android.getMonth();
|
||||||
|
var day = types.isNumber(picker.day) ? picker.day : picker.android.getDayOfMonth();
|
||||||
|
|
||||||
|
picker.android.updateDate(year, month, day);
|
||||||
|
}
|
||||||
|
|
||||||
function onMaxDatePropertyChanged(data: dependencyObservable.PropertyChangeData) {
|
function onMaxDatePropertyChanged(data: dependencyObservable.PropertyChangeData) {
|
||||||
var picker = <DatePicker>data.object;
|
var picker = <DatePicker>data.object;
|
||||||
|
|
||||||
@@ -89,7 +98,7 @@ export class DatePicker extends common.DatePicker {
|
|||||||
|
|
||||||
if (day !== this.owner.day) {
|
if (day !== this.owner.day) {
|
||||||
this.owner._onPropertyChangedFromNative(common.DatePicker.dayProperty, day);
|
this.owner._onPropertyChangedFromNative(common.DatePicker.dayProperty, day);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -4,20 +4,14 @@ import proxy = require("ui/core/proxy");
|
|||||||
|
|
||||||
function onHourPropertyChanged(data: dependencyObservable.PropertyChangeData) {
|
function onHourPropertyChanged(data: dependencyObservable.PropertyChangeData) {
|
||||||
var picker = <TimePicker>data.object;
|
var picker = <TimePicker>data.object;
|
||||||
|
picker._setNativeHourSilently(data.newValue);
|
||||||
if (picker.android) {
|
|
||||||
picker.android.setCurrentHour(new java.lang.Integer(data.newValue));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
(<proxy.PropertyMetadata>common.TimePicker.hourProperty.metadata).onSetNativeValue = onHourPropertyChanged;
|
(<proxy.PropertyMetadata>common.TimePicker.hourProperty.metadata).onSetNativeValue = onHourPropertyChanged;
|
||||||
|
|
||||||
function onMinutePropertyChanged(data: dependencyObservable.PropertyChangeData) {
|
function onMinutePropertyChanged(data: dependencyObservable.PropertyChangeData) {
|
||||||
var picker = <TimePicker>data.object;
|
var picker = <TimePicker>data.object;
|
||||||
|
picker._setNativeMinuteSilently(data.newValue);
|
||||||
if (picker.android) {
|
|
||||||
picker.android.setCurrentMinute(new java.lang.Integer(data.newValue));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
(<proxy.PropertyMetadata>common.TimePicker.minuteProperty.metadata).onSetNativeValue = onMinutePropertyChanged;
|
(<proxy.PropertyMetadata>common.TimePicker.minuteProperty.metadata).onSetNativeValue = onMinutePropertyChanged;
|
||||||
@@ -29,6 +23,7 @@ require("utils/module-merge").merge(common, exports);
|
|||||||
export class TimePicker extends common.TimePicker {
|
export class TimePicker extends common.TimePicker {
|
||||||
private _android: android.widget.TimePicker;
|
private _android: android.widget.TimePicker;
|
||||||
private _listener: android.widget.TimePicker.OnTimeChangedListener;
|
private _listener: android.widget.TimePicker.OnTimeChangedListener;
|
||||||
|
private _isSettingTime: boolean = false;
|
||||||
|
|
||||||
get android(): android.widget.TimePicker {
|
get android(): android.widget.TimePicker {
|
||||||
return this._android;
|
return this._android;
|
||||||
@@ -45,12 +40,12 @@ export class TimePicker extends common.TimePicker {
|
|||||||
},
|
},
|
||||||
|
|
||||||
onTimeChanged: function (picker: android.widget.TimePicker, hour: number, minute: number) {
|
onTimeChanged: function (picker: android.widget.TimePicker, hour: number, minute: number) {
|
||||||
if (this.owner) {
|
if (this.owner && !this.owner._isSettingTime) {
|
||||||
|
|
||||||
if (hour !== this.owner.hour) {
|
if (hour !== this.owner.hour) {
|
||||||
this.owner._onPropertyChangedFromNative(common.TimePicker.hourProperty, hour);
|
this.owner._onPropertyChangedFromNative(common.TimePicker.hourProperty, hour);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (minute !== this.owner.minute) {
|
if (minute !== this.owner.minute) {
|
||||||
this.owner._onPropertyChangedFromNative(common.TimePicker.minuteProperty, minute);
|
this.owner._onPropertyChangedFromNative(common.TimePicker.minuteProperty, minute);
|
||||||
}
|
}
|
||||||
@@ -59,4 +54,32 @@ export class TimePicker extends common.TimePicker {
|
|||||||
});
|
});
|
||||||
this._android.setOnTimeChangedListener(this._listener);
|
this._android.setOnTimeChangedListener(this._listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public _setNativeHourSilently(newValue: number) {
|
||||||
|
if (!this.android) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
this._isSettingTime = true;
|
||||||
|
try {
|
||||||
|
this.android.setCurrentHour(new java.lang.Integer(newValue));
|
||||||
|
}
|
||||||
|
finally {
|
||||||
|
this._isSettingTime = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public _setNativeMinuteSilently(newValue: number) {
|
||||||
|
if (!this.android) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
this._isSettingTime = true;
|
||||||
|
try {
|
||||||
|
this.android.setCurrentMinute(new java.lang.Integer(newValue));
|
||||||
|
}
|
||||||
|
finally {
|
||||||
|
this._isSettingTime = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user