ant-design-x-vue
Version:
Craft AI-driven interfaces effortlessly
49 lines (48 loc) • 1.09 kB
JavaScript
import { computed as i, toValue as r } from "vue";
const n = "__ungrouped", b = (u, a = []) => {
const o = i(() => {
if (!r(u))
return {
enableGroup: !1,
sort: void 0,
title: void 0
};
let t = {
sort: void 0,
title: void 0
};
return typeof r(u) == "object" && (t = { ...t, ...r(u) }), {
enableGroup: !0,
sort: t.sort,
title: t.title
};
});
return i(() => {
if (!o.value.enableGroup)
return {
groupList: [
{
name: n,
data: r(a),
title: void 0
}
],
enableGroup: o.value.enableGroup
};
const t = r(a).reduce((e, l) => {
const s = l.group || n;
return e[s] || (e[s] = []), e[s].push(l), e;
}, {});
return {
groupList: (o.value.sort ? Object.keys(t).sort(o.value.sort) : Object.keys(t)).map((e) => ({
name: e === n ? void 0 : e,
title: o.value.title,
data: t[e]
})),
enableGroup: o.value.enableGroup
};
});
};
export {
b as default
};