UNPKG

@aplus-frontend/ui

Version:

77 lines (76 loc) 1.62 kB
import { ref as y, computed as s, unref as c } from "vue"; import { isFunction as K } from "lodash-unified"; const m = (a) => { const n = y([]); function f(e, t) { n.value = t; } const l = (e) => K(a.rowKey) ? a.rowKey(e) : e[a.rowKey], o = s(() => { const e = /* @__PURE__ */ new Map(); return c(n).forEach((t) => { e.set(l(t), t); }), e; }); function r(e) { return c(o).has(l(e)); } function d(e) { const t = c(o); t.set(l(e), e), n.value = [...t.values()]; } function i(e) { const t = c(o); for (const u of e) t.set(l(u), u); n.value = [...t.values()]; } function S(e) { const t = c(o); t.delete(l(e)), n.value = [...t.values()]; } function v(e) { const t = c(o); for (const u of e) t.delete(l(u)); n.value = [...t.values()]; } function M() { const e = c(o); c(a.dataSource).forEach((t) => { e.set(l(t), t); }), n.value = [...e.values()]; } function w(e) { const t = c(o), u = l(e); t.has(u) ? t.delete(u) : t.set(u, e), n.value = [...t.values()]; } function x() { const e = c(o); c(a.dataSource).forEach((t) => { e.delete(l(t)); }), n.value = [...e.values()]; } function h() { n.value = []; } return { select: d, unSelect: S, isSelected: r, selectAll: M, unSelectAll: x, clearAll: h, toggleSelect: w, selectedRows: n, selectMulti: i, unSelectMulti: v, rowSelection: s(() => ({ ...a, onChange: f, selectedRowKeys: c(n).map((e) => l(e)) })) }; }; export { m as default };