Files
Hristo Hristov e6250e718a Disable recycling of native views
createNativeView will set iOS nativeView if it is null/undefined
2017-03-28 18:08:59 +03:00

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 = true;
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);