added expanding row feature
This commit is contained in:
parent
3ab70dc86f
commit
526929d298
@ -62,14 +62,17 @@ export function useGridCore({
|
|||||||
const q = search.toLowerCase();
|
const q = search.toLowerCase();
|
||||||
filtered = filtered.filter((r) =>
|
filtered = filtered.filter((r) =>
|
||||||
Object.values(r).some((v) =>
|
Object.values(r).some((v) =>
|
||||||
String(v ?? "").toLowerCase().includes(q)
|
String(v ?? "")
|
||||||
|
.toLowerCase()
|
||||||
|
.includes(q)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sortBy.key) {
|
if (sortBy.key) {
|
||||||
const dir = sortBy.dir === "asc" ? 1 : -1;
|
const dir = sortBy.dir === "asc" ? 1 : -1;
|
||||||
filtered = [...filtered].sort((a, b) =>
|
filtered = [...filtered].sort(
|
||||||
|
(a, b) =>
|
||||||
String(a[sortBy.key] ?? "").localeCompare(
|
String(a[sortBy.key] ?? "").localeCompare(
|
||||||
String(b[sortBy.key] ?? "")
|
String(b[sortBy.key] ?? "")
|
||||||
) * dir
|
) * dir
|
||||||
@ -122,6 +125,15 @@ export function useGridCore({
|
|||||||
);
|
);
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
|
// *---------------- ROW EXPAND -----------------------*/
|
||||||
|
|
||||||
|
const toggleExpand = useCallback((id) => {
|
||||||
|
setExpanded((prev) => {
|
||||||
|
const s = new Set(prev);
|
||||||
|
s.has(id) ? s.delete(id) : s.add(id);
|
||||||
|
return s;
|
||||||
|
});
|
||||||
|
}, []);
|
||||||
return {
|
return {
|
||||||
/* paging */
|
/* paging */
|
||||||
page,
|
page,
|
||||||
@ -159,7 +171,7 @@ export function useGridCore({
|
|||||||
visibleColumns,
|
visibleColumns,
|
||||||
updateColumn,
|
updateColumn,
|
||||||
setColState,
|
setColState,
|
||||||
|
toggleExpand,
|
||||||
/* data */
|
/* data */
|
||||||
rows,
|
rows,
|
||||||
setRows,
|
setRows,
|
||||||
@ -170,7 +182,6 @@ export function useGridCore({
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export function useDropdownPosition(btnRef, menuRef, isOpen, level = 0) {
|
export function useDropdownPosition(btnRef, menuRef, isOpen, level = 0) {
|
||||||
const [style, setStyle] = useState({});
|
const [style, setStyle] = useState({});
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user