UNPKG

@pluve/use-antd-table-vue

Version:

ant-design-vue Form 与 Table 联动逻辑封装

636 lines (635 loc) 16.1 kB
import { reactive as ft, computed as dt } from "vue"; var ht = typeof global == "object" && global && global.Object === Object && global, pt = typeof self == "object" && self && self.Object === Object && self, $ = ht || pt || Function("return this")(), y = $.Symbol, at = Object.prototype, gt = at.hasOwnProperty, yt = at.toString, P = y ? y.toStringTag : void 0; function _t(t) { var e = gt.call(t, P), n = t[P]; try { t[P] = void 0; var r = !0; } catch { } var i = yt.call(t); return r && (e ? t[P] = n : delete t[P]), i; } var vt = Object.prototype, bt = vt.toString; function mt(t) { return bt.call(t); } var Tt = "[object Null]", St = "[object Undefined]", q = y ? y.toStringTag : void 0; function U(t) { return t == null ? t === void 0 ? St : Tt : q && q in Object(t) ? _t(t) : mt(t); } function W(t) { return t != null && typeof t == "object"; } var Ot = "[object Symbol]"; function F(t) { return typeof t == "symbol" || W(t) && U(t) == Ot; } function xt(t, e) { for (var n = -1, r = t == null ? 0 : t.length, i = Array(r); ++n < r; ) i[n] = e(t[n], n, t); return i; } var C = Array.isArray, J = y ? y.prototype : void 0, V = J ? J.toString : void 0; function ot(t) { if (typeof t == "string") return t; if (C(t)) return xt(t, ot) + ""; if (F(t)) return V ? V.call(t) : ""; var e = t + ""; return e == "0" && 1 / t == -1 / 0 ? "-0" : e; } var It = /\s/; function wt(t) { for (var e = t.length; e-- && It.test(t.charAt(e)); ) ; return e; } var Pt = /^\s+/; function Et(t) { return t && t.slice(0, wt(t) + 1).replace(Pt, ""); } function _(t) { var e = typeof t; return t != null && (e == "object" || e == "function"); } var Q = NaN, $t = /^[-+]0x[0-9a-f]+$/i, Ct = /^0b[01]+$/i, Nt = /^0o[0-7]+$/i, zt = parseInt; function Y(t) { if (typeof t == "number") return t; if (F(t)) return Q; if (_(t)) { var e = typeof t.valueOf == "function" ? t.valueOf() : t; t = _(e) ? e + "" : e; } if (typeof t != "string") return t === 0 ? t : +t; t = Et(t); var n = Ct.test(t); return n || Nt.test(t) ? zt(t.slice(2), n ? 2 : 8) : $t.test(t) ? Q : +t; } function At(t) { return t; } var Ft = "[object AsyncFunction]", Rt = "[object Function]", Dt = "[object GeneratorFunction]", Mt = "[object Proxy]"; function jt(t) { if (!_(t)) return !1; var e = U(t); return e == Rt || e == Dt || e == Ft || e == Mt; } var L = $["__core-js_shared__"], k = function() { var t = /[^.]+$/.exec(L && L.keys && L.keys.IE_PROTO || ""); return t ? "Symbol(src)_1." + t : ""; }(); function Ht(t) { return !!k && k in t; } var Lt = Function.prototype, Gt = Lt.toString; function Ut(t) { if (t != null) { try { return Gt.call(t); } catch { } try { return t + ""; } catch { } } return ""; } var Wt = /[\\^$.*+?()[\]{}|]/g, Xt = /^\[object .+?Constructor\]$/, Bt = Function.prototype, Kt = Object.prototype, Zt = Bt.toString, qt = Kt.hasOwnProperty, Jt = RegExp( "^" + Zt.call(qt).replace(Wt, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$" ); function Vt(t) { if (!_(t) || Ht(t)) return !1; var e = jt(t) ? Jt : Xt; return e.test(Ut(t)); } function Qt(t, e) { return t == null ? void 0 : t[e]; } function X(t, e) { var n = Qt(t, e); return Vt(n) ? n : void 0; } function Yt(t, e, n) { switch (n.length) { case 0: return t.call(e); case 1: return t.call(e, n[0]); case 2: return t.call(e, n[0], n[1]); case 3: return t.call(e, n[0], n[1], n[2]); } return t.apply(e, n); } var kt = 800, te = 16, ee = Date.now; function ne(t) { var e = 0, n = 0; return function() { var r = ee(), i = te - (r - n); if (n = r, i > 0) { if (++e >= kt) return arguments[0]; } else e = 0; return t.apply(void 0, arguments); }; } function re(t) { return function() { return t; }; } var A = function() { try { var t = X(Object, "defineProperty"); return t({}, "", {}), t; } catch { } }(), ie = A ? function(t, e) { return A(t, "toString", { configurable: !0, enumerable: !1, value: re(e), writable: !0 }); } : At, ae = ne(ie), oe = 9007199254740991, se = /^(?:0|[1-9]\d*)$/; function st(t, e) { var n = typeof t; return e = e ?? oe, !!e && (n == "number" || n != "symbol" && se.test(t)) && t > -1 && t % 1 == 0 && t < e; } function ue(t, e, n) { e == "__proto__" && A ? A(t, e, { configurable: !0, enumerable: !0, value: n, writable: !0 }) : t[e] = n; } function ut(t, e) { return t === e || t !== t && e !== e; } var ce = Object.prototype, le = ce.hasOwnProperty; function fe(t, e, n) { var r = t[e]; (!(le.call(t, e) && ut(r, n)) || n === void 0 && !(e in t)) && ue(t, e, n); } var tt = Math.max; function de(t, e, n) { return e = tt(e === void 0 ? t.length - 1 : e, 0), function() { for (var r = arguments, i = -1, o = tt(r.length - e, 0), s = Array(o); ++i < o; ) s[i] = r[e + i]; i = -1; for (var a = Array(e + 1); ++i < e; ) a[i] = r[i]; return a[e] = n(s), Yt(t, this, a); }; } var he = 9007199254740991; function pe(t) { return typeof t == "number" && t > -1 && t % 1 == 0 && t <= he; } var ge = "[object Arguments]"; function et(t) { return W(t) && U(t) == ge; } var ct = Object.prototype, ye = ct.hasOwnProperty, _e = ct.propertyIsEnumerable, lt = et(/* @__PURE__ */ function() { return arguments; }()) ? et : function(t) { return W(t) && ye.call(t, "callee") && !_e.call(t, "callee"); }, ve = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, be = /^\w*$/; function me(t, e) { if (C(t)) return !1; var n = typeof t; return n == "number" || n == "symbol" || n == "boolean" || t == null || F(t) ? !0 : be.test(t) || !ve.test(t) || e != null && t in Object(e); } var E = X(Object, "create"); function Te() { this.__data__ = E ? E(null) : {}, this.size = 0; } function Se(t) { var e = this.has(t) && delete this.__data__[t]; return this.size -= e ? 1 : 0, e; } var Oe = "__lodash_hash_undefined__", xe = Object.prototype, Ie = xe.hasOwnProperty; function we(t) { var e = this.__data__; if (E) { var n = e[t]; return n === Oe ? void 0 : n; } return Ie.call(e, t) ? e[t] : void 0; } var Pe = Object.prototype, Ee = Pe.hasOwnProperty; function $e(t) { var e = this.__data__; return E ? e[t] !== void 0 : Ee.call(e, t); } var Ce = "__lodash_hash_undefined__"; function Ne(t, e) { var n = this.__data__; return this.size += this.has(t) ? 0 : 1, n[t] = E && e === void 0 ? Ce : e, this; } function T(t) { var e = -1, n = t == null ? 0 : t.length; for (this.clear(); ++e < n; ) { var r = t[e]; this.set(r[0], r[1]); } } T.prototype.clear = Te; T.prototype.delete = Se; T.prototype.get = we; T.prototype.has = $e; T.prototype.set = Ne; function ze() { this.__data__ = [], this.size = 0; } function R(t, e) { for (var n = t.length; n--; ) if (ut(t[n][0], e)) return n; return -1; } var Ae = Array.prototype, Fe = Ae.splice; function Re(t) { var e = this.__data__, n = R(e, t); if (n < 0) return !1; var r = e.length - 1; return n == r ? e.pop() : Fe.call(e, n, 1), --this.size, !0; } function De(t) { var e = this.__data__, n = R(e, t); return n < 0 ? void 0 : e[n][1]; } function Me(t) { return R(this.__data__, t) > -1; } function je(t, e) { var n = this.__data__, r = R(n, t); return r < 0 ? (++this.size, n.push([t, e])) : n[r][1] = e, this; } function O(t) { var e = -1, n = t == null ? 0 : t.length; for (this.clear(); ++e < n; ) { var r = t[e]; this.set(r[0], r[1]); } } O.prototype.clear = ze; O.prototype.delete = Re; O.prototype.get = De; O.prototype.has = Me; O.prototype.set = je; var He = X($, "Map"); function Le() { this.size = 0, this.__data__ = { hash: new T(), map: new (He || O)(), string: new T() }; } function Ge(t) { var e = typeof t; return e == "string" || e == "number" || e == "symbol" || e == "boolean" ? t !== "__proto__" : t === null; } function D(t, e) { var n = t.__data__; return Ge(e) ? n[typeof e == "string" ? "string" : "hash"] : n.map; } function Ue(t) { var e = D(this, t).delete(t); return this.size -= e ? 1 : 0, e; } function We(t) { return D(this, t).get(t); } function Xe(t) { return D(this, t).has(t); } function Be(t, e) { var n = D(this, t), r = n.size; return n.set(t, e), this.size += n.size == r ? 0 : 1, this; } function S(t) { var e = -1, n = t == null ? 0 : t.length; for (this.clear(); ++e < n; ) { var r = t[e]; this.set(r[0], r[1]); } } S.prototype.clear = Le; S.prototype.delete = Ue; S.prototype.get = We; S.prototype.has = Xe; S.prototype.set = Be; var Ke = "Expected a function"; function B(t, e) { if (typeof t != "function" || e != null && typeof e != "function") throw new TypeError(Ke); var n = function() { var r = arguments, i = e ? e.apply(this, r) : r[0], o = n.cache; if (o.has(i)) return o.get(i); var s = t.apply(this, r); return n.cache = o.set(i, s) || o, s; }; return n.cache = new (B.Cache || S)(), n; } B.Cache = S; var Ze = 500; function qe(t) { var e = B(t, function(r) { return n.size === Ze && n.clear(), r; }), n = e.cache; return e; } var Je = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, Ve = /\\(\\)?/g, Qe = qe(function(t) { var e = []; return t.charCodeAt(0) === 46 && e.push(""), t.replace(Je, function(n, r, i, o) { e.push(i ? o.replace(Ve, "$1") : r || n); }), e; }); function Ye(t) { return t == null ? "" : ot(t); } function M(t, e) { return C(t) ? t : me(t, e) ? [t] : Qe(Ye(t)); } function K(t) { if (typeof t == "string" || F(t)) return t; var e = t + ""; return e == "0" && 1 / t == -1 / 0 ? "-0" : e; } function ke(t, e) { e = M(e, t); for (var n = 0, r = e.length; t != null && n < r; ) t = t[K(e[n++])]; return n && n == r ? t : void 0; } function tn(t, e) { for (var n = -1, r = e.length, i = t.length; ++n < r; ) t[i + n] = e[n]; return t; } var nt = y ? y.isConcatSpreadable : void 0; function en(t) { return C(t) || lt(t) || !!(nt && t && t[nt]); } function nn(t, e, n, r, i) { var o = -1, s = t.length; for (n || (n = en), i || (i = []); ++o < s; ) { var a = t[o]; n(a) ? tn(i, a) : i[i.length] = a; } return i; } function rn(t) { var e = t == null ? 0 : t.length; return e ? nn(t) : []; } function an(t) { return ae(de(t, void 0, rn), t + ""); } function on(t, e) { return t != null && e in Object(t); } function sn(t, e, n) { e = M(e, t); for (var r = -1, i = e.length, o = !1; ++r < i; ) { var s = K(e[r]); if (!(o = t != null && n(t, s))) break; t = t[s]; } return o || ++r != i ? o : (i = t == null ? 0 : t.length, !!i && pe(i) && st(s, i) && (C(t) || lt(t))); } function un(t, e) { return t != null && sn(t, e, on); } var G = function() { return $.Date.now(); }, cn = "Expected a function", ln = Math.max, fn = Math.min; function dn(t, e, n) { var r, i, o, s, a, u, f = 0, v = !1, b = !1, x = !0; if (typeof t != "function") throw new TypeError(cn); e = Y(e) || 0, _(n) && (v = !!n.leading, b = "maxWait" in n, o = b ? ln(Y(n.maxWait) || 0, e) : o, x = "trailing" in n ? !!n.trailing : x); function I(l) { var d = r, m = i; return r = i = void 0, f = l, s = t.apply(m, d), s; } function j(l) { return f = l, a = setTimeout(c, e), v ? I(l) : s; } function H(l) { var d = l - u, m = l - f, Z = e - d; return b ? fn(Z, o - m) : Z; } function N(l) { var d = l - u, m = l - f; return u === void 0 || d >= e || d < 0 || b && m >= o; } function c() { var l = G(); if (N(l)) return h(l); a = setTimeout(c, H(l)); } function h(l) { return a = void 0, x && r ? I(l) : (r = i = void 0, s); } function p() { a !== void 0 && clearTimeout(a), f = 0, r = u = i = a = void 0; } function g() { return a === void 0 ? s : h(G()); } function w() { var l = G(), d = N(l); if (r = arguments, i = this, u = l, d) { if (a === void 0) return j(u); if (b) return clearTimeout(a), a = setTimeout(c, e), I(u); } return a === void 0 && (a = setTimeout(c, e)), s; } return w.cancel = p, w.flush = g, w; } var hn = $.isFinite; function rt(t) { return typeof t == "number" && hn(t); } function pn(t, e, n, r) { if (!_(t)) return t; e = M(e, t); for (var i = -1, o = e.length, s = o - 1, a = t; a != null && ++i < o; ) { var u = K(e[i]), f = n; if (u === "__proto__" || u === "constructor" || u === "prototype") return t; if (i != s) { var v = a[u]; f = void 0, f === void 0 && (f = _(v) ? v : st(e[i + 1]) ? [] : {}); } fe(a, u, f), a = a[u]; } return t; } function gn(t, e, n) { for (var r = -1, i = e.length, o = {}; ++r < i; ) { var s = e[r], a = ke(t, s); n(a, s) && pn(o, M(s, t), a); } return o; } function yn(t, e) { return gn(t, e, function(n, r) { return un(t, r); }); } var _n = an(function(t, e) { return t == null ? {} : yn(t, e); }), vn = "Expected a function"; function bn(t, e, n) { var r = !0, i = !0; if (typeof t != "function") throw new TypeError(vn); return _(n) && (r = "leading" in n ? !0 : r, i = "trailing" in n ? !1 : i), dn(t, e, { leading: r, maxWait: e, trailing: i }); } const z = "【useAntdTable】", mn = { data: [], total: 0, current: 1, pageSize: 10, loading: !1 // 默认要为 false }, it = (t, e = {}) => { const { delay: n = 500, enable: r = !1 } = e; return r ? bn(t, n, { leading: !0, trailing: !1 }) : (console.warn(z + "throttle is not enable"), t); }, Sn = (t, { defaultCurrent: e, defaultPageSize: n, form: r, onSuccess: i, throttle: o } = {}) => { const s = { ...mn, ...rt(e) ? { current: e } : {}, ...rt(n) ? { pageSize: n } : {} }, a = ft({ ...s }), u = (c) => { Object.assign(a, { ...c }); }, f = async ({ isReset: c = !1, current: h, pageSize: p, sorter: g, filters: w, extra: l }) => { if (typeof t != "function") { console.warn(z + "invalid request"); return; } u(c ? { ...s, pageSize: a.pageSize, loading: !0 } : { loading: !0, current: h, pageSize: p }); try { const d = await t( { current: a.current, pageSize: a.pageSize, sorter: g, filters: w, extra: l }, r == null ? void 0 : r.modelRef ), m = { total: d.total ?? a.total ?? 0, data: d.list ?? [] }; u({ ...m, loading: !1 }), i == null || i(d); } catch (d) { console.error(z + d), u({ total: 0, data: [], loading: !1 }); } }, v = async (c, h, p, g) => { await f({ ..._n(c, ["current", "pageSize"]), filters: h, sorter: p, extra: g }); }, b = ({ key: c, value: h, params: p }) => { u({ data: a.data.map((g) => g[c] === h ? { ...g, ...p } : g) }); }, x = (c) => { u({ data: [...a.data, c] }); }, I = ({ key: c, value: h }) => { u({ data: a.data.filter((p) => p[c] !== h) }); }, j = (c) => { const h = typeof c == "function" ? c(a) : c; u({ ...h ?? {} }); }, H = dt(() => ({ dataSource: a.data, loading: a.loading, pagination: { current: a.current, pageSize: a.pageSize, total: a.total }, onChange: v })), N = { submit: it(async () => r == null ? void 0 : r.validate().then(async () => { await f({ isReset: !0, current: NaN, pageSize: NaN }); }).catch((c) => { console.error(z + "search.submit error --> ", c); }), o), reset: it(async () => { r == null || r.resetFields(), await f({ isReset: !0, current: NaN, pageSize: NaN }); }, o) }; return { tableProps: H, search: N, updateDataItem: b, addDataItem: x, removeDataItem: I, mutate: j }; }; export { Sn as default };