mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-11-05 13:26:48 +08:00
recycleNativeView filed now accepts: "always" | "never" | "auto". Always will recycle the nativeView no matter if its nativeView or android proprties are accessed. Never will disable recycling. Auto will recycle it only if nativeView and android properties are not accessed.
38 lines
1.6 KiB
TypeScript
38 lines
1.6 KiB
TypeScript
import { DatePicker as DatePickerDefinition } from ".";
|
|
import { View, Property } from "../core/view";
|
|
|
|
export * from "../core/view";
|
|
|
|
export class DatePickerBase extends View implements DatePickerDefinition {
|
|
public year: number;
|
|
public month: number;
|
|
public day: number;
|
|
public maxDate: Date;
|
|
public minDate: Date;
|
|
public date: Date;
|
|
}
|
|
|
|
DatePickerBase.prototype.recycleNativeView = "auto";
|
|
|
|
export const yearProperty = new Property<DatePickerBase, number>({ name: "year", valueConverter: (v) => parseInt(v) });
|
|
yearProperty.register(DatePickerBase);
|
|
|
|
export const monthProperty = new Property<DatePickerBase, number>({ name: "month", valueConverter: (v) => parseInt(v) });
|
|
monthProperty.register(DatePickerBase);
|
|
|
|
export const dayProperty = new Property<DatePickerBase, number>({ name: "day", valueConverter: (v) => parseInt(v) });
|
|
dayProperty.register(DatePickerBase);
|
|
|
|
function dateComparer(x: Date, y: Date): boolean {
|
|
return (x <= y && x >= y) ? true : false;
|
|
}
|
|
|
|
// TODO: Make CoercibleProperties
|
|
export const maxDateProperty = new Property<DatePickerBase, Date>({ name: "maxDate", equalityComparer: dateComparer, valueConverter: (v) => new Date(v) });
|
|
maxDateProperty.register(DatePickerBase);
|
|
|
|
export const minDateProperty = new Property<DatePickerBase, Date>({ name: "minDate", equalityComparer: dateComparer, valueConverter: (v) => new Date(v) });
|
|
minDateProperty.register(DatePickerBase);
|
|
|
|
export const dateProperty = new Property<DatePickerBase, Date>({ name: "date", equalityComparer: dateComparer, valueConverter: (v) => new Date(v) });
|
|
dateProperty.register(DatePickerBase); |