vuetify
Version:
Vue Material Component Framework
1 lines • 16.1 kB
Source Map (JSON)
{"version":3,"file":"VCalendarDaily.mjs","names":["Resize","VBtn","CalendarWithIntervals","convertToUnit","getSlot","extend","name","directives","data","scrollPush","computed","classes","themeClasses","mounted","init","methods","$nextTick","onResize","getScrollPush","area","$refs","scrollArea","pane","offsetWidth","genHead","$createElement","staticClass","style","marginRight","genHeadIntervals","genHeadDays","width","intervalWidth","days","map","genHeadDay","day","index","key","date","class","getRelativeClasses","on","getDefaultMouseEventHandlers","nativeEvent","getSlotScope","genHeadWeekday","genHeadDayLabel","genDayHeader","week","color","present","undefined","setTextColor","weekdayFormatter","shortWeekdays","genHeadDayButton","props","fab","depressed","getMouseEventHandlers","event","stop","prevent","result","dayFormatter","genBody","genScrollArea","ref","genPane","height","bodyHeight","genDayContainer","genBodyIntervals","genDays","genDay","getTimestampAtEvent","genDayIntervals","genDayBody","intervals","genDayInterval","interval","intervalHeight","styler","intervalStyle","intervalStyleDefault","time","children","parsedStart","genIntervalLabels","length","genIntervalLabel","short","shortIntervals","shower","showIntervalLabel","showIntervalLabelDefault","show","label","intervalFormatter","render","h","dragstart","e","preventDefault","modifiers","quiet","value","hideHeader"],"sources":["../../../src/components/VCalendar/VCalendarDaily.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\n// Styles\nimport './VCalendarDaily.sass'\n\n// Types\nimport { VNode } from 'vue'\n\n// Directives\nimport Resize from '../../directives/resize'\n\n// Components\nimport VBtn from '../VBtn'\n\n// Mixins\nimport CalendarWithIntervals from './mixins/calendar-with-intervals'\n\n// Util\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { CalendarTimestamp } from 'vuetify/types'\n\n/* @vue/component */\nexport default CalendarWithIntervals.extend({\n name: 'v-calendar-daily',\n\n directives: { Resize },\n\n data: () => ({\n scrollPush: 0,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-calendar-daily': true,\n ...this.themeClasses,\n }\n },\n },\n\n mounted () {\n this.init()\n },\n\n methods: {\n init () {\n this.$nextTick(this.onResize)\n },\n onResize () {\n this.scrollPush = this.getScrollPush()\n },\n getScrollPush (): number {\n const area = this.$refs.scrollArea as HTMLElement\n const pane = this.$refs.pane as HTMLElement\n\n return area && pane ? (area.offsetWidth - pane.offsetWidth) : 0\n },\n genHead (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-calendar-daily__head',\n style: {\n marginRight: this.scrollPush + 'px',\n },\n }, [\n this.genHeadIntervals(),\n ...this.genHeadDays(),\n ])\n },\n genHeadIntervals (): VNode {\n const width: string | undefined = convertToUnit(this.intervalWidth)\n\n return this.$createElement('div', {\n staticClass: 'v-calendar-daily__intervals-head',\n style: {\n width,\n },\n }, getSlot(this, 'interval-header'))\n },\n genHeadDays (): VNode[] {\n return this.days.map(this.genHeadDay)\n },\n genHeadDay (day: CalendarTimestamp, index: number): VNode {\n return this.$createElement('div', {\n key: day.date,\n staticClass: 'v-calendar-daily_head-day',\n class: this.getRelativeClasses(day),\n on: this.getDefaultMouseEventHandlers(':day', nativeEvent => {\n return { nativeEvent, ...this.getSlotScope(day) }\n }),\n }, [\n this.genHeadWeekday(day),\n this.genHeadDayLabel(day),\n ...this.genDayHeader(day, index),\n ])\n },\n genDayHeader (day: CalendarTimestamp, index: number): VNode[] {\n return getSlot(this, 'day-header', () => ({\n week: this.days, ...day, index,\n })) || []\n },\n genHeadWeekday (day: CalendarTimestamp): VNode {\n const color = day.present ? this.color : undefined\n\n return this.$createElement('div', this.setTextColor(color, {\n staticClass: 'v-calendar-daily_head-weekday',\n }), this.weekdayFormatter(day, this.shortWeekdays))\n },\n genHeadDayLabel (day: CalendarTimestamp): VNode {\n return this.$createElement('div', {\n staticClass: 'v-calendar-daily_head-day-label',\n }, getSlot(this, 'day-label-header', day) || [this.genHeadDayButton(day)])\n },\n genHeadDayButton (day: CalendarTimestamp): VNode {\n const color = day.present ? this.color : 'transparent'\n\n return this.$createElement(VBtn, {\n props: {\n color,\n fab: true,\n depressed: true,\n },\n on: this.getMouseEventHandlers({\n 'click:date': { event: 'click', stop: true },\n 'contextmenu:date': { event: 'contextmenu', stop: true, prevent: true, result: false },\n }, nativeEvent => {\n return { nativeEvent, ...day }\n }),\n }, this.dayFormatter(day, false))\n },\n genBody (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-calendar-daily__body',\n }, [\n this.genScrollArea(),\n ])\n },\n genScrollArea (): VNode {\n return this.$createElement('div', {\n ref: 'scrollArea',\n staticClass: 'v-calendar-daily__scroll-area',\n }, [\n this.genPane(),\n ])\n },\n genPane (): VNode {\n return this.$createElement('div', {\n ref: 'pane',\n staticClass: 'v-calendar-daily__pane',\n style: {\n height: convertToUnit(this.bodyHeight),\n },\n }, [\n this.genDayContainer(),\n ])\n },\n genDayContainer (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-calendar-daily__day-container',\n }, [\n this.genBodyIntervals(),\n ...this.genDays(),\n ])\n },\n genDays (): VNode[] {\n return this.days.map(this.genDay)\n },\n genDay (day: CalendarTimestamp, index: number): VNode {\n return this.$createElement('div', {\n key: day.date,\n staticClass: 'v-calendar-daily__day',\n class: this.getRelativeClasses(day),\n on: this.getDefaultMouseEventHandlers(':time', nativeEvent => {\n return { nativeEvent, ...this.getSlotScope(this.getTimestampAtEvent(nativeEvent, day)) }\n }),\n }, [\n ...this.genDayIntervals(index),\n ...this.genDayBody(day),\n ])\n },\n genDayBody (day: CalendarTimestamp): VNode[] {\n return getSlot(this, 'day-body', () => this.getSlotScope(day)) || []\n },\n genDayIntervals (index: number): VNode[] {\n return this.intervals[index].map(this.genDayInterval)\n },\n genDayInterval (interval: CalendarTimestamp): VNode {\n const height: string | undefined = convertToUnit(this.intervalHeight)\n const styler = this.intervalStyle || this.intervalStyleDefault\n\n const data = {\n key: interval.time,\n staticClass: 'v-calendar-daily__day-interval',\n style: {\n height,\n ...styler(interval),\n },\n\n }\n\n const children = getSlot(this, 'interval', () => this.getSlotScope(interval))\n\n return this.$createElement('div', data, children)\n },\n genBodyIntervals (): VNode {\n const width: string | undefined = convertToUnit(this.intervalWidth)\n const data = {\n staticClass: 'v-calendar-daily__intervals-body',\n style: {\n width,\n },\n on: this.getDefaultMouseEventHandlers(':interval', nativeEvent => {\n return { nativeEvent, ...this.getTimestampAtEvent(nativeEvent, this.parsedStart) }\n }),\n }\n\n return this.$createElement('div', data, this.genIntervalLabels())\n },\n genIntervalLabels (): VNode[] | null {\n if (!this.intervals.length) return null\n\n return this.intervals[0].map(this.genIntervalLabel)\n },\n genIntervalLabel (interval: CalendarTimestamp): VNode {\n const height: string | undefined = convertToUnit(this.intervalHeight)\n const short: boolean = this.shortIntervals\n const shower = this.showIntervalLabel || this.showIntervalLabelDefault\n const show = shower(interval)\n const label = show ? this.intervalFormatter(interval, short) : undefined\n\n return this.$createElement('div', {\n key: interval.time,\n staticClass: 'v-calendar-daily__interval',\n style: {\n height,\n },\n }, [\n this.$createElement('div', {\n staticClass: 'v-calendar-daily__interval-text',\n }, label),\n ])\n },\n },\n\n render (h): VNode {\n return h('div', {\n class: this.classes,\n on: {\n dragstart: (e: MouseEvent) => {\n e.preventDefault()\n },\n },\n directives: [{\n modifiers: { quiet: true },\n name: 'resize',\n value: this.onResize,\n }],\n }, [\n !this.hideHeader ? this.genHead() : '',\n this.genBody(),\n ])\n },\n})\n"],"mappings":"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"}