2019-04-17 15:58:15 +02:00
|
|
|
|
'use strict';
|
|
|
|
|
|
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
|
|
|
value: true
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
|
|
|
|
|
|
|
|
|
|
var _VBtn = require('../components/VBtn');
|
|
|
|
|
|
|
|
|
|
var _VBtn2 = _interopRequireDefault(_VBtn);
|
|
|
|
|
|
|
|
|
|
var _VIcon = require('../components/VIcon');
|
|
|
|
|
|
|
|
|
|
var _VIcon2 = _interopRequireDefault(_VIcon);
|
|
|
|
|
|
|
|
|
|
var _VSelect = require('../components/VSelect');
|
|
|
|
|
|
|
|
|
|
var _VSelect2 = _interopRequireDefault(_VSelect);
|
|
|
|
|
|
|
|
|
|
var _filterable = require('./filterable');
|
|
|
|
|
|
|
|
|
|
var _filterable2 = _interopRequireDefault(_filterable);
|
|
|
|
|
|
|
|
|
|
var _themeable = require('./themeable');
|
|
|
|
|
|
|
|
|
|
var _themeable2 = _interopRequireDefault(_themeable);
|
|
|
|
|
|
|
|
|
|
var _loadable = require('./loadable');
|
|
|
|
|
|
|
|
|
|
var _loadable2 = _interopRequireDefault(_loadable);
|
|
|
|
|
|
|
|
|
|
var _helpers = require('../util/helpers');
|
|
|
|
|
|
|
|
|
|
var _console = require('../util/console');
|
|
|
|
|
|
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
|
|
|
|
|
|
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* DataIterable
|
|
|
|
|
*
|
|
|
|
|
* @mixin
|
|
|
|
|
*
|
|
|
|
|
* Base behavior for data table and data iterator
|
|
|
|
|
* providing selection, pagination, sorting and filtering.
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
/* @vue/component */
|
|
|
|
|
exports.default = {
|
|
|
|
|
name: 'data-iterable',
|
|
|
|
|
mixins: [_filterable2.default, _loadable2.default, _themeable2.default],
|
|
|
|
|
props: {
|
|
|
|
|
expand: Boolean,
|
|
|
|
|
hideActions: Boolean,
|
|
|
|
|
disableInitialSort: Boolean,
|
|
|
|
|
mustSort: Boolean,
|
|
|
|
|
noResultsText: {
|
|
|
|
|
type: String,
|
|
|
|
|
default: '$vuetify.dataIterator.noResultsText'
|
|
|
|
|
},
|
|
|
|
|
nextIcon: {
|
|
|
|
|
type: String,
|
|
|
|
|
default: '$vuetify.icons.next'
|
|
|
|
|
},
|
|
|
|
|
prevIcon: {
|
|
|
|
|
type: String,
|
|
|
|
|
default: '$vuetify.icons.prev'
|
|
|
|
|
},
|
|
|
|
|
rowsPerPageItems: {
|
|
|
|
|
type: Array,
|
|
|
|
|
default: function _default() {
|
|
|
|
|
return [5, 10, 25, {
|
|
|
|
|
text: '$vuetify.dataIterator.rowsPerPageAll',
|
|
|
|
|
value: -1
|
|
|
|
|
}];
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
rowsPerPageText: {
|
|
|
|
|
type: String,
|
|
|
|
|
default: '$vuetify.dataIterator.rowsPerPageText'
|
|
|
|
|
},
|
|
|
|
|
selectAll: [Boolean, String],
|
|
|
|
|
search: {
|
|
|
|
|
required: false
|
|
|
|
|
},
|
|
|
|
|
filter: {
|
|
|
|
|
type: Function,
|
|
|
|
|
default: function _default(val, search) {
|
|
|
|
|
return val != null && typeof val !== 'boolean' && val.toString().toLowerCase().indexOf(search) !== -1;
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
customFilter: {
|
|
|
|
|
type: Function,
|
|
|
|
|
default: function _default(items, search, filter) {
|
|
|
|
|
search = search.toString().toLowerCase();
|
|
|
|
|
if (search.trim() === '') return items;
|
|
|
|
|
return items.filter(function (i) {
|
|
|
|
|
return Object.keys(i).some(function (j) {
|
|
|
|
|
return filter(i[j], search);
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
customSort: {
|
|
|
|
|
type: Function,
|
|
|
|
|
default: function _default(items, index, isDescending) {
|
|
|
|
|
if (index === null) return items;
|
|
|
|
|
return items.sort(function (a, b) {
|
|
|
|
|
var sortA = (0, _helpers.getObjectValueByPath)(a, index);
|
|
|
|
|
var sortB = (0, _helpers.getObjectValueByPath)(b, index);
|
|
|
|
|
if (isDescending) {
|
|
|
|
|
var _ref = [sortB, sortA];
|
|
|
|
|
sortA = _ref[0];
|
|
|
|
|
sortB = _ref[1];
|
|
|
|
|
}
|
|
|
|
|
// Check if both are numbers
|
|
|
|
|
if (!isNaN(sortA) && !isNaN(sortB)) {
|
|
|
|
|
return sortA - sortB;
|
|
|
|
|
}
|
|
|
|
|
// Check if both cannot be evaluated
|
|
|
|
|
if (sortA === null && sortB === null) {
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var _map = [sortA, sortB].map(function (s) {
|
|
|
|
|
return (s || '').toString().toLocaleLowerCase();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
var _map2 = _slicedToArray(_map, 2);
|
|
|
|
|
|
|
|
|
|
sortA = _map2[0];
|
|
|
|
|
sortB = _map2[1];
|
|
|
|
|
|
|
|
|
|
if (sortA > sortB) return 1;
|
|
|
|
|
if (sortA < sortB) return -1;
|
|
|
|
|
return 0;
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
value: {
|
|
|
|
|
type: Array,
|
|
|
|
|
default: function _default() {
|
|
|
|
|
return [];
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
items: {
|
|
|
|
|
type: Array,
|
|
|
|
|
required: true,
|
|
|
|
|
default: function _default() {
|
|
|
|
|
return [];
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
totalItems: {
|
|
|
|
|
type: Number,
|
|
|
|
|
default: null
|
|
|
|
|
},
|
|
|
|
|
itemKey: {
|
|
|
|
|
type: String,
|
|
|
|
|
default: 'id'
|
|
|
|
|
},
|
|
|
|
|
pagination: {
|
|
|
|
|
type: Object,
|
|
|
|
|
default: function _default() {}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
data: function data() {
|
|
|
|
|
return {
|
|
|
|
|
searchLength: 0,
|
|
|
|
|
defaultPagination: {
|
|
|
|
|
descending: false,
|
|
|
|
|
page: 1,
|
|
|
|
|
rowsPerPage: 5,
|
|
|
|
|
sortBy: null,
|
|
|
|
|
totalItems: 0
|
|
|
|
|
},
|
|
|
|
|
expanded: {},
|
|
|
|
|
actionsClasses: 'v-data-iterator__actions',
|
|
|
|
|
actionsRangeControlsClasses: 'v-data-iterator__actions__range-controls',
|
|
|
|
|
actionsSelectClasses: 'v-data-iterator__actions__select',
|
|
|
|
|
actionsPaginationClasses: 'v-data-iterator__actions__pagination'
|
|
|
|
|
};
|
|
|
|
|
},
|
|
|
|
|
computed: {
|
|
|
|
|
computedPagination: function computedPagination() {
|
|
|
|
|
return this.hasPagination ? this.pagination : this.defaultPagination;
|
|
|
|
|
},
|
|
|
|
|
computedRowsPerPageItems: function computedRowsPerPageItems() {
|
|
|
|
|
var _this = this;
|
|
|
|
|
|
|
|
|
|
return this.rowsPerPageItems.map(function (item) {
|
|
|
|
|
return (0, _helpers.isObject)(item) ? Object.assign({}, item, {
|
|
|
|
|
text: _this.$vuetify.t(item.text)
|
|
|
|
|
}) : { value: item, text: Number(item).toLocaleString(_this.$vuetify.lang.current) };
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
hasPagination: function hasPagination() {
|
|
|
|
|
var pagination = this.pagination || {};
|
|
|
|
|
return Object.keys(pagination).length > 0;
|
|
|
|
|
},
|
|
|
|
|
hasSelectAll: function hasSelectAll() {
|
|
|
|
|
return this.selectAll !== undefined && this.selectAll !== false;
|
|
|
|
|
},
|
|
|
|
|
itemsLength: function itemsLength() {
|
|
|
|
|
if (this.hasSearch) return this.searchLength;
|
|
|
|
|
return this.totalItems || this.items.length;
|
|
|
|
|
},
|
|
|
|
|
indeterminate: function indeterminate() {
|
|
|
|
|
return this.hasSelectAll && this.someItems && !this.everyItem;
|
|
|
|
|
},
|
|
|
|
|
everyItem: function everyItem() {
|
|
|
|
|
var _this2 = this;
|
|
|
|
|
|
|
|
|
|
return this.filteredItems.length && this.filteredItems.every(function (i) {
|
|
|
|
|
return _this2.isSelected(i);
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
someItems: function someItems() {
|
|
|
|
|
var _this3 = this;
|
|
|
|
|
|
|
|
|
|
return this.filteredItems.some(function (i) {
|
|
|
|
|
return _this3.isSelected(i);
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
getPage: function getPage() {
|
|
|
|
|
var rowsPerPage = this.computedPagination.rowsPerPage;
|
|
|
|
|
|
|
|
|
|
return rowsPerPage === Object(rowsPerPage) ? rowsPerPage.value : rowsPerPage;
|
|
|
|
|
},
|
|
|
|
|
pageStart: function pageStart() {
|
|
|
|
|
return this.getPage === -1 ? 0 : (this.computedPagination.page - 1) * this.getPage;
|
|
|
|
|
},
|
|
|
|
|
pageStop: function pageStop() {
|
|
|
|
|
return this.getPage === -1 ? this.itemsLength : this.computedPagination.page * this.getPage;
|
|
|
|
|
},
|
|
|
|
|
filteredItems: function filteredItems() {
|
|
|
|
|
return this.filteredItemsImpl();
|
|
|
|
|
},
|
|
|
|
|
selected: function selected() {
|
|
|
|
|
var selected = {};
|
|
|
|
|
for (var index = 0; index < this.value.length; index++) {
|
|
|
|
|
var key = (0, _helpers.getObjectValueByPath)(this.value[index], this.itemKey);
|
|
|
|
|
selected[key] = true;
|
|
|
|
|
}
|
|
|
|
|
return selected;
|
|
|
|
|
},
|
|
|
|
|
hasSearch: function hasSearch() {
|
|
|
|
|
return this.search != null;
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
watch: {
|
|
|
|
|
items: function items() {
|
|
|
|
|
var _this4 = this;
|
|
|
|
|
|
|
|
|
|
if (this.pageStart >= this.itemsLength) {
|
|
|
|
|
this.resetPagination();
|
|
|
|
|
}
|
|
|
|
|
var newItemKeys = new Set(this.items.map(function (item) {
|
|
|
|
|
return (0, _helpers.getObjectValueByPath)(item, _this4.itemKey);
|
|
|
|
|
}));
|
|
|
|
|
var selection = this.value.filter(function (item) {
|
|
|
|
|
return newItemKeys.has((0, _helpers.getObjectValueByPath)(item, _this4.itemKey));
|
|
|
|
|
});
|
|
|
|
|
if (selection.length !== this.value.length) {
|
|
|
|
|
this.$emit('input', selection);
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
search: function search() {
|
|
|
|
|
var _this5 = this;
|
|
|
|
|
|
|
|
|
|
this.$nextTick(function () {
|
|
|
|
|
_this5.updatePagination({ page: 1, totalItems: _this5.itemsLength });
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
'computedPagination.sortBy': 'resetPagination',
|
|
|
|
|
'computedPagination.descending': 'resetPagination'
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
initPagination: function initPagination() {
|
|
|
|
|
if (!this.rowsPerPageItems.length) {
|
|
|
|
|
(0, _console.consoleWarn)('The prop \'rows-per-page-items\' can not be empty', this);
|
|
|
|
|
} else {
|
|
|
|
|
this.defaultPagination.rowsPerPage = this.rowsPerPageItems[0];
|
|
|
|
|
}
|
|
|
|
|
this.defaultPagination.totalItems = this.items.length;
|
|
|
|
|
this.updatePagination(Object.assign({}, this.defaultPagination, this.pagination));
|
|
|
|
|
},
|
|
|
|
|
updatePagination: function updatePagination(val) {
|
|
|
|
|
var pagination = this.hasPagination ? this.pagination : this.defaultPagination;
|
|
|
|
|
var updatedPagination = Object.assign({}, pagination, val);
|
|
|
|
|
this.$emit('update:pagination', updatedPagination);
|
|
|
|
|
if (!this.hasPagination) {
|
|
|
|
|
this.defaultPagination = updatedPagination;
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
isSelected: function isSelected(item) {
|
|
|
|
|
return this.selected[(0, _helpers.getObjectValueByPath)(item, this.itemKey)];
|
|
|
|
|
},
|
|
|
|
|
isExpanded: function isExpanded(item) {
|
|
|
|
|
return this.expanded[(0, _helpers.getObjectValueByPath)(item, this.itemKey)];
|
|
|
|
|
},
|
|
|
|
|
filteredItemsImpl: function filteredItemsImpl() {
|
|
|
|
|
if (this.totalItems) return this.items;
|
|
|
|
|
var items = this.items.slice();
|
|
|
|
|
if (this.hasSearch) {
|
|
|
|
|
for (var _len = arguments.length, additionalFilterArgs = Array(_len), _key = 0; _key < _len; _key++) {
|
|
|
|
|
additionalFilterArgs[_key] = arguments[_key];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
items = this.customFilter.apply(this, [items, this.search, this.filter].concat(_toConsumableArray(additionalFilterArgs)));
|
|
|
|
|
this.searchLength = items.length;
|
|
|
|
|
}
|
|
|
|
|
items = this.customSort(items, this.computedPagination.sortBy, this.computedPagination.descending);
|
|
|
|
|
return this.hideActions && !this.hasPagination ? items : items.slice(this.pageStart, this.pageStop);
|
|
|
|
|
},
|
|
|
|
|
resetPagination: function resetPagination() {
|
|
|
|
|
this.computedPagination.page !== 1 && this.updatePagination({ page: 1 });
|
|
|
|
|
},
|
|
|
|
|
sort: function sort(index) {
|
|
|
|
|
var _computedPagination = this.computedPagination,
|
|
|
|
|
sortBy = _computedPagination.sortBy,
|
|
|
|
|
descending = _computedPagination.descending;
|
|
|
|
|
|
|
|
|
|
if (sortBy === null) {
|
|
|
|
|
this.updatePagination({ sortBy: index, descending: false });
|
|
|
|
|
} else if (sortBy === index && !descending) {
|
|
|
|
|
this.updatePagination({ descending: true });
|
|
|
|
|
} else if (sortBy !== index) {
|
|
|
|
|
this.updatePagination({ sortBy: index, descending: false });
|
|
|
|
|
} else if (!this.mustSort) {
|
|
|
|
|
this.updatePagination({ sortBy: null, descending: null });
|
|
|
|
|
} else {
|
|
|
|
|
this.updatePagination({ sortBy: index, descending: false });
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
toggle: function toggle(value) {
|
|
|
|
|
var _this6 = this;
|
|
|
|
|
|
|
|
|
|
var selected = Object.assign({}, this.selected);
|
|
|
|
|
for (var index = 0; index < this.filteredItems.length; index++) {
|
|
|
|
|
var key = (0, _helpers.getObjectValueByPath)(this.filteredItems[index], this.itemKey);
|
|
|
|
|
selected[key] = value;
|
|
|
|
|
}
|
|
|
|
|
this.$emit('input', this.items.filter(function (i) {
|
|
|
|
|
var key = (0, _helpers.getObjectValueByPath)(i, _this6.itemKey);
|
|
|
|
|
return selected[key];
|
|
|
|
|
}));
|
|
|
|
|
},
|
|
|
|
|
createProps: function createProps(item, index) {
|
|
|
|
|
var _this7 = this;
|
|
|
|
|
|
|
|
|
|
var props = { item: item, index: index };
|
|
|
|
|
var keyProp = this.itemKey;
|
|
|
|
|
var itemKey = (0, _helpers.getObjectValueByPath)(item, keyProp);
|
|
|
|
|
Object.defineProperty(props, 'selected', {
|
|
|
|
|
get: function get() {
|
|
|
|
|
return _this7.selected[itemKey];
|
|
|
|
|
},
|
|
|
|
|
set: function set(value) {
|
|
|
|
|
if (itemKey == null) {
|
|
|
|
|
(0, _console.consoleWarn)('"' + keyProp + '" attribute must be defined for item', _this7);
|
|
|
|
|
}
|
|
|
|
|
var selected = _this7.value.slice();
|
|
|
|
|
if (value) selected.push(item);else selected = selected.filter(function (i) {
|
|
|
|
|
return (0, _helpers.getObjectValueByPath)(i, keyProp) !== itemKey;
|
|
|
|
|
});
|
|
|
|
|
_this7.$emit('input', selected);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
Object.defineProperty(props, 'expanded', {
|
|
|
|
|
get: function get() {
|
|
|
|
|
return _this7.expanded[itemKey];
|
|
|
|
|
},
|
|
|
|
|
set: function set(value) {
|
|
|
|
|
if (itemKey == null) {
|
|
|
|
|
(0, _console.consoleWarn)('"' + keyProp + '" attribute must be defined for item', _this7);
|
|
|
|
|
}
|
|
|
|
|
if (!_this7.expand) {
|
|
|
|
|
for (var key in _this7.expanded) {
|
|
|
|
|
_this7.expanded.hasOwnProperty(key) && _this7.$set(_this7.expanded, key, false);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
_this7.$set(_this7.expanded, itemKey, value);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
return props;
|
|
|
|
|
},
|
|
|
|
|
genItems: function genItems() {
|
|
|
|
|
if (!this.itemsLength && !this.items.length) {
|
|
|
|
|
var noData = this.$slots['no-data'] || this.$vuetify.t(this.noDataText);
|
|
|
|
|
return [this.genEmptyItems(noData)];
|
|
|
|
|
}
|
|
|
|
|
if (!this.filteredItems.length) {
|
|
|
|
|
var noResults = this.$slots['no-results'] || this.$vuetify.t(this.noResultsText);
|
|
|
|
|
return [this.genEmptyItems(noResults)];
|
|
|
|
|
}
|
|
|
|
|
return this.genFilteredItems();
|
|
|
|
|
},
|
|
|
|
|
genPrevIcon: function genPrevIcon() {
|
|
|
|
|
var _this8 = this;
|
|
|
|
|
|
|
|
|
|
return this.$createElement(_VBtn2.default, {
|
|
|
|
|
props: {
|
|
|
|
|
disabled: this.computedPagination.page === 1,
|
|
|
|
|
icon: true,
|
|
|
|
|
flat: true
|
|
|
|
|
},
|
|
|
|
|
on: {
|
|
|
|
|
click: function click() {
|
|
|
|
|
var page = _this8.computedPagination.page;
|
|
|
|
|
_this8.updatePagination({ page: page - 1 });
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
attrs: {
|
|
|
|
|
'aria-label': this.$vuetify.t('$vuetify.dataIterator.prevPage')
|
|
|
|
|
}
|
|
|
|
|
}, [this.$createElement(_VIcon2.default, this.$vuetify.rtl ? this.nextIcon : this.prevIcon)]);
|
|
|
|
|
},
|
|
|
|
|
genNextIcon: function genNextIcon() {
|
|
|
|
|
var _this9 = this;
|
|
|
|
|
|
|
|
|
|
var pagination = this.computedPagination;
|
|
|
|
|
var disabled = pagination.rowsPerPage < 0 || pagination.page * pagination.rowsPerPage >= this.itemsLength || this.pageStop < 0;
|
|
|
|
|
return this.$createElement(_VBtn2.default, {
|
|
|
|
|
props: {
|
|
|
|
|
disabled: disabled,
|
|
|
|
|
icon: true,
|
|
|
|
|
flat: true
|
|
|
|
|
},
|
|
|
|
|
on: {
|
|
|
|
|
click: function click() {
|
|
|
|
|
var page = _this9.computedPagination.page;
|
|
|
|
|
_this9.updatePagination({ page: page + 1 });
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
attrs: {
|
|
|
|
|
'aria-label': this.$vuetify.t('$vuetify.dataIterator.nextPage')
|
|
|
|
|
}
|
|
|
|
|
}, [this.$createElement(_VIcon2.default, this.$vuetify.rtl ? this.prevIcon : this.nextIcon)]);
|
|
|
|
|
},
|
|
|
|
|
genSelect: function genSelect() {
|
|
|
|
|
var _this10 = this;
|
|
|
|
|
|
|
|
|
|
return this.$createElement('div', {
|
|
|
|
|
'class': this.actionsSelectClasses
|
|
|
|
|
}, [this.$vuetify.t(this.rowsPerPageText), this.$createElement(_VSelect2.default, {
|
|
|
|
|
attrs: {
|
|
|
|
|
'aria-label': this.$vuetify.t(this.rowsPerPageText)
|
|
|
|
|
},
|
|
|
|
|
props: {
|
|
|
|
|
items: this.computedRowsPerPageItems,
|
|
|
|
|
value: this.computedPagination.rowsPerPage,
|
|
|
|
|
hideDetails: true,
|
|
|
|
|
menuProps: {
|
|
|
|
|
auto: true,
|
|
|
|
|
dark: this.dark,
|
|
|
|
|
light: this.light,
|
|
|
|
|
minWidth: '75px'
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
on: {
|
|
|
|
|
input: function input(val) {
|
|
|
|
|
_this10.updatePagination({
|
|
|
|
|
page: 1,
|
|
|
|
|
rowsPerPage: val
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})]);
|
|
|
|
|
},
|
|
|
|
|
genPagination: function genPagination() {
|
|
|
|
|
var _this11 = this;
|
|
|
|
|
|
|
|
|
|
var pagination = '–';
|
|
|
|
|
if (this.itemsLength) {
|
|
|
|
|
var _$vuetify;
|
|
|
|
|
|
|
|
|
|
var stop = this.itemsLength < this.pageStop || this.pageStop < 0 ? this.itemsLength : this.pageStop;
|
|
|
|
|
pagination = this.$scopedSlots.pageText ? this.$scopedSlots.pageText({
|
|
|
|
|
pageStart: this.pageStart + 1,
|
|
|
|
|
pageStop: stop,
|
|
|
|
|
itemsLength: this.itemsLength
|
|
|
|
|
}) : (_$vuetify = this.$vuetify).t.apply(_$vuetify, ['$vuetify.dataIterator.pageText'].concat(_toConsumableArray([this.pageStart + 1, stop, this.itemsLength].map(function (n) {
|
|
|
|
|
return Number(n).toLocaleString(_this11.$vuetify.lang.current);
|
|
|
|
|
}))));
|
|
|
|
|
}
|
|
|
|
|
return this.$createElement('div', {
|
|
|
|
|
'class': this.actionsPaginationClasses
|
|
|
|
|
}, [pagination]);
|
|
|
|
|
},
|
|
|
|
|
genActions: function genActions() {
|
|
|
|
|
var rangeControls = this.$createElement('div', {
|
|
|
|
|
'class': this.actionsRangeControlsClasses
|
|
|
|
|
}, [this.genPagination(), this.genPrevIcon(), this.genNextIcon()]);
|
|
|
|
|
return [this.$createElement('div', {
|
|
|
|
|
'class': this.actionsClasses
|
|
|
|
|
}, [this.$slots['actions-prepend'] ? this.$createElement('div', {}, this.$slots['actions-prepend']) : null, this.rowsPerPageItems.length > 1 ? this.genSelect() : null, rangeControls, this.$slots['actions-append'] ? this.$createElement('div', {}, this.$slots['actions-append']) : null])];
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
};
|
2019-06-04 14:29:48 +02:00
|
|
|
|
//# sourceMappingURL=data-iterable.js.map
|