custom-bootstrap-vue
Version:
Custom version of bootstrap-vue created for providing specific theme to a particular project
65 lines (60 loc) • 1.96 kB
JavaScript
import Vue from '../../utils/vue'
// Mixins
import attrsMixin from '../../mixins/attrs'
import hasListenerMixin from '../../mixins/has-listener'
import idMixin from '../../mixins/id'
import normalizeSlotMixin from '../../mixins/normalize-slot'
// Table helper Mixins
import itemsMixin from './helpers/mixin-items'
import stackedMixin from './helpers/mixin-stacked'
import filteringMixin from './helpers/mixin-filtering'
import sortingMixin from './helpers/mixin-sorting'
import paginationMixin from './helpers/mixin-pagination'
import captionMixin from './helpers/mixin-caption'
import colgroupMixin from './helpers/mixin-colgroup'
import theadMixin from './helpers/mixin-thead'
import tfootMixin from './helpers/mixin-tfoot'
import tbodyMixin from './helpers/mixin-tbody'
import emptyMixin from './helpers/mixin-empty'
import topRowMixin from './helpers/mixin-top-row'
import bottomRowMixin from './helpers/mixin-bottom-row'
import busyMixin from './helpers/mixin-busy'
import selectableMixin from './helpers/mixin-selectable'
import providerMixin from './helpers/mixin-provider'
// Main table renderer mixin
import tableRendererMixin from './helpers/mixin-table-renderer'
// b-table component definition
// @vue/component
export const BTable = /*#__PURE__*/ Vue.extend({
name: 'BTable',
// Order of mixins is important!
// They are merged from first to last, followed by this component
mixins: [
// General mixins
attrsMixin,
hasListenerMixin,
idMixin,
normalizeSlotMixin,
// Required table mixins
itemsMixin,
tableRendererMixin,
stackedMixin,
theadMixin,
tfootMixin,
tbodyMixin,
// Table features mixins
stackedMixin,
filteringMixin,
sortingMixin,
paginationMixin,
captionMixin,
colgroupMixin,
selectableMixin,
emptyMixin,
topRowMixin,
bottomRowMixin,
busyMixin,
providerMixin
]
// Render function is provided by table-renderer mixin
})