vuetify 2.1.0-beta.1 → 2.1.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/vuetify.css +50 -28
- package/dist/vuetify.css.map +1 -1
- package/dist/vuetify.js +177 -93
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +3 -3
- package/es5/components/VAlert/VAlert.js +3 -18
- package/es5/components/VAlert/VAlert.js.map +1 -1
- package/es5/components/VAppBar/VAppBarNavIcon.js +1 -1
- package/es5/components/VAppBar/VAppBarNavIcon.js.map +1 -1
- package/es5/components/VCarousel/VCarousel.js +1 -1
- package/es5/components/VCarousel/VCarousel.js.map +1 -1
- package/es5/components/VCheckbox/VCheckbox.js +3 -3
- package/es5/components/VCheckbox/VCheckbox.js.map +1 -1
- package/es5/components/VCheckbox/VSimpleCheckbox.js +3 -3
- package/es5/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
- package/es5/components/VChip/VChip.js +2 -2
- package/es5/components/VChip/VChip.js.map +1 -1
- package/es5/components/VColorPicker/VColorPickerEdit.js +1 -1
- package/es5/components/VColorPicker/VColorPickerEdit.js.map +1 -1
- package/es5/components/VColorPicker/VColorPickerSwatches.js +1 -1
- package/es5/components/VColorPicker/VColorPickerSwatches.js.map +1 -1
- package/es5/components/VDataIterator/VDataFooter.js +4 -4
- package/es5/components/VDataIterator/VDataFooter.js.map +1 -1
- package/es5/components/VDataTable/VDataTable.js +3 -3
- package/es5/components/VDataTable/VDataTable.js.map +1 -1
- package/es5/components/VDataTable/mixins/header.js +1 -1
- package/es5/components/VDataTable/mixins/header.js.map +1 -1
- package/es5/components/VDatePicker/VDatePicker.js +2 -2
- package/es5/components/VDatePicker/VDatePicker.js.map +1 -1
- package/es5/components/VDatePicker/VDatePickerHeader.js +2 -2
- package/es5/components/VDatePicker/VDatePickerHeader.js.map +1 -1
- package/es5/components/VDialog/VDialog.js +3 -0
- package/es5/components/VDialog/VDialog.js.map +1 -1
- package/es5/components/VExpansionPanel/VExpansionPanelHeader.js +1 -1
- package/es5/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
- package/es5/components/VFileInput/VFileInput.js +1 -1
- package/es5/components/VFileInput/VFileInput.js.map +1 -1
- package/es5/components/VInput/VInput.js +3 -0
- package/es5/components/VInput/VInput.js.map +1 -1
- package/es5/components/VLazy/VLazy.js +4 -2
- package/es5/components/VLazy/VLazy.js.map +1 -1
- package/es5/components/VList/VListGroup.js +2 -2
- package/es5/components/VList/VListGroup.js.map +1 -1
- package/es5/components/VMenu/VMenu.js +3 -0
- package/es5/components/VMenu/VMenu.js.map +1 -1
- package/es5/components/VPagination/VPagination.js +2 -2
- package/es5/components/VPagination/VPagination.js.map +1 -1
- package/es5/components/VRadioGroup/VRadio.js +2 -2
- package/es5/components/VRadioGroup/VRadio.js.map +1 -1
- package/es5/components/VRating/VRating.js +3 -3
- package/es5/components/VRating/VRating.js.map +1 -1
- package/es5/components/VSelect/VSelect.js +1 -1
- package/es5/components/VSelect/VSelect.js.map +1 -1
- package/es5/components/VSlideGroup/VSlideGroup.js +2 -2
- package/es5/components/VSlideGroup/VSlideGroup.js.map +1 -1
- package/es5/components/VStepper/VStepperStep.js +3 -3
- package/es5/components/VStepper/VStepperStep.js.map +1 -1
- package/es5/components/VTabs/VTabs.js +2 -2
- package/es5/components/VTabs/VTabs.js.map +1 -1
- package/es5/components/VTextField/VTextField.js +2 -2
- package/es5/components/VTextField/VTextField.js.map +1 -1
- package/es5/components/VTooltip/VTooltip.js +2 -1
- package/es5/components/VTooltip/VTooltip.js.map +1 -1
- package/es5/components/VTreeview/VTreeviewNode.js +5 -5
- package/es5/components/VTreeview/VTreeviewNode.js.map +1 -1
- package/es5/components/VWindow/VWindow.js +2 -2
- package/es5/components/VWindow/VWindow.js.map +1 -1
- package/es5/directives/index.js +8 -0
- package/es5/directives/index.js.map +1 -1
- package/es5/directives/intersect/index.js +7 -6
- package/es5/directives/intersect/index.js.map +1 -1
- package/es5/directives/mutate/index.js +71 -0
- package/es5/directives/mutate/index.js.map +1 -0
- package/es5/framework.js +1 -1
- package/es5/locale/et.js +8 -8
- package/es5/locale/et.js.map +1 -1
- package/es5/locale/hr.js +15 -15
- package/es5/locale/hr.js.map +1 -1
- package/es5/locale/sl.js +8 -8
- package/es5/locale/sl.js.map +1 -1
- package/es5/util/helpers.js +5 -5
- package/es5/util/helpers.js.map +1 -1
- package/lib/components/VAlert/VAlert.js +3 -18
- package/lib/components/VAlert/VAlert.js.map +1 -1
- package/lib/components/VAppBar/VAppBarNavIcon.js +1 -1
- package/lib/components/VAppBar/VAppBarNavIcon.js.map +1 -1
- package/lib/components/VCarousel/VCarousel.js +1 -1
- package/lib/components/VCarousel/VCarousel.js.map +1 -1
- package/lib/components/VCheckbox/VCheckbox.js +3 -3
- package/lib/components/VCheckbox/VCheckbox.js.map +1 -1
- package/lib/components/VCheckbox/VSimpleCheckbox.js +3 -3
- package/lib/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
- package/lib/components/VChip/VChip.js +2 -2
- package/lib/components/VChip/VChip.js.map +1 -1
- package/lib/components/VColorPicker/VColorPickerEdit.js +1 -1
- package/lib/components/VColorPicker/VColorPickerEdit.js.map +1 -1
- package/lib/components/VColorPicker/VColorPickerSwatches.js +1 -1
- package/lib/components/VColorPicker/VColorPickerSwatches.js.map +1 -1
- package/lib/components/VDataIterator/VDataFooter.js +4 -4
- package/lib/components/VDataIterator/VDataFooter.js.map +1 -1
- package/lib/components/VDataTable/VDataTable.js +3 -3
- package/lib/components/VDataTable/VDataTable.js.map +1 -1
- package/lib/components/VDataTable/mixins/header.js +1 -1
- package/lib/components/VDataTable/mixins/header.js.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.js +2 -2
- package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerHeader.js +2 -2
- package/lib/components/VDatePicker/VDatePickerHeader.js.map +1 -1
- package/lib/components/VDialog/VDialog.js +3 -0
- package/lib/components/VDialog/VDialog.js.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelHeader.js +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
- package/lib/components/VFileInput/VFileInput.js +1 -1
- package/lib/components/VFileInput/VFileInput.js.map +1 -1
- package/lib/components/VInput/VInput.js +3 -0
- package/lib/components/VInput/VInput.js.map +1 -1
- package/lib/components/VLazy/VLazy.js +4 -2
- package/lib/components/VLazy/VLazy.js.map +1 -1
- package/lib/components/VList/VListGroup.js +2 -2
- package/lib/components/VList/VListGroup.js.map +1 -1
- package/lib/components/VMenu/VMenu.js +3 -0
- package/lib/components/VMenu/VMenu.js.map +1 -1
- package/lib/components/VPagination/VPagination.js +2 -2
- package/lib/components/VPagination/VPagination.js.map +1 -1
- package/lib/components/VRadioGroup/VRadio.js +2 -2
- package/lib/components/VRadioGroup/VRadio.js.map +1 -1
- package/lib/components/VRating/VRating.js +3 -3
- package/lib/components/VRating/VRating.js.map +1 -1
- package/lib/components/VSelect/VSelect.js +1 -1
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/components/VSlideGroup/VSlideGroup.js +2 -2
- package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
- package/lib/components/VStepper/VStepperStep.js +3 -3
- package/lib/components/VStepper/VStepperStep.js.map +1 -1
- package/lib/components/VTabs/VTabs.js +2 -2
- package/lib/components/VTabs/VTabs.js.map +1 -1
- package/lib/components/VTextField/VTextField.js +2 -2
- package/lib/components/VTextField/VTextField.js.map +1 -1
- package/lib/components/VTooltip/VTooltip.js +2 -1
- package/lib/components/VTooltip/VTooltip.js.map +1 -1
- package/lib/components/VTreeview/VTreeviewNode.js +5 -5
- package/lib/components/VTreeview/VTreeviewNode.js.map +1 -1
- package/lib/components/VWindow/VWindow.js +2 -2
- package/lib/components/VWindow/VWindow.js.map +1 -1
- package/lib/directives/index.js +1 -0
- package/lib/directives/index.js.map +1 -1
- package/lib/directives/intersect/index.js +5 -6
- package/lib/directives/intersect/index.js.map +1 -1
- package/lib/directives/mutate/index.js +56 -0
- package/lib/directives/mutate/index.js.map +1 -0
- package/lib/framework.js +1 -1
- package/lib/locale/et.js +8 -8
- package/lib/locale/et.js.map +1 -1
- package/lib/locale/hr.js +15 -15
- package/lib/locale/hr.js.map +1 -1
- package/lib/locale/sl.js +8 -8
- package/lib/locale/sl.js.map +1 -1
- package/lib/util/helpers.js +3 -4
- package/lib/util/helpers.js.map +1 -1
- package/package.json +2 -2
- package/src/components/VAlert/VAlert.ts +3 -8
- package/src/components/VAlert/__tests__/__snapshots__/VAlert.spec.ts.snap +2 -2
- package/src/components/VAppBar/VAppBarNavIcon.ts +1 -1
- package/src/components/VAppBar/__tests__/__snapshots__/VAppBarNavIcon.spec.ts.snap +1 -1
- package/src/components/VCalendar/VCalendarWeekly.sass +3 -0
- package/src/components/VCarousel/VCarousel.ts +1 -1
- package/src/components/VCheckbox/VCheckbox.ts +3 -3
- package/src/components/VCheckbox/VSimpleCheckbox.ts +3 -3
- package/src/components/VCheckbox/__tests__/__snapshots__/VCheckbox.spec.ts.snap +1 -1
- package/src/components/VChip/VChip.ts +2 -2
- package/src/components/VChip/__tests__/__snapshots__/VChip.spec.ts.snap +1 -1
- package/src/components/VColorPicker/VColorPickerEdit.ts +1 -1
- package/src/components/VColorPicker/VColorPickerSwatches.ts +1 -1
- package/src/components/VColorPicker/__tests__/__snapshots__/VColorPicker.spec.ts.snap +5 -5
- package/src/components/VColorPicker/__tests__/__snapshots__/VColorPickerEdit.spec.ts.snap +5 -5
- package/src/components/VDataIterator/VDataFooter.ts +4 -4
- package/src/components/VDataTable/VDataTable.ts +3 -3
- package/src/components/VDataTable/__tests__/__snapshots__/VDataTable.spec.ts.snap +191 -191
- package/src/components/VDataTable/__tests__/__snapshots__/VDataTableHeader.spec.ts.snap +35 -35
- package/src/components/VDataTable/mixins/__tests__/__snapshots__/header.spec.ts.snap +3 -3
- package/src/components/VDataTable/mixins/header.ts +1 -1
- package/src/components/VDatePicker/VDatePicker.ts +2 -2
- package/src/components/VDatePicker/VDatePickerHeader.ts +2 -2
- package/src/components/VDialog/VDialog.sass +4 -7
- package/src/components/VDialog/VDialog.ts +6 -0
- package/src/components/VExpansionPanel/VExpansionPanelHeader.ts +1 -1
- package/src/components/VExpansionPanel/__tests__/__snapshots__/VExpansionPanel.spec.ts.snap +1 -1
- package/src/components/VFileInput/VFileInput.ts +1 -1
- package/src/components/VFileInput/__tests__/__snapshots__/VFileInput.spec.ts.snap +16 -16
- package/src/components/VIcon/__tests__/VIcon.spec.ts +11 -11
- package/src/components/VInput/VInput.sass +3 -0
- package/src/components/VInput/VInput.ts +3 -0
- package/src/components/VInput/__tests__/__snapshots__/VInput.spec.ts.snap +3 -1
- package/src/components/VLazy/VLazy.ts +4 -2
- package/src/components/VList/VListGroup.ts +2 -2
- package/src/components/VList/__tests__/__snapshots__/VListGroup.spec.ts.snap +1 -1
- package/src/components/VMenu/VMenu.sass +3 -8
- package/src/components/VMenu/VMenu.ts +6 -0
- package/src/components/VOverflowBtn/__tests__/__snapshots__/VOverflowBtn.spec.ts.snap +2 -2
- package/src/components/VPagination/VPagination.ts +2 -2
- package/src/components/VRadioGroup/VRadio.ts +2 -2
- package/src/components/VRadioGroup/__tests__/__snapshots__/VRadio.spec.ts.snap +3 -3
- package/src/components/VRating/VRating.ts +3 -3
- package/src/components/VSelect/VSelect.ts +1 -1
- package/src/components/VSelect/__tests__/__snapshots__/VSelect.spec.ts.snap +7 -7
- package/src/components/VSelect/__tests__/__snapshots__/VSelect2.spec.ts.snap +5 -5
- package/src/components/VSelect/__tests__/__snapshots__/VSelect3.spec.ts.snap +1 -1
- package/src/components/VSlideGroup/VSlideGroup.ts +2 -2
- package/src/components/VSlideGroup/__tests__/__snapshots__/VSlideGroup.spec.ts.snap +4 -4
- package/src/components/VStepper/VStepperStep.ts +3 -3
- package/src/components/VTabs/VTabs.ts +2 -2
- package/src/components/VTextField/VTextField.sass +35 -11
- package/src/components/VTextField/VTextField.ts +2 -2
- package/src/components/VTooltip/VTooltip.sass +5 -2
- package/src/components/VTooltip/VTooltip.ts +4 -0
- package/src/components/VTreeview/VTreeviewNode.ts +5 -5
- package/src/components/VTreeview/__tests__/VTreeviewNode.spec.ts +2 -2
- package/src/components/VTreeview/__tests__/__snapshots__/VTreeview.spec.ts.snap +1 -1
- package/src/components/VWindow/VWindow.ts +2 -2
- package/src/directives/index.ts +1 -0
- package/src/directives/intersect/index.ts +6 -5
- package/src/directives/mutate/__tests__/mutate.spec.ts +130 -0
- package/src/directives/mutate/index.ts +63 -0
- package/src/globals.d.ts +3 -0
- package/src/locale/et.ts +8 -8
- package/src/locale/hr.ts +15 -15
- package/src/locale/sl.ts +8 -8
- package/src/styles/settings/_variables.scss +3 -3
- package/src/util/helpers.ts +3 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VDataTable/VDataTable.ts"],"names":[],"mappings":"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","sourcesContent":["import './VDataTable.sass'\n\n// Types\nimport { VNode, VNodeChildrenArrayContents, VNodeChildren } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { DataProps, DataPagination, DataOptions } from '../VData/VData'\nimport { TableHeader } from './mixins/header'\n\n// Components\nimport { VData } from '../VData'\nimport { VDataFooter, VDataIterator } from '../VDataIterator'\nimport VBtn from '../VBtn'\nimport VDataTableHeader from './VDataTableHeader'\n// import VVirtualTable from './VVirtualTable'\nimport VIcon from '../VIcon'\nimport VProgressLinear from '../VProgressLinear'\nimport Row from './Row'\nimport RowGroup from './RowGroup'\nimport VSimpleCheckbox from '../VCheckbox/VSimpleCheckbox'\nimport VSimpleTable from './VSimpleTable'\nimport MobileRow from './MobileRow'\nimport ripple from '../../directives/ripple'\n\n// Helpers\nimport { deepEqual, getObjectValueByPath, compareFn, getPrefixedScopedSlots, getSlot, defaultFilter, FilterFn, camelizeObjectKeys } from '../../util/helpers'\nimport { breaking } from '../../util/console'\n\nfunction filterFn (item: any, search: string | null, filter: FilterFn) {\n return (header: TableHeader) => {\n const value = getObjectValueByPath(item, header.value)\n return header.filter ? header.filter(value, search, item) : filter(value, search, item)\n }\n}\n\nfunction searchTableItems (\n items: any[],\n search: string | null,\n headersWithCustomFilters: TableHeader[],\n headersWithoutCustomFilters: TableHeader[],\n customFilter: FilterFn\n) {\n let filtered = items\n search = typeof search === 'string' ? search.trim() : null\n if (search && headersWithoutCustomFilters.length) {\n filtered = items.filter(item => headersWithoutCustomFilters.some(filterFn(item, search, customFilter)))\n }\n\n if (headersWithCustomFilters.length) {\n filtered = filtered.filter(item => headersWithCustomFilters.every(filterFn(item, search, defaultFilter)))\n }\n\n return filtered\n}\n\n/* @vue/component */\nexport default VDataIterator.extend({\n name: 'v-data-table',\n\n // https://github.com/vuejs/vue/issues/6872\n directives: {\n ripple,\n },\n\n props: {\n headers: {\n type: Array,\n } as PropValidator<TableHeader[]>,\n showSelect: Boolean,\n showExpand: Boolean,\n showGroupBy: Boolean,\n // TODO: Fix\n // virtualRows: Boolean,\n mobileBreakpoint: {\n type: Number,\n default: 600,\n },\n height: [Number, String],\n hideDefaultHeader: Boolean,\n caption: String,\n dense: Boolean,\n headerProps: Object,\n calculateWidths: Boolean,\n fixedHeader: Boolean,\n headersLength: Number,\n expandIcon: {\n type: String,\n default: '$vuetify.icons.expand',\n },\n customFilter: {\n type: Function,\n default: defaultFilter,\n } as PropValidator<typeof defaultFilter>,\n },\n\n data () {\n return {\n internalGroupBy: [] as string[],\n openCache: {} as { [key: string]: boolean },\n widths: [] as number[],\n }\n },\n\n computed: {\n computedHeaders (): TableHeader[] {\n if (!this.headers) return []\n const headers = this.headers.filter(h => h.value === undefined || !this.internalGroupBy.find(v => v === h.value))\n const defaultHeader = { text: '', sortable: false, width: '1px' }\n\n if (this.showSelect) {\n const index = headers.findIndex(h => h.value === 'data-table-select')\n if (index < 0) headers.unshift({ ...defaultHeader, value: 'data-table-select' })\n else headers.splice(index, 1, { ...defaultHeader, ...headers[index] })\n }\n\n if (this.showExpand) {\n const index = headers.findIndex(h => h.value === 'data-table-expand')\n if (index < 0) headers.unshift({ ...defaultHeader, value: 'data-table-expand' })\n else headers.splice(index, 1, { ...defaultHeader, ...headers[index] })\n }\n\n return headers\n },\n colspanAttrs (): object | undefined {\n return this.isMobile ? undefined : {\n colspan: this.headersLength || this.computedHeaders.length,\n }\n },\n isMobile (): boolean {\n // Guard against SSR render\n // https://github.com/vuetifyjs/vuetify/issues/7410\n if (this.$vuetify.breakpoint.width === 0) return false\n\n return this.$vuetify.breakpoint.width < this.mobileBreakpoint\n },\n columnSorters (): Record<string, compareFn> {\n return this.computedHeaders.reduce<Record<string, compareFn>>((acc, header) => {\n if (header.sort) acc[header.value] = header.sort\n return acc\n }, {})\n },\n headersWithCustomFilters (): TableHeader[] {\n return this.computedHeaders.filter(header => header.filter && (!header.hasOwnProperty('filterable') || header.filterable === true))\n },\n headersWithoutCustomFilters (): TableHeader[] {\n return this.computedHeaders.filter(header => !header.filter && (!header.hasOwnProperty('filterable') || header.filterable === true))\n },\n sanitizedHeaderProps (): Record<string, any> {\n return camelizeObjectKeys(this.headerProps)\n },\n computedItemsPerPage (): number {\n const itemsPerPage = this.options && this.options.itemsPerPage ? this.options.itemsPerPage : this.itemsPerPage\n const { itemsPerPageOptions } = this.sanitizedFooterProps\n if (\n itemsPerPageOptions &&\n !itemsPerPageOptions.find((item: number | { value: number }) => {\n return typeof item === 'number' ? item === itemsPerPage : item.value === itemsPerPage\n })\n ) {\n const firstOption = itemsPerPageOptions[0]\n return typeof firstOption === 'object' ? firstOption.value : firstOption\n }\n\n return itemsPerPage\n },\n },\n\n created () {\n const breakingProps = [\n ['sort-icon', 'header-props.sort-icon'],\n ['hide-headers', 'hide-default-header'],\n ['select-all', 'show-select'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n mounted () {\n // if ((!this.sortBy || !this.sortBy.length) && (!this.options.sortBy || !this.options.sortBy.length)) {\n // const firstSortable = this.headers.find(h => !('sortable' in h) || !!h.sortable)\n // if (firstSortable) this.updateOptions({ sortBy: [firstSortable.value], sortDesc: [false] })\n // }\n\n if (this.calculateWidths) {\n window.addEventListener('resize', this.calcWidths)\n this.calcWidths()\n }\n },\n\n beforeDestroy () {\n if (this.calculateWidths) {\n window.removeEventListener('resize', this.calcWidths)\n }\n },\n\n methods: {\n calcWidths () {\n this.widths = Array.from(this.$el.querySelectorAll('th')).map(e => e.clientWidth)\n },\n customFilterWithColumns (items: any[], search: string) {\n return searchTableItems(items, search, this.headersWithCustomFilters, this.headersWithoutCustomFilters, this.customFilter)\n },\n customSortWithHeaders (items: any[], sortBy: string[], sortDesc: boolean[], locale: string) {\n return this.customSort(items, sortBy, sortDesc, locale, this.columnSorters)\n },\n createItemProps (item: any) {\n const props = VDataIterator.options.methods.createItemProps.call(this, item)\n\n return Object.assign(props, { headers: this.computedHeaders })\n },\n genCaption (props: DataProps) {\n if (this.caption) return [this.$createElement('caption', [this.caption])]\n\n return getSlot(this, 'caption', props, true)\n },\n genColgroup (props: DataProps) {\n return this.$createElement('colgroup', this.computedHeaders.map(header => {\n return this.$createElement('col', {\n class: {\n divider: header.divider,\n },\n })\n }))\n },\n genLoading () {\n const progress = this.$slots['progress'] ? this.$slots.progress : this.$createElement(VProgressLinear, {\n props: {\n color: this.loading === true ? 'primary' : this.loading,\n height: 2,\n indeterminate: true,\n },\n })\n\n const th = this.$createElement('th', {\n staticClass: 'column',\n attrs: this.colspanAttrs,\n }, [progress])\n\n const tr = this.$createElement('tr', {\n staticClass: 'v-data-table__progress',\n }, [th])\n\n return this.$createElement('thead', [tr])\n },\n genHeaders (props: DataProps) {\n const data = {\n props: {\n ...this.sanitizedHeaderProps,\n headers: this.computedHeaders,\n options: props.options,\n mobile: this.isMobile,\n showGroupBy: this.showGroupBy,\n someItems: this.someItems,\n everyItem: this.everyItem,\n singleSelect: this.singleSelect,\n disableSort: this.disableSort,\n },\n on: {\n sort: props.sort,\n group: props.group,\n 'toggle-select-all': this.toggleSelectAll,\n },\n }\n\n const children: VNodeChildrenArrayContents = [getSlot(this, 'header', data)]\n\n if (!this.hideDefaultHeader) {\n const scopedSlots = getPrefixedScopedSlots('header.', this.$scopedSlots)\n children.push(this.$createElement(VDataTableHeader, {\n ...data,\n scopedSlots,\n }))\n }\n\n if (this.loading) children.push(this.genLoading())\n\n return children\n },\n genEmptyWrapper (content: VNodeChildrenArrayContents) {\n return this.$createElement('tr', {\n staticClass: 'v-data-table__empty-wrapper',\n }, [\n this.$createElement('td', {\n attrs: this.colspanAttrs,\n }, content),\n ])\n },\n genItems (items: any[], props: DataProps) {\n const empty = this.genEmpty(props.originalItemsLength, props.pagination.itemsLength)\n if (empty) return [empty]\n\n return props.groupedItems\n ? this.genGroupedRows(props.groupedItems, props)\n : this.genRows(items, props)\n },\n genGroupedRows (groupedItems: Record<string, any[]>, props: DataProps) {\n const groups = Object.keys(groupedItems || {})\n\n return groups.map(group => {\n if (!this.openCache.hasOwnProperty(group)) this.$set(this.openCache, group, true)\n\n if (this.$scopedSlots.group) {\n return this.$scopedSlots.group({\n group,\n options: props.options,\n items: groupedItems![group],\n headers: this.computedHeaders,\n })\n } else {\n return this.genDefaultGroupedRow(group, groupedItems[group], props)\n }\n })\n },\n genDefaultGroupedRow (group: string, items: any[], props: DataProps) {\n const isOpen = !!this.openCache[group]\n const children: VNodeChildren = [\n this.$createElement('template', { slot: 'row.content' }, this.genDefaultRows(items, props)),\n ]\n\n if (this.$scopedSlots['group.header']) {\n children.unshift(this.$createElement('template', { slot: 'column.header' }, [\n this.$scopedSlots['group.header']!({ group, groupBy: props.options.groupBy, items, headers: this.computedHeaders }),\n ]))\n } else {\n const toggle = this.$createElement(VBtn, {\n staticClass: 'ma-0',\n props: {\n icon: true,\n small: true,\n },\n on: {\n click: () => this.$set(this.openCache, group, !this.openCache[group]),\n },\n }, [this.$createElement(VIcon, [isOpen ? '$vuetify.icons.minus' : '$vuetify.icons.plus'])])\n\n const remove = this.$createElement(VBtn, {\n staticClass: 'ma-0',\n props: {\n icon: true,\n small: true,\n },\n on: {\n click: () => props.updateOptions({ groupBy: [], groupDesc: [] }),\n },\n }, [this.$createElement(VIcon, ['$vuetify.icons.close'])])\n\n const column = this.$createElement('td', {\n staticClass: 'text-start',\n attrs: this.colspanAttrs,\n }, [toggle, `${props.options.groupBy[0]}: ${group}`, remove])\n\n children.unshift(this.$createElement('template', { slot: 'column.header' }, [column]))\n }\n\n if (this.$scopedSlots['group.summary']) {\n children.push(this.$createElement('template', { slot: 'column.summary' }, [\n this.$scopedSlots['group.summary']!({ group, groupBy: props.options.groupBy, items, headers: this.computedHeaders }),\n ]))\n }\n\n return this.$createElement(RowGroup, {\n key: group,\n props: {\n value: isOpen,\n },\n }, children)\n },\n genRows (items: any[], props: DataProps) {\n return this.$scopedSlots.item ? this.genScopedRows(items, props) : this.genDefaultRows(items, props)\n },\n genScopedRows (items: any[], props: DataProps) {\n const rows = []\n\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n rows.push(this.$scopedSlots.item!({\n ...this.createItemProps(item),\n index: i,\n }))\n\n if (this.isExpanded(item)) {\n rows.push(this.$scopedSlots['expanded-item']!({ item, headers: this.computedHeaders }))\n }\n }\n\n return rows\n },\n genDefaultRows (items: any[], props: DataProps) {\n return this.$scopedSlots['expanded-item']\n ? items.map(item => this.genDefaultExpandedRow(item))\n : items.map(item => this.genDefaultSimpleRow(item))\n },\n genDefaultExpandedRow (item: any): VNode {\n const isExpanded = this.isExpanded(item)\n const classes = {\n 'v-data-table__expanded v-data-table__expanded__row': isExpanded,\n }\n const headerRow = this.genDefaultSimpleRow(item, classes)\n const expandedRow = this.$createElement('tr', {\n staticClass: 'v-data-table__expanded v-data-table__expanded__content',\n }, [this.$scopedSlots['expanded-item']!({ item, headers: this.computedHeaders })])\n\n return this.$createElement(RowGroup, {\n props: {\n value: isExpanded,\n },\n }, [\n this.$createElement('template', { slot: 'row.header' }, [headerRow]),\n this.$createElement('template', { slot: 'row.content' }, [expandedRow]),\n ])\n },\n genDefaultSimpleRow (item: any, classes: Record<string, boolean> = {}): VNode {\n const scopedSlots = getPrefixedScopedSlots('item.', this.$scopedSlots)\n\n const data = this.createItemProps(item)\n\n if (this.showSelect) {\n const slot = scopedSlots['data-table-select']\n scopedSlots['data-table-select'] = slot ? () => slot(data) : () => this.$createElement(VSimpleCheckbox, {\n staticClass: 'v-data-table__checkbox',\n props: {\n value: data.isSelected,\n },\n on: {\n input: (val: boolean) => data.select(val),\n },\n })\n }\n\n if (this.showExpand) {\n const slot = scopedSlots['data-table-expand']\n scopedSlots['data-table-expand'] = slot ? () => slot(data) : () => this.$createElement(VIcon, {\n staticClass: 'v-data-table__expand-icon',\n class: {\n 'v-data-table__expand-icon--active': data.isExpanded,\n },\n on: {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n data.expand(!data.isExpanded)\n },\n },\n }, [this.expandIcon])\n }\n\n return this.$createElement(this.isMobile ? MobileRow : Row, {\n key: getObjectValueByPath(item, this.itemKey),\n class: {\n ...classes,\n 'v-data-table__selected': data.isSelected,\n },\n props: {\n headers: this.computedHeaders,\n item,\n rtl: this.$vuetify.rtl,\n },\n scopedSlots,\n on: {\n click: () => this.$emit('click:row', item),\n },\n })\n },\n genBody (props: DataProps): VNode | string | VNodeChildren {\n const data = {\n ...props,\n isMobile: this.isMobile,\n headers: this.computedHeaders,\n }\n\n if (this.$scopedSlots.body) {\n return this.$scopedSlots.body!(data)\n }\n\n return this.$createElement('tbody', [\n getSlot(this, 'body.prepend', data, true),\n this.genItems(props.items, props),\n getSlot(this, 'body.append', data, true),\n ])\n },\n genFooters (props: DataProps) {\n const data = {\n props: {\n options: props.options,\n pagination: props.pagination,\n itemsPerPageText: '$vuetify.dataTable.itemsPerPageText',\n ...this.sanitizedFooterProps,\n },\n on: {\n 'update:options': (value: any) => props.updateOptions(value),\n },\n widths: this.widths,\n headers: this.computedHeaders,\n }\n\n const children: VNodeChildren = [\n getSlot(this, 'footer', data, true),\n ]\n\n if (!this.hideDefaultFooter) {\n children.push(this.$createElement(VDataFooter, {\n ...data,\n scopedSlots: getPrefixedScopedSlots('footer.', this.$scopedSlots),\n }))\n }\n\n return children\n },\n genDefaultScopedSlot (props: DataProps): VNode {\n const simpleProps = {\n height: this.height,\n fixedHeader: this.fixedHeader,\n dense: this.dense,\n }\n\n // if (this.virtualRows) {\n // return this.$createElement(VVirtualTable, {\n // props: Object.assign(simpleProps, {\n // items: props.items,\n // height: this.height,\n // rowHeight: this.dense ? 24 : 48,\n // headerHeight: this.dense ? 32 : 48,\n // // TODO: expose rest of props from virtual table?\n // }),\n // scopedSlots: {\n // items: ({ items }) => this.genItems(items, props) as any,\n // },\n // }, [\n // this.proxySlot('body.before', [this.genCaption(props), this.genHeaders(props)]),\n // this.proxySlot('bottom', this.genFooters(props)),\n // ])\n // }\n\n return this.$createElement(VSimpleTable, {\n props: simpleProps,\n }, [\n this.proxySlot('top', getSlot(this, 'top', props, true)),\n this.genCaption(props),\n this.genColgroup(props),\n this.genHeaders(props),\n this.genBody(props),\n this.proxySlot('bottom', this.genFooters(props)),\n ])\n },\n proxySlot (slot: string, content: VNodeChildren) {\n return this.$createElement('template', { slot }, content)\n },\n },\n\n render (): VNode {\n return this.$createElement(VData, {\n props: {\n ...this.$props,\n customFilter: this.customFilterWithColumns,\n customSort: this.customSortWithHeaders,\n itemsPerPage: this.computedItemsPerPage,\n },\n on: {\n 'update:options': (v: DataOptions, old: DataOptions) => {\n this.internalGroupBy = v.groupBy || []\n !deepEqual(v, old) && this.$emit('update:options', v)\n },\n 'update:page': (v: number) => this.$emit('update:page', v),\n 'update:items-per-page': (v: number) => this.$emit('update:items-per-page', v),\n 'update:sort-by': (v: string | string[]) => this.$emit('update:sort-by', v),\n 'update:sort-desc': (v: boolean | boolean[]) => this.$emit('update:sort-desc', v),\n 'update:group-by': (v: string | string[]) => this.$emit('update:group-by', v),\n 'update:group-desc': (v: boolean | boolean[]) => this.$emit('update:group-desc', v),\n pagination: (v: DataPagination, old: DataPagination) => !deepEqual(v, old) && this.$emit('pagination', v),\n 'current-items': (v: any[]) => {\n this.internalCurrentItems = v\n this.$emit('current-items', v)\n },\n 'page-count': (v: number) => this.$emit('page-count', v),\n },\n scopedSlots: {\n default: this.genDefaultScopedSlot as any,\n },\n })\n },\n})\n"],"sourceRoot":"","file":"VDataTable.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VDataTable/VDataTable.ts"],"names":[],"mappings":"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","sourcesContent":["import './VDataTable.sass'\n\n// Types\nimport { VNode, VNodeChildrenArrayContents, VNodeChildren } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { DataProps, DataPagination, DataOptions } from '../VData/VData'\nimport { TableHeader } from './mixins/header'\n\n// Components\nimport { VData } from '../VData'\nimport { VDataFooter, VDataIterator } from '../VDataIterator'\nimport VBtn from '../VBtn'\nimport VDataTableHeader from './VDataTableHeader'\n// import VVirtualTable from './VVirtualTable'\nimport VIcon from '../VIcon'\nimport VProgressLinear from '../VProgressLinear'\nimport Row from './Row'\nimport RowGroup from './RowGroup'\nimport VSimpleCheckbox from '../VCheckbox/VSimpleCheckbox'\nimport VSimpleTable from './VSimpleTable'\nimport MobileRow from './MobileRow'\nimport ripple from '../../directives/ripple'\n\n// Helpers\nimport { deepEqual, getObjectValueByPath, compareFn, getPrefixedScopedSlots, getSlot, defaultFilter, FilterFn, camelizeObjectKeys } from '../../util/helpers'\nimport { breaking } from '../../util/console'\n\nfunction filterFn (item: any, search: string | null, filter: FilterFn) {\n return (header: TableHeader) => {\n const value = getObjectValueByPath(item, header.value)\n return header.filter ? header.filter(value, search, item) : filter(value, search, item)\n }\n}\n\nfunction searchTableItems (\n items: any[],\n search: string | null,\n headersWithCustomFilters: TableHeader[],\n headersWithoutCustomFilters: TableHeader[],\n customFilter: FilterFn\n) {\n let filtered = items\n search = typeof search === 'string' ? search.trim() : null\n if (search && headersWithoutCustomFilters.length) {\n filtered = items.filter(item => headersWithoutCustomFilters.some(filterFn(item, search, customFilter)))\n }\n\n if (headersWithCustomFilters.length) {\n filtered = filtered.filter(item => headersWithCustomFilters.every(filterFn(item, search, defaultFilter)))\n }\n\n return filtered\n}\n\n/* @vue/component */\nexport default VDataIterator.extend({\n name: 'v-data-table',\n\n // https://github.com/vuejs/vue/issues/6872\n directives: {\n ripple,\n },\n\n props: {\n headers: {\n type: Array,\n } as PropValidator<TableHeader[]>,\n showSelect: Boolean,\n showExpand: Boolean,\n showGroupBy: Boolean,\n // TODO: Fix\n // virtualRows: Boolean,\n mobileBreakpoint: {\n type: Number,\n default: 600,\n },\n height: [Number, String],\n hideDefaultHeader: Boolean,\n caption: String,\n dense: Boolean,\n headerProps: Object,\n calculateWidths: Boolean,\n fixedHeader: Boolean,\n headersLength: Number,\n expandIcon: {\n type: String,\n default: '$expand',\n },\n customFilter: {\n type: Function,\n default: defaultFilter,\n } as PropValidator<typeof defaultFilter>,\n },\n\n data () {\n return {\n internalGroupBy: [] as string[],\n openCache: {} as { [key: string]: boolean },\n widths: [] as number[],\n }\n },\n\n computed: {\n computedHeaders (): TableHeader[] {\n if (!this.headers) return []\n const headers = this.headers.filter(h => h.value === undefined || !this.internalGroupBy.find(v => v === h.value))\n const defaultHeader = { text: '', sortable: false, width: '1px' }\n\n if (this.showSelect) {\n const index = headers.findIndex(h => h.value === 'data-table-select')\n if (index < 0) headers.unshift({ ...defaultHeader, value: 'data-table-select' })\n else headers.splice(index, 1, { ...defaultHeader, ...headers[index] })\n }\n\n if (this.showExpand) {\n const index = headers.findIndex(h => h.value === 'data-table-expand')\n if (index < 0) headers.unshift({ ...defaultHeader, value: 'data-table-expand' })\n else headers.splice(index, 1, { ...defaultHeader, ...headers[index] })\n }\n\n return headers\n },\n colspanAttrs (): object | undefined {\n return this.isMobile ? undefined : {\n colspan: this.headersLength || this.computedHeaders.length,\n }\n },\n isMobile (): boolean {\n // Guard against SSR render\n // https://github.com/vuetifyjs/vuetify/issues/7410\n if (this.$vuetify.breakpoint.width === 0) return false\n\n return this.$vuetify.breakpoint.width < this.mobileBreakpoint\n },\n columnSorters (): Record<string, compareFn> {\n return this.computedHeaders.reduce<Record<string, compareFn>>((acc, header) => {\n if (header.sort) acc[header.value] = header.sort\n return acc\n }, {})\n },\n headersWithCustomFilters (): TableHeader[] {\n return this.computedHeaders.filter(header => header.filter && (!header.hasOwnProperty('filterable') || header.filterable === true))\n },\n headersWithoutCustomFilters (): TableHeader[] {\n return this.computedHeaders.filter(header => !header.filter && (!header.hasOwnProperty('filterable') || header.filterable === true))\n },\n sanitizedHeaderProps (): Record<string, any> {\n return camelizeObjectKeys(this.headerProps)\n },\n computedItemsPerPage (): number {\n const itemsPerPage = this.options && this.options.itemsPerPage ? this.options.itemsPerPage : this.itemsPerPage\n const { itemsPerPageOptions } = this.sanitizedFooterProps\n if (\n itemsPerPageOptions &&\n !itemsPerPageOptions.find((item: number | { value: number }) => {\n return typeof item === 'number' ? item === itemsPerPage : item.value === itemsPerPage\n })\n ) {\n const firstOption = itemsPerPageOptions[0]\n return typeof firstOption === 'object' ? firstOption.value : firstOption\n }\n\n return itemsPerPage\n },\n },\n\n created () {\n const breakingProps = [\n ['sort-icon', 'header-props.sort-icon'],\n ['hide-headers', 'hide-default-header'],\n ['select-all', 'show-select'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n mounted () {\n // if ((!this.sortBy || !this.sortBy.length) && (!this.options.sortBy || !this.options.sortBy.length)) {\n // const firstSortable = this.headers.find(h => !('sortable' in h) || !!h.sortable)\n // if (firstSortable) this.updateOptions({ sortBy: [firstSortable.value], sortDesc: [false] })\n // }\n\n if (this.calculateWidths) {\n window.addEventListener('resize', this.calcWidths)\n this.calcWidths()\n }\n },\n\n beforeDestroy () {\n if (this.calculateWidths) {\n window.removeEventListener('resize', this.calcWidths)\n }\n },\n\n methods: {\n calcWidths () {\n this.widths = Array.from(this.$el.querySelectorAll('th')).map(e => e.clientWidth)\n },\n customFilterWithColumns (items: any[], search: string) {\n return searchTableItems(items, search, this.headersWithCustomFilters, this.headersWithoutCustomFilters, this.customFilter)\n },\n customSortWithHeaders (items: any[], sortBy: string[], sortDesc: boolean[], locale: string) {\n return this.customSort(items, sortBy, sortDesc, locale, this.columnSorters)\n },\n createItemProps (item: any) {\n const props = VDataIterator.options.methods.createItemProps.call(this, item)\n\n return Object.assign(props, { headers: this.computedHeaders })\n },\n genCaption (props: DataProps) {\n if (this.caption) return [this.$createElement('caption', [this.caption])]\n\n return getSlot(this, 'caption', props, true)\n },\n genColgroup (props: DataProps) {\n return this.$createElement('colgroup', this.computedHeaders.map(header => {\n return this.$createElement('col', {\n class: {\n divider: header.divider,\n },\n })\n }))\n },\n genLoading () {\n const progress = this.$slots['progress'] ? this.$slots.progress : this.$createElement(VProgressLinear, {\n props: {\n color: this.loading === true ? 'primary' : this.loading,\n height: 2,\n indeterminate: true,\n },\n })\n\n const th = this.$createElement('th', {\n staticClass: 'column',\n attrs: this.colspanAttrs,\n }, [progress])\n\n const tr = this.$createElement('tr', {\n staticClass: 'v-data-table__progress',\n }, [th])\n\n return this.$createElement('thead', [tr])\n },\n genHeaders (props: DataProps) {\n const data = {\n props: {\n ...this.sanitizedHeaderProps,\n headers: this.computedHeaders,\n options: props.options,\n mobile: this.isMobile,\n showGroupBy: this.showGroupBy,\n someItems: this.someItems,\n everyItem: this.everyItem,\n singleSelect: this.singleSelect,\n disableSort: this.disableSort,\n },\n on: {\n sort: props.sort,\n group: props.group,\n 'toggle-select-all': this.toggleSelectAll,\n },\n }\n\n const children: VNodeChildrenArrayContents = [getSlot(this, 'header', data)]\n\n if (!this.hideDefaultHeader) {\n const scopedSlots = getPrefixedScopedSlots('header.', this.$scopedSlots)\n children.push(this.$createElement(VDataTableHeader, {\n ...data,\n scopedSlots,\n }))\n }\n\n if (this.loading) children.push(this.genLoading())\n\n return children\n },\n genEmptyWrapper (content: VNodeChildrenArrayContents) {\n return this.$createElement('tr', {\n staticClass: 'v-data-table__empty-wrapper',\n }, [\n this.$createElement('td', {\n attrs: this.colspanAttrs,\n }, content),\n ])\n },\n genItems (items: any[], props: DataProps) {\n const empty = this.genEmpty(props.originalItemsLength, props.pagination.itemsLength)\n if (empty) return [empty]\n\n return props.groupedItems\n ? this.genGroupedRows(props.groupedItems, props)\n : this.genRows(items, props)\n },\n genGroupedRows (groupedItems: Record<string, any[]>, props: DataProps) {\n const groups = Object.keys(groupedItems || {})\n\n return groups.map(group => {\n if (!this.openCache.hasOwnProperty(group)) this.$set(this.openCache, group, true)\n\n if (this.$scopedSlots.group) {\n return this.$scopedSlots.group({\n group,\n options: props.options,\n items: groupedItems![group],\n headers: this.computedHeaders,\n })\n } else {\n return this.genDefaultGroupedRow(group, groupedItems[group], props)\n }\n })\n },\n genDefaultGroupedRow (group: string, items: any[], props: DataProps) {\n const isOpen = !!this.openCache[group]\n const children: VNodeChildren = [\n this.$createElement('template', { slot: 'row.content' }, this.genDefaultRows(items, props)),\n ]\n\n if (this.$scopedSlots['group.header']) {\n children.unshift(this.$createElement('template', { slot: 'column.header' }, [\n this.$scopedSlots['group.header']!({ group, groupBy: props.options.groupBy, items, headers: this.computedHeaders }),\n ]))\n } else {\n const toggle = this.$createElement(VBtn, {\n staticClass: 'ma-0',\n props: {\n icon: true,\n small: true,\n },\n on: {\n click: () => this.$set(this.openCache, group, !this.openCache[group]),\n },\n }, [this.$createElement(VIcon, [isOpen ? '$minus' : '$plus'])])\n\n const remove = this.$createElement(VBtn, {\n staticClass: 'ma-0',\n props: {\n icon: true,\n small: true,\n },\n on: {\n click: () => props.updateOptions({ groupBy: [], groupDesc: [] }),\n },\n }, [this.$createElement(VIcon, ['$close'])])\n\n const column = this.$createElement('td', {\n staticClass: 'text-start',\n attrs: this.colspanAttrs,\n }, [toggle, `${props.options.groupBy[0]}: ${group}`, remove])\n\n children.unshift(this.$createElement('template', { slot: 'column.header' }, [column]))\n }\n\n if (this.$scopedSlots['group.summary']) {\n children.push(this.$createElement('template', { slot: 'column.summary' }, [\n this.$scopedSlots['group.summary']!({ group, groupBy: props.options.groupBy, items, headers: this.computedHeaders }),\n ]))\n }\n\n return this.$createElement(RowGroup, {\n key: group,\n props: {\n value: isOpen,\n },\n }, children)\n },\n genRows (items: any[], props: DataProps) {\n return this.$scopedSlots.item ? this.genScopedRows(items, props) : this.genDefaultRows(items, props)\n },\n genScopedRows (items: any[], props: DataProps) {\n const rows = []\n\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n rows.push(this.$scopedSlots.item!({\n ...this.createItemProps(item),\n index: i,\n }))\n\n if (this.isExpanded(item)) {\n rows.push(this.$scopedSlots['expanded-item']!({ item, headers: this.computedHeaders }))\n }\n }\n\n return rows\n },\n genDefaultRows (items: any[], props: DataProps) {\n return this.$scopedSlots['expanded-item']\n ? items.map(item => this.genDefaultExpandedRow(item))\n : items.map(item => this.genDefaultSimpleRow(item))\n },\n genDefaultExpandedRow (item: any): VNode {\n const isExpanded = this.isExpanded(item)\n const classes = {\n 'v-data-table__expanded v-data-table__expanded__row': isExpanded,\n }\n const headerRow = this.genDefaultSimpleRow(item, classes)\n const expandedRow = this.$createElement('tr', {\n staticClass: 'v-data-table__expanded v-data-table__expanded__content',\n }, [this.$scopedSlots['expanded-item']!({ item, headers: this.computedHeaders })])\n\n return this.$createElement(RowGroup, {\n props: {\n value: isExpanded,\n },\n }, [\n this.$createElement('template', { slot: 'row.header' }, [headerRow]),\n this.$createElement('template', { slot: 'row.content' }, [expandedRow]),\n ])\n },\n genDefaultSimpleRow (item: any, classes: Record<string, boolean> = {}): VNode {\n const scopedSlots = getPrefixedScopedSlots('item.', this.$scopedSlots)\n\n const data = this.createItemProps(item)\n\n if (this.showSelect) {\n const slot = scopedSlots['data-table-select']\n scopedSlots['data-table-select'] = slot ? () => slot(data) : () => this.$createElement(VSimpleCheckbox, {\n staticClass: 'v-data-table__checkbox',\n props: {\n value: data.isSelected,\n },\n on: {\n input: (val: boolean) => data.select(val),\n },\n })\n }\n\n if (this.showExpand) {\n const slot = scopedSlots['data-table-expand']\n scopedSlots['data-table-expand'] = slot ? () => slot(data) : () => this.$createElement(VIcon, {\n staticClass: 'v-data-table__expand-icon',\n class: {\n 'v-data-table__expand-icon--active': data.isExpanded,\n },\n on: {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n data.expand(!data.isExpanded)\n },\n },\n }, [this.expandIcon])\n }\n\n return this.$createElement(this.isMobile ? MobileRow : Row, {\n key: getObjectValueByPath(item, this.itemKey),\n class: {\n ...classes,\n 'v-data-table__selected': data.isSelected,\n },\n props: {\n headers: this.computedHeaders,\n item,\n rtl: this.$vuetify.rtl,\n },\n scopedSlots,\n on: {\n click: () => this.$emit('click:row', item),\n },\n })\n },\n genBody (props: DataProps): VNode | string | VNodeChildren {\n const data = {\n ...props,\n isMobile: this.isMobile,\n headers: this.computedHeaders,\n }\n\n if (this.$scopedSlots.body) {\n return this.$scopedSlots.body!(data)\n }\n\n return this.$createElement('tbody', [\n getSlot(this, 'body.prepend', data, true),\n this.genItems(props.items, props),\n getSlot(this, 'body.append', data, true),\n ])\n },\n genFooters (props: DataProps) {\n const data = {\n props: {\n options: props.options,\n pagination: props.pagination,\n itemsPerPageText: '$vuetify.dataTable.itemsPerPageText',\n ...this.sanitizedFooterProps,\n },\n on: {\n 'update:options': (value: any) => props.updateOptions(value),\n },\n widths: this.widths,\n headers: this.computedHeaders,\n }\n\n const children: VNodeChildren = [\n getSlot(this, 'footer', data, true),\n ]\n\n if (!this.hideDefaultFooter) {\n children.push(this.$createElement(VDataFooter, {\n ...data,\n scopedSlots: getPrefixedScopedSlots('footer.', this.$scopedSlots),\n }))\n }\n\n return children\n },\n genDefaultScopedSlot (props: DataProps): VNode {\n const simpleProps = {\n height: this.height,\n fixedHeader: this.fixedHeader,\n dense: this.dense,\n }\n\n // if (this.virtualRows) {\n // return this.$createElement(VVirtualTable, {\n // props: Object.assign(simpleProps, {\n // items: props.items,\n // height: this.height,\n // rowHeight: this.dense ? 24 : 48,\n // headerHeight: this.dense ? 32 : 48,\n // // TODO: expose rest of props from virtual table?\n // }),\n // scopedSlots: {\n // items: ({ items }) => this.genItems(items, props) as any,\n // },\n // }, [\n // this.proxySlot('body.before', [this.genCaption(props), this.genHeaders(props)]),\n // this.proxySlot('bottom', this.genFooters(props)),\n // ])\n // }\n\n return this.$createElement(VSimpleTable, {\n props: simpleProps,\n }, [\n this.proxySlot('top', getSlot(this, 'top', props, true)),\n this.genCaption(props),\n this.genColgroup(props),\n this.genHeaders(props),\n this.genBody(props),\n this.proxySlot('bottom', this.genFooters(props)),\n ])\n },\n proxySlot (slot: string, content: VNodeChildren) {\n return this.$createElement('template', { slot }, content)\n },\n },\n\n render (): VNode {\n return this.$createElement(VData, {\n props: {\n ...this.$props,\n customFilter: this.customFilterWithColumns,\n customSort: this.customSortWithHeaders,\n itemsPerPage: this.computedItemsPerPage,\n },\n on: {\n 'update:options': (v: DataOptions, old: DataOptions) => {\n this.internalGroupBy = v.groupBy || []\n !deepEqual(v, old) && this.$emit('update:options', v)\n },\n 'update:page': (v: number) => this.$emit('update:page', v),\n 'update:items-per-page': (v: number) => this.$emit('update:items-per-page', v),\n 'update:sort-by': (v: string | string[]) => this.$emit('update:sort-by', v),\n 'update:sort-desc': (v: boolean | boolean[]) => this.$emit('update:sort-desc', v),\n 'update:group-by': (v: string | string[]) => this.$emit('update:group-by', v),\n 'update:group-desc': (v: boolean | boolean[]) => this.$emit('update:group-desc', v),\n pagination: (v: DataPagination, old: DataPagination) => !deepEqual(v, old) && this.$emit('pagination', v),\n 'current-items': (v: any[]) => {\n this.internalCurrentItems = v\n this.$emit('current-items', v)\n },\n 'page-count': (v: number) => this.$emit('page-count', v),\n },\n scopedSlots: {\n default: this.genDefaultScopedSlot as any,\n },\n })\n },\n})\n"],"sourceRoot":"","file":"VDataTable.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/VDataTable/mixins/header.ts"],"names":[],"mappings":";;;;;;;AAEA;;AACA;;AACA;;AAGA;;;;;;;;;;gBAsBe,uBAAkB,MAAlB,CAAyB;AACtC;AACA,EAAA,UAAU,EAAE;AACV,IAAA,MAAM,EAAN;AADU,GAF0B;AAMtC,EAAA,KAAK,EAAE;AACL,IAAA,OAAO,EAAE;AACP,MAAA,IAAI,EAAE,KADC;AAEP,MAAA,QAAQ,EAAE;AAFH,KADJ;AAKL,IAAA,OAAO,EAAE;AACP,MAAA,IAAI,EAAE,MADC;AAEP,MAAA,OAAO,EAAE;AAAA,eAAO;AACd,UAAA,IAAI,EAAE,CADQ;AAEd,UAAA,YAAY,EAAE,EAFA;AAGd,UAAA,MAAM,EAAE,EAHM;AAId,UAAA,QAAQ,EAAE,EAJI;AAKd,UAAA,OAAO,EAAE,EALK;AAMd,UAAA,SAAS,EAAE,EANG;AAOd,UAAA,SAAS,EAAE,KAPG;AAQd,UAAA,QAAQ,EAAE;AARI,SAAP;AAAA;AAFF,KALJ;AAkBL,IAAA,QAAQ,EAAE;AACR,MAAA,IAAI,EAAE,MADE;AAER,MAAA,OAAO,EAAE;AAFD,KAlBL;AAsBL,IAAA,SAAS,EAAE,OAtBN;AAuBL,IAAA,SAAS,EAAE,OAvBN;AAwBL,IAAA,WAAW,EAAE,OAxBR;AAyBL,IAAA,YAAY,EAAE,OAzBT;AA0BL,IAAA,WAAW,EAAE;AA1BR,GAN+B;AAmCtC,EAAA,OAAO,EAAE;AACP,IAAA,YADO,0BACK;AAAA;;AACV,UAAM,IAAI,GAAG;AACX,QAAA,KAAK,EAAE;AACL,UAAA,KAAK,EAAE,KAAK,SADP;AAEL,UAAA,aAAa,EAAE,CAAC,KAAK,SAAN,IAAmB,KAAK;AAFlC,SADI;AAKX,QAAA,EAAE,EAAE;AACF,UAAA,KAAK,EAAE,eAAC,CAAD;AAAA,mBAAgB,KAAI,CAAC,KAAL,CAAW,mBAAX,EAAgC,CAAhC,CAAhB;AAAA;AADL;AALO,OAAb;;AAUA,UAAI,KAAK,YAAL,CAAkB,mBAAlB,CAAJ,EAA4C;AAC1C,eAAO,KAAK,YAAL,CAAkB,mBAAlB,EAAwC,IAAxC,CAAP;AACD;;AAED,aAAO,KAAK,cAAL,CAAoB,wBAApB;AACL,QAAA,WAAW,EAAE;AADR,SAEF,IAFE,EAAP;AAID,KApBM;AAqBP,IAAA,WArBO,yBAqBI;AACT,aAAO,KAAK,cAAL,CAAoB,cAApB,EAA2B;AAChC,QAAA,WAAW,EAAE,2BADmB;AAEhC,QAAA,KAAK,EAAE;AACL,UAAA,IAAI,EAAE;AADD;AAFyB,OAA3B,EAKJ,CAAC,KAAK,QAAN,CALI,CAAP;AAMD;AA5BM;AAnC6B,CAAzB,C","sourcesContent":["import { VDataTable } from '../'\nimport { DataOptions } from '../../VData/VData'\nimport VIcon from '../../VIcon'\nimport VSimpleCheckbox from '../../VCheckbox/VSimpleCheckbox'\nimport ripple from '../../../directives/ripple'\n\nimport Vue, { PropType } from 'vue'\nimport mixins from '../../../util/mixins'\nimport { compareFn } from '../../../util/helpers'\n\nexport interface TableHeader {\n text: string\n value: string\n align?: 'start' | 'center' | 'end'\n sortable?: boolean\n filterable?: boolean\n divider?: boolean\n class?: string | string[]\n width?: string | number\n filter?: (value: any, search: string | null, item: any) => boolean\n sort?: compareFn\n}\n\ntype VDataTableInstance = InstanceType<typeof VDataTable>\n\ninterface options extends Vue {\n dataTable: VDataTableInstance\n}\n\nexport default mixins<options>().extend({\n // https://github.com/vuejs/vue/issues/6872\n directives: {\n ripple,\n },\n\n props: {\n headers: {\n type: Array as PropType<TableHeader[]>,\n required: true,\n },\n options: {\n type: Object as PropType<DataOptions>,\n default: () => ({\n page: 1,\n itemsPerPage: 10,\n sortBy: [],\n sortDesc: [],\n groupBy: [],\n groupDesc: [],\n multiSort: false,\n mustSort: false,\n }),\n },\n sortIcon: {\n type: String,\n default: '$
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/VDataTable/mixins/header.ts"],"names":[],"mappings":";;;;;;;AAEA;;AACA;;AACA;;AAGA;;;;;;;;;;gBAsBe,uBAAkB,MAAlB,CAAyB;AACtC;AACA,EAAA,UAAU,EAAE;AACV,IAAA,MAAM,EAAN;AADU,GAF0B;AAMtC,EAAA,KAAK,EAAE;AACL,IAAA,OAAO,EAAE;AACP,MAAA,IAAI,EAAE,KADC;AAEP,MAAA,QAAQ,EAAE;AAFH,KADJ;AAKL,IAAA,OAAO,EAAE;AACP,MAAA,IAAI,EAAE,MADC;AAEP,MAAA,OAAO,EAAE;AAAA,eAAO;AACd,UAAA,IAAI,EAAE,CADQ;AAEd,UAAA,YAAY,EAAE,EAFA;AAGd,UAAA,MAAM,EAAE,EAHM;AAId,UAAA,QAAQ,EAAE,EAJI;AAKd,UAAA,OAAO,EAAE,EALK;AAMd,UAAA,SAAS,EAAE,EANG;AAOd,UAAA,SAAS,EAAE,KAPG;AAQd,UAAA,QAAQ,EAAE;AARI,SAAP;AAAA;AAFF,KALJ;AAkBL,IAAA,QAAQ,EAAE;AACR,MAAA,IAAI,EAAE,MADE;AAER,MAAA,OAAO,EAAE;AAFD,KAlBL;AAsBL,IAAA,SAAS,EAAE,OAtBN;AAuBL,IAAA,SAAS,EAAE,OAvBN;AAwBL,IAAA,WAAW,EAAE,OAxBR;AAyBL,IAAA,YAAY,EAAE,OAzBT;AA0BL,IAAA,WAAW,EAAE;AA1BR,GAN+B;AAmCtC,EAAA,OAAO,EAAE;AACP,IAAA,YADO,0BACK;AAAA;;AACV,UAAM,IAAI,GAAG;AACX,QAAA,KAAK,EAAE;AACL,UAAA,KAAK,EAAE,KAAK,SADP;AAEL,UAAA,aAAa,EAAE,CAAC,KAAK,SAAN,IAAmB,KAAK;AAFlC,SADI;AAKX,QAAA,EAAE,EAAE;AACF,UAAA,KAAK,EAAE,eAAC,CAAD;AAAA,mBAAgB,KAAI,CAAC,KAAL,CAAW,mBAAX,EAAgC,CAAhC,CAAhB;AAAA;AADL;AALO,OAAb;;AAUA,UAAI,KAAK,YAAL,CAAkB,mBAAlB,CAAJ,EAA4C;AAC1C,eAAO,KAAK,YAAL,CAAkB,mBAAlB,EAAwC,IAAxC,CAAP;AACD;;AAED,aAAO,KAAK,cAAL,CAAoB,wBAApB;AACL,QAAA,WAAW,EAAE;AADR,SAEF,IAFE,EAAP;AAID,KApBM;AAqBP,IAAA,WArBO,yBAqBI;AACT,aAAO,KAAK,cAAL,CAAoB,cAApB,EAA2B;AAChC,QAAA,WAAW,EAAE,2BADmB;AAEhC,QAAA,KAAK,EAAE;AACL,UAAA,IAAI,EAAE;AADD;AAFyB,OAA3B,EAKJ,CAAC,KAAK,QAAN,CALI,CAAP;AAMD;AA5BM;AAnC6B,CAAzB,C","sourcesContent":["import { VDataTable } from '../'\nimport { DataOptions } from '../../VData/VData'\nimport VIcon from '../../VIcon'\nimport VSimpleCheckbox from '../../VCheckbox/VSimpleCheckbox'\nimport ripple from '../../../directives/ripple'\n\nimport Vue, { PropType } from 'vue'\nimport mixins from '../../../util/mixins'\nimport { compareFn } from '../../../util/helpers'\n\nexport interface TableHeader {\n text: string\n value: string\n align?: 'start' | 'center' | 'end'\n sortable?: boolean\n filterable?: boolean\n divider?: boolean\n class?: string | string[]\n width?: string | number\n filter?: (value: any, search: string | null, item: any) => boolean\n sort?: compareFn\n}\n\ntype VDataTableInstance = InstanceType<typeof VDataTable>\n\ninterface options extends Vue {\n dataTable: VDataTableInstance\n}\n\nexport default mixins<options>().extend({\n // https://github.com/vuejs/vue/issues/6872\n directives: {\n ripple,\n },\n\n props: {\n headers: {\n type: Array as PropType<TableHeader[]>,\n required: true,\n },\n options: {\n type: Object as PropType<DataOptions>,\n default: () => ({\n page: 1,\n itemsPerPage: 10,\n sortBy: [],\n sortDesc: [],\n groupBy: [],\n groupDesc: [],\n multiSort: false,\n mustSort: false,\n }),\n },\n sortIcon: {\n type: String,\n default: '$sort',\n },\n everyItem: Boolean,\n someItems: Boolean,\n showGroupBy: Boolean,\n singleSelect: Boolean,\n disableSort: Boolean,\n },\n\n methods: {\n genSelectAll () {\n const data = {\n props: {\n value: this.everyItem,\n indeterminate: !this.everyItem && this.someItems,\n },\n on: {\n input: (v: boolean) => this.$emit('toggle-select-all', v),\n },\n }\n\n if (this.$scopedSlots['data-table-select']) {\n return this.$scopedSlots['data-table-select']!(data)\n }\n\n return this.$createElement(VSimpleCheckbox, {\n staticClass: 'v-data-table__checkbox',\n ...data,\n })\n },\n genSortIcon () {\n return this.$createElement(VIcon, {\n staticClass: 'v-data-table-header__icon',\n props: {\n size: 18,\n },\n }, [this.sortIcon])\n },\n },\n})\n"],"sourceRoot":"","file":"header.js"}
|
|
@@ -99,12 +99,12 @@ var _default2 = (0, _mixins.default)(_localable.default, _picker.default
|
|
|
99
99
|
multiple: Boolean,
|
|
100
100
|
nextIcon: {
|
|
101
101
|
type: String,
|
|
102
|
-
default: '$
|
|
102
|
+
default: '$next'
|
|
103
103
|
},
|
|
104
104
|
pickerDate: String,
|
|
105
105
|
prevIcon: {
|
|
106
106
|
type: String,
|
|
107
|
-
default: '$
|
|
107
|
+
default: '$prev'
|
|
108
108
|
},
|
|
109
109
|
range: Boolean,
|
|
110
110
|
reactive: Boolean,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VDatePicker/VDatePicker.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport VDatePickerTitle from './VDatePickerTitle'\nimport VDatePickerHeader from './VDatePickerHeader'\nimport VDatePickerDateTable from './VDatePickerDateTable'\nimport VDatePickerMonthTable from './VDatePickerMonthTable'\nimport VDatePickerYears from './VDatePickerYears'\n\n// Mixins\nimport Localable from '../../mixins/localable'\nimport Picker from '../../mixins/picker'\n\n// Utils\nimport { pad, createNativeLocaleFormatter } from './util'\nimport isDateAllowed, { AllowedDateFunction } from './util/isDateAllowed'\nimport { consoleWarn } from '../../util/console'\nimport { daysInMonth } from '../VCalendar/util/timestamp'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\nimport { DatePickerFormatter } from './util/createNativeLocaleFormatter'\nimport { VNode } from 'vue'\n\nexport type DateEventColorValue = string | string[]\nexport type DateEvents = string[] | ((date: string) => boolean | DateEventColorValue) | Record<string, DateEventColorValue>\nexport type DateEventColors = DateEventColorValue | Record<string, DateEventColorValue> | ((date: string) => DateEventColorValue)\ntype DatePickerValue = string | string[] | undefined\ntype DatePickerType = 'date' | 'month'\ntype DatePickerMultipleFormatter = (date: string[]) => string\ninterface Formatters {\n year: DatePickerFormatter\n titleDate: DatePickerFormatter | DatePickerMultipleFormatter\n}\n\n// Adds leading zero to month/day if necessary, returns 'YYYY' if type = 'year',\n// 'YYYY-MM' if 'month' and 'YYYY-MM-DD' if 'date'\nfunction sanitizeDateString (dateString: string, type: 'date' | 'month' | 'year'): string {\n const [year, month = 1, date = 1] = dateString.split('-')\n return `${year}-${pad(month)}-${pad(date)}`.substr(0, { date: 10, month: 7, year: 4 }[type])\n}\n\nexport default mixins(\n Localable,\n Picker\n/* @vue/component */\n).extend({\n name: 'v-date-picker',\n\n props: {\n allowedDates: Function as PropValidator<AllowedDateFunction | undefined>,\n // Function formatting the day in date picker table\n dayFormat: Function as PropValidator<AllowedDateFunction | undefined>,\n disabled: Boolean,\n events: {\n type: [Array, Function, Object],\n default: () => null,\n } as any as PropValidator<DateEvents>,\n eventColor: {\n type: [Array, Function, Object, String],\n default: () => 'warning',\n } as any as PropValidator<DateEventColors>,\n firstDayOfWeek: {\n type: [String, Number],\n default: 0,\n },\n // Function formatting the tableDate in the day/month table header\n headerDateFormat: Function as PropValidator<DatePickerFormatter | undefined>,\n max: String,\n min: String,\n // Function formatting month in the months table\n monthFormat: Function as PropValidator<DatePickerFormatter | undefined>,\n multiple: Boolean,\n nextIcon: {\n type: String,\n default: '$vuetify.icons.next',\n },\n pickerDate: String,\n prevIcon: {\n type: String,\n default: '$vuetify.icons.prev',\n },\n range: Boolean,\n reactive: Boolean,\n readonly: Boolean,\n scrollable: Boolean,\n showCurrent: {\n type: [Boolean, String],\n default: true,\n },\n selectedItemsText: {\n type: String,\n default: '$vuetify.datePicker.itemsSelected',\n },\n showWeek: Boolean,\n // Function formatting currently selected date in the picker title\n titleDateFormat: Function as PropValidator<DatePickerFormatter | DatePickerMultipleFormatter | undefined>,\n type: {\n type: String,\n default: 'date',\n validator: (type: any) => ['date', 'month'].includes(type), // TODO: year\n } as any as PropValidator<DatePickerType>,\n value: [Array, String] as PropValidator<DatePickerValue>,\n weekdayFormat: Function as PropValidator<DatePickerFormatter | undefined>,\n // Function formatting the year in table header and pickup title\n yearFormat: Function as PropValidator<DatePickerFormatter | undefined>,\n yearIcon: String,\n },\n\n data () {\n const now = new Date()\n return {\n activePicker: this.type.toUpperCase(),\n inputDay: null as number | null,\n inputMonth: null as number | null,\n inputYear: null as number | null,\n isReversing: false,\n now,\n // tableDate is a string in 'YYYY' / 'YYYY-M' format (leading zero for month is not required)\n tableDate: (() => {\n if (this.pickerDate) {\n return this.pickerDate\n }\n\n const date = (this.multiple || this.range ? (this.value as string[])[(this.value as string[]).length - 1] : this.value) ||\n `${now.getFullYear()}-${now.getMonth() + 1}`\n return sanitizeDateString(date as string, this.type === 'date' ? 'month' : 'year')\n })(),\n }\n },\n\n computed: {\n isMultiple (): boolean {\n return this.multiple || this.range\n },\n lastValue (): string | null {\n return this.isMultiple ? (this.value as string[])[(this.value as string[]).length - 1] : (this.value as string | null)\n },\n selectedMonths (): string | string[] | undefined {\n if (!this.value || !this.value.length || this.type === 'month') {\n return this.value\n } else if (this.isMultiple) {\n return (this.value as string[]).map(val => val.substr(0, 7))\n } else {\n return (this.value as string).substr(0, 7)\n }\n },\n current (): string | null {\n if (this.showCurrent === true) {\n return sanitizeDateString(`${this.now.getFullYear()}-${this.now.getMonth() + 1}-${this.now.getDate()}`, this.type)\n }\n\n return this.showCurrent || null\n },\n inputDate (): string {\n return this.type === 'date'\n ? `${this.inputYear}-${pad(this.inputMonth! + 1)}-${pad(this.inputDay!)}`\n : `${this.inputYear}-${pad(this.inputMonth! + 1)}`\n },\n tableMonth (): number {\n return Number((this.pickerDate || this.tableDate).split('-')[1]) - 1\n },\n tableYear (): number {\n return Number((this.pickerDate || this.tableDate).split('-')[0])\n },\n minMonth (): string | null {\n return this.min ? sanitizeDateString(this.min, 'month') : null\n },\n maxMonth (): string | null {\n return this.max ? sanitizeDateString(this.max, 'month') : null\n },\n minYear (): string | null {\n return this.min ? sanitizeDateString(this.min, 'year') : null\n },\n maxYear (): string | null {\n return this.max ? sanitizeDateString(this.max, 'year') : null\n },\n formatters (): Formatters {\n return {\n year: this.yearFormat || createNativeLocaleFormatter(this.currentLocale, { year: 'numeric', timeZone: 'UTC' }, { length: 4 }),\n titleDate: this.titleDateFormat ||\n (this.isMultiple ? this.defaultTitleMultipleDateFormatter : this.defaultTitleDateFormatter),\n }\n },\n defaultTitleMultipleDateFormatter (): DatePickerMultipleFormatter {\n return dates => {\n if (!dates.length) {\n return '-'\n }\n\n if (dates.length === 1) {\n return this.defaultTitleDateFormatter(dates[0])\n }\n\n return this.$vuetify.lang.t(this.selectedItemsText, dates.length)\n }\n },\n defaultTitleDateFormatter (): DatePickerFormatter {\n const titleFormats = {\n year: { year: 'numeric', timeZone: 'UTC' },\n month: { month: 'long', timeZone: 'UTC' },\n date: { weekday: 'short', month: 'short', day: 'numeric', timeZone: 'UTC' },\n }\n\n const titleDateFormatter = createNativeLocaleFormatter(this.currentLocale, titleFormats[this.type], {\n start: 0,\n length: { date: 10, month: 7, year: 4 }[this.type],\n })\n\n const landscapeFormatter = (date: string) => titleDateFormatter(date)\n .replace(/([^\\d\\s])([\\d])/g, (match, nonDigit, digit) => `${nonDigit} ${digit}`)\n .replace(', ', ',<br>')\n\n return this.landscape ? landscapeFormatter : titleDateFormatter\n },\n },\n\n watch: {\n tableDate (val: string, prev: string) {\n // Make a ISO 8601 strings from val and prev for comparision, otherwise it will incorrectly\n // compare for example '2000-9' and '2000-10'\n const sanitizeType = this.type === 'month' ? 'year' : 'month'\n this.isReversing = sanitizeDateString(val, sanitizeType) < sanitizeDateString(prev, sanitizeType)\n this.$emit('update:picker-date', val)\n },\n pickerDate (val: string | null) {\n if (val) {\n this.tableDate = val\n } else if (this.lastValue && this.type === 'date') {\n this.tableDate = sanitizeDateString(this.lastValue, 'month')\n } else if (this.lastValue && this.type === 'month') {\n this.tableDate = sanitizeDateString(this.lastValue, 'year')\n }\n },\n value (newValue: DatePickerValue, oldValue: DatePickerValue) {\n this.checkMultipleProp()\n this.setInputDate()\n\n if (!this.isMultiple && this.value && !this.pickerDate) {\n this.tableDate = sanitizeDateString(this.inputDate, this.type === 'month' ? 'year' : 'month')\n } else if (this.isMultiple && (this.value as string[]).length && !(oldValue as string[]).length && !this.pickerDate) {\n this.tableDate = sanitizeDateString(this.inputDate, this.type === 'month' ? 'year' : 'month')\n }\n },\n type (type: DatePickerType) {\n this.activePicker = type.toUpperCase()\n\n if (this.value && this.value.length) {\n const output = (this.isMultiple ? (this.value as string[]) : [this.value as string])\n .map((val: string) => sanitizeDateString(val, type))\n .filter(this.isDateAllowed)\n this.$emit('input', this.isMultiple ? output : output[0])\n }\n },\n },\n\n created () {\n this.checkMultipleProp()\n\n if (this.pickerDate !== this.tableDate) {\n this.$emit('update:picker-date', this.tableDate)\n }\n this.setInputDate()\n },\n\n methods: {\n emitInput (newInput: string) {\n if (this.range && this.value) {\n this.value.length === 2\n ? this.$emit('input', [newInput])\n : this.$emit('input', [...this.value, newInput])\n return\n }\n\n const output = this.multiple\n ? (\n (this.value as string[]).indexOf(newInput) === -1\n ? (this.value as string[]).concat([newInput])\n : (this.value as string[]).filter(x => x !== newInput)\n )\n : newInput\n\n this.$emit('input', output)\n this.multiple || this.$emit('change', newInput)\n },\n checkMultipleProp () {\n if (this.value == null) return\n const valueType = this.value.constructor.name\n const expected = this.isMultiple ? 'Array' : 'String'\n if (valueType !== expected) {\n consoleWarn(`Value must be ${this.isMultiple ? 'an' : 'a'} ${expected}, got ${valueType}`, this)\n }\n },\n isDateAllowed (value: string) {\n return isDateAllowed(value, this.min, this.max, this.allowedDates)\n },\n yearClick (value: number) {\n this.inputYear = value\n if (this.type === 'month') {\n this.tableDate = `${value}`\n } else {\n this.tableDate = `${value}-${pad((this.tableMonth || 0) + 1)}`\n }\n this.activePicker = 'MONTH'\n if (this.reactive && !this.readonly && !this.isMultiple && this.isDateAllowed(this.inputDate)) {\n this.$emit('input', this.inputDate)\n }\n },\n monthClick (value: string) {\n this.inputYear = parseInt(value.split('-')[0], 10)\n this.inputMonth = parseInt(value.split('-')[1], 10) - 1\n if (this.type === 'date') {\n if (this.inputDay) {\n this.inputDay = Math.min(this.inputDay, daysInMonth(this.inputYear, this.inputMonth + 1))\n }\n\n this.tableDate = value\n this.activePicker = 'DATE'\n if (this.reactive && !this.readonly && !this.isMultiple && this.isDateAllowed(this.inputDate)) {\n this.$emit('input', this.inputDate)\n }\n } else {\n this.emitInput(this.inputDate)\n }\n },\n dateClick (value: string) {\n this.inputYear = parseInt(value.split('-')[0], 10)\n this.inputMonth = parseInt(value.split('-')[1], 10) - 1\n this.inputDay = parseInt(value.split('-')[2], 10)\n this.emitInput(this.inputDate)\n },\n genPickerTitle () {\n return this.$createElement(VDatePickerTitle, {\n props: {\n date: this.value ? (this.formatters.titleDate as (value: any) => string)(this.value) : '',\n disabled: this.disabled,\n readonly: this.readonly,\n selectingYear: this.activePicker === 'YEAR',\n year: this.formatters.year(this.value ? `${this.inputYear}` : this.tableDate),\n yearIcon: this.yearIcon,\n value: this.isMultiple ? (this.value as string[])[0] : this.value,\n },\n slot: 'title',\n on: {\n 'update:selecting-year': (value: boolean) => this.activePicker = value ? 'YEAR' : this.type.toUpperCase(),\n },\n })\n },\n genTableHeader () {\n return this.$createElement(VDatePickerHeader, {\n props: {\n nextIcon: this.nextIcon,\n color: this.color,\n dark: this.dark,\n disabled: this.disabled,\n format: this.headerDateFormat,\n light: this.light,\n locale: this.locale,\n min: this.activePicker === 'DATE' ? this.minMonth : this.minYear,\n max: this.activePicker === 'DATE' ? this.maxMonth : this.maxYear,\n prevIcon: this.prevIcon,\n readonly: this.readonly,\n value: this.activePicker === 'DATE' ? `${pad(this.tableYear, 4)}-${pad(this.tableMonth + 1)}` : `${pad(this.tableYear, 4)}`,\n },\n on: {\n toggle: () => this.activePicker = (this.activePicker === 'DATE' ? 'MONTH' : 'YEAR'),\n input: (value: string) => this.tableDate = value,\n },\n })\n },\n genDateTable () {\n let proxyValue = this.value\n\n if (this.range && this.value && this.value.length === 2) {\n proxyValue = []\n const [rangeFrom, rangeTo] = [this.value[0], this.value[1]].map(x => new Date(`${x}T00:00:00+00:00`)).sort((a, b) => a > b ? 1 : -1)\n const diffDays = Math.ceil((rangeTo.getTime() - rangeFrom.getTime()) / (1000 * 60 * 60 * 24))\n for (let i = 0; i <= diffDays; i++) {\n const current = new Date(+rangeFrom + i * 864e5)\n proxyValue.push(current.toISOString().substring(0, 10))\n }\n }\n\n return this.$createElement(VDatePickerDateTable, {\n props: {\n allowedDates: this.allowedDates,\n color: this.color,\n current: this.current,\n dark: this.dark,\n disabled: this.disabled,\n events: this.events,\n eventColor: this.eventColor,\n firstDayOfWeek: this.firstDayOfWeek,\n format: this.dayFormat,\n light: this.light,\n locale: this.locale,\n min: this.min,\n max: this.max,\n readonly: this.readonly,\n scrollable: this.scrollable,\n showWeek: this.showWeek,\n tableDate: `${pad(this.tableYear, 4)}-${pad(this.tableMonth + 1)}`,\n value: proxyValue,\n weekdayFormat: this.weekdayFormat,\n },\n ref: 'table',\n on: {\n input: this.dateClick,\n 'update:table-date': (value: string) => this.tableDate = value,\n 'click:date': (value: string) => this.$emit('click:date', value),\n 'dblclick:date': (value: string) => this.$emit('dblclick:date', value),\n },\n })\n },\n genMonthTable () {\n return this.$createElement(VDatePickerMonthTable, {\n props: {\n allowedDates: this.type === 'month' ? this.allowedDates : null,\n color: this.color,\n current: this.current ? sanitizeDateString(this.current, 'month') : null,\n dark: this.dark,\n disabled: this.disabled,\n events: this.type === 'month' ? this.events : null,\n eventColor: this.type === 'month' ? this.eventColor : null,\n format: this.monthFormat,\n light: this.light,\n locale: this.locale,\n min: this.minMonth,\n max: this.maxMonth,\n readonly: this.readonly && this.type === 'month',\n scrollable: this.scrollable,\n value: this.selectedMonths,\n tableDate: `${pad(this.tableYear, 4)}`,\n },\n ref: 'table',\n on: {\n input: this.monthClick,\n 'update:table-date': (value: string) => this.tableDate = value,\n 'click:month': (value: string) => this.$emit('click:month', value),\n 'dblclick:month': (value: string) => this.$emit('dblclick:month', value),\n },\n })\n },\n genYears () {\n return this.$createElement(VDatePickerYears, {\n props: {\n color: this.color,\n format: this.yearFormat,\n locale: this.locale,\n min: this.minYear,\n max: this.maxYear,\n value: this.tableYear,\n },\n on: {\n input: this.yearClick,\n },\n })\n },\n genPickerBody () {\n const children = this.activePicker === 'YEAR' ? [\n this.genYears(),\n ] : [\n this.genTableHeader(),\n this.activePicker === 'DATE' ? this.genDateTable() : this.genMonthTable(),\n ]\n\n return this.$createElement('div', {\n key: this.activePicker,\n }, children)\n },\n setInputDate () {\n if (this.lastValue) {\n const array = this.lastValue.split('-')\n this.inputYear = parseInt(array[0], 10)\n this.inputMonth = parseInt(array[1], 10) - 1\n if (this.type === 'date') {\n this.inputDay = parseInt(array[2], 10)\n }\n } else {\n this.inputYear = this.inputYear || this.now.getFullYear()\n this.inputMonth = this.inputMonth == null ? this.inputMonth : this.now.getMonth()\n this.inputDay = this.inputDay || this.now.getDate()\n }\n },\n },\n\n render (): VNode {\n return this.genPicker('v-picker--date')\n },\n})\n"],"sourceRoot":"","file":"VDatePicker.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VDatePicker/VDatePicker.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport VDatePickerTitle from './VDatePickerTitle'\nimport VDatePickerHeader from './VDatePickerHeader'\nimport VDatePickerDateTable from './VDatePickerDateTable'\nimport VDatePickerMonthTable from './VDatePickerMonthTable'\nimport VDatePickerYears from './VDatePickerYears'\n\n// Mixins\nimport Localable from '../../mixins/localable'\nimport Picker from '../../mixins/picker'\n\n// Utils\nimport { pad, createNativeLocaleFormatter } from './util'\nimport isDateAllowed, { AllowedDateFunction } from './util/isDateAllowed'\nimport { consoleWarn } from '../../util/console'\nimport { daysInMonth } from '../VCalendar/util/timestamp'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\nimport { DatePickerFormatter } from './util/createNativeLocaleFormatter'\nimport { VNode } from 'vue'\n\nexport type DateEventColorValue = string | string[]\nexport type DateEvents = string[] | ((date: string) => boolean | DateEventColorValue) | Record<string, DateEventColorValue>\nexport type DateEventColors = DateEventColorValue | Record<string, DateEventColorValue> | ((date: string) => DateEventColorValue)\ntype DatePickerValue = string | string[] | undefined\ntype DatePickerType = 'date' | 'month'\ntype DatePickerMultipleFormatter = (date: string[]) => string\ninterface Formatters {\n year: DatePickerFormatter\n titleDate: DatePickerFormatter | DatePickerMultipleFormatter\n}\n\n// Adds leading zero to month/day if necessary, returns 'YYYY' if type = 'year',\n// 'YYYY-MM' if 'month' and 'YYYY-MM-DD' if 'date'\nfunction sanitizeDateString (dateString: string, type: 'date' | 'month' | 'year'): string {\n const [year, month = 1, date = 1] = dateString.split('-')\n return `${year}-${pad(month)}-${pad(date)}`.substr(0, { date: 10, month: 7, year: 4 }[type])\n}\n\nexport default mixins(\n Localable,\n Picker\n/* @vue/component */\n).extend({\n name: 'v-date-picker',\n\n props: {\n allowedDates: Function as PropValidator<AllowedDateFunction | undefined>,\n // Function formatting the day in date picker table\n dayFormat: Function as PropValidator<AllowedDateFunction | undefined>,\n disabled: Boolean,\n events: {\n type: [Array, Function, Object],\n default: () => null,\n } as any as PropValidator<DateEvents>,\n eventColor: {\n type: [Array, Function, Object, String],\n default: () => 'warning',\n } as any as PropValidator<DateEventColors>,\n firstDayOfWeek: {\n type: [String, Number],\n default: 0,\n },\n // Function formatting the tableDate in the day/month table header\n headerDateFormat: Function as PropValidator<DatePickerFormatter | undefined>,\n max: String,\n min: String,\n // Function formatting month in the months table\n monthFormat: Function as PropValidator<DatePickerFormatter | undefined>,\n multiple: Boolean,\n nextIcon: {\n type: String,\n default: '$next',\n },\n pickerDate: String,\n prevIcon: {\n type: String,\n default: '$prev',\n },\n range: Boolean,\n reactive: Boolean,\n readonly: Boolean,\n scrollable: Boolean,\n showCurrent: {\n type: [Boolean, String],\n default: true,\n },\n selectedItemsText: {\n type: String,\n default: '$vuetify.datePicker.itemsSelected',\n },\n showWeek: Boolean,\n // Function formatting currently selected date in the picker title\n titleDateFormat: Function as PropValidator<DatePickerFormatter | DatePickerMultipleFormatter | undefined>,\n type: {\n type: String,\n default: 'date',\n validator: (type: any) => ['date', 'month'].includes(type), // TODO: year\n } as any as PropValidator<DatePickerType>,\n value: [Array, String] as PropValidator<DatePickerValue>,\n weekdayFormat: Function as PropValidator<DatePickerFormatter | undefined>,\n // Function formatting the year in table header and pickup title\n yearFormat: Function as PropValidator<DatePickerFormatter | undefined>,\n yearIcon: String,\n },\n\n data () {\n const now = new Date()\n return {\n activePicker: this.type.toUpperCase(),\n inputDay: null as number | null,\n inputMonth: null as number | null,\n inputYear: null as number | null,\n isReversing: false,\n now,\n // tableDate is a string in 'YYYY' / 'YYYY-M' format (leading zero for month is not required)\n tableDate: (() => {\n if (this.pickerDate) {\n return this.pickerDate\n }\n\n const date = (this.multiple || this.range ? (this.value as string[])[(this.value as string[]).length - 1] : this.value) ||\n `${now.getFullYear()}-${now.getMonth() + 1}`\n return sanitizeDateString(date as string, this.type === 'date' ? 'month' : 'year')\n })(),\n }\n },\n\n computed: {\n isMultiple (): boolean {\n return this.multiple || this.range\n },\n lastValue (): string | null {\n return this.isMultiple ? (this.value as string[])[(this.value as string[]).length - 1] : (this.value as string | null)\n },\n selectedMonths (): string | string[] | undefined {\n if (!this.value || !this.value.length || this.type === 'month') {\n return this.value\n } else if (this.isMultiple) {\n return (this.value as string[]).map(val => val.substr(0, 7))\n } else {\n return (this.value as string).substr(0, 7)\n }\n },\n current (): string | null {\n if (this.showCurrent === true) {\n return sanitizeDateString(`${this.now.getFullYear()}-${this.now.getMonth() + 1}-${this.now.getDate()}`, this.type)\n }\n\n return this.showCurrent || null\n },\n inputDate (): string {\n return this.type === 'date'\n ? `${this.inputYear}-${pad(this.inputMonth! + 1)}-${pad(this.inputDay!)}`\n : `${this.inputYear}-${pad(this.inputMonth! + 1)}`\n },\n tableMonth (): number {\n return Number((this.pickerDate || this.tableDate).split('-')[1]) - 1\n },\n tableYear (): number {\n return Number((this.pickerDate || this.tableDate).split('-')[0])\n },\n minMonth (): string | null {\n return this.min ? sanitizeDateString(this.min, 'month') : null\n },\n maxMonth (): string | null {\n return this.max ? sanitizeDateString(this.max, 'month') : null\n },\n minYear (): string | null {\n return this.min ? sanitizeDateString(this.min, 'year') : null\n },\n maxYear (): string | null {\n return this.max ? sanitizeDateString(this.max, 'year') : null\n },\n formatters (): Formatters {\n return {\n year: this.yearFormat || createNativeLocaleFormatter(this.currentLocale, { year: 'numeric', timeZone: 'UTC' }, { length: 4 }),\n titleDate: this.titleDateFormat ||\n (this.isMultiple ? this.defaultTitleMultipleDateFormatter : this.defaultTitleDateFormatter),\n }\n },\n defaultTitleMultipleDateFormatter (): DatePickerMultipleFormatter {\n return dates => {\n if (!dates.length) {\n return '-'\n }\n\n if (dates.length === 1) {\n return this.defaultTitleDateFormatter(dates[0])\n }\n\n return this.$vuetify.lang.t(this.selectedItemsText, dates.length)\n }\n },\n defaultTitleDateFormatter (): DatePickerFormatter {\n const titleFormats = {\n year: { year: 'numeric', timeZone: 'UTC' },\n month: { month: 'long', timeZone: 'UTC' },\n date: { weekday: 'short', month: 'short', day: 'numeric', timeZone: 'UTC' },\n }\n\n const titleDateFormatter = createNativeLocaleFormatter(this.currentLocale, titleFormats[this.type], {\n start: 0,\n length: { date: 10, month: 7, year: 4 }[this.type],\n })\n\n const landscapeFormatter = (date: string) => titleDateFormatter(date)\n .replace(/([^\\d\\s])([\\d])/g, (match, nonDigit, digit) => `${nonDigit} ${digit}`)\n .replace(', ', ',<br>')\n\n return this.landscape ? landscapeFormatter : titleDateFormatter\n },\n },\n\n watch: {\n tableDate (val: string, prev: string) {\n // Make a ISO 8601 strings from val and prev for comparision, otherwise it will incorrectly\n // compare for example '2000-9' and '2000-10'\n const sanitizeType = this.type === 'month' ? 'year' : 'month'\n this.isReversing = sanitizeDateString(val, sanitizeType) < sanitizeDateString(prev, sanitizeType)\n this.$emit('update:picker-date', val)\n },\n pickerDate (val: string | null) {\n if (val) {\n this.tableDate = val\n } else if (this.lastValue && this.type === 'date') {\n this.tableDate = sanitizeDateString(this.lastValue, 'month')\n } else if (this.lastValue && this.type === 'month') {\n this.tableDate = sanitizeDateString(this.lastValue, 'year')\n }\n },\n value (newValue: DatePickerValue, oldValue: DatePickerValue) {\n this.checkMultipleProp()\n this.setInputDate()\n\n if (!this.isMultiple && this.value && !this.pickerDate) {\n this.tableDate = sanitizeDateString(this.inputDate, this.type === 'month' ? 'year' : 'month')\n } else if (this.isMultiple && (this.value as string[]).length && !(oldValue as string[]).length && !this.pickerDate) {\n this.tableDate = sanitizeDateString(this.inputDate, this.type === 'month' ? 'year' : 'month')\n }\n },\n type (type: DatePickerType) {\n this.activePicker = type.toUpperCase()\n\n if (this.value && this.value.length) {\n const output = (this.isMultiple ? (this.value as string[]) : [this.value as string])\n .map((val: string) => sanitizeDateString(val, type))\n .filter(this.isDateAllowed)\n this.$emit('input', this.isMultiple ? output : output[0])\n }\n },\n },\n\n created () {\n this.checkMultipleProp()\n\n if (this.pickerDate !== this.tableDate) {\n this.$emit('update:picker-date', this.tableDate)\n }\n this.setInputDate()\n },\n\n methods: {\n emitInput (newInput: string) {\n if (this.range && this.value) {\n this.value.length === 2\n ? this.$emit('input', [newInput])\n : this.$emit('input', [...this.value, newInput])\n return\n }\n\n const output = this.multiple\n ? (\n (this.value as string[]).indexOf(newInput) === -1\n ? (this.value as string[]).concat([newInput])\n : (this.value as string[]).filter(x => x !== newInput)\n )\n : newInput\n\n this.$emit('input', output)\n this.multiple || this.$emit('change', newInput)\n },\n checkMultipleProp () {\n if (this.value == null) return\n const valueType = this.value.constructor.name\n const expected = this.isMultiple ? 'Array' : 'String'\n if (valueType !== expected) {\n consoleWarn(`Value must be ${this.isMultiple ? 'an' : 'a'} ${expected}, got ${valueType}`, this)\n }\n },\n isDateAllowed (value: string) {\n return isDateAllowed(value, this.min, this.max, this.allowedDates)\n },\n yearClick (value: number) {\n this.inputYear = value\n if (this.type === 'month') {\n this.tableDate = `${value}`\n } else {\n this.tableDate = `${value}-${pad((this.tableMonth || 0) + 1)}`\n }\n this.activePicker = 'MONTH'\n if (this.reactive && !this.readonly && !this.isMultiple && this.isDateAllowed(this.inputDate)) {\n this.$emit('input', this.inputDate)\n }\n },\n monthClick (value: string) {\n this.inputYear = parseInt(value.split('-')[0], 10)\n this.inputMonth = parseInt(value.split('-')[1], 10) - 1\n if (this.type === 'date') {\n if (this.inputDay) {\n this.inputDay = Math.min(this.inputDay, daysInMonth(this.inputYear, this.inputMonth + 1))\n }\n\n this.tableDate = value\n this.activePicker = 'DATE'\n if (this.reactive && !this.readonly && !this.isMultiple && this.isDateAllowed(this.inputDate)) {\n this.$emit('input', this.inputDate)\n }\n } else {\n this.emitInput(this.inputDate)\n }\n },\n dateClick (value: string) {\n this.inputYear = parseInt(value.split('-')[0], 10)\n this.inputMonth = parseInt(value.split('-')[1], 10) - 1\n this.inputDay = parseInt(value.split('-')[2], 10)\n this.emitInput(this.inputDate)\n },\n genPickerTitle () {\n return this.$createElement(VDatePickerTitle, {\n props: {\n date: this.value ? (this.formatters.titleDate as (value: any) => string)(this.value) : '',\n disabled: this.disabled,\n readonly: this.readonly,\n selectingYear: this.activePicker === 'YEAR',\n year: this.formatters.year(this.value ? `${this.inputYear}` : this.tableDate),\n yearIcon: this.yearIcon,\n value: this.isMultiple ? (this.value as string[])[0] : this.value,\n },\n slot: 'title',\n on: {\n 'update:selecting-year': (value: boolean) => this.activePicker = value ? 'YEAR' : this.type.toUpperCase(),\n },\n })\n },\n genTableHeader () {\n return this.$createElement(VDatePickerHeader, {\n props: {\n nextIcon: this.nextIcon,\n color: this.color,\n dark: this.dark,\n disabled: this.disabled,\n format: this.headerDateFormat,\n light: this.light,\n locale: this.locale,\n min: this.activePicker === 'DATE' ? this.minMonth : this.minYear,\n max: this.activePicker === 'DATE' ? this.maxMonth : this.maxYear,\n prevIcon: this.prevIcon,\n readonly: this.readonly,\n value: this.activePicker === 'DATE' ? `${pad(this.tableYear, 4)}-${pad(this.tableMonth + 1)}` : `${pad(this.tableYear, 4)}`,\n },\n on: {\n toggle: () => this.activePicker = (this.activePicker === 'DATE' ? 'MONTH' : 'YEAR'),\n input: (value: string) => this.tableDate = value,\n },\n })\n },\n genDateTable () {\n let proxyValue = this.value\n\n if (this.range && this.value && this.value.length === 2) {\n proxyValue = []\n const [rangeFrom, rangeTo] = [this.value[0], this.value[1]].map(x => new Date(`${x}T00:00:00+00:00`)).sort((a, b) => a > b ? 1 : -1)\n const diffDays = Math.ceil((rangeTo.getTime() - rangeFrom.getTime()) / (1000 * 60 * 60 * 24))\n for (let i = 0; i <= diffDays; i++) {\n const current = new Date(+rangeFrom + i * 864e5)\n proxyValue.push(current.toISOString().substring(0, 10))\n }\n }\n\n return this.$createElement(VDatePickerDateTable, {\n props: {\n allowedDates: this.allowedDates,\n color: this.color,\n current: this.current,\n dark: this.dark,\n disabled: this.disabled,\n events: this.events,\n eventColor: this.eventColor,\n firstDayOfWeek: this.firstDayOfWeek,\n format: this.dayFormat,\n light: this.light,\n locale: this.locale,\n min: this.min,\n max: this.max,\n readonly: this.readonly,\n scrollable: this.scrollable,\n showWeek: this.showWeek,\n tableDate: `${pad(this.tableYear, 4)}-${pad(this.tableMonth + 1)}`,\n value: proxyValue,\n weekdayFormat: this.weekdayFormat,\n },\n ref: 'table',\n on: {\n input: this.dateClick,\n 'update:table-date': (value: string) => this.tableDate = value,\n 'click:date': (value: string) => this.$emit('click:date', value),\n 'dblclick:date': (value: string) => this.$emit('dblclick:date', value),\n },\n })\n },\n genMonthTable () {\n return this.$createElement(VDatePickerMonthTable, {\n props: {\n allowedDates: this.type === 'month' ? this.allowedDates : null,\n color: this.color,\n current: this.current ? sanitizeDateString(this.current, 'month') : null,\n dark: this.dark,\n disabled: this.disabled,\n events: this.type === 'month' ? this.events : null,\n eventColor: this.type === 'month' ? this.eventColor : null,\n format: this.monthFormat,\n light: this.light,\n locale: this.locale,\n min: this.minMonth,\n max: this.maxMonth,\n readonly: this.readonly && this.type === 'month',\n scrollable: this.scrollable,\n value: this.selectedMonths,\n tableDate: `${pad(this.tableYear, 4)}`,\n },\n ref: 'table',\n on: {\n input: this.monthClick,\n 'update:table-date': (value: string) => this.tableDate = value,\n 'click:month': (value: string) => this.$emit('click:month', value),\n 'dblclick:month': (value: string) => this.$emit('dblclick:month', value),\n },\n })\n },\n genYears () {\n return this.$createElement(VDatePickerYears, {\n props: {\n color: this.color,\n format: this.yearFormat,\n locale: this.locale,\n min: this.minYear,\n max: this.maxYear,\n value: this.tableYear,\n },\n on: {\n input: this.yearClick,\n },\n })\n },\n genPickerBody () {\n const children = this.activePicker === 'YEAR' ? [\n this.genYears(),\n ] : [\n this.genTableHeader(),\n this.activePicker === 'DATE' ? this.genDateTable() : this.genMonthTable(),\n ]\n\n return this.$createElement('div', {\n key: this.activePicker,\n }, children)\n },\n setInputDate () {\n if (this.lastValue) {\n const array = this.lastValue.split('-')\n this.inputYear = parseInt(array[0], 10)\n this.inputMonth = parseInt(array[1], 10) - 1\n if (this.type === 'date') {\n this.inputDay = parseInt(array[2], 10)\n }\n } else {\n this.inputYear = this.inputYear || this.now.getFullYear()\n this.inputMonth = this.inputMonth == null ? this.inputMonth : this.now.getMonth()\n this.inputDay = this.inputDay || this.now.getDate()\n }\n },\n },\n\n render (): VNode {\n return this.genPicker('v-picker--date')\n },\n})\n"],"sourceRoot":"","file":"VDatePicker.js"}
|
|
@@ -48,11 +48,11 @@ var _default = (0, _mixins.default)(_colorable.default, _localable.default, _the
|
|
|
48
48
|
max: String,
|
|
49
49
|
nextIcon: {
|
|
50
50
|
type: String,
|
|
51
|
-
default: '$
|
|
51
|
+
default: '$next'
|
|
52
52
|
},
|
|
53
53
|
prevIcon: {
|
|
54
54
|
type: String,
|
|
55
|
-
default: '$
|
|
55
|
+
default: '$prev'
|
|
56
56
|
},
|
|
57
57
|
readonly: Boolean,
|
|
58
58
|
value: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VDatePicker/VDatePickerHeader.ts"],"names":[],"mappings":";;;;;;;AAAA;;AAGA;;AACA;;AAGA;;AACA;;AACA;;AAGA;;AACA;;;;;;;;;;;;;;;;;;eAOe,qBACb,kBADa,EAEb,kBAFa,EAGb;AACF;AAJe,EAKb,MALa,CAKN;AACP,EAAA,IAAI,EAAE,sBADC;AAGP,EAAA,KAAK,EAAE;AACL,IAAA,QAAQ,EAAE,OADL;AAEL,IAAA,MAAM,EAAE,QAFH;AAGL,IAAA,GAAG,EAAE,MAHA;AAIL,IAAA,GAAG,EAAE,MAJA;AAKL,IAAA,QAAQ,EAAE;AACR,MAAA,IAAI,EAAE,MADE;AAER,MAAA,OAAO,EAAE;AAFD,KALL;AASL,IAAA,QAAQ,EAAE;AACR,MAAA,IAAI,EAAE,MADE;AAER,MAAA,OAAO,EAAE;AAFD,KATL;AAaL,IAAA,QAAQ,EAAE,OAbL;AAcL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADD;AAEL,MAAA,QAAQ,EAAE;AAFL;AAdF,GAHA;AAuBP,EAAA,IAvBO,kBAuBH;AACF,WAAO;AACL,MAAA,WAAW,EAAE;AADR,KAAP;AAGD,GA3BM;AA6BP,EAAA,QAAQ,EAAE;AACR,IAAA,SADQ,uBACC;AACP,UAAI,KAAK,MAAT,EAAiB;AACf,eAAO,KAAK,MAAZ;AACD,OAFD,MAEO,IAAI,MAAM,CAAC,KAAK,KAAN,CAAN,CAAmB,KAAnB,CAAyB,GAAzB,EAA8B,CAA9B,CAAJ,EAAsC;AAC3C,eAAO,uCAA4B,KAAK,aAAjC,EAAgD;AAAE,UAAA,KAAK,EAAE,MAAT;AAAiB,UAAA,IAAI,EAAE,SAAvB;AAAkC,UAAA,QAAQ,EAAE;AAA5C,SAAhD,EAAqG;AAAE,UAAA,MAAM,EAAE;AAAV,SAArG,CAAP;AACD,OAFM,MAEA;AACL,eAAO,uCAA4B,KAAK,aAAjC,EAAgD;AAAE,UAAA,IAAI,EAAE,SAAR;AAAmB,UAAA,QAAQ,EAAE;AAA7B,SAAhD,EAAsF;AAAE,UAAA,MAAM,EAAE;AAAV,SAAtF,CAAP;AACD;AACF;AATO,GA7BH;AAyCP,EAAA,KAAK,EAAE;AACL,IAAA,KADK,iBACE,MADF,EACU,MADV,EACgB;AACnB,WAAK,WAAL,GAAmB,MAAM,GAAG,MAA5B;AACD;AAHI,GAzCA;AA+CP,EAAA,OAAO,EAAE;AACP,IAAA,MADO,kBACC,MADD,EACe;AAAA;;AACpB,UAAM,QAAQ,GAAG,KAAK,QAAL,IACd,MAAM,GAAG,CAAT,IAAc,KAAK,GAAnB,IAA0B,KAAK,eAAL,CAAqB,MAArB,IAA+B,KAAK,GADhD,IAEd,MAAM,GAAG,CAAT,IAAc,KAAK,GAAnB,IAA0B,KAAK,eAAL,CAAqB,MAArB,IAA+B,KAAK,GAFjE;AAIA,aAAO,KAAK,cAAL,CAAoB,aAApB,EAA0B;AAC/B,QAAA,KAAK,EAAE;AACL,UAAA,IAAI,EAAE,KAAK,IADN;AAEL,UAAA,QAAQ,EAAR,QAFK;AAGL,UAAA,IAAI,EAAE,IAHD;AAIL,UAAA,KAAK,EAAE,KAAK;AAJP,SADwB;AAO/B,QAAA,QAAQ,EAAE;AACR,UAAA,KAAK,EAAE,eAAC,CAAD,EAAa;AAClB,YAAA,CAAC,CAAC,eAAF;;AACA,YAAA,KAAI,CAAC,KAAL,CAAW,OAAX,EAAoB,KAAI,CAAC,eAAL,CAAqB,MAArB,CAApB;AACD;AAJO;AAPqB,OAA1B,EAaJ,CACD,KAAK,cAAL,CAAoB,cAApB,EAA6B,MAAM,GAAG,CAAV,KAAiB,CAAC,KAAK,QAAL,CAAc,GAAjC,GAAwC,KAAK,QAA7C,GAAwD,KAAK,QAAxF,CADC,CAbI,CAAP;AAgBD,KAtBM;AAuBP,IAAA,eAvBO,2BAuBU,IAvBV,EAuBsB;AAAA,8BACL,MAAM,CAAC,KAAK,KAAN,CAAN,CAAmB,KAAnB,CAAyB,GAAzB,EAA8B,GAA9B,CAAkC,MAAlC,CADK;AAAA;AAAA,UACpB,IADoB;AAAA,UACd,KADc;;AAG3B,UAAI,KAAK,IAAI,IAAb,EAAmB;AACjB,yBAAU,IAAI,GAAG,IAAjB;AACD,OAFD,MAEO;AACL,eAAO,uBAAY,MAAM,CAAC,KAAK,KAAN,CAAlB,EAAgC,IAAhC,CAAP;AACD;AACF,KA/BM;AAgCP,IAAA,SAhCO,uBAgCE;AAAA;;AACP,UAAM,KAAK,GAAG,CAAC,KAAK,QAAN,KAAmB,KAAK,KAAL,IAAc,QAAjC,CAAd;AACA,UAAM,MAAM,GAAG,KAAK,cAAL,CAAoB,KAApB,EAA2B,KAAK,YAAL,CAAkB,KAAlB,EAAyB;AACjE,QAAA,GAAG,EAAE,MAAM,CAAC,KAAK,KAAN;AADsD,OAAzB,CAA3B,EAEX,CAAC,KAAK,cAAL,CAAoB,QAApB,EAA8B;AACjC,QAAA,KAAK,EAAE;AACL,UAAA,IAAI,EAAE;AADD,SAD0B;AAIjC,QAAA,EAAE,EAAE;AACF,UAAA,KAAK,EAAE;AAAA,mBAAM,MAAI,CAAC,KAAL,CAAW,QAAX,CAAN;AAAA;AADL;AAJ6B,OAA9B,EAOF,CAAC,KAAK,MAAL,CAAY,OAAZ,IAAuB,KAAK,SAAL,CAAe,MAAM,CAAC,KAAK,KAAN,CAArB,CAAxB,CAPE,CAAD,CAFW,CAAf;AAWA,UAAM,UAAU,GAAG,KAAK,cAAL,CAAoB,YAApB,EAAkC;AACnD,QAAA,KAAK,EAAE;AACL,UAAA,IAAI,EAAG,KAAK,WAAL,KAAqB,CAAC,KAAK,QAAL,CAAc,GAArC,GAA4C,wBAA5C,GAAuE;AADxE;AAD4C,OAAlC,EAIhB,CAAC,MAAD,CAJgB,CAAnB;AAMA,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,WAAW,EAAE,6BADmB;AAEhC,QAAA,KAAK,EAAE;AACL,mDAAyC,KAAK;AADzC;AAFyB,OAA3B,EAKJ,CAAC,UAAD,CALI,CAAP;AAMD;AAzDM,GA/CF;AA2GP,EAAA,MA3GO,oBA2GD;AACJ,WAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,MAAA,WAAW,EAAE,sBADmB;AAEhC,MAAA,KAAK;AACH,0CAAkC,KAAK;AADpC,SAEA,KAAK,YAFL;AAF2B,KAA3B,EAMJ,CACD,KAAK,MAAL,CAAY,CAAC,CAAb,CADC,EAED,KAAK,SAAL,EAFC,EAGD,KAAK,MAAL,CAAY,CAAC,CAAb,CAHC,CANI,CAAP;AAWD;AAvHM,CALM,C","sourcesContent":["import './VDatePickerHeader.sass'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Localable from '../../mixins/localable'\nimport Themeable from '../../mixins/themeable'\n\n// Utils\nimport { createNativeLocaleFormatter, monthChange } from './util'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\nimport { DatePickerFormatter } from './util/createNativeLocaleFormatter'\nimport { PropValidator } from 'vue/types/options'\n\nexport default mixins(\n Colorable,\n Localable,\n Themeable\n/* @vue/component */\n).extend({\n name: 'v-date-picker-header',\n\n props: {\n disabled: Boolean,\n format: Function as PropValidator<DatePickerFormatter | undefined>,\n min: String,\n max: String,\n nextIcon: {\n type: String,\n default: '$
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VDatePicker/VDatePickerHeader.ts"],"names":[],"mappings":";;;;;;;AAAA;;AAGA;;AACA;;AAGA;;AACA;;AACA;;AAGA;;AACA;;;;;;;;;;;;;;;;;;eAOe,qBACb,kBADa,EAEb,kBAFa,EAGb;AACF;AAJe,EAKb,MALa,CAKN;AACP,EAAA,IAAI,EAAE,sBADC;AAGP,EAAA,KAAK,EAAE;AACL,IAAA,QAAQ,EAAE,OADL;AAEL,IAAA,MAAM,EAAE,QAFH;AAGL,IAAA,GAAG,EAAE,MAHA;AAIL,IAAA,GAAG,EAAE,MAJA;AAKL,IAAA,QAAQ,EAAE;AACR,MAAA,IAAI,EAAE,MADE;AAER,MAAA,OAAO,EAAE;AAFD,KALL;AASL,IAAA,QAAQ,EAAE;AACR,MAAA,IAAI,EAAE,MADE;AAER,MAAA,OAAO,EAAE;AAFD,KATL;AAaL,IAAA,QAAQ,EAAE,OAbL;AAcL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADD;AAEL,MAAA,QAAQ,EAAE;AAFL;AAdF,GAHA;AAuBP,EAAA,IAvBO,kBAuBH;AACF,WAAO;AACL,MAAA,WAAW,EAAE;AADR,KAAP;AAGD,GA3BM;AA6BP,EAAA,QAAQ,EAAE;AACR,IAAA,SADQ,uBACC;AACP,UAAI,KAAK,MAAT,EAAiB;AACf,eAAO,KAAK,MAAZ;AACD,OAFD,MAEO,IAAI,MAAM,CAAC,KAAK,KAAN,CAAN,CAAmB,KAAnB,CAAyB,GAAzB,EAA8B,CAA9B,CAAJ,EAAsC;AAC3C,eAAO,uCAA4B,KAAK,aAAjC,EAAgD;AAAE,UAAA,KAAK,EAAE,MAAT;AAAiB,UAAA,IAAI,EAAE,SAAvB;AAAkC,UAAA,QAAQ,EAAE;AAA5C,SAAhD,EAAqG;AAAE,UAAA,MAAM,EAAE;AAAV,SAArG,CAAP;AACD,OAFM,MAEA;AACL,eAAO,uCAA4B,KAAK,aAAjC,EAAgD;AAAE,UAAA,IAAI,EAAE,SAAR;AAAmB,UAAA,QAAQ,EAAE;AAA7B,SAAhD,EAAsF;AAAE,UAAA,MAAM,EAAE;AAAV,SAAtF,CAAP;AACD;AACF;AATO,GA7BH;AAyCP,EAAA,KAAK,EAAE;AACL,IAAA,KADK,iBACE,MADF,EACU,MADV,EACgB;AACnB,WAAK,WAAL,GAAmB,MAAM,GAAG,MAA5B;AACD;AAHI,GAzCA;AA+CP,EAAA,OAAO,EAAE;AACP,IAAA,MADO,kBACC,MADD,EACe;AAAA;;AACpB,UAAM,QAAQ,GAAG,KAAK,QAAL,IACd,MAAM,GAAG,CAAT,IAAc,KAAK,GAAnB,IAA0B,KAAK,eAAL,CAAqB,MAArB,IAA+B,KAAK,GADhD,IAEd,MAAM,GAAG,CAAT,IAAc,KAAK,GAAnB,IAA0B,KAAK,eAAL,CAAqB,MAArB,IAA+B,KAAK,GAFjE;AAIA,aAAO,KAAK,cAAL,CAAoB,aAApB,EAA0B;AAC/B,QAAA,KAAK,EAAE;AACL,UAAA,IAAI,EAAE,KAAK,IADN;AAEL,UAAA,QAAQ,EAAR,QAFK;AAGL,UAAA,IAAI,EAAE,IAHD;AAIL,UAAA,KAAK,EAAE,KAAK;AAJP,SADwB;AAO/B,QAAA,QAAQ,EAAE;AACR,UAAA,KAAK,EAAE,eAAC,CAAD,EAAa;AAClB,YAAA,CAAC,CAAC,eAAF;;AACA,YAAA,KAAI,CAAC,KAAL,CAAW,OAAX,EAAoB,KAAI,CAAC,eAAL,CAAqB,MAArB,CAApB;AACD;AAJO;AAPqB,OAA1B,EAaJ,CACD,KAAK,cAAL,CAAoB,cAApB,EAA6B,MAAM,GAAG,CAAV,KAAiB,CAAC,KAAK,QAAL,CAAc,GAAjC,GAAwC,KAAK,QAA7C,GAAwD,KAAK,QAAxF,CADC,CAbI,CAAP;AAgBD,KAtBM;AAuBP,IAAA,eAvBO,2BAuBU,IAvBV,EAuBsB;AAAA,8BACL,MAAM,CAAC,KAAK,KAAN,CAAN,CAAmB,KAAnB,CAAyB,GAAzB,EAA8B,GAA9B,CAAkC,MAAlC,CADK;AAAA;AAAA,UACpB,IADoB;AAAA,UACd,KADc;;AAG3B,UAAI,KAAK,IAAI,IAAb,EAAmB;AACjB,yBAAU,IAAI,GAAG,IAAjB;AACD,OAFD,MAEO;AACL,eAAO,uBAAY,MAAM,CAAC,KAAK,KAAN,CAAlB,EAAgC,IAAhC,CAAP;AACD;AACF,KA/BM;AAgCP,IAAA,SAhCO,uBAgCE;AAAA;;AACP,UAAM,KAAK,GAAG,CAAC,KAAK,QAAN,KAAmB,KAAK,KAAL,IAAc,QAAjC,CAAd;AACA,UAAM,MAAM,GAAG,KAAK,cAAL,CAAoB,KAApB,EAA2B,KAAK,YAAL,CAAkB,KAAlB,EAAyB;AACjE,QAAA,GAAG,EAAE,MAAM,CAAC,KAAK,KAAN;AADsD,OAAzB,CAA3B,EAEX,CAAC,KAAK,cAAL,CAAoB,QAApB,EAA8B;AACjC,QAAA,KAAK,EAAE;AACL,UAAA,IAAI,EAAE;AADD,SAD0B;AAIjC,QAAA,EAAE,EAAE;AACF,UAAA,KAAK,EAAE;AAAA,mBAAM,MAAI,CAAC,KAAL,CAAW,QAAX,CAAN;AAAA;AADL;AAJ6B,OAA9B,EAOF,CAAC,KAAK,MAAL,CAAY,OAAZ,IAAuB,KAAK,SAAL,CAAe,MAAM,CAAC,KAAK,KAAN,CAArB,CAAxB,CAPE,CAAD,CAFW,CAAf;AAWA,UAAM,UAAU,GAAG,KAAK,cAAL,CAAoB,YAApB,EAAkC;AACnD,QAAA,KAAK,EAAE;AACL,UAAA,IAAI,EAAG,KAAK,WAAL,KAAqB,CAAC,KAAK,QAAL,CAAc,GAArC,GAA4C,wBAA5C,GAAuE;AADxE;AAD4C,OAAlC,EAIhB,CAAC,MAAD,CAJgB,CAAnB;AAMA,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,WAAW,EAAE,6BADmB;AAEhC,QAAA,KAAK,EAAE;AACL,mDAAyC,KAAK;AADzC;AAFyB,OAA3B,EAKJ,CAAC,UAAD,CALI,CAAP;AAMD;AAzDM,GA/CF;AA2GP,EAAA,MA3GO,oBA2GD;AACJ,WAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,MAAA,WAAW,EAAE,sBADmB;AAEhC,MAAA,KAAK;AACH,0CAAkC,KAAK;AADpC,SAEA,KAAK,YAFL;AAF2B,KAA3B,EAMJ,CACD,KAAK,MAAL,CAAY,CAAC,CAAb,CADC,EAED,KAAK,SAAL,EAFC,EAGD,KAAK,MAAL,CAAY,CAAC,CAAb,CAHC,CANI,CAAP;AAWD;AAvHM,CALM,C","sourcesContent":["import './VDatePickerHeader.sass'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Localable from '../../mixins/localable'\nimport Themeable from '../../mixins/themeable'\n\n// Utils\nimport { createNativeLocaleFormatter, monthChange } from './util'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\nimport { DatePickerFormatter } from './util/createNativeLocaleFormatter'\nimport { PropValidator } from 'vue/types/options'\n\nexport default mixins(\n Colorable,\n Localable,\n Themeable\n/* @vue/component */\n).extend({\n name: 'v-date-picker-header',\n\n props: {\n disabled: Boolean,\n format: Function as PropValidator<DatePickerFormatter | undefined>,\n min: String,\n max: String,\n nextIcon: {\n type: String,\n default: '$next',\n },\n prevIcon: {\n type: String,\n default: '$prev',\n },\n readonly: Boolean,\n value: {\n type: [Number, String],\n required: true,\n },\n },\n\n data () {\n return {\n isReversing: false,\n }\n },\n\n computed: {\n formatter (): DatePickerFormatter {\n if (this.format) {\n return this.format\n } else if (String(this.value).split('-')[1]) {\n return createNativeLocaleFormatter(this.currentLocale, { month: 'long', year: 'numeric', timeZone: 'UTC' }, { length: 7 })\n } else {\n return createNativeLocaleFormatter(this.currentLocale, { year: 'numeric', timeZone: 'UTC' }, { length: 4 })\n }\n },\n },\n\n watch: {\n value (newVal, oldVal) {\n this.isReversing = newVal < oldVal\n },\n },\n\n methods: {\n genBtn (change: number) {\n const disabled = this.disabled ||\n (change < 0 && this.min && this.calculateChange(change) < this.min) ||\n (change > 0 && this.max && this.calculateChange(change) > this.max)\n\n return this.$createElement(VBtn, {\n props: {\n dark: this.dark,\n disabled,\n icon: true,\n light: this.light,\n },\n nativeOn: {\n click: (e: Event) => {\n e.stopPropagation()\n this.$emit('input', this.calculateChange(change))\n },\n },\n }, [\n this.$createElement(VIcon, ((change < 0) === !this.$vuetify.rtl) ? this.prevIcon : this.nextIcon),\n ])\n },\n calculateChange (sign: number) {\n const [year, month] = String(this.value).split('-').map(Number)\n\n if (month == null) {\n return `${year + sign}`\n } else {\n return monthChange(String(this.value), sign)\n }\n },\n genHeader () {\n const color = !this.disabled && (this.color || 'accent')\n const header = this.$createElement('div', this.setTextColor(color, {\n key: String(this.value),\n }), [this.$createElement('button', {\n attrs: {\n type: 'button',\n },\n on: {\n click: () => this.$emit('toggle'),\n },\n }, [this.$slots.default || this.formatter(String(this.value))])])\n\n const transition = this.$createElement('transition', {\n props: {\n name: (this.isReversing === !this.$vuetify.rtl) ? 'tab-reverse-transition' : 'tab-transition',\n },\n }, [header])\n\n return this.$createElement('div', {\n staticClass: 'v-date-picker-header__value',\n class: {\n 'v-date-picker-header__value--disabled': this.disabled,\n },\n }, [transition])\n },\n },\n\n render (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-date-picker-header',\n class: {\n 'v-date-picker-header--disabled': this.disabled,\n ...this.themeClasses,\n },\n }, [\n this.genBtn(-1),\n this.genHeader(),\n this.genBtn(+1),\n ])\n },\n})\n"],"sourceRoot":"","file":"VDatePickerHeader.js"}
|
|
@@ -301,6 +301,9 @@ var _default = baseMixins.extend({
|
|
|
301
301
|
}, [dialog])]));
|
|
302
302
|
return h('div', {
|
|
303
303
|
staticClass: 'v-dialog__container',
|
|
304
|
+
class: {
|
|
305
|
+
'v-dialog__container--attached': this.attach === '' || this.attach === true || this.attach === 'attach'
|
|
306
|
+
},
|
|
304
307
|
attrs: {
|
|
305
308
|
role: 'dialog'
|
|
306
309
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VDialog/VDialog.ts"],"names":[],"mappings":"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","sourcesContent":["import './VDialog.sass'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Dependent from '../../mixins/dependent'\nimport Detachable from '../../mixins/detachable'\nimport Overlayable from '../../mixins/overlayable'\nimport Returnable from '../../mixins/returnable'\nimport Stackable from '../../mixins/stackable'\nimport Toggleable from '../../mixins/toggleable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Helpers\nimport { convertToUnit, keyCodes } from '../../util/helpers'\nimport ThemeProvider from '../../util/ThemeProvider'\nimport mixins from '../../util/mixins'\nimport { removed } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n Activatable,\n Dependent,\n Detachable,\n Overlayable,\n Returnable,\n Stackable,\n Toggleable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-dialog',\n\n directives: {\n ClickOutside,\n },\n\n props: {\n dark: Boolean,\n disabled: Boolean,\n fullscreen: Boolean,\n light: Boolean,\n maxWidth: {\n type: [String, Number],\n default: 'none',\n },\n noClickAnimation: Boolean,\n origin: {\n type: String,\n default: 'center center',\n },\n persistent: Boolean,\n retainFocus: {\n type: Boolean,\n default: true,\n },\n scrollable: Boolean,\n transition: {\n type: [String, Boolean],\n default: 'dialog-transition',\n },\n width: {\n type: [String, Number],\n default: 'auto',\n },\n },\n\n data () {\n return {\n activatedBy: null as EventTarget | null,\n animate: false,\n animateTimeout: -1,\n isActive: !!this.value,\n stackMinZIndex: 200,\n }\n },\n\n computed: {\n classes (): object {\n return {\n [(`v-dialog ${this.contentClass}`).trim()]: true,\n 'v-dialog--active': this.isActive,\n 'v-dialog--persistent': this.persistent,\n 'v-dialog--fullscreen': this.fullscreen,\n 'v-dialog--scrollable': this.scrollable,\n 'v-dialog--animated': this.animate,\n }\n },\n contentClasses (): object {\n return {\n 'v-dialog__content': true,\n 'v-dialog__content--active': this.isActive,\n }\n },\n hasActivator (): boolean {\n return Boolean(\n !!this.$slots.activator ||\n !!this.$scopedSlots.activator\n )\n },\n },\n\n watch: {\n isActive (val) {\n if (val) {\n this.show()\n this.hideScroll()\n } else {\n this.removeOverlay()\n this.unbind()\n }\n },\n fullscreen (val) {\n if (!this.isActive) return\n\n if (val) {\n this.hideScroll()\n this.removeOverlay(false)\n } else {\n this.showScroll()\n this.genOverlay()\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n beforeMount () {\n this.$nextTick(() => {\n this.isBooted = this.isActive\n this.isActive && this.show()\n })\n },\n\n beforeDestroy () {\n if (typeof window !== 'undefined') this.unbind()\n },\n\n methods: {\n animateClick () {\n this.animate = false\n // Needed for when clicking very fast\n // outside of the dialog\n this.$nextTick(() => {\n this.animate = true\n window.clearTimeout(this.animateTimeout)\n this.animateTimeout = window.setTimeout(() => (this.animate = false), 150)\n })\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n // If the dialog content contains\n // the click event, or if the\n // dialog is not active, or if the overlay\n // is the same element as the target\n if (this._isDestroyed ||\n !this.isActive ||\n this.$refs.content.contains(target) ||\n (this.overlay && target && !this.overlay.$el.contains(target))\n ) return false\n\n // If we made it here, the click is outside\n // and is active. If persistent, and the\n // click is on the overlay, animate\n this.$emit('click:outside')\n\n if (this.persistent && this.overlay) {\n if (\n !this.noClickAnimation &&\n (\n this.overlay.$el === target ||\n this.overlay.$el.contains(target)\n )\n ) this.animateClick()\n\n return false\n }\n\n // close dialog if !persistent, clicked outside and we're the topmost dialog.\n // Since this should only be called in a capture event (bottom up), we shouldn't need to stop propagation\n return this.activeZIndex >= this.getMaxZIndex()\n },\n hideScroll () {\n if (this.fullscreen) {\n document.documentElement.classList.add('overflow-y-hidden')\n } else {\n Overlayable.options.methods.hideScroll.call(this)\n }\n },\n show () {\n !this.fullscreen && !this.hideOverlay && this.genOverlay()\n this.$nextTick(() => {\n this.$refs.content.focus()\n this.bind()\n })\n },\n bind () {\n window.addEventListener('focusin', this.onFocusin)\n },\n unbind () {\n window.removeEventListener('focusin', this.onFocusin)\n },\n onKeydown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.esc && !this.getOpenDependents().length) {\n if (!this.persistent) {\n this.isActive = false\n const activator = this.getActivator()\n this.$nextTick(() => activator && (activator as HTMLElement).focus())\n } else if (!this.noClickAnimation) {\n this.animateClick()\n }\n }\n this.$emit('keydown', e)\n },\n onFocusin (e: Event) {\n if (\n !e ||\n e.target === document.activeElement ||\n !this.retainFocus\n ) return\n\n const target = e.target as HTMLElement\n\n if (\n !!target &&\n // It isn't the document or the dialog body\n ![document, this.$refs.content].includes(target) &&\n // It isn't inside the dialog body\n !this.$refs.content.contains(target) &&\n // We're the topmost dialog\n this.activeZIndex >= this.getMaxZIndex() &&\n // It isn't inside a dependent element (like a menu)\n !this.getOpenDependentElements().some(el => el.contains(target))\n // So we must have focused something outside the dialog and its children\n ) {\n // Find and focus the first available element inside the dialog\n const focusable = this.$refs.content.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])')\n focusable.length && (focusable[0] as HTMLElement).focus()\n }\n },\n },\n\n render (h): VNode {\n const children = []\n const data = {\n class: this.classes,\n ref: 'dialog',\n directives: [\n {\n name: 'click-outside',\n value: () => { this.isActive = false },\n args: {\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n },\n { name: 'show', value: this.isActive },\n ],\n on: {\n click: (e: Event) => { e.stopPropagation() },\n },\n style: {},\n }\n\n if (!this.fullscreen) {\n data.style = {\n maxWidth: this.maxWidth === 'none' ? undefined : convertToUnit(this.maxWidth),\n width: this.width === 'auto' ? undefined : convertToUnit(this.width),\n }\n }\n\n children.push(this.genActivator())\n\n let dialog = h('div', data, this.showLazyContent(this.getContentSlot()))\n if (this.transition) {\n dialog = h('transition', {\n props: {\n name: this.transition,\n origin: this.origin,\n },\n }, [dialog])\n }\n\n children.push(h('div', {\n class: this.contentClasses,\n attrs: {\n role: 'document',\n tabindex: this.isActive ? 0 : undefined,\n ...this.getScopeIdAttrs(),\n },\n on: {\n keydown: this.onKeydown,\n },\n style: { zIndex: this.activeZIndex },\n ref: 'content',\n }, [\n this.$createElement(ThemeProvider, {\n props: {\n root: true,\n light: this.light,\n dark: this.dark,\n },\n }, [dialog]),\n ]))\n\n return h('div', {\n staticClass: 'v-dialog__container',\n attrs: { role: 'dialog' },\n }, children)\n },\n})\n"],"sourceRoot":"","file":"VDialog.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VDialog/VDialog.ts"],"names":[],"mappings":"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","sourcesContent":["import './VDialog.sass'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Dependent from '../../mixins/dependent'\nimport Detachable from '../../mixins/detachable'\nimport Overlayable from '../../mixins/overlayable'\nimport Returnable from '../../mixins/returnable'\nimport Stackable from '../../mixins/stackable'\nimport Toggleable from '../../mixins/toggleable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Helpers\nimport { convertToUnit, keyCodes } from '../../util/helpers'\nimport ThemeProvider from '../../util/ThemeProvider'\nimport mixins from '../../util/mixins'\nimport { removed } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n Activatable,\n Dependent,\n Detachable,\n Overlayable,\n Returnable,\n Stackable,\n Toggleable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-dialog',\n\n directives: {\n ClickOutside,\n },\n\n props: {\n dark: Boolean,\n disabled: Boolean,\n fullscreen: Boolean,\n light: Boolean,\n maxWidth: {\n type: [String, Number],\n default: 'none',\n },\n noClickAnimation: Boolean,\n origin: {\n type: String,\n default: 'center center',\n },\n persistent: Boolean,\n retainFocus: {\n type: Boolean,\n default: true,\n },\n scrollable: Boolean,\n transition: {\n type: [String, Boolean],\n default: 'dialog-transition',\n },\n width: {\n type: [String, Number],\n default: 'auto',\n },\n },\n\n data () {\n return {\n activatedBy: null as EventTarget | null,\n animate: false,\n animateTimeout: -1,\n isActive: !!this.value,\n stackMinZIndex: 200,\n }\n },\n\n computed: {\n classes (): object {\n return {\n [(`v-dialog ${this.contentClass}`).trim()]: true,\n 'v-dialog--active': this.isActive,\n 'v-dialog--persistent': this.persistent,\n 'v-dialog--fullscreen': this.fullscreen,\n 'v-dialog--scrollable': this.scrollable,\n 'v-dialog--animated': this.animate,\n }\n },\n contentClasses (): object {\n return {\n 'v-dialog__content': true,\n 'v-dialog__content--active': this.isActive,\n }\n },\n hasActivator (): boolean {\n return Boolean(\n !!this.$slots.activator ||\n !!this.$scopedSlots.activator\n )\n },\n },\n\n watch: {\n isActive (val) {\n if (val) {\n this.show()\n this.hideScroll()\n } else {\n this.removeOverlay()\n this.unbind()\n }\n },\n fullscreen (val) {\n if (!this.isActive) return\n\n if (val) {\n this.hideScroll()\n this.removeOverlay(false)\n } else {\n this.showScroll()\n this.genOverlay()\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n beforeMount () {\n this.$nextTick(() => {\n this.isBooted = this.isActive\n this.isActive && this.show()\n })\n },\n\n beforeDestroy () {\n if (typeof window !== 'undefined') this.unbind()\n },\n\n methods: {\n animateClick () {\n this.animate = false\n // Needed for when clicking very fast\n // outside of the dialog\n this.$nextTick(() => {\n this.animate = true\n window.clearTimeout(this.animateTimeout)\n this.animateTimeout = window.setTimeout(() => (this.animate = false), 150)\n })\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n // If the dialog content contains\n // the click event, or if the\n // dialog is not active, or if the overlay\n // is the same element as the target\n if (this._isDestroyed ||\n !this.isActive ||\n this.$refs.content.contains(target) ||\n (this.overlay && target && !this.overlay.$el.contains(target))\n ) return false\n\n // If we made it here, the click is outside\n // and is active. If persistent, and the\n // click is on the overlay, animate\n this.$emit('click:outside')\n\n if (this.persistent && this.overlay) {\n if (\n !this.noClickAnimation &&\n (\n this.overlay.$el === target ||\n this.overlay.$el.contains(target)\n )\n ) this.animateClick()\n\n return false\n }\n\n // close dialog if !persistent, clicked outside and we're the topmost dialog.\n // Since this should only be called in a capture event (bottom up), we shouldn't need to stop propagation\n return this.activeZIndex >= this.getMaxZIndex()\n },\n hideScroll () {\n if (this.fullscreen) {\n document.documentElement.classList.add('overflow-y-hidden')\n } else {\n Overlayable.options.methods.hideScroll.call(this)\n }\n },\n show () {\n !this.fullscreen && !this.hideOverlay && this.genOverlay()\n this.$nextTick(() => {\n this.$refs.content.focus()\n this.bind()\n })\n },\n bind () {\n window.addEventListener('focusin', this.onFocusin)\n },\n unbind () {\n window.removeEventListener('focusin', this.onFocusin)\n },\n onKeydown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.esc && !this.getOpenDependents().length) {\n if (!this.persistent) {\n this.isActive = false\n const activator = this.getActivator()\n this.$nextTick(() => activator && (activator as HTMLElement).focus())\n } else if (!this.noClickAnimation) {\n this.animateClick()\n }\n }\n this.$emit('keydown', e)\n },\n onFocusin (e: Event) {\n if (\n !e ||\n e.target === document.activeElement ||\n !this.retainFocus\n ) return\n\n const target = e.target as HTMLElement\n\n if (\n !!target &&\n // It isn't the document or the dialog body\n ![document, this.$refs.content].includes(target) &&\n // It isn't inside the dialog body\n !this.$refs.content.contains(target) &&\n // We're the topmost dialog\n this.activeZIndex >= this.getMaxZIndex() &&\n // It isn't inside a dependent element (like a menu)\n !this.getOpenDependentElements().some(el => el.contains(target))\n // So we must have focused something outside the dialog and its children\n ) {\n // Find and focus the first available element inside the dialog\n const focusable = this.$refs.content.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])')\n focusable.length && (focusable[0] as HTMLElement).focus()\n }\n },\n },\n\n render (h): VNode {\n const children = []\n const data = {\n class: this.classes,\n ref: 'dialog',\n directives: [\n {\n name: 'click-outside',\n value: () => { this.isActive = false },\n args: {\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n },\n { name: 'show', value: this.isActive },\n ],\n on: {\n click: (e: Event) => { e.stopPropagation() },\n },\n style: {},\n }\n\n if (!this.fullscreen) {\n data.style = {\n maxWidth: this.maxWidth === 'none' ? undefined : convertToUnit(this.maxWidth),\n width: this.width === 'auto' ? undefined : convertToUnit(this.width),\n }\n }\n\n children.push(this.genActivator())\n\n let dialog = h('div', data, this.showLazyContent(this.getContentSlot()))\n if (this.transition) {\n dialog = h('transition', {\n props: {\n name: this.transition,\n origin: this.origin,\n },\n }, [dialog])\n }\n\n children.push(h('div', {\n class: this.contentClasses,\n attrs: {\n role: 'document',\n tabindex: this.isActive ? 0 : undefined,\n ...this.getScopeIdAttrs(),\n },\n on: {\n keydown: this.onKeydown,\n },\n style: { zIndex: this.activeZIndex },\n ref: 'content',\n }, [\n this.$createElement(ThemeProvider, {\n props: {\n root: true,\n light: this.light,\n dark: this.dark,\n },\n }, [dialog]),\n ]))\n\n return h('div', {\n staticClass: 'v-dialog__container',\n class: {\n 'v-dialog__container--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n },\n attrs: { role: 'dialog' },\n }, children)\n },\n})\n"],"sourceRoot":"","file":"VDialog.js"}
|