@progress/kendo-vue-data-tools
Version:
68 lines (67 loc) • 2.07 kB
JavaScript
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
import { defineComponent as m, createVNode as r, inject as u } from "vue";
import { pagerItemPerPage as i, pagerPageSelection as t, messages as p } from "../messages/main.mjs";
import { provideLocalizationService as d } from "@progress/kendo-vue-intl";
import { DropDownList as S } from "@progress/kendo-vue-dropdowns";
const v = /* @__PURE__ */ m({
name: "KendoPagerPageSizes",
props: {
value: [String, Number],
pageSize: Number,
pageSizes: Array,
size: String,
messagesMap: Function,
onPagechange: Function
},
inject: {
kendoLocalizationService: {
default: null
}
},
methods: {
pageSizeChange(e) {
this.$emit("pagechange", {
skip: 0,
take: parseInt(e.target.value, 10)
}, e);
}
},
setup() {
return {
kendoLocalizationService: u("kendoLocalizationService", {})
};
},
render() {
const {
value: e,
pageSizes: c,
pageSize: s
} = this.$props, n = d(this), a = c.slice();
e === void 0 && a.filter((l) => l === s).length === 0 && a.unshift(s);
const o = this.$props.messagesMap ? this.$props.messagesMap(i) : {
messageKey: i,
defaultMessage: p[i]
}, g = this.$props.messagesMap ? this.$props.messagesMap(t) : {
messageKey: t,
defaultMessage: p[t]
};
return r("span", {
class: "k-pager-sizes k-label"
}, [r(S, {
value: e !== void 0 ? e : s,
dataItems: a,
size: this.$props.size,
ariaLabel: n.toLanguageString(g.messageKey, g.defaultMessage),
onChange: this.pageSizeChange
}, null), n.toLanguageString(o.messageKey, o.defaultMessage)]);
}
});
export {
v as PagerPageSizes
};