Files
om/node_modules/vuetify/src/components/VCalendar/util/props.ts
T

116 lines
2.2 KiB
TypeScript

import { validateTimestamp, parseDate } from './timestamp'
export default {
base: {
start: {
type: String,
validate: validateTimestamp,
default: () => parseDate(new Date()).date
},
end: {
type: String,
validate: validateTimestamp,
default: '0000-00-00'
},
weekdays: {
type: Array as () => number[],
default: () => [0, 1, 2, 3, 4, 5, 6]
},
hideHeader: {
type: Boolean,
default: false
},
shortWeekdays: {
type: Boolean,
default: true
},
weekdayFormat: {
type: Function, // VTimestampFormatter,
default: null
},
dayFormat: {
type: Function, // VTimestampFormatter,
default: null
},
locale: {
type: String,
default: 'en-us'
}
},
intervals: {
maxDays: {
type: Number,
default: 7
},
shortIntervals: {
type: Boolean,
default: true
},
intervalHeight: {
type: [Number, String],
default: 40,
validate: validateNumber
},
intervalMinutes: {
type: [Number, String],
default: 60,
validate: validateNumber
},
firstInterval: {
type: [Number, String],
default: 0,
validate: validateNumber
},
intervalCount: {
type: [Number, String],
default: 24,
validate: validateNumber
},
intervalFormat: {
type: Function, // VTimestampFormatter,
default: null
},
intervalStyle: {
type: Function, // (interval: VTimestamp): object
default: null
},
showIntervalLabel: {
type: Function, // (interval: VTimestamp): boolean
default: null
}
},
weeks: {
minWeeks: {
validate: validateNumber,
default: 1
},
shortMonths: {
type: Boolean,
default: true
},
showMonthOnFirst: {
type: Boolean,
default: true
},
monthFormat: {
type: Function, // VTimestampFormatter,
default: null
}
},
calendar: {
type: {
type: String,
default: 'month'
},
value: {
type: String,
validate: validateTimestamp
}
}
}
function validateNumber (input: any): boolean {
return isFinite(parseInt(input))
}