@layui/layui-vue
Version:
a component library for Vue 3 base on layui-vue
14 lines (13 loc) • 3.31 kB
JavaScript
import { defineComponent as z, openBlock as t, createElementBlock as u, unref as e, normalizeClass as b, createCommentVNode as c, createBlock as g, withCtx as i, createVNode as m, Fragment as v, renderList as h, createTextVNode as N, toDisplayString as y, createElementVNode as P } from "vue";
import k from "../../dropdown/index.js";
import L from "../../dropdownMenu/index.js";
import M from "../../dropdownMenuItem/index.js";
import { LayIcon as w } from "@layui/icons-vue";
import { usePage as T } from "../usePage.js";
const V = { class: "layui-pager" }, B = ["data-page"], H = ["onClick", "data-page"], R = ["data-page"], J = z({ name: "LayPager", __name: "pager", setup(D) {
const { pageCount: n, pageOpionData: C, handlePage: r, setPage: s, iconPrevHover: d, iconNextHover: f, currentPage: o, handleNext: E, theme: p, pageTotal: j, ellipsisTooltip: x } = T();
return (F, l) => (t(), u("ul", V, [e(s)[0] !== 1 ? (t(), u("li", { key: 0, "data-page": e(o), onClick: l[0] || (l[0] = (a) => e(r)(1)), class: b(["layui-pager-number", { [e(p) ? "layui-bg-" + e(p) : ""]: e(o) === 1, "is-active": e(o) === 1 }]) }, " 1 ", 10, B)) : c("", !0), e(s)[0] > 2 ? (t(), g(e(k), { key: 1, disabled: !e(x), ref: "manualRef", trigger: "hover", placement: "bottom" }, { content: i(() => [m(e(L), { style: { "max-height": "140px", "overflow-y": "auto" } }, { default: i(() => [(t(!0), u(v, null, h(e(C).resetLeft, (a) => (t(), g(e(M), { key: a, onClick: (_) => e(r)(a) }, { default: i(() => [N(y(a), 1)]), _: 2 }, 1032, ["onClick"]))), 128))]), _: 1 })]), default: i(() => [P("li", { "data-page": "向前 3 页", class: "layui-pager-number layui-page-left-number", onMouseleave: l[1] || (l[1] = (a) => d.value = !0), onMouseenter: l[2] || (l[2] = (a) => d.value = !1), onClick: l[3] || (l[3] = (a) => e(r)(e(o) - 3)) }, [m(e(w), { type: e(d) ? "layui-icon-more" : "layui-icon-left", size: "12px" }, null, 8, ["type"])], 32)]), _: 1 }, 8, ["disabled"])) : c("", !0), (t(!0), u(v, null, h(e(s), (a) => (t(), u("li", { onClick: (_) => e(r)(a), key: a, "data-page": a, class: b(["layui-pager-number", { [e(p) ? "layui-bg-" + e(p) : ""]: a === e(o), "is-active": a === e(o) }]) }, y(a), 11, H))), 128)), e(s)[e(s).length - 1] < e(n) - 1 ? (t(), g(e(k), { key: 2, disabled: !e(x), trigger: "hover", placement: "bottom" }, { content: i(() => [m(e(L), { style: { "max-height": "140px", "overflow-y": "auto" } }, { default: i(() => [(t(!0), u(v, null, h(e(C).resetRight, (a) => (t(), g(e(M), { key: a, onClick: (_) => e(r)(a) }, { default: i(() => [N(y(a), 1)]), _: 2 }, 1032, ["onClick"]))), 128))]), _: 1 })]), default: i(() => [P("li", { "data-page": "向后 3 页", class: "layui-pager-number layui-page-right-number", onMouseleave: l[4] || (l[4] = (a) => f.value = !0), onMouseenter: l[5] || (l[5] = (a) => f.value = !1), onClick: l[6] || (l[6] = (a) => e(r)(e(o) + 3)) }, [m(e(w), { type: e(f) ? "layui-icon-more" : "layui-icon-right", size: "12px" }, null, 8, ["type"])], 32)]), _: 1 }, 8, ["disabled"])) : c("", !0), e(s)[e(s).length - 1] !== e(n) ? (t(), u("li", { key: 3, "data-page": e(n), onClick: l[7] || (l[7] = (a) => e(r)(e(n))), class: b(["layui-pager-number", { [e(p) ? "layui-bg-" + e(p) : ""]: e(n) === e(o), "is-active": e(n) === e(o) }]) }, y(e(n)), 11, R)) : c("", !0)]));
} });
export {
J as default
};