ideaz-element
Version:
<p align="center"> <a href="" target="_blank" rel="noopener noreferrer"> <img src="./docs/public/logo.svg" alt="Ideaz Element" width="180" style="width: 180px;" /> </a> </p>
46 lines (45 loc) • 1.2 kB
JavaScript
function h(r) {
return {
spanMethod: ({ row: s, column: t, rowIndex: p, columnIndex: l }) => {
if (!r.mergeCells) return;
const { direction: a = "both", props: i } = r.mergeCells;
if (i && !i.includes(t.property))
return {
rowspan: 1,
colspan: 1
};
const n = r.data || [], o = {
rowspan: 1,
colspan: 1
};
if (a === "row" || a === "both")
if (l > 0 && s[t.property] === n[p][r.columns[l - 1].prop])
o.colspan = 0;
else {
let e = 1;
for (; l + e < r.columns.length; ) {
const c = r.columns[l + e].prop;
if (c && s[t.property] === s[c])
e++;
else
break;
}
o.colspan = e;
}
if (a === "column" || a === "both")
if (p > 0 && s[t.property] === n[p - 1][t.property])
o.rowspan = 0;
else {
let e = 1;
for (; p + e < n.length && s[t.property] === n[p + e][t.property]; )
e++;
o.rowspan = e;
}
return o;
}
};
}
export {
h as useMergeCells
};
//# sourceMappingURL=useMergeCells.mjs.map