mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-11-05 13:26:48 +08:00
Added DatePicker.minDate and DatePicker.maxDate.
This commit is contained in:
@@ -7,6 +7,8 @@ export class DatePicker extends view.View implements definition.DatePicker {
|
||||
public static yearProperty = new dependencyObservable.Property("year", "DatePicker", new proxy.PropertyMetadata(undefined));
|
||||
public static monthProperty = new dependencyObservable.Property("month", "DatePicker", new proxy.PropertyMetadata(undefined));
|
||||
public static dayProperty = new dependencyObservable.Property("day", "DatePicker", new proxy.PropertyMetadata(undefined));
|
||||
public static maxDateProperty = new dependencyObservable.Property("maxDate", "DatePicker", new proxy.PropertyMetadata(undefined));
|
||||
public static minDateProperty = new dependencyObservable.Property("minDate", "DatePicker", new proxy.PropertyMetadata(undefined));
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
@@ -32,4 +34,18 @@ export class DatePicker extends view.View implements definition.DatePicker {
|
||||
set day(value: number) {
|
||||
this._setValue(DatePicker.dayProperty, value);
|
||||
}
|
||||
|
||||
get maxDate(): Date {
|
||||
return this._getValue(DatePicker.maxDateProperty);
|
||||
}
|
||||
set maxDate(value: Date) {
|
||||
this._setValue(DatePicker.maxDateProperty, value);
|
||||
}
|
||||
|
||||
get minDate(): Date {
|
||||
return this._getValue(DatePicker.minDateProperty);
|
||||
}
|
||||
set minDate(value: Date) {
|
||||
this._setValue(DatePicker.minDateProperty, value);
|
||||
}
|
||||
}
|
||||
@@ -32,6 +32,28 @@ function onDayPropertyChanged(data: dependencyObservable.PropertyChangeData) {
|
||||
|
||||
(<proxy.PropertyMetadata>common.DatePicker.dayProperty.metadata).onSetNativeValue = onDayPropertyChanged;
|
||||
|
||||
function onMaxDatePropertyChanged(data: dependencyObservable.PropertyChangeData) {
|
||||
var picker = <DatePicker>data.object;
|
||||
|
||||
var newValue = (<Date>data.newValue).getTime();
|
||||
if (picker.android && picker.android.getMaxDate() !== newValue) {
|
||||
picker.android.setMaxDate(newValue);
|
||||
}
|
||||
}
|
||||
|
||||
(<proxy.PropertyMetadata>common.DatePicker.maxDateProperty.metadata).onSetNativeValue = onMaxDatePropertyChanged;
|
||||
|
||||
function onMinDatePropertyChanged(data: dependencyObservable.PropertyChangeData) {
|
||||
var picker = <DatePicker>data.object;
|
||||
|
||||
var newValue = (<Date>data.newValue).getTime();
|
||||
if (picker.android && picker.android.getMinDate() !== newValue) {
|
||||
picker.android.setMinDate(newValue);
|
||||
}
|
||||
}
|
||||
|
||||
(<proxy.PropertyMetadata>common.DatePicker.minDateProperty.metadata).onSetNativeValue = onMinDatePropertyChanged;
|
||||
|
||||
// merge the exports of the common file with the exports of this file
|
||||
declare var exports;
|
||||
require("utils/module-merge").merge(common, exports);
|
||||
|
||||
10
ui/date-picker/date-picker.d.ts
vendored
10
ui/date-picker/date-picker.d.ts
vendored
@@ -39,5 +39,15 @@ declare module "ui/date-picker" {
|
||||
* Gets or sets the day. The days start from 1.
|
||||
*/
|
||||
day: number;
|
||||
|
||||
/**
|
||||
* Gets or sets the max date.
|
||||
*/
|
||||
maxDate: Date;
|
||||
|
||||
/**
|
||||
* Gets or sets the min date.
|
||||
*/
|
||||
minDate: Date;
|
||||
}
|
||||
}
|
||||
@@ -38,6 +38,27 @@ function onDayPropertyChanged(data: dependencyObservable.PropertyChangeData) {
|
||||
|
||||
(<proxy.PropertyMetadata>common.DatePicker.dayProperty.metadata).onSetNativeValue = onDayPropertyChanged;
|
||||
|
||||
function onMaxDatePropertyChanged(data: dependencyObservable.PropertyChangeData) {
|
||||
var picker = <DatePicker>data.object;
|
||||
|
||||
if (picker.ios) {
|
||||
var nsDate = NSDate.dateWithTimeIntervalSince1970((<Date>data.newValue).getTime() / 1000);
|
||||
picker.ios.maximumDate = nsDate;
|
||||
}
|
||||
}
|
||||
|
||||
(<proxy.PropertyMetadata>common.DatePicker.maxDateProperty.metadata).onSetNativeValue = onMaxDatePropertyChanged;
|
||||
|
||||
function onMinDatePropertyChanged(data: dependencyObservable.PropertyChangeData) {
|
||||
var picker = <DatePicker>data.object;
|
||||
|
||||
if (picker.ios) {
|
||||
picker.ios.minimumDate = NSDate.dateWithTimeIntervalSince1970((<Date>data.newValue).getTime() / 1000);
|
||||
}
|
||||
}
|
||||
|
||||
(<proxy.PropertyMetadata>common.DatePicker.minDateProperty.metadata).onSetNativeValue = onMinDatePropertyChanged;
|
||||
|
||||
// merge the exports of the common file with the exports of this file
|
||||
declare var exports;
|
||||
require("utils/module-merge").merge(common, exports);
|
||||
|
||||
Reference in New Issue
Block a user