@pluve/use-antd-table-vue
Version:
ant-design-vue Form 与 Table 联动逻辑封装
636 lines (635 loc) • 16.1 kB
JavaScript
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
};