@progress/kendo-vue-data-tools
Version:
80 lines (79 loc) • 2.68 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 a, inject as l } from "vue";
import { pagerPage as n, pagerOf as r, pagerTotalPages as i, pagerPageInputAriaLabel as o, messages as t } from "../messages/main.mjs";
import { provideIntlService as d, provideLocalizationService as h } from "@progress/kendo-vue-intl";
import { NumericTextBox as f } from "@progress/kendo-vue-inputs";
const P = /* @__PURE__ */ m({
name: "KendoPagerInput",
props: {
totalPages: Number,
currentPage: Number,
messagesMap: Function,
size: String,
onPagechange: Function
},
inject: {
kendoIntlService: {
default: null
},
kendoLocalizationService: {
default: null
}
},
data() {
return {
currentText: void 0
};
},
computed: {
computedValue() {
return this.$props.currentPage !== void 0 ? this.$props.currentPage : this.currentText;
}
},
methods: {
changeHangler(e) {
this.currentText = e.target.value, this.currentText && this.$emit("pagechange", this.currentText, e);
}
},
setup() {
const e = l("kendoIntlService", {}), s = l("kendoLocalizationService", {});
return {
kendoIntlService: e,
kendoLocalizationService: s
};
},
render() {
const e = d(this), s = h(this), g = this.$props.messagesMap ? this.$props.messagesMap(n) : {
messageKey: n,
defaultMessage: t[n]
}, p = this.$props.messagesMap ? this.$props.messagesMap(r) : {
messageKey: r,
defaultMessage: t[r]
}, u = this.$props.messagesMap ? this.$props.messagesMap(i) : {
messageKey: i,
defaultMessage: t[i]
}, c = this.$props.messagesMap ? this.$props.messagesMap(o) : {
messageKey: o,
defaultMessage: t[o]
};
return a("span", {
class: "k-pager-input"
}, [a("span", null, [s.toLanguageString(g.messageKey, g.defaultMessage)]), a(f, {
min: 1,
value: this.computedValue,
onChange: this.changeHangler,
spinners: !1,
size: this.$props.size,
ariaLabel: s.toLanguageString(c.messageKey, c.defaultMessage)
}, null), a("span", null, [`${s.toLanguageString(p.messageKey, p.defaultMessage)} ${e.format(s.toLanguageString(u.messageKey, u.defaultMessage), [this.$props.totalPages])}`])]);
}
});
export {
P as PagerInput
};