UNPKG

2.67 kBJavaScriptView Raw
1import { View, CSSType } from '../core/view';
2import { booleanConverter } from '../core/view-base';
3import { Property } from '../core/properties';
4const defaultDate = new Date();
5const dateComparer = (x, y) => x <= y && x >= y;
6let DatePickerBase = class DatePickerBase extends View {
7};
8DatePickerBase = __decorate([
9 CSSType('DatePicker')
10], DatePickerBase);
11export { DatePickerBase };
12DatePickerBase.prototype.recycleNativeView = 'auto';
13export const yearProperty = new Property({
14 name: 'year',
15 defaultValue: defaultDate.getFullYear(),
16 valueConverter: (v) => parseInt(v),
17});
18yearProperty.register(DatePickerBase);
19export const monthProperty = new Property({
20 name: 'month',
21 defaultValue: defaultDate.getMonth() + 1,
22 valueConverter: (v) => parseInt(v),
23});
24monthProperty.register(DatePickerBase);
25export const dayProperty = new Property({
26 name: 'day',
27 defaultValue: defaultDate.getDate(),
28 valueConverter: (v) => parseInt(v),
29});
30dayProperty.register(DatePickerBase);
31export const hourProperty = new Property({
32 name: 'hour',
33 defaultValue: defaultDate.getHours(),
34 valueConverter: (v) => parseInt(v),
35});
36hourProperty.register(DatePickerBase);
37export const minuteProperty = new Property({
38 name: 'minute',
39 defaultValue: defaultDate.getMinutes(),
40 valueConverter: (v) => parseInt(v),
41});
42minuteProperty.register(DatePickerBase);
43export const secondProperty = new Property({
44 name: 'second',
45 defaultValue: defaultDate.getSeconds(),
46 valueConverter: (v) => parseInt(v),
47});
48secondProperty.register(DatePickerBase);
49// TODO: Make CoercibleProperties
50export const maxDateProperty = new Property({
51 name: 'maxDate',
52 equalityComparer: dateComparer,
53 valueConverter: (v) => new Date(v),
54});
55maxDateProperty.register(DatePickerBase);
56export const minDateProperty = new Property({
57 name: 'minDate',
58 equalityComparer: dateComparer,
59 valueConverter: (v) => new Date(v),
60});
61minDateProperty.register(DatePickerBase);
62export const dateProperty = new Property({
63 name: 'date',
64 defaultValue: defaultDate,
65 equalityComparer: dateComparer,
66 valueConverter: (v) => new Date(v),
67});
68dateProperty.register(DatePickerBase);
69export const showTimeProperty = new Property({
70 name: 'showTime',
71 defaultValue: false,
72 valueConverter: (v) => booleanConverter(v),
73});
74showTimeProperty.register(DatePickerBase);
75export const iosPreferredDatePickerStyleProperty = new Property({
76 name: 'iosPreferredDatePickerStyle',
77 defaultValue: 0,
78 valueConverter: (v) => parseInt(v),
79});
80iosPreferredDatePickerStyleProperty.register(DatePickerBase);
81//# sourceMappingURL=date-picker-common.js.map
\No newline at end of file