vuetify 2.5.12 → 2.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/json/attributes.json +152 -0
- package/dist/json/tags.json +71 -14
- package/dist/json/web-types.json +603 -135
- package/dist/vuetify.css +137 -3
- package/dist/vuetify.css.map +1 -1
- package/dist/vuetify.js +940 -285
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +2 -2
- package/es5/components/VAutocomplete/VAutocomplete.js +1 -0
- package/es5/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/es5/components/VCalendar/VCalendar.js +2 -2
- package/es5/components/VCalendar/VCalendar.js.map +1 -1
- package/es5/components/VCalendar/mixins/calendar-with-events.js +6 -4
- package/es5/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
- package/es5/components/VCalendar/mixins/mouse.js +1 -1
- package/es5/components/VCalendar/mixins/mouse.js.map +1 -1
- package/es5/components/VDataTable/Row.js +23 -7
- package/es5/components/VDataTable/Row.js.map +1 -1
- package/es5/components/VDatePicker/mixins/date-picker-table.js +13 -3
- package/es5/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
- package/es5/components/VInput/VInput.js +3 -1
- package/es5/components/VInput/VInput.js.map +1 -1
- package/es5/components/VMenu/VMenu.js +1 -1
- package/es5/components/VMenu/VMenu.js.map +1 -1
- package/es5/components/VOtpInput/VOtpInput.js +375 -0
- package/es5/components/VOtpInput/VOtpInput.js.map +1 -0
- package/es5/components/VOtpInput/index.js +20 -0
- package/es5/components/VOtpInput/index.js.map +1 -0
- package/es5/components/VOverlay/VOverlay.js +1 -0
- package/es5/components/VOverlay/VOverlay.js.map +1 -1
- package/es5/components/VRadioGroup/VRadioGroup.js +7 -0
- package/es5/components/VRadioGroup/VRadioGroup.js.map +1 -1
- package/es5/components/VRangeSlider/VRangeSlider.js +4 -1
- package/es5/components/VRangeSlider/VRangeSlider.js.map +1 -1
- package/es5/components/VSlideGroup/VSlideGroup.js +8 -1
- package/es5/components/VSlideGroup/VSlideGroup.js.map +1 -1
- package/es5/components/VSnackbar/VSnackbar.js +4 -8
- package/es5/components/VSnackbar/VSnackbar.js.map +1 -1
- package/es5/components/VTabs/VTab.js +6 -3
- package/es5/components/VTabs/VTab.js.map +1 -1
- package/es5/components/VTextField/VTextField.js +6 -1
- package/es5/components/VTextField/VTextField.js.map +1 -1
- package/es5/components/VTooltip/VTooltip.js +0 -1
- package/es5/components/VTooltip/VTooltip.js.map +1 -1
- package/es5/components/VTreeview/VTreeview.js +2 -1
- package/es5/components/VTreeview/VTreeview.js.map +1 -1
- package/es5/components/VTreeview/VTreeviewNode.js +3 -1
- package/es5/components/VTreeview/VTreeviewNode.js.map +1 -1
- package/es5/components/index.js +13 -0
- package/es5/components/index.js.map +1 -1
- package/es5/components/transitions/createTransition.js +0 -20
- package/es5/components/transitions/createTransition.js.map +1 -1
- package/es5/directives/click-outside/index.js +21 -10
- package/es5/directives/click-outside/index.js.map +1 -1
- package/es5/directives/intersect/index.js +16 -12
- package/es5/directives/intersect/index.js.map +1 -1
- package/es5/directives/mutate/index.js +10 -8
- package/es5/directives/mutate/index.js.map +1 -1
- package/es5/directives/resize/index.js +11 -8
- package/es5/directives/resize/index.js.map +1 -1
- package/es5/directives/scroll/index.js +13 -10
- package/es5/directives/scroll/index.js.map +1 -1
- package/es5/framework.js +1 -1
- package/es5/locale/da.js +77 -0
- package/es5/locale/da.js.map +1 -0
- package/es5/locale/index.js +8 -0
- package/es5/locale/index.js.map +1 -1
- package/es5/mixins/intersectable/index.js +11 -2
- package/es5/mixins/intersectable/index.js.map +1 -1
- package/es5/mixins/overlayable/index.js +21 -11
- package/es5/mixins/overlayable/index.js.map +1 -1
- package/es5/util/helpers.js +8 -1
- package/es5/util/helpers.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.js +1 -0
- package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/lib/components/VCalendar/VCalendar.js +2 -2
- package/lib/components/VCalendar/VCalendar.js.map +1 -1
- package/lib/components/VCalendar/mixins/calendar-with-events.js +5 -3
- package/lib/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
- package/lib/components/VCalendar/mixins/mouse.js +1 -1
- package/lib/components/VCalendar/mixins/mouse.js.map +1 -1
- package/lib/components/VDataTable/Row.js +13 -6
- package/lib/components/VDataTable/Row.js.map +1 -1
- package/lib/components/VDatePicker/mixins/date-picker-table.js +12 -2
- package/lib/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
- package/lib/components/VInput/VInput.js +2 -0
- package/lib/components/VInput/VInput.js.map +1 -1
- package/lib/components/VMenu/VMenu.js +1 -1
- package/lib/components/VMenu/VMenu.js.map +1 -1
- package/lib/components/VOtpInput/VOtpInput.js +342 -0
- package/lib/components/VOtpInput/VOtpInput.js.map +1 -0
- package/lib/components/VOtpInput/index.js +4 -0
- package/lib/components/VOtpInput/index.js.map +1 -0
- package/lib/components/VOverlay/VOverlay.js +1 -0
- package/lib/components/VOverlay/VOverlay.js.map +1 -1
- package/lib/components/VRadioGroup/VRadioGroup.js +9 -0
- package/lib/components/VRadioGroup/VRadioGroup.js.map +1 -1
- package/lib/components/VRangeSlider/VRangeSlider.js +4 -1
- package/lib/components/VRangeSlider/VRangeSlider.js.map +1 -1
- package/lib/components/VSlideGroup/VSlideGroup.js +9 -1
- package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.js +4 -8
- package/lib/components/VSnackbar/VSnackbar.js.map +1 -1
- package/lib/components/VTabs/VTab.js +7 -5
- package/lib/components/VTabs/VTab.js.map +1 -1
- package/lib/components/VTextField/VTextField.js +8 -1
- package/lib/components/VTextField/VTextField.js.map +1 -1
- package/lib/components/VTooltip/VTooltip.js +0 -1
- package/lib/components/VTooltip/VTooltip.js.map +1 -1
- package/lib/components/VTreeview/VTreeview.js +2 -1
- package/lib/components/VTreeview/VTreeview.js.map +1 -1
- package/lib/components/VTreeview/VTreeviewNode.js +3 -1
- package/lib/components/VTreeview/VTreeviewNode.js.map +1 -1
- package/lib/components/index.js +1 -0
- package/lib/components/index.js.map +1 -1
- package/lib/components/transitions/createTransition.js +0 -6
- package/lib/components/transitions/createTransition.js.map +1 -1
- package/lib/directives/click-outside/index.js +22 -10
- package/lib/directives/click-outside/index.js.map +1 -1
- package/lib/directives/intersect/index.js +16 -12
- package/lib/directives/intersect/index.js.map +1 -1
- package/lib/directives/mutate/index.js +10 -8
- package/lib/directives/mutate/index.js.map +1 -1
- package/lib/directives/resize/index.js +9 -6
- package/lib/directives/resize/index.js.map +1 -1
- package/lib/directives/scroll/index.js +9 -6
- package/lib/directives/scroll/index.js.map +1 -1
- package/lib/framework.js +1 -1
- package/lib/locale/da.js +70 -0
- package/lib/locale/da.js.map +1 -0
- package/lib/locale/index.js +1 -0
- package/lib/locale/index.js.map +1 -1
- package/lib/mixins/intersectable/index.js +9 -2
- package/lib/mixins/intersectable/index.js.map +1 -1
- package/lib/mixins/overlayable/index.js +21 -11
- package/lib/mixins/overlayable/index.js.map +1 -1
- package/lib/util/helpers.js +8 -1
- package/lib/util/helpers.js.map +1 -1
- package/package.json +2 -2
- package/src/components/VAutocomplete/VAutocomplete.ts +2 -0
- package/src/components/VAutocomplete/__tests__/VAutocomplete3.spec.ts +16 -0
- package/src/components/VCalendar/VCalendar.ts +2 -2
- package/src/components/VCalendar/VCalendarCategory.sass +67 -0
- package/src/components/VCalendar/_variables.scss +4 -0
- package/src/components/VCalendar/mixins/calendar-with-events.sass +7 -1
- package/src/components/VCalendar/mixins/calendar-with-events.ts +4 -4
- package/src/components/VCalendar/mixins/mouse.ts +1 -1
- package/src/components/VDataTable/Row.ts +21 -14
- package/src/components/VDatePicker/__tests__/VDatePicker.date.spec.ts +16 -0
- package/src/components/VDatePicker/__tests__/VDatePicker.month.spec.ts +16 -0
- package/src/components/VDatePicker/mixins/date-picker-table.ts +24 -2
- package/src/components/VDialog/VDialog.sass +1 -1
- package/src/components/VImg/__tests__/VImg.spec.ts +1 -1
- package/src/components/VInput/VInput.sass +8 -0
- package/src/components/VInput/VInput.ts +2 -0
- package/src/components/VMenu/VMenu.ts +1 -1
- package/src/components/VOtpInput/VOtpInput.sass +37 -0
- package/src/components/VOtpInput/VOtpInput.ts +322 -0
- package/src/components/VOtpInput/__tests__/VOtpInput.spec.ts +294 -0
- package/src/components/VOtpInput/_variables.scss +4 -0
- package/src/components/VOtpInput/index.ts +4 -0
- package/src/components/VOverlay/VOverlay.ts +1 -0
- package/src/components/VRadioGroup/VRadioGroup.ts +8 -0
- package/src/components/VRangeSlider/VRangeSlider.ts +3 -1
- package/src/components/VSlideGroup/VSlideGroup.ts +14 -1
- package/src/components/VSnackbar/VSnackbar.ts +3 -7
- package/src/components/VSnackbar/__tests__/VSnackbar.spec.ts +4 -1
- package/src/components/VTabs/VTab.ts +6 -4
- package/src/components/VTextField/VTextField.ts +8 -3
- package/src/components/VTooltip/VTooltip.sass +4 -1
- package/src/components/VTooltip/VTooltip.ts +0 -1
- package/src/components/VTooltip/_variables.scss +1 -0
- package/src/components/VTreeview/VTreeview.ts +2 -1
- package/src/components/VTreeview/VTreeviewNode.ts +3 -1
- package/src/components/index.ts +1 -0
- package/src/components/transitions/createTransition.ts +0 -8
- package/src/directives/click-outside/__tests__/click-outside-shadow-dom.spec.ts +9 -6
- package/src/directives/click-outside/__tests__/click-outside.spec.ts +7 -4
- package/src/directives/click-outside/index.ts +19 -10
- package/src/directives/intersect/__tests__/intersect.spec.ts +13 -10
- package/src/directives/intersect/index.ts +15 -13
- package/src/directives/mutate/__tests__/mutate.spec.ts +36 -17
- package/src/directives/mutate/index.ts +9 -9
- package/src/directives/resize/__tests__/resize.spec.ts +4 -4
- package/src/directives/resize/index.ts +11 -6
- package/src/directives/scroll/__tests__/scroll.spec.ts +9 -9
- package/src/directives/scroll/index.ts +8 -7
- package/src/globals.d.ts +10 -12
- package/src/locale/da.ts +69 -0
- package/src/locale/index.ts +1 -0
- package/src/mixins/intersectable/index.ts +11 -2
- package/src/mixins/overlayable/index.ts +22 -11
- package/src/styles/settings/_variables.scss +3 -2
- package/src/util/__tests__/__snapshots__/helpers.spec.ts.snap +11 -0
- package/src/util/__tests__/helpers.spec.ts +17 -0
- package/src/util/helpers.ts +9 -2
package/es5/util/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/util/helpers.ts"],"names":[],"mappings":"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","sourcesContent":["import Vue from 'vue'\nimport { VNode, VNodeDirective } from 'vue/types'\nimport { VuetifyIcon } from 'vuetify/types/services/icons'\nimport { DataTableCompareFunction, SelectItemKey, ItemGroup } from 'vuetify/types'\n\nexport function createSimpleFunctional (\n c: string,\n el = 'div',\n name?: string\n) {\n return Vue.extend({\n name: name || c.replace(/__/g, '-'),\n\n functional: true,\n\n render (h, { data, children }): VNode {\n data.staticClass = (`${c} ${data.staticClass || ''}`).trim()\n\n return h(el, data, children)\n },\n })\n}\n\nexport type BindingConfig = Pick<VNodeDirective, 'arg' | 'modifiers' | 'value'>\nexport function directiveConfig (binding: BindingConfig, defaults = {}): VNodeDirective {\n return {\n ...defaults,\n ...binding.modifiers,\n value: binding.arg,\n ...(binding.value || {}),\n }\n}\n\nexport function addOnceEventListener (\n el: EventTarget,\n eventName: string,\n cb: (event: Event) => void,\n options: boolean | AddEventListenerOptions = false\n): void {\n const once = (event: Event) => {\n cb(event)\n el.removeEventListener(eventName, once, options)\n }\n\n el.addEventListener(eventName, once, options)\n}\n\nlet passiveSupported = false\ntry {\n if (typeof window !== 'undefined') {\n const testListenerOpts = Object.defineProperty({}, 'passive', {\n get: () => {\n passiveSupported = true\n },\n })\n\n window.addEventListener('testListener', testListenerOpts, testListenerOpts)\n window.removeEventListener('testListener', testListenerOpts, testListenerOpts)\n }\n} catch (e) { console.warn(e) } /* eslint-disable-line no-console */\nexport { passiveSupported }\n\nexport function addPassiveEventListener (\n el: EventTarget,\n event: string,\n cb: EventHandlerNonNull | (() => void),\n options: {}\n): void {\n el.addEventListener(event, cb, passiveSupported ? options : false)\n}\n\nexport function getNestedValue (obj: any, path: (string | number)[], fallback?: any): any {\n const last = path.length - 1\n\n if (last < 0) return obj === undefined ? fallback : obj\n\n for (let i = 0; i < last; i++) {\n if (obj == null) {\n return fallback\n }\n obj = obj[path[i]]\n }\n\n if (obj == null) return fallback\n\n return obj[path[last]] === undefined ? fallback : obj[path[last]]\n}\n\nexport function deepEqual (a: any, b: any): boolean {\n if (a === b) return true\n\n if (\n a instanceof Date &&\n b instanceof Date &&\n a.getTime() !== b.getTime()\n ) {\n // If the values are Date, compare them as timestamps\n return false\n }\n\n if (a !== Object(a) || b !== Object(b)) {\n // If the values aren't objects, they were already checked for equality\n return false\n }\n\n const props = Object.keys(a)\n\n if (props.length !== Object.keys(b).length) {\n // Different number of props, don't bother to check\n return false\n }\n\n return props.every(p => deepEqual(a[p], b[p]))\n}\n\nexport function getObjectValueByPath (obj: any, path: string, fallback?: any): any {\n // credit: http://stackoverflow.com/questions/6491463/accessing-nested-javascript-objects-with-string-key#comment55278413_6491621\n if (obj == null || !path || typeof path !== 'string') return fallback\n if (obj[path] !== undefined) return obj[path]\n path = path.replace(/\\[(\\w+)\\]/g, '.$1') // convert indexes to properties\n path = path.replace(/^\\./, '') // strip a leading dot\n return getNestedValue(obj, path.split('.'), fallback)\n}\n\nexport function getPropertyFromItem (\n item: object,\n property: SelectItemKey,\n fallback?: any\n): any {\n if (property == null) return item === undefined ? fallback : item\n\n if (item !== Object(item)) return fallback === undefined ? item : fallback\n\n if (typeof property === 'string') return getObjectValueByPath(item, property, fallback)\n\n if (Array.isArray(property)) return getNestedValue(item, property, fallback)\n\n if (typeof property !== 'function') return fallback\n\n const value = property(item, fallback)\n\n return typeof value === 'undefined' ? fallback : value\n}\n\nexport function createRange (length: number): number[] {\n return Array.from({ length }, (v, k) => k)\n}\n\nexport function getZIndex (el?: Element | null): number {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return 0\n\n const index = +window.getComputedStyle(el).getPropertyValue('z-index')\n\n if (!index) return getZIndex(el.parentNode as Element)\n return index\n}\n\nconst tagsToReplace = {\n '&': '&',\n '<': '<',\n '>': '>',\n} as any\n\nexport function escapeHTML (str: string): string {\n return str.replace(/[&<>]/g, tag => tagsToReplace[tag] || tag)\n}\n\nexport function filterObjectOnKeys<T, K extends keyof T> (obj: T, keys: K[]): { [N in K]: T[N] } {\n const filtered = {} as { [N in K]: T[N] }\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i]\n if (typeof obj[key] !== 'undefined') {\n filtered[key] = obj[key]\n }\n }\n\n return filtered\n}\n\nexport function convertToUnit (str: string | number | null | undefined, unit = 'px'): string | undefined {\n if (str == null || str === '') {\n return undefined\n } else if (isNaN(+str!)) {\n return String(str)\n } else {\n return `${Number(str)}${unit}`\n }\n}\n\nexport function kebabCase (str: string): string {\n return (str || '').replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase()\n}\n\nexport function isObject (obj: any): obj is object {\n return obj !== null && typeof obj === 'object'\n}\n\n// KeyboardEvent.keyCode aliases\nexport const keyCodes = Object.freeze({\n enter: 13,\n tab: 9,\n delete: 46,\n esc: 27,\n space: 32,\n up: 38,\n down: 40,\n left: 37,\n right: 39,\n end: 35,\n home: 36,\n del: 46,\n backspace: 8,\n insert: 45,\n pageup: 33,\n pagedown: 34,\n shift: 16,\n})\n\n/**\n * This remaps internal names like '$cancel' or '$vuetify.icons.cancel'\n * to the current name or component for that icon.\n */\nexport function remapInternalIcon (vm: Vue, iconName: string): VuetifyIcon {\n // Look for custom component in the configuration\n const component = vm.$vuetify.icons.component\n\n // Look for overrides\n if (iconName.startsWith('$')) {\n // Get the target icon name\n const iconPath = `$vuetify.icons.values.${iconName.split('$').pop()!.split('.').pop()}`\n\n // Now look up icon indirection name,\n // e.g. '$vuetify.icons.values.cancel'\n const override = getObjectValueByPath(vm, iconPath, iconName)\n\n if (typeof override === 'string') iconName = override\n else return override\n }\n\n if (component == null) {\n return iconName\n }\n\n return {\n component,\n props: {\n icon: iconName,\n },\n }\n}\n\nexport function keys<O> (o: O) {\n return Object.keys(o) as (keyof O)[]\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nconst camelizeRE = /-(\\w)/g\nexport const camelize = (str: string): string => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : '')\n}\n\n/**\n * Returns the set difference of B and A, i.e. the set of elements in B but not in A\n */\nexport function arrayDiff (a: any[], b: any[]): any[] {\n const diff: any[] = []\n for (let i = 0; i < b.length; i++) {\n if (a.indexOf(b[i]) < 0) diff.push(b[i])\n }\n return diff\n}\n\n/**\n * Makes the first character of a string uppercase\n */\nexport function upperFirst (str: string): string {\n return str.charAt(0).toUpperCase() + str.slice(1)\n}\n\nexport function groupItems<T extends any = any> (\n items: T[],\n groupBy: string[],\n groupDesc: boolean[]\n): ItemGroup<T>[] {\n const key = groupBy[0]\n const groups: ItemGroup<T>[] = []\n let current\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n const val = getObjectValueByPath(item, key, null)\n if (current !== val) {\n current = val\n groups.push({\n name: val ?? '',\n items: [],\n })\n }\n groups[groups.length - 1].items.push(item)\n }\n return groups\n}\n\nexport function wrapInArray<T> (v: T | T[] | null | undefined): T[] { return v != null ? Array.isArray(v) ? v : [v] : [] }\n\nexport function sortItems<T extends any = any> (\n items: T[],\n sortBy: string[],\n sortDesc: boolean[],\n locale: string,\n customSorters?: Record<string, DataTableCompareFunction<T>>\n): T[] {\n if (sortBy === null || !sortBy.length) return items\n const stringCollator = new Intl.Collator(locale, { sensitivity: 'accent', usage: 'sort' })\n\n return items.sort((a, b) => {\n for (let i = 0; i < sortBy.length; i++) {\n const sortKey = sortBy[i]\n\n let sortA = getObjectValueByPath(a, sortKey)\n let sortB = getObjectValueByPath(b, sortKey)\n\n if (sortDesc[i]) {\n [sortA, sortB] = [sortB, sortA]\n }\n\n if (customSorters && customSorters[sortKey]) {\n const customResult = customSorters[sortKey](sortA, sortB)\n\n if (!customResult) continue\n\n return customResult\n }\n\n // Check if both cannot be evaluated\n if (sortA === null && sortB === null) {\n continue\n }\n\n // Dates should be compared numerically\n if (sortA instanceof Date && sortB instanceof Date) {\n return sortA.getTime() - sortB.getTime()\n }\n\n [sortA, sortB] = [sortA, sortB].map(s => (s || '').toString().toLocaleLowerCase())\n\n if (sortA !== sortB) {\n if (!isNaN(sortA) && !isNaN(sortB)) return Number(sortA) - Number(sortB)\n return stringCollator.compare(sortA, sortB)\n }\n }\n\n return 0\n })\n}\n\nexport function defaultFilter (value: any, search: string | null, item: any) {\n return value != null &&\n search != null &&\n typeof value !== 'boolean' &&\n value.toString().toLocaleLowerCase().indexOf(search.toLocaleLowerCase()) !== -1\n}\n\nexport function searchItems<T extends any = any> (items: T[], search: string): T[] {\n if (!search) return items\n search = search.toString().toLowerCase()\n if (search.trim() === '') return items\n\n return items.filter((item: any) => Object.keys(item).some(key => defaultFilter(getObjectValueByPath(item, key), search, item)))\n}\n\n/**\n * Returns:\n * - 'normal' for old style slots - `<template slot=\"default\">`\n * - 'scoped' for old style scoped slots (`<template slot=\"default\" slot-scope=\"data\">`) or bound v-slot (`#default=\"data\"`)\n * - 'v-slot' for unbound v-slot (`#default`) - only if the third param is true, otherwise counts as scoped\n */\nexport function getSlotType<T extends boolean = false> (vm: Vue, name: string, split?: T): (T extends true ? 'v-slot' : never) | 'normal' | 'scoped' | void {\n if (vm.$slots[name] && vm.$scopedSlots[name] && (vm.$scopedSlots[name] as any).name) {\n return split ? 'v-slot' as any : 'scoped'\n }\n if (vm.$slots[name]) return 'normal'\n if (vm.$scopedSlots[name]) return 'scoped'\n}\n\nexport function debounce (fn: Function, delay: number) {\n let timeoutId = 0 as any\n return (...args: any[]) => {\n clearTimeout(timeoutId)\n timeoutId = setTimeout(() => fn(...args), delay)\n }\n}\n\nexport function throttle<T extends (...args: any[]) => any> (fn: T, limit: number) {\n let throttling = false\n return (...args: Parameters<T>): void | ReturnType<T> => {\n if (!throttling) {\n throttling = true\n setTimeout(() => throttling = false, limit)\n return fn(...args)\n }\n }\n}\n\nexport function getPrefixedScopedSlots (prefix: string, scopedSlots: any) {\n return Object.keys(scopedSlots).filter(k => k.startsWith(prefix)).reduce((obj: any, k: string) => {\n obj[k.replace(prefix, '')] = scopedSlots[k]\n return obj\n }, {})\n}\n\nexport function getSlot (vm: Vue, name = 'default', data?: object | (() => object), optional = false) {\n if (vm.$scopedSlots[name]) {\n return vm.$scopedSlots[name]!(data instanceof Function ? data() : data)\n } else if (vm.$slots[name] && (!data || optional)) {\n return vm.$slots[name]\n }\n return undefined\n}\n\nexport function clamp (value: number, min = 0, max = 1) {\n return Math.max(min, Math.min(max, value))\n}\n\nexport function padEnd (str: string, length: number, char = '0') {\n return str + char.repeat(Math.max(0, length - str.length))\n}\n\nexport function chunk (str: string, size = 1) {\n const chunked: string[] = []\n let index = 0\n while (index < str.length) {\n chunked.push(str.substr(index, size))\n index += size\n }\n return chunked\n}\n\nexport function humanReadableFileSize (bytes: number, binary = false): string {\n const base = binary ? 1024 : 1000\n if (bytes < base) {\n return `${bytes} B`\n }\n\n const prefix = binary ? ['Ki', 'Mi', 'Gi'] : ['k', 'M', 'G']\n let unit = -1\n while (Math.abs(bytes) >= base && unit < prefix.length - 1) {\n bytes /= base\n ++unit\n }\n return `${bytes.toFixed(1)} ${prefix[unit]}B`\n}\n\nexport function camelizeObjectKeys (obj: Record<string, any> | null | undefined) {\n if (!obj) return {}\n\n return Object.keys(obj).reduce((o: any, key: string) => {\n o[camelize(key)] = obj[key]\n return o\n }, {})\n}\n\nexport function mergeDeep (\n source: Dictionary<any> = {},\n target: Dictionary<any> = {}\n) {\n for (const key in target) {\n const sourceProperty = source[key]\n const targetProperty = target[key]\n\n // Only continue deep merging if\n // both properties are objects\n if (\n isObject(sourceProperty) &&\n isObject(targetProperty)\n ) {\n source[key] = mergeDeep(sourceProperty, targetProperty)\n\n continue\n }\n\n source[key] = targetProperty\n }\n\n return source\n}\n\nexport function fillArray<T> (length: number, obj: T) {\n return Array(length).fill(obj)\n}\n\n/** Polyfill for Event.prototype.composedPath */\nexport function composedPath (e: Event): EventTarget[] {\n if (e.composedPath) return e.composedPath()\n\n const path = []\n let el = e.target as Element\n\n while (el) {\n path.push(el)\n\n if (el.tagName === 'HTML') {\n path.push(document)\n path.push(window)\n\n return path\n }\n\n el = el.parentElement!\n }\n return path\n}\n"],"sourceRoot":"","file":"helpers.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/util/helpers.ts"],"names":[],"mappings":"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","sourcesContent":["import Vue from 'vue'\nimport { VNode, VNodeDirective } from 'vue/types'\nimport { VuetifyIcon } from 'vuetify/types/services/icons'\nimport { DataTableCompareFunction, SelectItemKey, ItemGroup } from 'vuetify/types'\n\nexport function createSimpleFunctional (\n c: string,\n el = 'div',\n name?: string\n) {\n return Vue.extend({\n name: name || c.replace(/__/g, '-'),\n\n functional: true,\n\n props: {\n tag: {\n type: String,\n default: el,\n },\n },\n\n render (h, { data, props, children }): VNode {\n data.staticClass = (`${c} ${data.staticClass || ''}`).trim()\n\n return h(props.tag, data, children)\n },\n })\n}\n\nexport type BindingConfig = Pick<VNodeDirective, 'arg' | 'modifiers' | 'value'>\nexport function directiveConfig (binding: BindingConfig, defaults = {}): VNodeDirective {\n return {\n ...defaults,\n ...binding.modifiers,\n value: binding.arg,\n ...(binding.value || {}),\n }\n}\n\nexport function addOnceEventListener (\n el: EventTarget,\n eventName: string,\n cb: (event: Event) => void,\n options: boolean | AddEventListenerOptions = false\n): void {\n const once = (event: Event) => {\n cb(event)\n el.removeEventListener(eventName, once, options)\n }\n\n el.addEventListener(eventName, once, options)\n}\n\nlet passiveSupported = false\ntry {\n if (typeof window !== 'undefined') {\n const testListenerOpts = Object.defineProperty({}, 'passive', {\n get: () => {\n passiveSupported = true\n },\n })\n\n window.addEventListener('testListener', testListenerOpts, testListenerOpts)\n window.removeEventListener('testListener', testListenerOpts, testListenerOpts)\n }\n} catch (e) { console.warn(e) } /* eslint-disable-line no-console */\nexport { passiveSupported }\n\nexport function addPassiveEventListener (\n el: EventTarget,\n event: string,\n cb: EventHandlerNonNull | (() => void),\n options: {}\n): void {\n el.addEventListener(event, cb, passiveSupported ? options : false)\n}\n\nexport function getNestedValue (obj: any, path: (string | number)[], fallback?: any): any {\n const last = path.length - 1\n\n if (last < 0) return obj === undefined ? fallback : obj\n\n for (let i = 0; i < last; i++) {\n if (obj == null) {\n return fallback\n }\n obj = obj[path[i]]\n }\n\n if (obj == null) return fallback\n\n return obj[path[last]] === undefined ? fallback : obj[path[last]]\n}\n\nexport function deepEqual (a: any, b: any): boolean {\n if (a === b) return true\n\n if (\n a instanceof Date &&\n b instanceof Date &&\n a.getTime() !== b.getTime()\n ) {\n // If the values are Date, compare them as timestamps\n return false\n }\n\n if (a !== Object(a) || b !== Object(b)) {\n // If the values aren't objects, they were already checked for equality\n return false\n }\n\n const props = Object.keys(a)\n\n if (props.length !== Object.keys(b).length) {\n // Different number of props, don't bother to check\n return false\n }\n\n return props.every(p => deepEqual(a[p], b[p]))\n}\n\nexport function getObjectValueByPath (obj: any, path: string, fallback?: any): any {\n // credit: http://stackoverflow.com/questions/6491463/accessing-nested-javascript-objects-with-string-key#comment55278413_6491621\n if (obj == null || !path || typeof path !== 'string') return fallback\n if (obj[path] !== undefined) return obj[path]\n path = path.replace(/\\[(\\w+)\\]/g, '.$1') // convert indexes to properties\n path = path.replace(/^\\./, '') // strip a leading dot\n return getNestedValue(obj, path.split('.'), fallback)\n}\n\nexport function getPropertyFromItem (\n item: object,\n property: SelectItemKey,\n fallback?: any\n): any {\n if (property == null) return item === undefined ? fallback : item\n\n if (item !== Object(item)) return fallback === undefined ? item : fallback\n\n if (typeof property === 'string') return getObjectValueByPath(item, property, fallback)\n\n if (Array.isArray(property)) return getNestedValue(item, property, fallback)\n\n if (typeof property !== 'function') return fallback\n\n const value = property(item, fallback)\n\n return typeof value === 'undefined' ? fallback : value\n}\n\nexport function createRange (length: number): number[] {\n return Array.from({ length }, (v, k) => k)\n}\n\nexport function getZIndex (el?: Element | null): number {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return 0\n\n const index = +window.getComputedStyle(el).getPropertyValue('z-index')\n\n if (!index) return getZIndex(el.parentNode as Element)\n return index\n}\n\nconst tagsToReplace = {\n '&': '&',\n '<': '<',\n '>': '>',\n} as any\n\nexport function escapeHTML (str: string): string {\n return str.replace(/[&<>]/g, tag => tagsToReplace[tag] || tag)\n}\n\nexport function filterObjectOnKeys<T, K extends keyof T> (obj: T, keys: K[]): { [N in K]: T[N] } {\n const filtered = {} as { [N in K]: T[N] }\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i]\n if (typeof obj[key] !== 'undefined') {\n filtered[key] = obj[key]\n }\n }\n\n return filtered\n}\n\nexport function convertToUnit (str: string | number | null | undefined, unit = 'px'): string | undefined {\n if (str == null || str === '') {\n return undefined\n } else if (isNaN(+str!)) {\n return String(str)\n } else {\n return `${Number(str)}${unit}`\n }\n}\n\nexport function kebabCase (str: string): string {\n return (str || '').replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase()\n}\n\nexport function isObject (obj: any): obj is object {\n return obj !== null && typeof obj === 'object'\n}\n\n// KeyboardEvent.keyCode aliases\nexport const keyCodes = Object.freeze({\n enter: 13,\n tab: 9,\n delete: 46,\n esc: 27,\n space: 32,\n up: 38,\n down: 40,\n left: 37,\n right: 39,\n end: 35,\n home: 36,\n del: 46,\n backspace: 8,\n insert: 45,\n pageup: 33,\n pagedown: 34,\n shift: 16,\n})\n\n/**\n * This remaps internal names like '$cancel' or '$vuetify.icons.cancel'\n * to the current name or component for that icon.\n */\nexport function remapInternalIcon (vm: Vue, iconName: string): VuetifyIcon {\n // Look for custom component in the configuration\n const component = vm.$vuetify.icons.component\n\n // Look for overrides\n if (iconName.startsWith('$')) {\n // Get the target icon name\n const iconPath = `$vuetify.icons.values.${iconName.split('$').pop()!.split('.').pop()}`\n\n // Now look up icon indirection name,\n // e.g. '$vuetify.icons.values.cancel'\n const override = getObjectValueByPath(vm, iconPath, iconName)\n\n if (typeof override === 'string') iconName = override\n else return override\n }\n\n if (component == null) {\n return iconName\n }\n\n return {\n component,\n props: {\n icon: iconName,\n },\n }\n}\n\nexport function keys<O> (o: O) {\n return Object.keys(o) as (keyof O)[]\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nconst camelizeRE = /-(\\w)/g\nexport const camelize = (str: string): string => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : '')\n}\n\n/**\n * Returns the set difference of B and A, i.e. the set of elements in B but not in A\n */\nexport function arrayDiff (a: any[], b: any[]): any[] {\n const diff: any[] = []\n for (let i = 0; i < b.length; i++) {\n if (a.indexOf(b[i]) < 0) diff.push(b[i])\n }\n return diff\n}\n\n/**\n * Makes the first character of a string uppercase\n */\nexport function upperFirst (str: string): string {\n return str.charAt(0).toUpperCase() + str.slice(1)\n}\n\nexport function groupItems<T extends any = any> (\n items: T[],\n groupBy: string[],\n groupDesc: boolean[]\n): ItemGroup<T>[] {\n const key = groupBy[0]\n const groups: ItemGroup<T>[] = []\n let current\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n const val = getObjectValueByPath(item, key, null)\n if (current !== val) {\n current = val\n groups.push({\n name: val ?? '',\n items: [],\n })\n }\n groups[groups.length - 1].items.push(item)\n }\n return groups\n}\n\nexport function wrapInArray<T> (v: T | T[] | null | undefined): T[] { return v != null ? Array.isArray(v) ? v : [v] : [] }\n\nexport function sortItems<T extends any = any> (\n items: T[],\n sortBy: string[],\n sortDesc: boolean[],\n locale: string,\n customSorters?: Record<string, DataTableCompareFunction<T>>\n): T[] {\n if (sortBy === null || !sortBy.length) return items\n const stringCollator = new Intl.Collator(locale, { sensitivity: 'accent', usage: 'sort' })\n\n return items.sort((a, b) => {\n for (let i = 0; i < sortBy.length; i++) {\n const sortKey = sortBy[i]\n\n let sortA = getObjectValueByPath(a, sortKey)\n let sortB = getObjectValueByPath(b, sortKey)\n\n if (sortDesc[i]) {\n [sortA, sortB] = [sortB, sortA]\n }\n\n if (customSorters && customSorters[sortKey]) {\n const customResult = customSorters[sortKey](sortA, sortB)\n\n if (!customResult) continue\n\n return customResult\n }\n\n // Check if both cannot be evaluated\n if (sortA === null && sortB === null) {\n continue\n }\n\n // Dates should be compared numerically\n if (sortA instanceof Date && sortB instanceof Date) {\n return sortA.getTime() - sortB.getTime()\n }\n\n [sortA, sortB] = [sortA, sortB].map(s => (s || '').toString().toLocaleLowerCase())\n\n if (sortA !== sortB) {\n if (!isNaN(sortA) && !isNaN(sortB)) return Number(sortA) - Number(sortB)\n return stringCollator.compare(sortA, sortB)\n }\n }\n\n return 0\n })\n}\n\nexport function defaultFilter (value: any, search: string | null, item: any) {\n return value != null &&\n search != null &&\n typeof value !== 'boolean' &&\n value.toString().toLocaleLowerCase().indexOf(search.toLocaleLowerCase()) !== -1\n}\n\nexport function searchItems<T extends any = any> (items: T[], search: string): T[] {\n if (!search) return items\n search = search.toString().toLowerCase()\n if (search.trim() === '') return items\n\n return items.filter((item: any) => Object.keys(item).some(key => defaultFilter(getObjectValueByPath(item, key), search, item)))\n}\n\n/**\n * Returns:\n * - 'normal' for old style slots - `<template slot=\"default\">`\n * - 'scoped' for old style scoped slots (`<template slot=\"default\" slot-scope=\"data\">`) or bound v-slot (`#default=\"data\"`)\n * - 'v-slot' for unbound v-slot (`#default`) - only if the third param is true, otherwise counts as scoped\n */\nexport function getSlotType<T extends boolean = false> (vm: Vue, name: string, split?: T): (T extends true ? 'v-slot' : never) | 'normal' | 'scoped' | void {\n if (vm.$slots[name] && vm.$scopedSlots[name] && (vm.$scopedSlots[name] as any).name) {\n return split ? 'v-slot' as any : 'scoped'\n }\n if (vm.$slots[name]) return 'normal'\n if (vm.$scopedSlots[name]) return 'scoped'\n}\n\nexport function debounce (fn: Function, delay: number) {\n let timeoutId = 0 as any\n return (...args: any[]) => {\n clearTimeout(timeoutId)\n timeoutId = setTimeout(() => fn(...args), delay)\n }\n}\n\nexport function throttle<T extends (...args: any[]) => any> (fn: T, limit: number) {\n let throttling = false\n return (...args: Parameters<T>): void | ReturnType<T> => {\n if (!throttling) {\n throttling = true\n setTimeout(() => throttling = false, limit)\n return fn(...args)\n }\n }\n}\n\nexport function getPrefixedScopedSlots (prefix: string, scopedSlots: any) {\n return Object.keys(scopedSlots).filter(k => k.startsWith(prefix)).reduce((obj: any, k: string) => {\n obj[k.replace(prefix, '')] = scopedSlots[k]\n return obj\n }, {})\n}\n\nexport function getSlot (vm: Vue, name = 'default', data?: object | (() => object), optional = false) {\n if (vm.$scopedSlots[name]) {\n return vm.$scopedSlots[name]!(data instanceof Function ? data() : data)\n } else if (vm.$slots[name] && (!data || optional)) {\n return vm.$slots[name]\n }\n return undefined\n}\n\nexport function clamp (value: number, min = 0, max = 1) {\n return Math.max(min, Math.min(max, value))\n}\n\nexport function padEnd (str: string, length: number, char = '0') {\n return str + char.repeat(Math.max(0, length - str.length))\n}\n\nexport function chunk (str: string, size = 1) {\n const chunked: string[] = []\n let index = 0\n while (index < str.length) {\n chunked.push(str.substr(index, size))\n index += size\n }\n return chunked\n}\n\nexport function humanReadableFileSize (bytes: number, binary = false): string {\n const base = binary ? 1024 : 1000\n if (bytes < base) {\n return `${bytes} B`\n }\n\n const prefix = binary ? ['Ki', 'Mi', 'Gi'] : ['k', 'M', 'G']\n let unit = -1\n while (Math.abs(bytes) >= base && unit < prefix.length - 1) {\n bytes /= base\n ++unit\n }\n return `${bytes.toFixed(1)} ${prefix[unit]}B`\n}\n\nexport function camelizeObjectKeys (obj: Record<string, any> | null | undefined) {\n if (!obj) return {}\n\n return Object.keys(obj).reduce((o: any, key: string) => {\n o[camelize(key)] = obj[key]\n return o\n }, {})\n}\n\nexport function mergeDeep (\n source: Dictionary<any> = {},\n target: Dictionary<any> = {}\n) {\n for (const key in target) {\n const sourceProperty = source[key]\n const targetProperty = target[key]\n\n // Only continue deep merging if\n // both properties are objects\n if (\n isObject(sourceProperty) &&\n isObject(targetProperty)\n ) {\n source[key] = mergeDeep(sourceProperty, targetProperty)\n\n continue\n }\n\n source[key] = targetProperty\n }\n\n return source\n}\n\nexport function fillArray<T> (length: number, obj: T) {\n return Array(length).fill(obj)\n}\n\n/** Polyfill for Event.prototype.composedPath */\nexport function composedPath (e: Event): EventTarget[] {\n if (e.composedPath) return e.composedPath()\n\n const path = []\n let el = e.target as Element\n\n while (el) {\n path.push(el)\n\n if (el.tagName === 'HTML') {\n path.push(document)\n path.push(window)\n\n return path\n }\n\n el = el.parentElement!\n }\n return path\n}\n"],"sourceRoot":"","file":"helpers.js"}
|
|
@@ -316,6 +316,7 @@ export default VSelect.extend({
|
|
|
316
316
|
const value = target.value; // If typing and menu is not currently active
|
|
317
317
|
|
|
318
318
|
if (target.value) this.activateMenu();
|
|
319
|
+
if (!this.multiple && value === '') this.deleteCurrentItem();
|
|
319
320
|
this.internalSearch = value;
|
|
320
321
|
this.badInput = target.validity && target.validity.badInput;
|
|
321
322
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VAutocomplete/VAutocomplete.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VAutocomplete.sass'\n\n// Extensions\nimport VSelect, { defaultMenuProps as VSelectMenuProps } from '../VSelect/VSelect'\nimport VTextField from '../VTextField/VTextField'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\nimport {\n getObjectValueByPath,\n getPropertyFromItem,\n keyCodes,\n} from '../../util/helpers'\n\n// Types\nimport { PropType, VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\nconst defaultMenuProps = {\n ...VSelectMenuProps,\n offsetY: true,\n offsetOverflow: true,\n transition: false,\n}\n\n/* @vue/component */\nexport default VSelect.extend({\n name: 'v-autocomplete',\n\n props: {\n allowOverflow: {\n type: Boolean,\n default: true,\n },\n autoSelectFirst: {\n type: Boolean,\n default: false,\n },\n filter: {\n type: Function,\n default: (item: any, queryText: string, itemText: string) => {\n return itemText.toLocaleLowerCase().indexOf(queryText.toLocaleLowerCase()) > -1\n },\n } as PropValidator<(item: any, queryText: string, itemText: string) => boolean>,\n hideNoData: Boolean,\n menuProps: {\n type: VSelect.options.props.menuProps.type,\n default: () => defaultMenuProps,\n },\n noFilter: Boolean,\n searchInput: {\n type: String as PropType<string | null>,\n },\n },\n\n data () {\n return {\n lazySearch: this.searchInput,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VSelect.options.computed.classes.call(this),\n 'v-autocomplete': true,\n 'v-autocomplete--is-selecting-index': this.selectedIndex > -1,\n }\n },\n computedItems (): object[] {\n return this.filteredItems\n },\n selectedValues (): object[] {\n return this.selectedItems.map(item => this.getValue(item))\n },\n hasDisplayedItems (): boolean {\n return this.hideSelected\n ? this.filteredItems.some(item => !this.hasItem(item))\n : this.filteredItems.length > 0\n },\n currentRange (): number {\n if (this.selectedItem == null) return 0\n\n return String(this.getText(this.selectedItem)).length\n },\n filteredItems (): object[] {\n if (!this.isSearching || this.noFilter || this.internalSearch == null) return this.allItems\n\n return this.allItems.filter(item => {\n const value = getPropertyFromItem(item, this.itemText)\n const text = value != null ? String(value) : ''\n\n return this.filter(item, String(this.internalSearch), text)\n })\n },\n internalSearch: {\n get (): string | null {\n return this.lazySearch\n },\n set (val: any) { // TODO: this should be `string | null` but it breaks lots of other types\n // emit update event only when the new\n // search value is different from previous\n if (this.lazySearch !== val) {\n this.lazySearch = val\n this.$emit('update:search-input', val)\n }\n },\n },\n isAnyValueAllowed (): boolean {\n return false\n },\n isDirty (): boolean {\n return this.searchIsDirty || this.selectedItems.length > 0\n },\n isSearching (): boolean {\n return (\n this.multiple &&\n this.searchIsDirty\n ) || (\n this.searchIsDirty &&\n this.internalSearch !== this.getText(this.selectedItem)\n )\n },\n menuCanShow (): boolean {\n if (!this.isFocused) return false\n\n return this.hasDisplayedItems || !this.hideNoData\n },\n $_menuProps (): object {\n const props = VSelect.options.computed.$_menuProps.call(this);\n (props as any).contentClass = `v-autocomplete__content ${(props as any).contentClass || ''}`.trim()\n return {\n ...defaultMenuProps,\n ...props,\n }\n },\n searchIsDirty (): boolean {\n return this.internalSearch != null &&\n this.internalSearch !== ''\n },\n selectedItem (): any {\n if (this.multiple) return null\n\n return this.selectedItems.find(i => {\n return this.valueComparator(this.getValue(i), this.getValue(this.internalValue))\n })\n },\n listData () {\n const data = VSelect.options.computed.listData.call(this) as any\n\n data.props = {\n ...data.props,\n items: this.virtualizedItems,\n noFilter: (\n this.noFilter ||\n !this.isSearching ||\n !this.filteredItems.length\n ),\n searchInput: this.internalSearch,\n }\n\n return data\n },\n },\n\n watch: {\n filteredItems: 'onFilteredItemsChanged',\n internalValue: 'setSearch',\n isFocused (val) {\n if (val) {\n document.addEventListener('copy', this.onCopy)\n this.$refs.input && this.$refs.input.select()\n } else {\n document.removeEventListener('copy', this.onCopy)\n this.blur()\n this.updateSelf()\n }\n },\n isMenuActive (val) {\n if (val || !this.hasSlot) return\n\n this.lazySearch = null\n },\n items (val, oldVal) {\n // If we are focused, the menu\n // is not active, hide no data is enabled,\n // and items change\n // User is probably async loading\n // items, try to activate the menu\n if (\n !(oldVal && oldVal.length) &&\n this.hideNoData &&\n this.isFocused &&\n !this.isMenuActive &&\n val.length\n ) this.activateMenu()\n },\n searchInput (val: string) {\n this.lazySearch = val\n },\n internalSearch: 'onInternalSearchChanged',\n itemText: 'updateSelf',\n },\n\n created () {\n this.setSearch()\n },\n\n destroyed () {\n document.removeEventListener('copy', this.onCopy)\n },\n\n methods: {\n onFilteredItemsChanged (val: never[], oldVal: never[]) {\n // TODO: How is the watcher triggered\n // for duplicate items? no idea\n if (val === oldVal) return\n\n if (!this.autoSelectFirst) {\n const preSelectedItem = oldVal[this.$refs.menu.listIndex]\n\n if (preSelectedItem) {\n this.setMenuIndex(val.findIndex(i => i === preSelectedItem))\n } else {\n this.setMenuIndex(-1)\n }\n this.$emit('update:list-index', this.$refs.menu.listIndex)\n }\n\n this.$nextTick(() => {\n if (\n !this.internalSearch ||\n (val.length !== 1 &&\n !this.autoSelectFirst)\n ) return\n\n this.$refs.menu.getTiles()\n\n if (this.autoSelectFirst && val.length) {\n this.setMenuIndex(0)\n this.$emit('update:list-index', this.$refs.menu.listIndex)\n }\n })\n },\n onInternalSearchChanged () {\n this.updateMenuDimensions()\n },\n updateMenuDimensions () {\n // Type from menuable is not making it through\n this.isMenuActive && this.$refs.menu && this.$refs.menu.updateDimensions()\n },\n changeSelectedIndex (keyCode: number) {\n // Do not allow changing of selectedIndex\n // when search is dirty\n if (this.searchIsDirty) return\n\n if (this.multiple && keyCode === keyCodes.left) {\n if (this.selectedIndex === -1) {\n this.selectedIndex = this.selectedItems.length - 1\n } else {\n this.selectedIndex--\n }\n } else if (this.multiple && keyCode === keyCodes.right) {\n if (this.selectedIndex >= this.selectedItems.length - 1) {\n this.selectedIndex = -1\n } else {\n this.selectedIndex++\n }\n } else if (keyCode === keyCodes.backspace || keyCode === keyCodes.delete) {\n this.deleteCurrentItem()\n }\n },\n deleteCurrentItem () {\n const curIndex = this.selectedIndex\n const curItem = this.selectedItems[curIndex]\n\n // Do nothing if input or item is disabled\n if (\n !this.isInteractive ||\n this.getDisabled(curItem)\n ) return\n\n const lastIndex = this.selectedItems.length - 1\n\n // Select the last item if\n // there is no selection\n if (\n this.selectedIndex === -1 &&\n lastIndex !== 0\n ) {\n this.selectedIndex = lastIndex\n\n return\n }\n\n const length = this.selectedItems.length\n const nextIndex = curIndex !== length - 1\n ? curIndex\n : curIndex - 1\n const nextItem = this.selectedItems[nextIndex]\n\n if (!nextItem) {\n this.setValue(this.multiple ? [] : null)\n } else {\n this.selectItem(curItem)\n }\n\n this.selectedIndex = nextIndex\n },\n clearableCallback () {\n this.internalSearch = null\n\n VSelect.options.methods.clearableCallback.call(this)\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.data = mergeData(input.data!, {\n attrs: {\n 'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),\n autocomplete: getObjectValueByPath(input.data!, 'attrs.autocomplete', 'off'),\n },\n domProps: { value: this.internalSearch },\n })\n\n return input\n },\n genInputSlot () {\n const slot = VSelect.options.methods.genInputSlot.call(this)\n\n slot.data!.attrs!.role = 'combobox'\n\n return slot\n },\n genSelections (): VNode | never[] {\n return this.hasSlot || this.multiple\n ? VSelect.options.methods.genSelections.call(this)\n : []\n },\n onClick (e: MouseEvent) {\n if (!this.isInteractive) return\n\n this.selectedIndex > -1\n ? (this.selectedIndex = -1)\n : this.onFocus()\n\n if (!this.isAppendInner(e.target)) this.activateMenu()\n },\n onInput (e: Event) {\n if (\n this.selectedIndex > -1 ||\n !e.target\n ) return\n\n const target = e.target as HTMLInputElement\n const value = target.value\n\n // If typing and menu is not currently active\n if (target.value) this.activateMenu()\n\n this.internalSearch = value\n this.badInput = target.validity && target.validity.badInput\n },\n onKeyDown (e: KeyboardEvent) {\n const keyCode = e.keyCode\n\n if (\n e.ctrlKey ||\n ![keyCodes.home, keyCodes.end].includes(keyCode)\n ) {\n VSelect.options.methods.onKeyDown.call(this, e)\n }\n\n // The ordering is important here\n // allows new value to be updated\n // and then moves the index to the\n // proper location\n this.changeSelectedIndex(keyCode)\n },\n onSpaceDown (e: KeyboardEvent) { /* noop */ },\n onTabDown (e: KeyboardEvent) {\n VSelect.options.methods.onTabDown.call(this, e)\n this.updateSelf()\n },\n onUpDown (e: Event) {\n // Prevent screen from scrolling\n e.preventDefault()\n\n // For autocomplete / combobox, cycling\n // interfers with native up/down behavior\n // instead activate the menu\n this.activateMenu()\n },\n selectItem (item: object) {\n VSelect.options.methods.selectItem.call(this, item)\n this.setSearch()\n },\n setSelectedItems () {\n VSelect.options.methods.setSelectedItems.call(this)\n\n // #4273 Don't replace if searching\n // #4403 Don't replace if focused\n if (!this.isFocused) this.setSearch()\n },\n setSearch () {\n // Wait for nextTick so selectedItem\n // has had time to update\n this.$nextTick(() => {\n if (\n !this.multiple ||\n !this.internalSearch ||\n !this.isMenuActive\n ) {\n this.internalSearch = (\n !this.selectedItems.length ||\n this.multiple ||\n this.hasSlot\n )\n ? null\n : this.getText(this.selectedItem)\n }\n })\n },\n updateSelf () {\n if (\n !this.searchIsDirty &&\n !this.internalValue\n ) return\n\n if (\n !this.multiple &&\n !this.valueComparator(\n this.internalSearch,\n this.getValue(this.internalValue)\n )\n ) {\n this.setSearch()\n }\n },\n hasItem (item: any): boolean {\n return this.selectedValues.indexOf(this.getValue(item)) > -1\n },\n onCopy (event: ClipboardEvent) {\n if (this.selectedIndex === -1) return\n\n const currentItem = this.selectedItems[this.selectedIndex]\n const currentItemText = this.getText(currentItem)\n event.clipboardData?.setData('text/plain', currentItemText)\n event.clipboardData?.setData('text/vnd.vuetify.autocomplete.item+plain', currentItemText)\n event.preventDefault()\n },\n },\n})\n"],"sourceRoot":"","file":"VAutocomplete.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VAutocomplete/VAutocomplete.ts"],"names":[],"mappings":"AAAA;AACA,OAAO,0DAAP,C,CAEA;;AACA,OAAO,OAAP,IAAkB,gBAAgB,IAAI,gBAAtC,QAA8D,oBAA9D;AACA,OAAO,UAAP,MAAuB,0BAAvB,C,CAEA;;AACA,OAAO,SAAP,MAAsB,sBAAtB;AACA,SACE,oBADF,EAEE,mBAFF,EAGE,QAHF,QAIO,oBAJP;AAUA,MAAM,gBAAgB,GAAG,EACvB,GAAG,gBADoB;AAEvB,EAAA,OAAO,EAAE,IAFc;AAGvB,EAAA,cAAc,EAAE,IAHO;AAIvB,EAAA,UAAU,EAAE;AAJW,CAAzB;AAOA;;AACA,eAAe,OAAO,CAAC,MAAR,CAAe;AAC5B,EAAA,IAAI,EAAE,gBADsB;AAG5B,EAAA,KAAK,EAAE;AACL,IAAA,aAAa,EAAE;AACb,MAAA,IAAI,EAAE,OADO;AAEb,MAAA,OAAO,EAAE;AAFI,KADV;AAKL,IAAA,eAAe,EAAE;AACf,MAAA,IAAI,EAAE,OADS;AAEf,MAAA,OAAO,EAAE;AAFM,KALZ;AASL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,QADA;AAEN,MAAA,OAAO,EAAE,CAAC,IAAD,EAAY,SAAZ,EAA+B,QAA/B,KAAmD;AAC1D,eAAO,QAAQ,CAAC,iBAAT,GAA6B,OAA7B,CAAqC,SAAS,CAAC,iBAAV,EAArC,IAAsE,CAAC,CAA9E;AACD;AAJK,KATH;AAeL,IAAA,UAAU,EAAE,OAfP;AAgBL,IAAA,SAAS,EAAE;AACT,MAAA,IAAI,EAAE,OAAO,CAAC,OAAR,CAAgB,KAAhB,CAAsB,SAAtB,CAAgC,IAD7B;AAET,MAAA,OAAO,EAAE,MAAM;AAFN,KAhBN;AAoBL,IAAA,QAAQ,EAAE,OApBL;AAqBL,IAAA,WAAW,EAAE;AACX,MAAA,IAAI,EAAE;AADK;AArBR,GAHqB;;AA6B5B,EAAA,IAAI,GAAA;AACF,WAAO;AACL,MAAA,UAAU,EAAE,KAAK;AADZ,KAAP;AAGD,GAjC2B;;AAmC5B,EAAA,QAAQ,EAAE;AACR,IAAA,OAAO,GAAA;AACL,aAAO,EACL,GAAG,OAAO,CAAC,OAAR,CAAgB,QAAhB,CAAyB,OAAzB,CAAiC,IAAjC,CAAsC,IAAtC,CADE;AAEL,0BAAkB,IAFb;AAGL,8CAAsC,KAAK,aAAL,GAAqB,CAAC;AAHvD,OAAP;AAKD,KAPO;;AAQR,IAAA,aAAa,GAAA;AACX,aAAO,KAAK,aAAZ;AACD,KAVO;;AAWR,IAAA,cAAc,GAAA;AACZ,aAAO,KAAK,aAAL,CAAmB,GAAnB,CAAuB,IAAI,IAAI,KAAK,QAAL,CAAc,IAAd,CAA/B,CAAP;AACD,KAbO;;AAcR,IAAA,iBAAiB,GAAA;AACf,aAAO,KAAK,YAAL,GACH,KAAK,aAAL,CAAmB,IAAnB,CAAwB,IAAI,IAAI,CAAC,KAAK,OAAL,CAAa,IAAb,CAAjC,CADG,GAEH,KAAK,aAAL,CAAmB,MAAnB,GAA4B,CAFhC;AAGD,KAlBO;;AAmBR,IAAA,YAAY,GAAA;AACV,UAAI,KAAK,YAAL,IAAqB,IAAzB,EAA+B,OAAO,CAAP;AAE/B,aAAO,MAAM,CAAC,KAAK,OAAL,CAAa,KAAK,YAAlB,CAAD,CAAN,CAAwC,MAA/C;AACD,KAvBO;;AAwBR,IAAA,aAAa,GAAA;AACX,UAAI,CAAC,KAAK,WAAN,IAAqB,KAAK,QAA1B,IAAsC,KAAK,cAAL,IAAuB,IAAjE,EAAuE,OAAO,KAAK,QAAZ;AAEvE,aAAO,KAAK,QAAL,CAAc,MAAd,CAAqB,IAAI,IAAG;AACjC,cAAM,KAAK,GAAG,mBAAmB,CAAC,IAAD,EAAO,KAAK,QAAZ,CAAjC;AACA,cAAM,IAAI,GAAG,KAAK,IAAI,IAAT,GAAgB,MAAM,CAAC,KAAD,CAAtB,GAAgC,EAA7C;AAEA,eAAO,KAAK,MAAL,CAAY,IAAZ,EAAkB,MAAM,CAAC,KAAK,cAAN,CAAxB,EAA+C,IAA/C,CAAP;AACD,OALM,CAAP;AAMD,KAjCO;;AAkCR,IAAA,cAAc,EAAE;AACd,MAAA,GAAG,GAAA;AACD,eAAO,KAAK,UAAZ;AACD,OAHa;;AAId,MAAA,GAAG,CAAE,GAAF,EAAU;AACX;AACA;AACA,YAAI,KAAK,UAAL,KAAoB,GAAxB,EAA6B;AAC3B,eAAK,UAAL,GAAkB,GAAlB;AACA,eAAK,KAAL,CAAW,qBAAX,EAAkC,GAAlC;AACD;AACF;;AAXa,KAlCR;;AA+CR,IAAA,iBAAiB,GAAA;AACf,aAAO,KAAP;AACD,KAjDO;;AAkDR,IAAA,OAAO,GAAA;AACL,aAAO,KAAK,aAAL,IAAsB,KAAK,aAAL,CAAmB,MAAnB,GAA4B,CAAzD;AACD,KApDO;;AAqDR,IAAA,WAAW,GAAA;AACT,aACE,KAAK,QAAL,IACA,KAAK,aAFA,IAIL,KAAK,aAAL,IACA,KAAK,cAAL,KAAwB,KAAK,OAAL,CAAa,KAAK,YAAlB,CAL1B;AAOD,KA7DO;;AA8DR,IAAA,WAAW,GAAA;AACT,UAAI,CAAC,KAAK,SAAV,EAAqB,OAAO,KAAP;AAErB,aAAO,KAAK,iBAAL,IAA0B,CAAC,KAAK,UAAvC;AACD,KAlEO;;AAmER,IAAA,WAAW,GAAA;AACT,YAAM,KAAK,GAAG,OAAO,CAAC,OAAR,CAAgB,QAAhB,CAAyB,WAAzB,CAAqC,IAArC,CAA0C,IAA1C,CAAd;AACC,MAAA,KAAa,CAAC,YAAd,GAA6B,2BAA4B,KAAa,CAAC,YAAd,IAA8B,EAAE,EAA5D,CAA+D,IAA/D,EAA7B;AACD,aAAO,EACL,GAAG,gBADE;AAEL,WAAG;AAFE,OAAP;AAID,KA1EO;;AA2ER,IAAA,aAAa,GAAA;AACX,aAAO,KAAK,cAAL,IAAuB,IAAvB,IACL,KAAK,cAAL,KAAwB,EAD1B;AAED,KA9EO;;AA+ER,IAAA,YAAY,GAAA;AACV,UAAI,KAAK,QAAT,EAAmB,OAAO,IAAP;AAEnB,aAAO,KAAK,aAAL,CAAmB,IAAnB,CAAwB,CAAC,IAAG;AACjC,eAAO,KAAK,eAAL,CAAqB,KAAK,QAAL,CAAc,CAAd,CAArB,EAAuC,KAAK,QAAL,CAAc,KAAK,aAAnB,CAAvC,CAAP;AACD,OAFM,CAAP;AAGD,KArFO;;AAsFR,IAAA,QAAQ,GAAA;AACN,YAAM,IAAI,GAAG,OAAO,CAAC,OAAR,CAAgB,QAAhB,CAAyB,QAAzB,CAAkC,IAAlC,CAAuC,IAAvC,CAAb;AAEA,MAAA,IAAI,CAAC,KAAL,GAAa,EACX,GAAG,IAAI,CAAC,KADG;AAEX,QAAA,KAAK,EAAE,KAAK,gBAFD;AAGX,QAAA,QAAQ,EACN,KAAK,QAAL,IACA,CAAC,KAAK,WADN,IAEA,CAAC,KAAK,aAAL,CAAmB,MANX;AAQX,QAAA,WAAW,EAAE,KAAK;AARP,OAAb;AAWA,aAAO,IAAP;AACD;;AArGO,GAnCkB;AA2I5B,EAAA,KAAK,EAAE;AACL,IAAA,aAAa,EAAE,wBADV;AAEL,IAAA,aAAa,EAAE,WAFV;;AAGL,IAAA,SAAS,CAAE,GAAF,EAAK;AACZ,UAAI,GAAJ,EAAS;AACP,QAAA,QAAQ,CAAC,gBAAT,CAA0B,MAA1B,EAAkC,KAAK,MAAvC;AACA,aAAK,KAAL,CAAW,KAAX,IAAoB,KAAK,KAAL,CAAW,KAAX,CAAiB,MAAjB,EAApB;AACD,OAHD,MAGO;AACL,QAAA,QAAQ,CAAC,mBAAT,CAA6B,MAA7B,EAAqC,KAAK,MAA1C;AACA,aAAK,IAAL;AACA,aAAK,UAAL;AACD;AACF,KAZI;;AAaL,IAAA,YAAY,CAAE,GAAF,EAAK;AACf,UAAI,GAAG,IAAI,CAAC,KAAK,OAAjB,EAA0B;AAE1B,WAAK,UAAL,GAAkB,IAAlB;AACD,KAjBI;;AAkBL,IAAA,KAAK,CAAE,GAAF,EAAO,MAAP,EAAa;AAChB;AACA;AACA;AACA;AACA;AACA,UACE,EAAE,MAAM,IAAI,MAAM,CAAC,MAAnB,KACA,KAAK,UADL,IAEA,KAAK,SAFL,IAGA,CAAC,KAAK,YAHN,IAIA,GAAG,CAAC,MALN,EAME,KAAK,YAAL;AACH,KA/BI;;AAgCL,IAAA,WAAW,CAAE,GAAF,EAAa;AACtB,WAAK,UAAL,GAAkB,GAAlB;AACD,KAlCI;;AAmCL,IAAA,cAAc,EAAE,yBAnCX;AAoCL,IAAA,QAAQ,EAAE;AApCL,GA3IqB;;AAkL5B,EAAA,OAAO,GAAA;AACL,SAAK,SAAL;AACD,GApL2B;;AAsL5B,EAAA,SAAS,GAAA;AACP,IAAA,QAAQ,CAAC,mBAAT,CAA6B,MAA7B,EAAqC,KAAK,MAA1C;AACD,GAxL2B;;AA0L5B,EAAA,OAAO,EAAE;AACP,IAAA,sBAAsB,CAAE,GAAF,EAAgB,MAAhB,EAA+B;AACnD;AACA;AACA,UAAI,GAAG,KAAK,MAAZ,EAAoB;;AAEpB,UAAI,CAAC,KAAK,eAAV,EAA2B;AACzB,cAAM,eAAe,GAAG,MAAM,CAAC,KAAK,KAAL,CAAW,IAAX,CAAgB,SAAjB,CAA9B;;AAEA,YAAI,eAAJ,EAAqB;AACnB,eAAK,YAAL,CAAkB,GAAG,CAAC,SAAJ,CAAc,CAAC,IAAI,CAAC,KAAK,eAAzB,CAAlB;AACD,SAFD,MAEO;AACL,eAAK,YAAL,CAAkB,CAAC,CAAnB;AACD;;AACD,aAAK,KAAL,CAAW,mBAAX,EAAgC,KAAK,KAAL,CAAW,IAAX,CAAgB,SAAhD;AACD;;AAED,WAAK,SAAL,CAAe,MAAK;AAClB,YACE,CAAC,KAAK,cAAN,IACC,GAAG,CAAC,MAAJ,KAAe,CAAf,IACC,CAAC,KAAK,eAHV,EAIE;AAEF,aAAK,KAAL,CAAW,IAAX,CAAgB,QAAhB;;AAEA,YAAI,KAAK,eAAL,IAAwB,GAAG,CAAC,MAAhC,EAAwC;AACtC,eAAK,YAAL,CAAkB,CAAlB;AACA,eAAK,KAAL,CAAW,mBAAX,EAAgC,KAAK,KAAL,CAAW,IAAX,CAAgB,SAAhD;AACD;AACF,OAbD;AAcD,KA/BM;;AAgCP,IAAA,uBAAuB,GAAA;AACrB,WAAK,oBAAL;AACD,KAlCM;;AAmCP,IAAA,oBAAoB,GAAA;AAClB;AACA,WAAK,YAAL,IAAqB,KAAK,KAAL,CAAW,IAAhC,IAAwC,KAAK,KAAL,CAAW,IAAX,CAAgB,gBAAhB,EAAxC;AACD,KAtCM;;AAuCP,IAAA,mBAAmB,CAAE,OAAF,EAAiB;AAClC;AACA;AACA,UAAI,KAAK,aAAT,EAAwB;;AAExB,UAAI,KAAK,QAAL,IAAiB,OAAO,KAAK,QAAQ,CAAC,IAA1C,EAAgD;AAC9C,YAAI,KAAK,aAAL,KAAuB,CAAC,CAA5B,EAA+B;AAC7B,eAAK,aAAL,GAAqB,KAAK,aAAL,CAAmB,MAAnB,GAA4B,CAAjD;AACD,SAFD,MAEO;AACL,eAAK,aAAL;AACD;AACF,OAND,MAMO,IAAI,KAAK,QAAL,IAAiB,OAAO,KAAK,QAAQ,CAAC,KAA1C,EAAiD;AACtD,YAAI,KAAK,aAAL,IAAsB,KAAK,aAAL,CAAmB,MAAnB,GAA4B,CAAtD,EAAyD;AACvD,eAAK,aAAL,GAAqB,CAAC,CAAtB;AACD,SAFD,MAEO;AACL,eAAK,aAAL;AACD;AACF,OANM,MAMA,IAAI,OAAO,KAAK,QAAQ,CAAC,SAArB,IAAkC,OAAO,KAAK,QAAQ,CAAC,MAA3D,EAAmE;AACxE,aAAK,iBAAL;AACD;AACF,KA3DM;;AA4DP,IAAA,iBAAiB,GAAA;AACf,YAAM,QAAQ,GAAG,KAAK,aAAtB;AACA,YAAM,OAAO,GAAG,KAAK,aAAL,CAAmB,QAAnB,CAAhB,CAFe,CAIf;;AACA,UACE,CAAC,KAAK,aAAN,IACA,KAAK,WAAL,CAAiB,OAAjB,CAFF,EAGE;AAEF,YAAM,SAAS,GAAG,KAAK,aAAL,CAAmB,MAAnB,GAA4B,CAA9C,CAVe,CAYf;AACA;;AACA,UACE,KAAK,aAAL,KAAuB,CAAC,CAAxB,IACA,SAAS,KAAK,CAFhB,EAGE;AACA,aAAK,aAAL,GAAqB,SAArB;AAEA;AACD;;AAED,YAAM,MAAM,GAAG,KAAK,aAAL,CAAmB,MAAlC;AACA,YAAM,SAAS,GAAG,QAAQ,KAAK,MAAM,GAAG,CAAtB,GACd,QADc,GAEd,QAAQ,GAAG,CAFf;AAGA,YAAM,QAAQ,GAAG,KAAK,aAAL,CAAmB,SAAnB,CAAjB;;AAEA,UAAI,CAAC,QAAL,EAAe;AACb,aAAK,QAAL,CAAc,KAAK,QAAL,GAAgB,EAAhB,GAAqB,IAAnC;AACD,OAFD,MAEO;AACL,aAAK,UAAL,CAAgB,OAAhB;AACD;;AAED,WAAK,aAAL,GAAqB,SAArB;AACD,KAhGM;;AAiGP,IAAA,iBAAiB,GAAA;AACf,WAAK,cAAL,GAAsB,IAAtB;AAEA,MAAA,OAAO,CAAC,OAAR,CAAgB,OAAhB,CAAwB,iBAAxB,CAA0C,IAA1C,CAA+C,IAA/C;AACD,KArGM;;AAsGP,IAAA,QAAQ,GAAA;AACN,YAAM,KAAK,GAAG,UAAU,CAAC,OAAX,CAAmB,OAAnB,CAA2B,QAA3B,CAAoC,IAApC,CAAyC,IAAzC,CAAd;AAEA,MAAA,KAAK,CAAC,IAAN,GAAa,SAAS,CAAC,KAAK,CAAC,IAAP,EAAc;AAClC,QAAA,KAAK,EAAE;AACL,mCAAyB,oBAAoB,CAAC,KAAK,KAAL,CAAW,IAAZ,EAAkB,eAAlB,CADxC;AAEL,UAAA,YAAY,EAAE,oBAAoB,CAAC,KAAK,CAAC,IAAP,EAAc,oBAAd,EAAoC,KAApC;AAF7B,SAD2B;AAKlC,QAAA,QAAQ,EAAE;AAAE,UAAA,KAAK,EAAE,KAAK;AAAd;AALwB,OAAd,CAAtB;AAQA,aAAO,KAAP;AACD,KAlHM;;AAmHP,IAAA,YAAY,GAAA;AACV,YAAM,IAAI,GAAG,OAAO,CAAC,OAAR,CAAgB,OAAhB,CAAwB,YAAxB,CAAqC,IAArC,CAA0C,IAA1C,CAAb;AAEA,MAAA,IAAI,CAAC,IAAL,CAAW,KAAX,CAAkB,IAAlB,GAAyB,UAAzB;AAEA,aAAO,IAAP;AACD,KAzHM;;AA0HP,IAAA,aAAa,GAAA;AACX,aAAO,KAAK,OAAL,IAAgB,KAAK,QAArB,GACH,OAAO,CAAC,OAAR,CAAgB,OAAhB,CAAwB,aAAxB,CAAsC,IAAtC,CAA2C,IAA3C,CADG,GAEH,EAFJ;AAGD,KA9HM;;AA+HP,IAAA,OAAO,CAAE,CAAF,EAAe;AACpB,UAAI,CAAC,KAAK,aAAV,EAAyB;AAEzB,WAAK,aAAL,GAAqB,CAAC,CAAtB,GACK,KAAK,aAAL,GAAqB,CAAC,CAD3B,GAEI,KAAK,OAAL,EAFJ;AAIA,UAAI,CAAC,KAAK,aAAL,CAAmB,CAAC,CAAC,MAArB,CAAL,EAAmC,KAAK,YAAL;AACpC,KAvIM;;AAwIP,IAAA,OAAO,CAAE,CAAF,EAAU;AACf,UACE,KAAK,aAAL,GAAqB,CAAC,CAAtB,IACA,CAAC,CAAC,CAAC,MAFL,EAGE;AAEF,YAAM,MAAM,GAAG,CAAC,CAAC,MAAjB;AACA,YAAM,KAAK,GAAG,MAAM,CAAC,KAArB,CAPe,CASf;;AACA,UAAI,MAAM,CAAC,KAAX,EAAkB,KAAK,YAAL;AAElB,UAAI,CAAC,KAAK,QAAN,IAAkB,KAAK,KAAK,EAAhC,EAAoC,KAAK,iBAAL;AAEpC,WAAK,cAAL,GAAsB,KAAtB;AACA,WAAK,QAAL,GAAgB,MAAM,CAAC,QAAP,IAAmB,MAAM,CAAC,QAAP,CAAgB,QAAnD;AACD,KAxJM;;AAyJP,IAAA,SAAS,CAAE,CAAF,EAAkB;AACzB,YAAM,OAAO,GAAG,CAAC,CAAC,OAAlB;;AAEA,UACE,CAAC,CAAC,OAAF,IACA,CAAC,CAAC,QAAQ,CAAC,IAAV,EAAgB,QAAQ,CAAC,GAAzB,EAA8B,QAA9B,CAAuC,OAAvC,CAFH,EAGE;AACA,QAAA,OAAO,CAAC,OAAR,CAAgB,OAAhB,CAAwB,SAAxB,CAAkC,IAAlC,CAAuC,IAAvC,EAA6C,CAA7C;AACD,OARwB,CAUzB;AACA;AACA;AACA;;;AACA,WAAK,mBAAL,CAAyB,OAAzB;AACD,KAxKM;;AAyKP,IAAA,WAAW,CAAE,CAAF,EAAkB,CAAgB,CAzKtC;;AA0KP,IAAA,SAAS,CAAE,CAAF,EAAkB;AACzB,MAAA,OAAO,CAAC,OAAR,CAAgB,OAAhB,CAAwB,SAAxB,CAAkC,IAAlC,CAAuC,IAAvC,EAA6C,CAA7C;AACA,WAAK,UAAL;AACD,KA7KM;;AA8KP,IAAA,QAAQ,CAAE,CAAF,EAAU;AAChB;AACA,MAAA,CAAC,CAAC,cAAF,GAFgB,CAIhB;AACA;AACA;;AACA,WAAK,YAAL;AACD,KAtLM;;AAuLP,IAAA,UAAU,CAAE,IAAF,EAAc;AACtB,MAAA,OAAO,CAAC,OAAR,CAAgB,OAAhB,CAAwB,UAAxB,CAAmC,IAAnC,CAAwC,IAAxC,EAA8C,IAA9C;AACA,WAAK,SAAL;AACD,KA1LM;;AA2LP,IAAA,gBAAgB,GAAA;AACd,MAAA,OAAO,CAAC,OAAR,CAAgB,OAAhB,CAAwB,gBAAxB,CAAyC,IAAzC,CAA8C,IAA9C,EADc,CAGd;AACA;;AACA,UAAI,CAAC,KAAK,SAAV,EAAqB,KAAK,SAAL;AACtB,KAjMM;;AAkMP,IAAA,SAAS,GAAA;AACP;AACA;AACA,WAAK,SAAL,CAAe,MAAK;AAClB,YACE,CAAC,KAAK,QAAN,IACA,CAAC,KAAK,cADN,IAEA,CAAC,KAAK,YAHR,EAIE;AACA,eAAK,cAAL,GACE,CAAC,KAAK,aAAL,CAAmB,MAApB,IACA,KAAK,QADL,IAEA,KAAK,OAHe,GAKlB,IALkB,GAMlB,KAAK,OAAL,CAAa,KAAK,YAAlB,CANJ;AAOD;AACF,OAdD;AAeD,KApNM;;AAqNP,IAAA,UAAU,GAAA;AACR,UACE,CAAC,KAAK,aAAN,IACA,CAAC,KAAK,aAFR,EAGE;;AAEF,UACE,CAAC,KAAK,QAAN,IACA,CAAC,KAAK,eAAL,CACC,KAAK,cADN,EAEC,KAAK,QAAL,CAAc,KAAK,aAAnB,CAFD,CAFH,EAME;AACA,aAAK,SAAL;AACD;AACF,KApOM;;AAqOP,IAAA,OAAO,CAAE,IAAF,EAAW;AAChB,aAAO,KAAK,cAAL,CAAoB,OAApB,CAA4B,KAAK,QAAL,CAAc,IAAd,CAA5B,IAAmD,CAAC,CAA3D;AACD,KAvOM;;AAwOP,IAAA,MAAM,CAAE,KAAF,EAAuB;AAAA;;AAC3B,UAAI,KAAK,aAAL,KAAuB,CAAC,CAA5B,EAA+B;AAE/B,YAAM,WAAW,GAAG,KAAK,aAAL,CAAmB,KAAK,aAAxB,CAApB;AACA,YAAM,eAAe,GAAG,KAAK,OAAL,CAAa,WAAb,CAAxB;AACA,8BAAA,KAAK,CAAC,aAAN,0CAAqB,OAArB,CAA6B,YAA7B,EAA2C,eAA3C;AACA,+BAAA,KAAK,CAAC,aAAN,2CAAqB,OAArB,CAA6B,0CAA7B,EAAyE,eAAzE;AACA,MAAA,KAAK,CAAC,cAAN;AACD;;AAhPM;AA1LmB,CAAf,CAAf","sourcesContent":["// Styles\nimport './VAutocomplete.sass'\n\n// Extensions\nimport VSelect, { defaultMenuProps as VSelectMenuProps } from '../VSelect/VSelect'\nimport VTextField from '../VTextField/VTextField'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\nimport {\n getObjectValueByPath,\n getPropertyFromItem,\n keyCodes,\n} from '../../util/helpers'\n\n// Types\nimport { PropType, VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\nconst defaultMenuProps = {\n ...VSelectMenuProps,\n offsetY: true,\n offsetOverflow: true,\n transition: false,\n}\n\n/* @vue/component */\nexport default VSelect.extend({\n name: 'v-autocomplete',\n\n props: {\n allowOverflow: {\n type: Boolean,\n default: true,\n },\n autoSelectFirst: {\n type: Boolean,\n default: false,\n },\n filter: {\n type: Function,\n default: (item: any, queryText: string, itemText: string) => {\n return itemText.toLocaleLowerCase().indexOf(queryText.toLocaleLowerCase()) > -1\n },\n } as PropValidator<(item: any, queryText: string, itemText: string) => boolean>,\n hideNoData: Boolean,\n menuProps: {\n type: VSelect.options.props.menuProps.type,\n default: () => defaultMenuProps,\n },\n noFilter: Boolean,\n searchInput: {\n type: String as PropType<string | null>,\n },\n },\n\n data () {\n return {\n lazySearch: this.searchInput,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VSelect.options.computed.classes.call(this),\n 'v-autocomplete': true,\n 'v-autocomplete--is-selecting-index': this.selectedIndex > -1,\n }\n },\n computedItems (): object[] {\n return this.filteredItems\n },\n selectedValues (): object[] {\n return this.selectedItems.map(item => this.getValue(item))\n },\n hasDisplayedItems (): boolean {\n return this.hideSelected\n ? this.filteredItems.some(item => !this.hasItem(item))\n : this.filteredItems.length > 0\n },\n currentRange (): number {\n if (this.selectedItem == null) return 0\n\n return String(this.getText(this.selectedItem)).length\n },\n filteredItems (): object[] {\n if (!this.isSearching || this.noFilter || this.internalSearch == null) return this.allItems\n\n return this.allItems.filter(item => {\n const value = getPropertyFromItem(item, this.itemText)\n const text = value != null ? String(value) : ''\n\n return this.filter(item, String(this.internalSearch), text)\n })\n },\n internalSearch: {\n get (): string | null {\n return this.lazySearch\n },\n set (val: any) { // TODO: this should be `string | null` but it breaks lots of other types\n // emit update event only when the new\n // search value is different from previous\n if (this.lazySearch !== val) {\n this.lazySearch = val\n this.$emit('update:search-input', val)\n }\n },\n },\n isAnyValueAllowed (): boolean {\n return false\n },\n isDirty (): boolean {\n return this.searchIsDirty || this.selectedItems.length > 0\n },\n isSearching (): boolean {\n return (\n this.multiple &&\n this.searchIsDirty\n ) || (\n this.searchIsDirty &&\n this.internalSearch !== this.getText(this.selectedItem)\n )\n },\n menuCanShow (): boolean {\n if (!this.isFocused) return false\n\n return this.hasDisplayedItems || !this.hideNoData\n },\n $_menuProps (): object {\n const props = VSelect.options.computed.$_menuProps.call(this);\n (props as any).contentClass = `v-autocomplete__content ${(props as any).contentClass || ''}`.trim()\n return {\n ...defaultMenuProps,\n ...props,\n }\n },\n searchIsDirty (): boolean {\n return this.internalSearch != null &&\n this.internalSearch !== ''\n },\n selectedItem (): any {\n if (this.multiple) return null\n\n return this.selectedItems.find(i => {\n return this.valueComparator(this.getValue(i), this.getValue(this.internalValue))\n })\n },\n listData () {\n const data = VSelect.options.computed.listData.call(this) as any\n\n data.props = {\n ...data.props,\n items: this.virtualizedItems,\n noFilter: (\n this.noFilter ||\n !this.isSearching ||\n !this.filteredItems.length\n ),\n searchInput: this.internalSearch,\n }\n\n return data\n },\n },\n\n watch: {\n filteredItems: 'onFilteredItemsChanged',\n internalValue: 'setSearch',\n isFocused (val) {\n if (val) {\n document.addEventListener('copy', this.onCopy)\n this.$refs.input && this.$refs.input.select()\n } else {\n document.removeEventListener('copy', this.onCopy)\n this.blur()\n this.updateSelf()\n }\n },\n isMenuActive (val) {\n if (val || !this.hasSlot) return\n\n this.lazySearch = null\n },\n items (val, oldVal) {\n // If we are focused, the menu\n // is not active, hide no data is enabled,\n // and items change\n // User is probably async loading\n // items, try to activate the menu\n if (\n !(oldVal && oldVal.length) &&\n this.hideNoData &&\n this.isFocused &&\n !this.isMenuActive &&\n val.length\n ) this.activateMenu()\n },\n searchInput (val: string) {\n this.lazySearch = val\n },\n internalSearch: 'onInternalSearchChanged',\n itemText: 'updateSelf',\n },\n\n created () {\n this.setSearch()\n },\n\n destroyed () {\n document.removeEventListener('copy', this.onCopy)\n },\n\n methods: {\n onFilteredItemsChanged (val: never[], oldVal: never[]) {\n // TODO: How is the watcher triggered\n // for duplicate items? no idea\n if (val === oldVal) return\n\n if (!this.autoSelectFirst) {\n const preSelectedItem = oldVal[this.$refs.menu.listIndex]\n\n if (preSelectedItem) {\n this.setMenuIndex(val.findIndex(i => i === preSelectedItem))\n } else {\n this.setMenuIndex(-1)\n }\n this.$emit('update:list-index', this.$refs.menu.listIndex)\n }\n\n this.$nextTick(() => {\n if (\n !this.internalSearch ||\n (val.length !== 1 &&\n !this.autoSelectFirst)\n ) return\n\n this.$refs.menu.getTiles()\n\n if (this.autoSelectFirst && val.length) {\n this.setMenuIndex(0)\n this.$emit('update:list-index', this.$refs.menu.listIndex)\n }\n })\n },\n onInternalSearchChanged () {\n this.updateMenuDimensions()\n },\n updateMenuDimensions () {\n // Type from menuable is not making it through\n this.isMenuActive && this.$refs.menu && this.$refs.menu.updateDimensions()\n },\n changeSelectedIndex (keyCode: number) {\n // Do not allow changing of selectedIndex\n // when search is dirty\n if (this.searchIsDirty) return\n\n if (this.multiple && keyCode === keyCodes.left) {\n if (this.selectedIndex === -1) {\n this.selectedIndex = this.selectedItems.length - 1\n } else {\n this.selectedIndex--\n }\n } else if (this.multiple && keyCode === keyCodes.right) {\n if (this.selectedIndex >= this.selectedItems.length - 1) {\n this.selectedIndex = -1\n } else {\n this.selectedIndex++\n }\n } else if (keyCode === keyCodes.backspace || keyCode === keyCodes.delete) {\n this.deleteCurrentItem()\n }\n },\n deleteCurrentItem () {\n const curIndex = this.selectedIndex\n const curItem = this.selectedItems[curIndex]\n\n // Do nothing if input or item is disabled\n if (\n !this.isInteractive ||\n this.getDisabled(curItem)\n ) return\n\n const lastIndex = this.selectedItems.length - 1\n\n // Select the last item if\n // there is no selection\n if (\n this.selectedIndex === -1 &&\n lastIndex !== 0\n ) {\n this.selectedIndex = lastIndex\n\n return\n }\n\n const length = this.selectedItems.length\n const nextIndex = curIndex !== length - 1\n ? curIndex\n : curIndex - 1\n const nextItem = this.selectedItems[nextIndex]\n\n if (!nextItem) {\n this.setValue(this.multiple ? [] : null)\n } else {\n this.selectItem(curItem)\n }\n\n this.selectedIndex = nextIndex\n },\n clearableCallback () {\n this.internalSearch = null\n\n VSelect.options.methods.clearableCallback.call(this)\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.data = mergeData(input.data!, {\n attrs: {\n 'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),\n autocomplete: getObjectValueByPath(input.data!, 'attrs.autocomplete', 'off'),\n },\n domProps: { value: this.internalSearch },\n })\n\n return input\n },\n genInputSlot () {\n const slot = VSelect.options.methods.genInputSlot.call(this)\n\n slot.data!.attrs!.role = 'combobox'\n\n return slot\n },\n genSelections (): VNode | never[] {\n return this.hasSlot || this.multiple\n ? VSelect.options.methods.genSelections.call(this)\n : []\n },\n onClick (e: MouseEvent) {\n if (!this.isInteractive) return\n\n this.selectedIndex > -1\n ? (this.selectedIndex = -1)\n : this.onFocus()\n\n if (!this.isAppendInner(e.target)) this.activateMenu()\n },\n onInput (e: Event) {\n if (\n this.selectedIndex > -1 ||\n !e.target\n ) return\n\n const target = e.target as HTMLInputElement\n const value = target.value\n\n // If typing and menu is not currently active\n if (target.value) this.activateMenu()\n\n if (!this.multiple && value === '') this.deleteCurrentItem()\n\n this.internalSearch = value\n this.badInput = target.validity && target.validity.badInput\n },\n onKeyDown (e: KeyboardEvent) {\n const keyCode = e.keyCode\n\n if (\n e.ctrlKey ||\n ![keyCodes.home, keyCodes.end].includes(keyCode)\n ) {\n VSelect.options.methods.onKeyDown.call(this, e)\n }\n\n // The ordering is important here\n // allows new value to be updated\n // and then moves the index to the\n // proper location\n this.changeSelectedIndex(keyCode)\n },\n onSpaceDown (e: KeyboardEvent) { /* noop */ },\n onTabDown (e: KeyboardEvent) {\n VSelect.options.methods.onTabDown.call(this, e)\n this.updateSelf()\n },\n onUpDown (e: Event) {\n // Prevent screen from scrolling\n e.preventDefault()\n\n // For autocomplete / combobox, cycling\n // interfers with native up/down behavior\n // instead activate the menu\n this.activateMenu()\n },\n selectItem (item: object) {\n VSelect.options.methods.selectItem.call(this, item)\n this.setSearch()\n },\n setSelectedItems () {\n VSelect.options.methods.setSelectedItems.call(this)\n\n // #4273 Don't replace if searching\n // #4403 Don't replace if focused\n if (!this.isFocused) this.setSearch()\n },\n setSearch () {\n // Wait for nextTick so selectedItem\n // has had time to update\n this.$nextTick(() => {\n if (\n !this.multiple ||\n !this.internalSearch ||\n !this.isMenuActive\n ) {\n this.internalSearch = (\n !this.selectedItems.length ||\n this.multiple ||\n this.hasSlot\n )\n ? null\n : this.getText(this.selectedItem)\n }\n })\n },\n updateSelf () {\n if (\n !this.searchIsDirty &&\n !this.internalValue\n ) return\n\n if (\n !this.multiple &&\n !this.valueComparator(\n this.internalSearch,\n this.getValue(this.internalValue)\n )\n ) {\n this.setSearch()\n }\n },\n hasItem (item: any): boolean {\n return this.selectedValues.indexOf(this.getValue(item)) > -1\n },\n onCopy (event: ClipboardEvent) {\n if (this.selectedIndex === -1) return\n\n const currentItem = this.selectedItems[this.selectedIndex]\n const currentItemText = this.getText(currentItem)\n event.clipboardData?.setData('text/plain', currentItemText)\n event.clipboardData?.setData('text/vnd.vuetify.autocomplete.item+plain', currentItemText)\n event.preventDefault()\n },\n },\n})\n"],"sourceRoot":"","file":"VAutocomplete.js"}
|
|
@@ -384,13 +384,13 @@ export default CalendarWithEvents.extend({
|
|
|
384
384
|
value: this.updateEventVisibility
|
|
385
385
|
}],
|
|
386
386
|
on: { ...this.$listeners,
|
|
387
|
-
'click:date': day => {
|
|
387
|
+
'click:date': (day, e) => {
|
|
388
388
|
if (this.$listeners.input) {
|
|
389
389
|
this.$emit('input', day.date);
|
|
390
390
|
}
|
|
391
391
|
|
|
392
392
|
if (this.$listeners['click:date']) {
|
|
393
|
-
this.$emit('click:date', day);
|
|
393
|
+
this.$emit('click:date', day, e);
|
|
394
394
|
}
|
|
395
395
|
}
|
|
396
396
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VCalendar/VCalendar.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\n// import '../../stylus/components/_calendar-daily.styl'\n\n// Types\nimport { VNode, Component } from 'vue'\n\n// Mixins\nimport CalendarWithEvents from './mixins/calendar-with-events'\n\n// Util\nimport props from './util/props'\nimport {\n DAYS_IN_MONTH_MAX,\n DAY_MIN,\n DAYS_IN_WEEK,\n parseTimestamp,\n validateTimestamp,\n relativeDays,\n nextDay,\n prevDay,\n copyTimestamp,\n updateFormatted,\n updateWeekday,\n updateRelative,\n getStartOfMonth,\n getEndOfMonth,\n VTime,\n VTimestampInput,\n timestampToDate,\n} from './util/timestamp'\n\n// Calendars\nimport VCalendarMonthly from './VCalendarMonthly'\nimport VCalendarDaily from './VCalendarDaily'\nimport VCalendarWeekly from './VCalendarWeekly'\nimport VCalendarCategory from './VCalendarCategory'\nimport { CalendarTimestamp, CalendarFormatter, CalendarCategory } from 'vuetify/types'\nimport { getParsedCategories } from './util/parser'\n\n// Types\ninterface VCalendarRenderProps {\n start: CalendarTimestamp\n end: CalendarTimestamp\n component: string | Component\n maxDays: number\n weekdays: number[]\n categories: CalendarCategory[]\n}\n\n/* @vue/component */\nexport default CalendarWithEvents.extend({\n name: 'v-calendar',\n\n props: {\n ...props.calendar,\n ...props.weeks,\n ...props.intervals,\n ...props.category,\n },\n\n data: () => ({\n lastStart: null as CalendarTimestamp | null,\n lastEnd: null as CalendarTimestamp | null,\n }),\n\n computed: {\n parsedValue (): CalendarTimestamp {\n return (validateTimestamp(this.value)\n ? parseTimestamp(this.value, true)\n : (this.parsedStart || this.times.today))\n },\n parsedCategoryDays (): number {\n return parseInt(this.categoryDays) || 1\n },\n renderProps (): VCalendarRenderProps {\n const around = this.parsedValue\n let component: any = null\n let maxDays = this.maxDays\n let weekdays = this.parsedWeekdays\n let categories = this.parsedCategories\n let start = around\n let end = around\n switch (this.type) {\n case 'month':\n component = VCalendarMonthly\n start = getStartOfMonth(around)\n end = getEndOfMonth(around)\n break\n case 'week':\n component = VCalendarDaily\n start = this.getStartOfWeek(around)\n end = this.getEndOfWeek(around)\n maxDays = 7\n break\n case 'day':\n component = VCalendarDaily\n maxDays = 1\n weekdays = [start.weekday]\n break\n case '4day':\n component = VCalendarDaily\n end = relativeDays(copyTimestamp(end), nextDay, 3)\n updateFormatted(end)\n maxDays = 4\n weekdays = [\n start.weekday,\n (start.weekday + 1) % 7,\n (start.weekday + 2) % 7,\n (start.weekday + 3) % 7,\n ]\n break\n case 'custom-weekly':\n component = VCalendarWeekly\n start = this.parsedStart || around\n end = this.parsedEnd\n break\n case 'custom-daily':\n component = VCalendarDaily\n start = this.parsedStart || around\n end = this.parsedEnd\n break\n case 'category':\n const days = this.parsedCategoryDays\n\n component = VCalendarCategory\n end = relativeDays(copyTimestamp(end), nextDay, days)\n updateFormatted(end)\n maxDays = days\n weekdays = []\n\n for (let i = 0; i < days; i++) {\n weekdays.push((start.weekday + i) % 7)\n }\n\n categories = this.getCategoryList(categories)\n break\n default:\n throw new Error(this.type + ' is not a valid Calendar type')\n }\n\n return { component, start, end, maxDays, weekdays, categories }\n },\n eventWeekdays (): number[] {\n return this.renderProps.weekdays\n },\n categoryMode (): boolean {\n return this.type === 'category'\n },\n title (): string {\n const { start, end } = this.renderProps\n const spanYears = start.year !== end.year\n const spanMonths = spanYears || start.month !== end.month\n\n if (spanYears) {\n return this.monthShortFormatter(start, true) + ' ' + start.year + ' - ' + this.monthShortFormatter(end, true) + ' ' + end.year\n }\n\n if (spanMonths) {\n return this.monthShortFormatter(start, true) + ' - ' + this.monthShortFormatter(end, true) + ' ' + end.year\n } else {\n return this.monthLongFormatter(start, false) + ' ' + start.year\n }\n },\n monthLongFormatter (): CalendarFormatter {\n return this.getFormatter({\n timeZone: 'UTC', month: 'long',\n })\n },\n monthShortFormatter (): CalendarFormatter {\n return this.getFormatter({\n timeZone: 'UTC', month: 'short',\n })\n },\n parsedCategories (): CalendarCategory[] {\n return getParsedCategories(this.categories, this.categoryText)\n },\n },\n\n watch: {\n renderProps: 'checkChange',\n },\n\n mounted () {\n this.updateEventVisibility()\n this.checkChange()\n },\n\n updated () {\n window.requestAnimationFrame(this.updateEventVisibility)\n },\n\n methods: {\n checkChange (): void {\n const { lastStart, lastEnd } = this\n const { start, end } = this.renderProps\n if (!lastStart || !lastEnd ||\n start.date !== lastStart.date ||\n end.date !== lastEnd.date) {\n this.lastStart = start\n this.lastEnd = end\n this.$emit('change', { start, end })\n }\n },\n move (amount = 1): void {\n const moved = copyTimestamp(this.parsedValue)\n const forward = amount > 0\n const mover = forward ? nextDay : prevDay\n const limit = forward ? DAYS_IN_MONTH_MAX : DAY_MIN\n let times = forward ? amount : -amount\n\n while (--times >= 0) {\n switch (this.type) {\n case 'month':\n moved.day = limit\n mover(moved)\n break\n case 'week':\n relativeDays(moved, mover, DAYS_IN_WEEK)\n break\n case 'day':\n relativeDays(moved, mover, 1)\n break\n case '4day':\n relativeDays(moved, mover, 4)\n break\n case 'category':\n relativeDays(moved, mover, this.parsedCategoryDays)\n break\n }\n }\n\n updateWeekday(moved)\n updateFormatted(moved)\n updateRelative(moved, this.times.now)\n\n if (this.value instanceof Date) {\n this.$emit('input', timestampToDate(moved))\n } else if (typeof this.value === 'number') {\n this.$emit('input', timestampToDate(moved).getTime())\n } else {\n this.$emit('input', moved.date)\n }\n\n this.$emit('moved', moved)\n },\n next (amount = 1): void {\n this.move(amount)\n },\n prev (amount = 1): void {\n this.move(-amount)\n },\n timeToY (time: VTime, clamp = true): number | false {\n const c = this.$children[0] as any\n\n if (c && c.timeToY) {\n return c.timeToY(time, clamp)\n } else {\n return false\n }\n },\n timeDelta (time: VTime): number | false {\n const c = this.$children[0] as any\n\n if (c && c.timeDelta) {\n return c.timeDelta(time)\n } else {\n return false\n }\n },\n minutesToPixels (minutes: number): number {\n const c = this.$children[0] as any\n\n if (c && c.minutesToPixels) {\n return c.minutesToPixels(minutes)\n } else {\n return -1\n }\n },\n scrollToTime (time: VTime): boolean {\n const c = this.$children[0] as any\n\n if (c && c.scrollToTime) {\n return c.scrollToTime(time)\n } else {\n return false\n }\n },\n parseTimestamp (input: VTimestampInput, required?: false): CalendarTimestamp | null {\n return parseTimestamp(input, required, this.times.now)\n },\n timestampToDate (timestamp: CalendarTimestamp): Date {\n return timestampToDate(timestamp)\n },\n getCategoryList (categories: CalendarCategory[]): CalendarCategory[] {\n if (!this.noEvents) {\n const categoryMap: any = categories.reduce((map: any, category, index) => {\n if (typeof category === 'object' && category.categoryName) map[category.categoryName] = { index, count: 0 }\n else if (typeof category === 'string') map[category] = { index, count: 0 }\n return map\n }, {})\n\n if (!this.categoryHideDynamic || !this.categoryShowAll) {\n let categoryLength = categories.length\n\n this.parsedEvents.forEach(ev => {\n let category = ev.category\n\n if (typeof category !== 'string') {\n category = this.categoryForInvalid\n }\n\n if (!category) {\n return\n }\n\n if (category in categoryMap) {\n categoryMap[category].count++\n } else if (!this.categoryHideDynamic) {\n categoryMap[category] = {\n index: categoryLength++,\n count: 1,\n }\n }\n })\n }\n\n if (!this.categoryShowAll) {\n for (const category in categoryMap) {\n if (categoryMap[category].count === 0) {\n delete categoryMap[category]\n }\n }\n }\n\n categories = categories.filter((category: CalendarCategory) => {\n if (typeof category === 'object' && category.categoryName) {\n return categoryMap.hasOwnProperty(category.categoryName)\n } else if (typeof category === 'string') {\n return categoryMap.hasOwnProperty(category)\n }\n return false\n })\n }\n return categories\n },\n },\n\n render (h): VNode {\n const { start, end, maxDays, component, weekdays, categories } = this.renderProps\n\n return h(component, {\n staticClass: 'v-calendar',\n class: {\n 'v-calendar-events': !this.noEvents,\n },\n props: {\n ...this.$props,\n start: start.date,\n end: end.date,\n maxDays,\n weekdays,\n categories,\n },\n directives: [{\n modifiers: { quiet: true },\n name: 'resize',\n value: this.updateEventVisibility,\n }],\n on: {\n ...this.$listeners,\n 'click:date': (day: CalendarTimestamp) => {\n if (this.$listeners.input) {\n this.$emit('input', day.date)\n }\n if (this.$listeners['click:date']) {\n this.$emit('click:date', day)\n }\n },\n },\n scopedSlots: this.getScopedSlots(),\n })\n },\n})\n"],"sourceRoot":"","file":"VCalendar.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VCalendar/VCalendar.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\n// import '../../stylus/components/_calendar-daily.styl'\n\n// Types\nimport { VNode, Component } from 'vue'\n\n// Mixins\nimport CalendarWithEvents from './mixins/calendar-with-events'\n\n// Util\nimport props from './util/props'\nimport {\n DAYS_IN_MONTH_MAX,\n DAY_MIN,\n DAYS_IN_WEEK,\n parseTimestamp,\n validateTimestamp,\n relativeDays,\n nextDay,\n prevDay,\n copyTimestamp,\n updateFormatted,\n updateWeekday,\n updateRelative,\n getStartOfMonth,\n getEndOfMonth,\n VTime,\n VTimestampInput,\n timestampToDate,\n} from './util/timestamp'\n\n// Calendars\nimport VCalendarMonthly from './VCalendarMonthly'\nimport VCalendarDaily from './VCalendarDaily'\nimport VCalendarWeekly from './VCalendarWeekly'\nimport VCalendarCategory from './VCalendarCategory'\nimport { CalendarTimestamp, CalendarFormatter, CalendarCategory } from 'vuetify/types'\nimport { getParsedCategories } from './util/parser'\n\n// Types\ninterface VCalendarRenderProps {\n start: CalendarTimestamp\n end: CalendarTimestamp\n component: string | Component\n maxDays: number\n weekdays: number[]\n categories: CalendarCategory[]\n}\n\n/* @vue/component */\nexport default CalendarWithEvents.extend({\n name: 'v-calendar',\n\n props: {\n ...props.calendar,\n ...props.weeks,\n ...props.intervals,\n ...props.category,\n },\n\n data: () => ({\n lastStart: null as CalendarTimestamp | null,\n lastEnd: null as CalendarTimestamp | null,\n }),\n\n computed: {\n parsedValue (): CalendarTimestamp {\n return (validateTimestamp(this.value)\n ? parseTimestamp(this.value, true)\n : (this.parsedStart || this.times.today))\n },\n parsedCategoryDays (): number {\n return parseInt(this.categoryDays) || 1\n },\n renderProps (): VCalendarRenderProps {\n const around = this.parsedValue\n let component: any = null\n let maxDays = this.maxDays\n let weekdays = this.parsedWeekdays\n let categories = this.parsedCategories\n let start = around\n let end = around\n switch (this.type) {\n case 'month':\n component = VCalendarMonthly\n start = getStartOfMonth(around)\n end = getEndOfMonth(around)\n break\n case 'week':\n component = VCalendarDaily\n start = this.getStartOfWeek(around)\n end = this.getEndOfWeek(around)\n maxDays = 7\n break\n case 'day':\n component = VCalendarDaily\n maxDays = 1\n weekdays = [start.weekday]\n break\n case '4day':\n component = VCalendarDaily\n end = relativeDays(copyTimestamp(end), nextDay, 3)\n updateFormatted(end)\n maxDays = 4\n weekdays = [\n start.weekday,\n (start.weekday + 1) % 7,\n (start.weekday + 2) % 7,\n (start.weekday + 3) % 7,\n ]\n break\n case 'custom-weekly':\n component = VCalendarWeekly\n start = this.parsedStart || around\n end = this.parsedEnd\n break\n case 'custom-daily':\n component = VCalendarDaily\n start = this.parsedStart || around\n end = this.parsedEnd\n break\n case 'category':\n const days = this.parsedCategoryDays\n\n component = VCalendarCategory\n end = relativeDays(copyTimestamp(end), nextDay, days)\n updateFormatted(end)\n maxDays = days\n weekdays = []\n\n for (let i = 0; i < days; i++) {\n weekdays.push((start.weekday + i) % 7)\n }\n\n categories = this.getCategoryList(categories)\n break\n default:\n throw new Error(this.type + ' is not a valid Calendar type')\n }\n\n return { component, start, end, maxDays, weekdays, categories }\n },\n eventWeekdays (): number[] {\n return this.renderProps.weekdays\n },\n categoryMode (): boolean {\n return this.type === 'category'\n },\n title (): string {\n const { start, end } = this.renderProps\n const spanYears = start.year !== end.year\n const spanMonths = spanYears || start.month !== end.month\n\n if (spanYears) {\n return this.monthShortFormatter(start, true) + ' ' + start.year + ' - ' + this.monthShortFormatter(end, true) + ' ' + end.year\n }\n\n if (spanMonths) {\n return this.monthShortFormatter(start, true) + ' - ' + this.monthShortFormatter(end, true) + ' ' + end.year\n } else {\n return this.monthLongFormatter(start, false) + ' ' + start.year\n }\n },\n monthLongFormatter (): CalendarFormatter {\n return this.getFormatter({\n timeZone: 'UTC', month: 'long',\n })\n },\n monthShortFormatter (): CalendarFormatter {\n return this.getFormatter({\n timeZone: 'UTC', month: 'short',\n })\n },\n parsedCategories (): CalendarCategory[] {\n return getParsedCategories(this.categories, this.categoryText)\n },\n },\n\n watch: {\n renderProps: 'checkChange',\n },\n\n mounted () {\n this.updateEventVisibility()\n this.checkChange()\n },\n\n updated () {\n window.requestAnimationFrame(this.updateEventVisibility)\n },\n\n methods: {\n checkChange (): void {\n const { lastStart, lastEnd } = this\n const { start, end } = this.renderProps\n if (!lastStart || !lastEnd ||\n start.date !== lastStart.date ||\n end.date !== lastEnd.date) {\n this.lastStart = start\n this.lastEnd = end\n this.$emit('change', { start, end })\n }\n },\n move (amount = 1): void {\n const moved = copyTimestamp(this.parsedValue)\n const forward = amount > 0\n const mover = forward ? nextDay : prevDay\n const limit = forward ? DAYS_IN_MONTH_MAX : DAY_MIN\n let times = forward ? amount : -amount\n\n while (--times >= 0) {\n switch (this.type) {\n case 'month':\n moved.day = limit\n mover(moved)\n break\n case 'week':\n relativeDays(moved, mover, DAYS_IN_WEEK)\n break\n case 'day':\n relativeDays(moved, mover, 1)\n break\n case '4day':\n relativeDays(moved, mover, 4)\n break\n case 'category':\n relativeDays(moved, mover, this.parsedCategoryDays)\n break\n }\n }\n\n updateWeekday(moved)\n updateFormatted(moved)\n updateRelative(moved, this.times.now)\n\n if (this.value instanceof Date) {\n this.$emit('input', timestampToDate(moved))\n } else if (typeof this.value === 'number') {\n this.$emit('input', timestampToDate(moved).getTime())\n } else {\n this.$emit('input', moved.date)\n }\n\n this.$emit('moved', moved)\n },\n next (amount = 1): void {\n this.move(amount)\n },\n prev (amount = 1): void {\n this.move(-amount)\n },\n timeToY (time: VTime, clamp = true): number | false {\n const c = this.$children[0] as any\n\n if (c && c.timeToY) {\n return c.timeToY(time, clamp)\n } else {\n return false\n }\n },\n timeDelta (time: VTime): number | false {\n const c = this.$children[0] as any\n\n if (c && c.timeDelta) {\n return c.timeDelta(time)\n } else {\n return false\n }\n },\n minutesToPixels (minutes: number): number {\n const c = this.$children[0] as any\n\n if (c && c.minutesToPixels) {\n return c.minutesToPixels(minutes)\n } else {\n return -1\n }\n },\n scrollToTime (time: VTime): boolean {\n const c = this.$children[0] as any\n\n if (c && c.scrollToTime) {\n return c.scrollToTime(time)\n } else {\n return false\n }\n },\n parseTimestamp (input: VTimestampInput, required?: false): CalendarTimestamp | null {\n return parseTimestamp(input, required, this.times.now)\n },\n timestampToDate (timestamp: CalendarTimestamp): Date {\n return timestampToDate(timestamp)\n },\n getCategoryList (categories: CalendarCategory[]): CalendarCategory[] {\n if (!this.noEvents) {\n const categoryMap: any = categories.reduce((map: any, category, index) => {\n if (typeof category === 'object' && category.categoryName) map[category.categoryName] = { index, count: 0 }\n else if (typeof category === 'string') map[category] = { index, count: 0 }\n return map\n }, {})\n\n if (!this.categoryHideDynamic || !this.categoryShowAll) {\n let categoryLength = categories.length\n\n this.parsedEvents.forEach(ev => {\n let category = ev.category\n\n if (typeof category !== 'string') {\n category = this.categoryForInvalid\n }\n\n if (!category) {\n return\n }\n\n if (category in categoryMap) {\n categoryMap[category].count++\n } else if (!this.categoryHideDynamic) {\n categoryMap[category] = {\n index: categoryLength++,\n count: 1,\n }\n }\n })\n }\n\n if (!this.categoryShowAll) {\n for (const category in categoryMap) {\n if (categoryMap[category].count === 0) {\n delete categoryMap[category]\n }\n }\n }\n\n categories = categories.filter((category: CalendarCategory) => {\n if (typeof category === 'object' && category.categoryName) {\n return categoryMap.hasOwnProperty(category.categoryName)\n } else if (typeof category === 'string') {\n return categoryMap.hasOwnProperty(category)\n }\n return false\n })\n }\n return categories\n },\n },\n\n render (h): VNode {\n const { start, end, maxDays, component, weekdays, categories } = this.renderProps\n\n return h(component, {\n staticClass: 'v-calendar',\n class: {\n 'v-calendar-events': !this.noEvents,\n },\n props: {\n ...this.$props,\n start: start.date,\n end: end.date,\n maxDays,\n weekdays,\n categories,\n },\n directives: [{\n modifiers: { quiet: true },\n name: 'resize',\n value: this.updateEventVisibility,\n }],\n on: {\n ...this.$listeners,\n 'click:date': (day: CalendarTimestamp, e?: MouseEvent) => {\n if (this.$listeners.input) {\n this.$emit('input', day.date)\n }\n if (this.$listeners['click:date']) {\n this.$emit('click:date', day, e)\n }\n },\n },\n scopedSlots: this.getScopedSlots(),\n })\n },\n})\n"],"sourceRoot":"","file":"VCalendar.js"}
|
|
@@ -263,13 +263,15 @@ export default CalendarBase.extend({
|
|
|
263
263
|
const name = this.eventNameFunction(event, timedEvent);
|
|
264
264
|
|
|
265
265
|
if (event.start.hasTime) {
|
|
266
|
+
const eventSummaryClass = 'v-event-summary';
|
|
267
|
+
|
|
266
268
|
if (timedEvent) {
|
|
267
269
|
const time = timeSummary();
|
|
268
270
|
const delimiter = singline ? ', ' : '<br>';
|
|
269
|
-
return `<strong>${name}</strong>${delimiter}${time}
|
|
271
|
+
return `<span class="${eventSummaryClass}"><strong>${name}</strong>${delimiter}${time}</span>`;
|
|
270
272
|
} else {
|
|
271
273
|
const time = formatTime(event.start, true);
|
|
272
|
-
return `<strong>${time}</strong> ${name}
|
|
274
|
+
return `<span class="${eventSummaryClass}"><strong>${time}</strong> ${name}</span>`;
|
|
273
275
|
}
|
|
274
276
|
}
|
|
275
277
|
|
|
@@ -339,7 +341,7 @@ export default CalendarBase.extend({
|
|
|
339
341
|
value: (_this$eventRipple2 = this.eventRipple) != null ? _this$eventRipple2 : true
|
|
340
342
|
}],
|
|
341
343
|
on: {
|
|
342
|
-
click:
|
|
344
|
+
click: e => this.$emit('click:more', day, e)
|
|
343
345
|
},
|
|
344
346
|
style: {
|
|
345
347
|
display: 'none',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/VCalendar/mixins/calendar-with-events.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './calendar-with-events.sass'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\n\n// Directives\nimport ripple from '../../../directives/ripple'\n\n// Mixins\nimport CalendarBase from './calendar-base'\n\n// Helpers\nimport { escapeHTML } from '../../../util/helpers'\n\n// Util\nimport props from '../util/props'\nimport {\n CalendarEventOverlapModes,\n} from '../modes'\nimport {\n getDayIdentifier, diffMinutes,\n} from '../util/timestamp'\nimport {\n parseEvent,\n isEventStart,\n isEventOn,\n isEventOverlapping,\n isEventHiddenOn,\n} from '../util/events'\nimport {\n CalendarTimestamp,\n CalendarEventParsed,\n CalendarEventVisual,\n CalendarEventColorFunction,\n CalendarEventNameFunction,\n CalendarEventTimedFunction,\n CalendarDaySlotScope,\n CalendarDayBodySlotScope,\n CalendarEventOverlapMode,\n CalendarEvent,\n CalendarEventCategoryFunction,\n CalendarCategory,\n} from 'vuetify/types'\n\n// Types\ntype VEventGetter<D> = (day: D) => CalendarEventParsed[]\n\ntype VEventVisualToNode<D> = (visual: CalendarEventVisual, day: D) => VNode | false\n\ntype VEventsToNodes = <D extends CalendarDaySlotScope>(\n day: D,\n getter: VEventGetter<D>,\n mapper: VEventVisualToNode<D>,\n timed: boolean) => VNode[] | undefined\n\ntype VDailyEventsMap = {\n [date: string]: {\n parent: HTMLElement\n more: HTMLElement | null\n events: HTMLElement[]\n }\n}\n\ninterface VEventScopeInput {\n eventParsed: CalendarEventParsed\n day: CalendarDaySlotScope\n start: boolean\n end: boolean\n timed: boolean\n}\n\nconst WIDTH_FULL = 100\nconst WIDTH_START = 95\nconst MINUTES_IN_DAY = 1440\n\n/* @vue/component */\nexport default CalendarBase.extend({\n name: 'calendar-with-events',\n\n directives: {\n ripple,\n },\n\n props: {\n ...props.events,\n ...props.calendar,\n ...props.category,\n },\n\n computed: {\n noEvents (): boolean {\n return this.events.length === 0\n },\n parsedEvents (): CalendarEventParsed[] {\n return this.events.map(this.parseEvent)\n },\n parsedEventOverlapThreshold (): number {\n return parseInt(this.eventOverlapThreshold)\n },\n eventTimedFunction (): CalendarEventTimedFunction {\n return typeof this.eventTimed === 'function'\n ? this.eventTimed\n : event => !!event[this.eventTimed as string]\n },\n eventCategoryFunction (): CalendarEventCategoryFunction {\n return typeof this.eventCategory === 'function'\n ? this.eventCategory\n : event => event[this.eventCategory as string]\n },\n eventTextColorFunction (): CalendarEventColorFunction {\n return typeof this.eventTextColor === 'function'\n ? this.eventTextColor\n : () => this.eventTextColor as string\n },\n eventNameFunction (): CalendarEventNameFunction {\n return typeof this.eventName === 'function'\n ? this.eventName\n : (event, timedEvent) => escapeHTML(event.input[this.eventName as string] as string || '')\n },\n eventModeFunction (): CalendarEventOverlapMode {\n return typeof this.eventOverlapMode === 'function'\n ? this.eventOverlapMode\n : CalendarEventOverlapModes[this.eventOverlapMode]\n },\n eventWeekdays (): number[] {\n return this.parsedWeekdays\n },\n categoryMode (): boolean {\n return this.type === 'category'\n },\n },\n\n methods: {\n eventColorFunction (e: CalendarEvent): string {\n return typeof this.eventColor === 'function'\n ? this.eventColor(e)\n : e.color || this.eventColor\n },\n parseEvent (input: CalendarEvent, index = 0): CalendarEventParsed {\n return parseEvent(\n input,\n index,\n this.eventStart,\n this.eventEnd,\n this.eventTimedFunction(input),\n this.categoryMode ? this.eventCategoryFunction(input) : false,\n )\n },\n formatTime (withTime: CalendarTimestamp, ampm: boolean): string {\n const formatter = this.getFormatter({\n timeZone: 'UTC',\n hour: 'numeric',\n minute: withTime.minute > 0 ? 'numeric' : undefined,\n })\n\n return formatter(withTime, true)\n },\n updateEventVisibility () {\n if (this.noEvents || !this.eventMore) {\n return\n }\n\n const eventHeight = this.eventHeight\n const eventsMap = this.getEventsMap()\n\n for (const date in eventsMap) {\n const { parent, events, more } = eventsMap[date]\n if (!more) {\n break\n }\n\n const parentBounds = parent.getBoundingClientRect()\n const last = events.length - 1\n const eventsSorted = events.map(event => ({\n event,\n bottom: event.getBoundingClientRect().bottom,\n })).sort((a, b) => a.bottom - b.bottom)\n let hidden = 0\n\n for (let i = 0; i <= last; i++) {\n const bottom = eventsSorted[i].bottom\n const hide = i === last\n ? (bottom > parentBounds.bottom)\n : (bottom + eventHeight > parentBounds.bottom)\n\n if (hide) {\n eventsSorted[i].event.style.display = 'none'\n hidden++\n }\n }\n\n if (hidden) {\n more.style.display = ''\n more.innerHTML = this.$vuetify.lang.t(this.eventMoreText, hidden)\n } else {\n more.style.display = 'none'\n }\n }\n },\n getEventsMap (): VDailyEventsMap {\n const eventsMap: VDailyEventsMap = {}\n const elements = this.$refs.events as HTMLElement[]\n\n if (!elements || !elements.forEach) {\n return eventsMap\n }\n\n elements.forEach(el => {\n const date = el.getAttribute('data-date')\n if (el.parentElement && date) {\n if (!(date in eventsMap)) {\n eventsMap[date] = {\n parent: el.parentElement,\n more: null,\n events: [],\n }\n }\n if (el.getAttribute('data-more')) {\n eventsMap[date].more = el\n } else {\n eventsMap[date].events.push(el)\n el.style.display = ''\n }\n }\n })\n\n return eventsMap\n },\n genDayEvent ({ event }: CalendarEventVisual, day: CalendarDaySlotScope): VNode {\n const eventHeight = this.eventHeight\n const eventMarginBottom = this.eventMarginBottom\n const dayIdentifier = getDayIdentifier(day)\n const week = day.week\n const start = dayIdentifier === event.startIdentifier\n let end = dayIdentifier === event.endIdentifier\n let width = WIDTH_START\n\n if (!this.categoryMode) {\n for (let i = day.index + 1; i < week.length; i++) {\n const weekdayIdentifier = getDayIdentifier(week[i])\n if (event.endIdentifier >= weekdayIdentifier) {\n width += WIDTH_FULL\n end = end || weekdayIdentifier === event.endIdentifier\n } else {\n end = true\n break\n }\n }\n }\n const scope = { eventParsed: event, day, start, end, timed: false }\n\n return this.genEvent(event, scope, false, {\n staticClass: 'v-event',\n class: {\n 'v-event-start': start,\n 'v-event-end': end,\n },\n style: {\n height: `${eventHeight}px`,\n width: `${width}%`,\n 'margin-bottom': `${eventMarginBottom}px`,\n },\n attrs: {\n 'data-date': day.date,\n },\n key: event.index,\n ref: 'events',\n refInFor: true,\n })\n },\n genTimedEvent ({ event, left, width }: CalendarEventVisual, day: CalendarDayBodySlotScope): VNode | false {\n if (day.timeDelta(event.end) < 0 || day.timeDelta(event.start) >= 1 || isEventHiddenOn(event, day)) {\n return false\n }\n\n const dayIdentifier = getDayIdentifier(day)\n const start = event.startIdentifier >= dayIdentifier\n const end = event.endIdentifier > dayIdentifier\n const top = start ? day.timeToY(event.start) : 0\n const bottom = end ? day.timeToY(MINUTES_IN_DAY) : day.timeToY(event.end)\n const height = Math.max(this.eventHeight, bottom - top)\n const scope = { eventParsed: event, day, start, end, timed: true }\n\n return this.genEvent(event, scope, true, {\n staticClass: 'v-event-timed',\n style: {\n top: `${top}px`,\n height: `${height}px`,\n left: `${left}%`,\n width: `${width}%`,\n },\n })\n },\n genEvent (event: CalendarEventParsed, scopeInput: VEventScopeInput, timedEvent: boolean, data: VNodeData): VNode {\n const slot = this.$scopedSlots.event\n const text = this.eventTextColorFunction(event.input)\n const background = this.eventColorFunction(event.input)\n const overlapsNoon = event.start.hour < 12 && event.end.hour >= 12\n const singline = diffMinutes(event.start, event.end) <= this.parsedEventOverlapThreshold\n const formatTime = this.formatTime\n const timeSummary = () => formatTime(event.start, overlapsNoon) + ' - ' + formatTime(event.end, true)\n const eventSummary = () => {\n const name = this.eventNameFunction(event, timedEvent)\n\n if (event.start.hasTime) {\n if (timedEvent) {\n const time = timeSummary()\n const delimiter = singline ? ', ' : '<br>'\n\n return `<strong>${name}</strong>${delimiter}${time}`\n } else {\n const time = formatTime(event.start, true)\n\n return `<strong>${time}</strong> ${name}`\n }\n }\n\n return name\n }\n\n const scope = {\n ...scopeInput,\n event: event.input,\n outside: scopeInput.day.outside,\n singline,\n overlapsNoon,\n formatTime,\n timeSummary,\n eventSummary,\n }\n\n return this.$createElement('div',\n this.setTextColor(text,\n this.setBackgroundColor(background, {\n on: this.getDefaultMouseEventHandlers(':event', nativeEvent => ({ ...scope, nativeEvent })),\n directives: [{\n name: 'ripple',\n value: this.eventRipple ?? true,\n }],\n ...data,\n })\n ), slot\n ? slot(scope)\n : [this.genName(eventSummary)]\n )\n },\n genName (eventSummary: () => string): VNode {\n return this.$createElement('div', {\n staticClass: 'pl-1',\n domProps: {\n innerHTML: eventSummary(),\n },\n })\n },\n genPlaceholder (day: CalendarTimestamp): VNode {\n const height = this.eventHeight + this.eventMarginBottom\n\n return this.$createElement('div', {\n style: {\n height: `${height}px`,\n },\n attrs: {\n 'data-date': day.date,\n },\n ref: 'events',\n refInFor: true,\n })\n },\n genMore (day: CalendarDaySlotScope): VNode {\n const eventHeight = this.eventHeight\n const eventMarginBottom = this.eventMarginBottom\n\n return this.$createElement('div', {\n staticClass: 'v-event-more pl-1',\n class: {\n 'v-outside': day.outside,\n },\n attrs: {\n 'data-date': day.date,\n 'data-more': 1,\n },\n directives: [{\n name: 'ripple',\n value: this.eventRipple ?? true,\n }],\n on: {\n click: () => this.$emit('click:more', day),\n },\n style: {\n display: 'none',\n height: `${eventHeight}px`,\n 'margin-bottom': `${eventMarginBottom}px`,\n },\n ref: 'events',\n refInFor: true,\n })\n },\n getVisibleEvents (): CalendarEventParsed[] {\n const start = getDayIdentifier(this.days[0])\n const end = getDayIdentifier(this.days[this.days.length - 1])\n\n return this.parsedEvents.filter(\n event => isEventOverlapping(event, start, end)\n )\n },\n isEventForCategory (event: CalendarEventParsed, category: CalendarCategory): boolean {\n return !this.categoryMode ||\n (typeof category === 'object' && category.categoryName &&\n category.categoryName === event.category) ||\n (typeof event.category === 'string' && category === event.category) ||\n (typeof event.category !== 'string' && category === null)\n },\n getEventsForDay (day: CalendarDaySlotScope): CalendarEventParsed[] {\n const identifier = getDayIdentifier(day)\n const firstWeekday = this.eventWeekdays[0]\n\n return this.parsedEvents.filter(\n event => isEventStart(event, day, identifier, firstWeekday)\n )\n },\n getEventsForDayAll (day: CalendarDaySlotScope): CalendarEventParsed[] {\n const identifier = getDayIdentifier(day)\n const firstWeekday = this.eventWeekdays[0]\n\n return this.parsedEvents.filter(\n event => event.allDay &&\n (this.categoryMode ? isEventOn(event, identifier) : isEventStart(event, day, identifier, firstWeekday)) &&\n this.isEventForCategory(event, day.category)\n )\n },\n getEventsForDayTimed (day: CalendarDaySlotScope): CalendarEventParsed[] {\n const identifier = getDayIdentifier(day)\n return this.parsedEvents.filter(\n event => !event.allDay &&\n isEventOn(event, identifier) &&\n this.isEventForCategory(event, day.category)\n )\n },\n getScopedSlots () {\n if (this.noEvents) {\n return { ...this.$scopedSlots }\n }\n\n const mode = this.eventModeFunction(\n this.parsedEvents,\n this.eventWeekdays[0],\n this.parsedEventOverlapThreshold\n )\n\n const isNode = (input: VNode | false): input is VNode => !!input\n const getSlotChildren: VEventsToNodes = (day, getter, mapper, timed) => {\n const events = getter(day)\n const visuals = mode(day, events, timed, this.categoryMode)\n\n if (timed) {\n return visuals.map(visual => mapper(visual, day)).filter(isNode)\n }\n\n const children: VNode[] = []\n\n visuals.forEach((visual, index) => {\n while (children.length < visual.column) {\n children.push(this.genPlaceholder(day))\n }\n\n const mapped = mapper(visual, day)\n if (mapped) {\n children.push(mapped)\n }\n })\n\n return children\n }\n\n const slots = this.$scopedSlots\n const slotDay = slots.day\n const slotDayHeader = slots['day-header']\n const slotDayBody = slots['day-body']\n\n return {\n ...slots,\n day: (day: CalendarDaySlotScope) => {\n let children = getSlotChildren(day, this.getEventsForDay, this.genDayEvent, false)\n if (children && children.length > 0 && this.eventMore) {\n children.push(this.genMore(day))\n }\n if (slotDay) {\n const slot = slotDay(day)\n if (slot) {\n children = children ? children.concat(slot) : slot\n }\n }\n return children\n },\n 'day-header': (day: CalendarDaySlotScope) => {\n let children = getSlotChildren(day, this.getEventsForDayAll, this.genDayEvent, false)\n\n if (slotDayHeader) {\n const slot = slotDayHeader(day)\n if (slot) {\n children = children ? children.concat(slot) : slot\n }\n }\n return children\n },\n 'day-body': (day: CalendarDayBodySlotScope) => {\n const events = getSlotChildren(day, this.getEventsForDayTimed, this.genTimedEvent, true)\n let children: VNode[] = [\n this.$createElement('div', {\n staticClass: 'v-event-timed-container',\n }, events),\n ]\n\n if (slotDayBody) {\n const slot = slotDayBody(day)\n if (slot) {\n children = children.concat(slot)\n }\n }\n return children\n },\n }\n },\n },\n})\n"],"sourceRoot":"","file":"calendar-with-events.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/VCalendar/mixins/calendar-with-events.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './calendar-with-events.sass'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\n\n// Directives\nimport ripple from '../../../directives/ripple'\n\n// Mixins\nimport CalendarBase from './calendar-base'\n\n// Helpers\nimport { escapeHTML } from '../../../util/helpers'\n\n// Util\nimport props from '../util/props'\nimport {\n CalendarEventOverlapModes,\n} from '../modes'\nimport {\n getDayIdentifier, diffMinutes,\n} from '../util/timestamp'\nimport {\n parseEvent,\n isEventStart,\n isEventOn,\n isEventOverlapping,\n isEventHiddenOn,\n} from '../util/events'\nimport {\n CalendarTimestamp,\n CalendarEventParsed,\n CalendarEventVisual,\n CalendarEventColorFunction,\n CalendarEventNameFunction,\n CalendarEventTimedFunction,\n CalendarDaySlotScope,\n CalendarDayBodySlotScope,\n CalendarEventOverlapMode,\n CalendarEvent,\n CalendarEventCategoryFunction,\n CalendarCategory,\n} from 'vuetify/types'\n\n// Types\ntype VEventGetter<D> = (day: D) => CalendarEventParsed[]\n\ntype VEventVisualToNode<D> = (visual: CalendarEventVisual, day: D) => VNode | false\n\ntype VEventsToNodes = <D extends CalendarDaySlotScope>(\n day: D,\n getter: VEventGetter<D>,\n mapper: VEventVisualToNode<D>,\n timed: boolean) => VNode[] | undefined\n\ntype VDailyEventsMap = {\n [date: string]: {\n parent: HTMLElement\n more: HTMLElement | null\n events: HTMLElement[]\n }\n}\n\ninterface VEventScopeInput {\n eventParsed: CalendarEventParsed\n day: CalendarDaySlotScope\n start: boolean\n end: boolean\n timed: boolean\n}\n\nconst WIDTH_FULL = 100\nconst WIDTH_START = 95\nconst MINUTES_IN_DAY = 1440\n\n/* @vue/component */\nexport default CalendarBase.extend({\n name: 'calendar-with-events',\n\n directives: {\n ripple,\n },\n\n props: {\n ...props.events,\n ...props.calendar,\n ...props.category,\n },\n\n computed: {\n noEvents (): boolean {\n return this.events.length === 0\n },\n parsedEvents (): CalendarEventParsed[] {\n return this.events.map(this.parseEvent)\n },\n parsedEventOverlapThreshold (): number {\n return parseInt(this.eventOverlapThreshold)\n },\n eventTimedFunction (): CalendarEventTimedFunction {\n return typeof this.eventTimed === 'function'\n ? this.eventTimed\n : event => !!event[this.eventTimed as string]\n },\n eventCategoryFunction (): CalendarEventCategoryFunction {\n return typeof this.eventCategory === 'function'\n ? this.eventCategory\n : event => event[this.eventCategory as string]\n },\n eventTextColorFunction (): CalendarEventColorFunction {\n return typeof this.eventTextColor === 'function'\n ? this.eventTextColor\n : () => this.eventTextColor as string\n },\n eventNameFunction (): CalendarEventNameFunction {\n return typeof this.eventName === 'function'\n ? this.eventName\n : (event, timedEvent) => escapeHTML(event.input[this.eventName as string] as string || '')\n },\n eventModeFunction (): CalendarEventOverlapMode {\n return typeof this.eventOverlapMode === 'function'\n ? this.eventOverlapMode\n : CalendarEventOverlapModes[this.eventOverlapMode]\n },\n eventWeekdays (): number[] {\n return this.parsedWeekdays\n },\n categoryMode (): boolean {\n return this.type === 'category'\n },\n },\n\n methods: {\n eventColorFunction (e: CalendarEvent): string {\n return typeof this.eventColor === 'function'\n ? this.eventColor(e)\n : e.color || this.eventColor\n },\n parseEvent (input: CalendarEvent, index = 0): CalendarEventParsed {\n return parseEvent(\n input,\n index,\n this.eventStart,\n this.eventEnd,\n this.eventTimedFunction(input),\n this.categoryMode ? this.eventCategoryFunction(input) : false,\n )\n },\n formatTime (withTime: CalendarTimestamp, ampm: boolean): string {\n const formatter = this.getFormatter({\n timeZone: 'UTC',\n hour: 'numeric',\n minute: withTime.minute > 0 ? 'numeric' : undefined,\n })\n\n return formatter(withTime, true)\n },\n updateEventVisibility () {\n if (this.noEvents || !this.eventMore) {\n return\n }\n\n const eventHeight = this.eventHeight\n const eventsMap = this.getEventsMap()\n\n for (const date in eventsMap) {\n const { parent, events, more } = eventsMap[date]\n if (!more) {\n break\n }\n\n const parentBounds = parent.getBoundingClientRect()\n const last = events.length - 1\n const eventsSorted = events.map(event => ({\n event,\n bottom: event.getBoundingClientRect().bottom,\n })).sort((a, b) => a.bottom - b.bottom)\n let hidden = 0\n\n for (let i = 0; i <= last; i++) {\n const bottom = eventsSorted[i].bottom\n const hide = i === last\n ? (bottom > parentBounds.bottom)\n : (bottom + eventHeight > parentBounds.bottom)\n\n if (hide) {\n eventsSorted[i].event.style.display = 'none'\n hidden++\n }\n }\n\n if (hidden) {\n more.style.display = ''\n more.innerHTML = this.$vuetify.lang.t(this.eventMoreText, hidden)\n } else {\n more.style.display = 'none'\n }\n }\n },\n getEventsMap (): VDailyEventsMap {\n const eventsMap: VDailyEventsMap = {}\n const elements = this.$refs.events as HTMLElement[]\n\n if (!elements || !elements.forEach) {\n return eventsMap\n }\n\n elements.forEach(el => {\n const date = el.getAttribute('data-date')\n if (el.parentElement && date) {\n if (!(date in eventsMap)) {\n eventsMap[date] = {\n parent: el.parentElement,\n more: null,\n events: [],\n }\n }\n if (el.getAttribute('data-more')) {\n eventsMap[date].more = el\n } else {\n eventsMap[date].events.push(el)\n el.style.display = ''\n }\n }\n })\n\n return eventsMap\n },\n genDayEvent ({ event }: CalendarEventVisual, day: CalendarDaySlotScope): VNode {\n const eventHeight = this.eventHeight\n const eventMarginBottom = this.eventMarginBottom\n const dayIdentifier = getDayIdentifier(day)\n const week = day.week\n const start = dayIdentifier === event.startIdentifier\n let end = dayIdentifier === event.endIdentifier\n let width = WIDTH_START\n\n if (!this.categoryMode) {\n for (let i = day.index + 1; i < week.length; i++) {\n const weekdayIdentifier = getDayIdentifier(week[i])\n if (event.endIdentifier >= weekdayIdentifier) {\n width += WIDTH_FULL\n end = end || weekdayIdentifier === event.endIdentifier\n } else {\n end = true\n break\n }\n }\n }\n const scope = { eventParsed: event, day, start, end, timed: false }\n\n return this.genEvent(event, scope, false, {\n staticClass: 'v-event',\n class: {\n 'v-event-start': start,\n 'v-event-end': end,\n },\n style: {\n height: `${eventHeight}px`,\n width: `${width}%`,\n 'margin-bottom': `${eventMarginBottom}px`,\n },\n attrs: {\n 'data-date': day.date,\n },\n key: event.index,\n ref: 'events',\n refInFor: true,\n })\n },\n genTimedEvent ({ event, left, width }: CalendarEventVisual, day: CalendarDayBodySlotScope): VNode | false {\n if (day.timeDelta(event.end) < 0 || day.timeDelta(event.start) >= 1 || isEventHiddenOn(event, day)) {\n return false\n }\n\n const dayIdentifier = getDayIdentifier(day)\n const start = event.startIdentifier >= dayIdentifier\n const end = event.endIdentifier > dayIdentifier\n const top = start ? day.timeToY(event.start) : 0\n const bottom = end ? day.timeToY(MINUTES_IN_DAY) : day.timeToY(event.end)\n const height = Math.max(this.eventHeight, bottom - top)\n const scope = { eventParsed: event, day, start, end, timed: true }\n\n return this.genEvent(event, scope, true, {\n staticClass: 'v-event-timed',\n style: {\n top: `${top}px`,\n height: `${height}px`,\n left: `${left}%`,\n width: `${width}%`,\n },\n })\n },\n genEvent (event: CalendarEventParsed, scopeInput: VEventScopeInput, timedEvent: boolean, data: VNodeData): VNode {\n const slot = this.$scopedSlots.event\n const text = this.eventTextColorFunction(event.input)\n const background = this.eventColorFunction(event.input)\n const overlapsNoon = event.start.hour < 12 && event.end.hour >= 12\n const singline = diffMinutes(event.start, event.end) <= this.parsedEventOverlapThreshold\n const formatTime = this.formatTime\n const timeSummary = () => formatTime(event.start, overlapsNoon) + ' - ' + formatTime(event.end, true)\n const eventSummary = () => {\n const name = this.eventNameFunction(event, timedEvent)\n if (event.start.hasTime) {\n const eventSummaryClass = 'v-event-summary'\n if (timedEvent) {\n const time = timeSummary()\n const delimiter = singline ? ', ' : '<br>'\n\n return `<span class=\"${eventSummaryClass}\"><strong>${name}</strong>${delimiter}${time}</span>`\n } else {\n const time = formatTime(event.start, true)\n\n return `<span class=\"${eventSummaryClass}\"><strong>${time}</strong> ${name}</span>`\n }\n }\n\n return name\n }\n\n const scope = {\n ...scopeInput,\n event: event.input,\n outside: scopeInput.day.outside,\n singline,\n overlapsNoon,\n formatTime,\n timeSummary,\n eventSummary,\n }\n\n return this.$createElement('div',\n this.setTextColor(text,\n this.setBackgroundColor(background, {\n on: this.getDefaultMouseEventHandlers(':event', nativeEvent => ({ ...scope, nativeEvent })),\n directives: [{\n name: 'ripple',\n value: this.eventRipple ?? true,\n }],\n ...data,\n })\n ), slot\n ? slot(scope)\n : [this.genName(eventSummary)]\n )\n },\n genName (eventSummary: () => string): VNode {\n return this.$createElement('div', {\n staticClass: 'pl-1',\n domProps: {\n innerHTML: eventSummary(),\n },\n })\n },\n genPlaceholder (day: CalendarTimestamp): VNode {\n const height = this.eventHeight + this.eventMarginBottom\n\n return this.$createElement('div', {\n style: {\n height: `${height}px`,\n },\n attrs: {\n 'data-date': day.date,\n },\n ref: 'events',\n refInFor: true,\n })\n },\n genMore (day: CalendarDaySlotScope): VNode {\n const eventHeight = this.eventHeight\n const eventMarginBottom = this.eventMarginBottom\n\n return this.$createElement('div', {\n staticClass: 'v-event-more pl-1',\n class: {\n 'v-outside': day.outside,\n },\n attrs: {\n 'data-date': day.date,\n 'data-more': 1,\n },\n directives: [{\n name: 'ripple',\n value: this.eventRipple ?? true,\n }],\n on: {\n click: (e: MouseEvent) => this.$emit('click:more', day, e),\n },\n style: {\n display: 'none',\n height: `${eventHeight}px`,\n 'margin-bottom': `${eventMarginBottom}px`,\n },\n ref: 'events',\n refInFor: true,\n })\n },\n getVisibleEvents (): CalendarEventParsed[] {\n const start = getDayIdentifier(this.days[0])\n const end = getDayIdentifier(this.days[this.days.length - 1])\n\n return this.parsedEvents.filter(\n event => isEventOverlapping(event, start, end)\n )\n },\n isEventForCategory (event: CalendarEventParsed, category: CalendarCategory): boolean {\n return !this.categoryMode ||\n (typeof category === 'object' && category.categoryName &&\n category.categoryName === event.category) ||\n (typeof event.category === 'string' && category === event.category) ||\n (typeof event.category !== 'string' && category === null)\n },\n getEventsForDay (day: CalendarDaySlotScope): CalendarEventParsed[] {\n const identifier = getDayIdentifier(day)\n const firstWeekday = this.eventWeekdays[0]\n\n return this.parsedEvents.filter(\n event => isEventStart(event, day, identifier, firstWeekday)\n )\n },\n getEventsForDayAll (day: CalendarDaySlotScope): CalendarEventParsed[] {\n const identifier = getDayIdentifier(day)\n const firstWeekday = this.eventWeekdays[0]\n\n return this.parsedEvents.filter(\n event => event.allDay &&\n (this.categoryMode ? isEventOn(event, identifier) : isEventStart(event, day, identifier, firstWeekday)) &&\n this.isEventForCategory(event, day.category)\n )\n },\n getEventsForDayTimed (day: CalendarDaySlotScope): CalendarEventParsed[] {\n const identifier = getDayIdentifier(day)\n return this.parsedEvents.filter(\n event => !event.allDay &&\n isEventOn(event, identifier) &&\n this.isEventForCategory(event, day.category)\n )\n },\n getScopedSlots () {\n if (this.noEvents) {\n return { ...this.$scopedSlots }\n }\n\n const mode = this.eventModeFunction(\n this.parsedEvents,\n this.eventWeekdays[0],\n this.parsedEventOverlapThreshold\n )\n\n const isNode = (input: VNode | false): input is VNode => !!input\n const getSlotChildren: VEventsToNodes = (day, getter, mapper, timed) => {\n const events = getter(day)\n const visuals = mode(day, events, timed, this.categoryMode)\n\n if (timed) {\n return visuals.map(visual => mapper(visual, day)).filter(isNode)\n }\n\n const children: VNode[] = []\n\n visuals.forEach((visual, index) => {\n while (children.length < visual.column) {\n children.push(this.genPlaceholder(day))\n }\n\n const mapped = mapper(visual, day)\n if (mapped) {\n children.push(mapped)\n }\n })\n\n return children\n }\n\n const slots = this.$scopedSlots\n const slotDay = slots.day\n const slotDayHeader = slots['day-header']\n const slotDayBody = slots['day-body']\n\n return {\n ...slots,\n day: (day: CalendarDaySlotScope) => {\n let children = getSlotChildren(day, this.getEventsForDay, this.genDayEvent, false)\n if (children && children.length > 0 && this.eventMore) {\n children.push(this.genMore(day))\n }\n if (slotDay) {\n const slot = slotDay(day)\n if (slot) {\n children = children ? children.concat(slot) : slot\n }\n }\n return children\n },\n 'day-header': (day: CalendarDaySlotScope) => {\n let children = getSlotChildren(day, this.getEventsForDayAll, this.genDayEvent, false)\n\n if (slotDayHeader) {\n const slot = slotDayHeader(day)\n if (slot) {\n children = children ? children.concat(slot) : slot\n }\n }\n return children\n },\n 'day-body': (day: CalendarDayBodySlotScope) => {\n const events = getSlotChildren(day, this.getEventsForDayTimed, this.genTimedEvent, true)\n let children: VNode[] = [\n this.$createElement('div', {\n staticClass: 'v-event-timed-container',\n }, events),\n ]\n\n if (slotDayBody) {\n const slot = slotDayBody(day)\n if (slot) {\n children = children.concat(slot)\n }\n }\n return children\n },\n }\n },\n },\n})\n"],"sourceRoot":"","file":"calendar-with-events.js"}
|