|
1 |
- {"version":3,"sources":["../../../../src/components/VDataTable/mixins/head.js"],"names":[],"mappings":"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","sourcesContent":["import { consoleWarn } from '../../../util/console'\n\nimport VCheckbox from '../../VCheckbox'\nimport VIcon from '../../VIcon'\n\n/* @vue/component */\nexport default {\n props: {\n sortIcon: {\n type: String,\n default: '$vuetify.icons.sort'\n }\n },\n\n methods: {\n genTHead () {\n if (this.hideHeaders) return // Exit Early since no headers are needed.\n\n let children = []\n\n if (this.$scopedSlots.headers) {\n const row = this.$scopedSlots.headers({\n headers: this.headers,\n indeterminate: this.indeterminate,\n all: this.everyItem\n })\n\n children = [this.hasTag(row, 'th') ? this.genTR(row) : row, this.genTProgress()]\n } else {\n const row = this.headers.map((o, i) => this.genHeader(o, this.headerKey ? o[this.headerKey] : i))\n const checkbox = this.$createElement(VCheckbox, {\n props: {\n dark: this.dark,\n light: this.light,\n color: this.selectAll === true ? '' : this.selectAll,\n hideDetails: true,\n inputValue: this.everyItem,\n indeterminate: this.indeterminate\n },\n on: { change: this.toggle }\n })\n\n this.hasSelectAll && row.unshift(this.$createElement('th', [checkbox]))\n\n children = [this.genTR(row), this.genTProgress()]\n }\n\n return this.$createElement('thead', [children])\n },\n genHeader (header, key) {\n const array = [\n this.$scopedSlots.headerCell\n ? this.$scopedSlots.headerCell({ header })\n : header[this.headerText]\n ]\n\n return this.$createElement('th', ...this.genHeaderData(header, array, key))\n },\n genHeaderData (header, children, key) {\n const classes = ['column']\n const data = {\n key,\n attrs: {\n role: 'columnheader',\n scope: 'col',\n width: header.width || null,\n 'aria-label': header[this.headerText] || '',\n 'aria-sort': 'none'\n }\n }\n\n if (header.sortable == null || header.sortable) {\n this.genHeaderSortingData(header, children, data, classes)\n } else {\n data.attrs['aria-label'] += ': Not sorted.' // TODO: Localization\n }\n\n classes.push(`text-xs-${header.align || 'left'}`)\n if (Array.isArray(header.class)) {\n classes.push(...header.class)\n } else if (header.class) {\n classes.push(header.class)\n }\n data.class = classes\n\n return [data, children]\n },\n genHeaderSortingData (header, children, data, classes) {\n if (!('value' in header)) {\n consoleWarn('Headers must have a value property that corresponds to a value in the v-model array', this)\n }\n\n data.attrs.tabIndex = 0\n data.on = {\n click: () => {\n this.expanded = {}\n this.sort(header.value)\n },\n keydown: e => {\n // check for space\n if (e.keyCode === 32) {\n e.preventDefault()\n this.sort(header.value)\n }\n }\n }\n\n classes.push('sortable')\n const icon = this.$createElement(VIcon, {\n props: {\n small: true\n }\n }, this.sortIcon)\n if (!header.align || header.align === 'left') {\n children.push(icon)\n } else {\n children.unshift(icon)\n }\n\n const pagination = this.computedPagination\n const beingSorted = pagination.sortBy === header.value\n if (beingSorted) {\n classes.push('active')\n if (pagination.descending) {\n classes.push('desc')\n data.attrs['aria-sort'] = 'descending'\n data.attrs['aria-label'] += ': Sorted descending. Activate to remove sorting.' // TODO: Localization\n } else {\n classes.push('asc')\n data.attrs['aria-sort'] = 'ascending'\n data.attrs['aria-label'] += ': Sorted ascending. Activate to sort descending.' // TODO: Localization\n }\n } else {\n data.attrs['aria-label'] += ': Not sorted. Activate to sort ascending.' // TODO: Localization\n }\n }\n }\n}\n"],"sourceRoot":""}
|