| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- import { defineComponent, ref, watch, computed, openBlock, createElementBlock, normalizeClass, unref, createVNode, withCtx, Fragment, renderList, createBlock } from 'vue';
- import { isEqual } from 'lodash-unified';
- import { ElSelect, ElOption } from '../../../select/index.mjs';
- import { usePagination } from '../usePagination.mjs';
- import { paginationSizesProps } from './sizes2.mjs';
- import _export_sfc from '../../../../_virtual/plugin-vue_export-helper.mjs';
- import { useLocale } from '../../../../hooks/use-locale/index.mjs';
- import { useNamespace } from '../../../../hooks/use-namespace/index.mjs';
- import { isArray } from '@vue/shared';
- const __default__ = defineComponent({
- name: "ElPaginationSizes"
- });
- const _sfc_main = /* @__PURE__ */ defineComponent({
- ...__default__,
- props: paginationSizesProps,
- emits: ["page-size-change"],
- setup(__props, { emit }) {
- const props = __props;
- const { t } = useLocale();
- const ns = useNamespace("pagination");
- const pagination = usePagination();
- const innerPageSize = ref(props.pageSize);
- watch(() => props.pageSizes, (newVal, oldVal) => {
- if (isEqual(newVal, oldVal))
- return;
- if (isArray(newVal)) {
- const pageSize = newVal.includes(props.pageSize) ? props.pageSize : props.pageSizes[0];
- emit("page-size-change", pageSize);
- }
- });
- watch(() => props.pageSize, (newVal) => {
- innerPageSize.value = newVal;
- });
- const innerPageSizes = computed(() => props.pageSizes);
- function handleChange(val) {
- var _a;
- if (val !== innerPageSize.value) {
- innerPageSize.value = val;
- (_a = pagination.handleSizeChange) == null ? void 0 : _a.call(pagination, Number(val));
- }
- }
- return (_ctx, _cache) => {
- return openBlock(), createElementBlock("span", {
- class: normalizeClass(unref(ns).e("sizes"))
- }, [
- createVNode(unref(ElSelect), {
- "model-value": innerPageSize.value,
- disabled: _ctx.disabled,
- "popper-class": _ctx.popperClass,
- size: _ctx.size,
- teleported: _ctx.teleported,
- "validate-event": false,
- "append-to": _ctx.appendSizeTo,
- onChange: handleChange
- }, {
- default: withCtx(() => [
- (openBlock(true), createElementBlock(Fragment, null, renderList(unref(innerPageSizes), (item) => {
- return openBlock(), createBlock(unref(ElOption), {
- key: item,
- value: item,
- label: item + unref(t)("el.pagination.pagesize")
- }, null, 8, ["value", "label"]);
- }), 128))
- ]),
- _: 1
- }, 8, ["model-value", "disabled", "popper-class", "size", "teleported", "append-to"])
- ], 2);
- };
- }
- });
- var Sizes = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "sizes.vue"]]);
- export { Sizes as default };
- //# sourceMappingURL=sizes.mjs.map
|