vue-tables-2
Version:
Vue.js 2 grid components
153 lines (143 loc) • 5.23 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _VtPerPageSelector = _interopRequireDefault(require("./VtPerPageSelector"));
var _VtTable = _interopRequireDefault(require("./VtTable"));
var _VtPagination = _interopRequireDefault(require("./VtPagination"));
var _VtDropdownPagination = _interopRequireDefault(require("./VtDropdownPagination"));
var _VtGenericFilter = _interopRequireDefault(require("./VtGenericFilter"));
var _VtColumnsDropdown = _interopRequireDefault(require("./VtColumnsDropdown"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _default2 = {
name: 'VtClientTable',
components: {
VtPerPageSelector: _VtPerPageSelector["default"],
VtTable: _VtTable["default"],
VtPagination: _VtPagination["default"],
VtDropdownPagination: _VtDropdownPagination["default"],
VtColumnsDropdown: _VtColumnsDropdown["default"],
VtGenericFilter: _VtGenericFilter["default"]
},
props: {
columns: {
type: Array,
required: true
},
data: {
type: Array,
required: true
},
name: {
type: String,
required: false
},
options: {
type: Object,
required: false,
"default": function _default() {
return {};
}
}
},
methods: {
setLoadingState: function setLoadingState(isLoading) {
this.$refs.table.loading = isLoading;
},
setFilter: function setFilter(val) {
this.$refs.table.setFilter(val);
},
setPage: function setPage(val) {
this.$refs.table.setPage(val);
},
setOrder: function setOrder(column, asc) {
this.$refs.table.setOrder(column, asc);
},
setLimit: function setLimit(limit) {
this.$refs.table.setLimit(limit);
},
toggleChildRow: function toggleChildRow(rowId) {
this.$refs.table.toggleChildRow(rowId);
},
getOpenChildRows: function getOpenChildRows() {
var rows = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
return this.$refs.table.getOpenChildRows(rows);
},
resetQuery: function resetQuery() {
this.$refs.table.resetQuery();
},
setCustomFilters: function setCustomFilters(params) {
var sendRequest = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
return this.$refs.table.setCustomFilters(params, sendRequest);
}
},
computed: {
filteredData: function filteredData() {
return this.$refs.table.filteredData;
},
allFilteredData: function allFilteredData() {
return this.$refs.table.allFilteredData;
},
filtersCount: function filtersCount() {
return this.$refs.table.filtersCount;
}
},
provide: function provide() {
var _this = this;
return {
scopedSlots: function scopedSlots() {
return _this.$scopedSlots;
},
slots: function slots() {
return _this.$slots;
}
};
},
model: {
prop: "data"
},
render: function render(h) {
return h("r-l-client-table", {
attrs: {
data: this.data,
columns: this.columns,
name: this.name,
options: this.options
},
ref: "table",
scopedSlots: {
"default": function _default(props) {
return props.override ? h(props.override, {
attrs: {
props: props
}
}) : h("div", {
"class": "VueTables VueTables--" + props.source
}, [h("div", {
"class": props.theme.row
}, [h("div", {
"class": props.theme.column
}, [!props.opts.filterByColumn && props.opts.filterable ? h("div", {
"class": "".concat(props.theme.field, " ").concat(props.theme.inline, " ").concat(props.theme.left, " VueTables__search")
}, [props.slots.beforeFilter, h("vt-generic-filter", {
ref: "genericFilter"
}), props.slots.afterFilter]) : '', props.slots.afterFilterWrapper, props.perPageValues.length > 1 || props.opts.alwaysShowPerPageSelect ? h("div", {
"class": "".concat(props.theme.field, " ").concat(props.theme.inline, " ").concat(props.theme.right, " VueTables__limit")
}, [props.slots.beforeLimit, h("vt-per-page-selector"), props.slots.afterLimit]) : '', props.opts.pagination.dropdown && props.totalPages > 1 ? h("div", {
"class": "VueTables__pagination-wrapper"
}, [h("div", {
"class": "".concat(props.theme.field, " ").concat(props.theme.inline, " ").concat(props.theme.right, " VueTables__dropdown-pagination")
}, [h("vt-dropdown-pagination")])]) : '', props.opts.columnsDropdown ? h("div", {
"class": "VueTables__columns-dropdown-wrapper ".concat(props.theme.right, " ").concat(props.theme.dropdown.container)
}, [h("vt-columns-dropdown")]) : ''])]), props.slots.beforeTable, h("div", {
"class": "table-responsive"
}, [h("vt-table", {
ref: "vt_table"
})]), props.slots.afterTable, props.opts.pagination.show ? h("vt-pagination") : '']);
}
}
});
}
};
exports["default"] = _default2;
;