All Downloads are FREE. Search and download functionalities are using the official Maven repository.

package.lib.labs.VCalendar.VCalendarInterval.mjs.map Maven / Gradle / Ivy

{"version":3,"file":"VCalendarInterval.mjs","names":["VCalendarIntervalEvent","useDate","computed","convertToUnit","genericComponent","propsFactory","useRender","makeVCalendarIntervalProps","day","type","Object","default","dayIndex","Number","events","Array","intervalDivisions","intervalDuration","intervalHeight","intervalFormat","String","Function","intervalStart","VCalendarInterval","name","props","index","required","setup","_ref","emit","slots","adapter","interval","start","addMinutes","startOfDay","date","end","label","format","filter","e","allDay","isEqual","isWithinRange","map","first","last","_createVNode","value","some","event"],"sources":["../../../src/labs/VCalendar/VCalendarInterval.tsx"],"sourcesContent":["// Styles\nimport './VCalendarInterval.sass'\n\n// Components\nimport { VCalendarIntervalEvent } from './VCalendarIntervalEvent'\n\n// Composables\nimport { useDate } from '@/composables/date'\n\n// Utilities\nimport { computed } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVCalendarIntervalProps = propsFactory({\n  day: {\n    type: Object,\n    default: () => ({}),\n  },\n  dayIndex: Number,\n  events: Array,\n  intervalDivisions: {\n    type: Number,\n    default: 2,\n  },\n  intervalDuration: {\n    type: Number,\n    default: 60,\n  },\n  intervalHeight: {\n    type: Number,\n    default: 48,\n  },\n  intervalFormat: {\n    type: [String, Function],\n    default: 'fullTime12h',\n  },\n  intervalStart: {\n    type: Number,\n    default: 0,\n  },\n}, 'VCalendarInterval')\n\nexport const VCalendarInterval = genericComponent()({\n  name: 'VCalendarInterval',\n\n  props: {\n    index: {\n      type: Number,\n      required: true,\n    },\n\n    ...makeVCalendarIntervalProps(),\n  },\n\n  setup (props, { emit, slots }) {\n    const adapter = useDate()\n    const interval = computed(() => {\n      const start = adapter.addMinutes(adapter.startOfDay(props.day.date), (props.intervalDuration * (props.index + props.intervalStart)))\n      const end = adapter.addMinutes(\n        adapter.startOfDay(props.day.date),\n        (props.intervalDuration * (props.index + props.intervalStart + 1)) - 1\n      )\n      return {\n        ...props.day,\n        label: adapter.format(start, 'fullTime24h'),\n        start,\n        end,\n        events: props.events\n          ? props.events\n            .filter(e => !e.allDay &&\n              (adapter.isEqual(start, e.start) ||\n              adapter.isWithinRange(e.start, [start, end]) ||\n              adapter.isWithinRange(start, [e.start, e.end]) ||\n              adapter.isEqual(end, e.end))\n            )\n            .map(e => {\n              return {\n                ...e,\n                first: adapter.isEqual(start, e.start) || adapter.isWithinRange(e.start, [start, end]),\n                last: adapter.isEqual(end, e.end) || adapter.isWithinRange(e.end, [start, end]),\n              }\n            })\n          : [],\n      }\n    })\n\n    useRender(() => {\n      return (\n        props.dayIndex === 0 ? (\n          
\n
\n \n { props.index\n ? props.intervalFormat\n ? typeof props.intervalFormat === 'string'\n ? adapter.format(interval.value.start, 'hours12h')\n : props.intervalFormat(interval.value)\n : interval.value.label\n : ''\n }\n \n
\n
\n
!e.last)\n ? 'v-calendar-day__row-content-through'\n : '']}\n >\n \n { interval.value.events?.map(event => (\n \n ))}\n \n
\n
\n ) : (\n
\n
!e.last)\n ? 'v-calendar-day__row-content-through'\n : '']}\n >\n \n { interval.value.events?.filter(event => !event.allDay).map(event => (\n \n ))}\n \n
\n
\n )\n )\n })\n\n return { interval }\n },\n})\n\nexport type VCalendarInterval = InstanceType\n"],"mappings":"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","ignoreList":[]}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy