UNPKG

@aplus-frontend/ui

Version:

2 lines (1 loc) 1.68 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("vue"),a=require("lodash-unified");function R(l,u){return!u?.length||a.isFunction(l)?[]:u.map(o=>({[l]:o}))}const A=l=>{const u=n.ref(R(l.rowKey,l.defaultSelectedRowKeys)),o=e=>a.isFunction(l.rowKey)?l.rowKey(e):e[l.rowKey],s=n.computed(()=>{const e=new Map;return n.unref(u).forEach(t=>{e.set(o(t),t)}),e});function d(e){return n.unref(s).has(o(e))}function S(e){if(!r(e))return;const t=n.unref(s);t.set(o(e),e),u.value=[...t.values()]}function v(e){const t=n.unref(s);for(const c of e)r(c)&&t.set(o(c),c);u.value=[...t.values()]}function M(e){if(a.isFunction(l.rowKey))return;const t=n.unref(s);for(const c of e){const f=n.unref(l.dataSource).find(h=>o(h)===c),i={[l.rowKey]:c};r(f||i)&&t.set(c,f||i)}u.value=[...t.values()]}function w(e){if(!r(e))return;const t=n.unref(s);t.delete(o(e)),u.value=[...t.values()]}function y(e){const t=n.unref(s);for(const c of e)r(c)&&t.delete(o(c));u.value=[...t.values()]}function r(e){const t=l.disabled;return!(t?t(e):!1)}function g(){const e=n.unref(s);n.unref(l.dataSource).forEach(t=>{r(t)&&e.set(o(t),t)}),u.value=[...e.values()]}function K(e){if(!r(e))return;const t=n.unref(s),c=o(e);t.has(c)?t.delete(c):t.set(c,e),u.value=[...t.values()]}function x(){const e=n.unref(s);n.unref(l.dataSource).forEach(t=>{r(t)&&e.delete(o(t))}),u.value=[...e.values()]}function b(){u.value=[]}return{select:S,unSelect:w,isSelected:d,selectAll:g,unSelectAll:x,clearAll:b,toggleSelect:K,selectedRows:u,selectedRowKeys:n.computed(()=>n.unref(u).map(e=>o(e))),selectMulti:v,unSelectMulti:y,selectMultiByKeys:M}};exports.default=A;