UNPKG

vuetify

Version:

Vue Material Component Framework

1 lines 10.4 kB
{"version":3,"file":"VCalendarCategory.mjs","names":["VCalendarDaily","convertToUnit","getSlot","props","getParsedCategories","extend","name","category","computed","classes","themeClasses","parsedCategories","categories","categoryText","methods","genDayHeader","day","index","data","staticClass","scope","week","days","children","map","genDayHeaderCategory","getCategoryScope","$createElement","cat","categoryName","categoryForInvalid","headerTitle","on","getDefaultMouseEventHandlers","e","getSlotScope","genDayHeaderCategoryTitle","genDays","forEach","d","j","Array","length","fill","push","v","i","genDay","categoryIndex","key","date","class","getRelativeClasses","getTimestampAtEvent","genDayIntervals","genDayBody","intervals","genDayInterval","interval","height","intervalHeight","styler","intervalStyle","intervalStyleDefault","time","style","genDayBodyCategory"],"sources":["../../../src/components/VCalendar/VCalendarCategory.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\n// Styles\nimport './VCalendarCategory.sass'\n\n// Types\nimport { VNode } from 'vue'\n\n// Mixins\nimport VCalendarDaily from './VCalendarDaily'\n\n// Util\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { CalendarCategory, CalendarTimestamp } from 'types'\nimport props from './util/props'\nimport { getParsedCategories } from './util/parser'\n\n/* @vue/component */\nexport default VCalendarDaily.extend({\n name: 'v-calendar-category',\n\n props: props.category,\n\n computed: {\n classes (): object {\n return {\n 'v-calendar-daily': true,\n 'v-calendar-category': true,\n ...this.themeClasses,\n }\n },\n parsedCategories (): CalendarCategory[] {\n return getParsedCategories(this.categories, this.categoryText)\n },\n },\n methods: {\n genDayHeader (day: CalendarTimestamp, index: number): VNode[] {\n const data = {\n staticClass: 'v-calendar-category__columns',\n }\n const scope = {\n week: this.days, ...day, index,\n }\n\n const children = this.parsedCategories.map(category => {\n return this.genDayHeaderCategory(day, this.getCategoryScope(scope, category))\n })\n\n return [this.$createElement('div', data, children)]\n },\n getCategoryScope (scope: any, category: CalendarCategory) {\n const cat = typeof category === 'object' && category &&\n category.categoryName === this.categoryForInvalid ? null : category\n return {\n ...scope,\n category: cat,\n }\n },\n genDayHeaderCategory (day: CalendarTimestamp, scope: any): VNode {\n const headerTitle = typeof scope.category === 'object' ? scope.category.categoryName : scope.category\n return this.$createElement('div', {\n staticClass: 'v-calendar-category__column-header',\n on: this.getDefaultMouseEventHandlers(':day-category', e => {\n return this.getCategoryScope(this.getSlotScope(day), scope.category)\n }),\n }, [\n getSlot(this, 'category', scope) || this.genDayHeaderCategoryTitle(headerTitle),\n getSlot(this, 'day-header', scope),\n ])\n },\n genDayHeaderCategoryTitle (categoryName: string | null) {\n return this.$createElement('div', {\n staticClass: 'v-calendar-category__category',\n }, categoryName === null ? this.categoryForInvalid : categoryName)\n },\n genDays (): VNode[] {\n const days: VNode[] = []\n this.days.forEach((d, j) => {\n const day = new Array(this.parsedCategories.length || 1)\n day.fill(d)\n days.push(...day.map((v, i) => this.genDay(v, j, i)))\n })\n return days\n },\n genDay (day: CalendarTimestamp, index: number, categoryIndex: number): VNode {\n const category = this.parsedCategories[categoryIndex]\n return this.$createElement('div', {\n key: day.date + '-' + categoryIndex,\n staticClass: 'v-calendar-daily__day',\n class: this.getRelativeClasses(day),\n on: this.getDefaultMouseEventHandlers(':time', e => {\n return this.getSlotScope(this.getTimestampAtEvent(e, day))\n }),\n }, [\n ...this.genDayIntervals(index, category),\n ...this.genDayBody(day, category),\n ])\n },\n genDayIntervals (index: number, category: CalendarCategory): VNode[] {\n return this.intervals[index].map(v => this.genDayInterval(v, category))\n },\n genDayInterval (interval: CalendarTimestamp, category: CalendarCategory): 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, category }),\n },\n }\n\n const children = getSlot(this, 'interval', () =>\n this.getCategoryScope(this.getSlotScope(interval), category)\n )\n\n return this.$createElement('div', data, children)\n },\n genDayBody (day: CalendarTimestamp, category: CalendarCategory): VNode[] {\n const data = {\n staticClass: 'v-calendar-category__columns',\n }\n\n const children = [this.genDayBodyCategory(day, category)]\n\n return [this.$createElement('div', data, children)]\n },\n genDayBodyCategory (day: CalendarTimestamp, category: CalendarCategory): VNode {\n const data = {\n staticClass: 'v-calendar-category__column',\n on: this.getDefaultMouseEventHandlers(':time-category', e => {\n return this.getCategoryScope(this.getSlotScope(this.getTimestampAtEvent(e, day)), category)\n }),\n }\n\n const children = getSlot(this, 'day-body', () => this.getCategoryScope(this.getSlotScope(day), category))\n\n return this.$createElement('div', data, children)\n },\n },\n})\n"],"mappings":"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"}