forked from daren.hsu/line_push
42 lines
1.0 KiB
JavaScript
42 lines
1.0 KiB
JavaScript
// Styles
|
|
import "../../../src/components/VDataTable/VDataTableHeader.sass"; // Components
|
|
|
|
import VDataTableHeaderMobile from './VDataTableHeaderMobile';
|
|
import VDataTableHeaderDesktop from './VDataTableHeaderDesktop'; // Mixins
|
|
|
|
import header from './mixins/header'; // Utilities
|
|
|
|
import dedupeModelListeners from '../../util/dedupeModelListeners';
|
|
import mergeData from '../../util/mergeData';
|
|
import rebuildSlots from '../../util/rebuildFunctionalSlots'; // Types
|
|
|
|
import Vue from 'vue';
|
|
/* @vue/component */
|
|
|
|
export default Vue.extend({
|
|
name: 'v-data-table-header',
|
|
functional: true,
|
|
props: { ...header.options.props,
|
|
mobile: Boolean
|
|
},
|
|
|
|
render(h, {
|
|
props,
|
|
data,
|
|
slots
|
|
}) {
|
|
dedupeModelListeners(data);
|
|
const children = rebuildSlots(slots(), h);
|
|
data = mergeData(data, {
|
|
props
|
|
});
|
|
|
|
if (props.mobile) {
|
|
return h(VDataTableHeaderMobile, data, children);
|
|
} else {
|
|
return h(VDataTableHeaderDesktop, data, children);
|
|
}
|
|
}
|
|
|
|
});
|
|
//# sourceMappingURL=VDataTableHeader.js.map
|