UNPKG

@gitlab/ui

Version:
44 lines (37 loc) 1.28 kB
import { extend } from '../../../vue'; import { SLOT_NAME_BOTTOM_ROW } from '../../../constants/slots'; import { isFunction } from '../../../utils/inspect'; import { BTr } from '../tr'; // --- Props --- const props = {}; // --- Mixin --- // @vue/component const bottomRowMixin = extend({ props, methods: { renderBottomRow() { const { computedFields: fields, stacked, tbodyTrClass, tbodyTrAttr } = this; const h = this.$createElement; // Static bottom row slot (hidden in visibly stacked mode as we can't control the data-label) // If in *always* stacked mode, we don't bother rendering the row if (!this.hasNormalizedSlot(SLOT_NAME_BOTTOM_ROW) || stacked === true || stacked === '') { return h(); } return h(BTr, { staticClass: 'b-table-bottom-row', class: [isFunction(tbodyTrClass) ? /* istanbul ignore next */tbodyTrClass(null, 'row-bottom') : tbodyTrClass], attrs: isFunction(tbodyTrAttr) ? /* istanbul ignore next */tbodyTrAttr(null, 'row-bottom') : tbodyTrAttr, key: 'b-bottom-row' }, this.normalizeSlot(SLOT_NAME_BOTTOM_ROW, { columns: fields.length, fields })); } } }); export { bottomRowMixin, props };