synapse-react-client
Version:
[](https://badge.fury.io/js/synapse-react-client) [](https://github.com/prettier/prettie
39 lines (38 loc) • 860 B
JavaScript
import { useQueryContext as i } from "../QueryContext/QueryContext.js";
import { useMemo as S } from "react";
import { useDeepCompareMemoize as c } from "use-deep-compare-effect";
function f(e) {
return e.map((t) => ({
id: t.column,
desc: t.direction === "DESC"
}));
}
function m(e) {
return e.map((t) => ({
column: t.id,
direction: t.desc ? "DESC" : "ASC"
}));
}
function d() {
const e = i(), t = c(e.nextQueryRequest?.query?.sort), n = S(() => t ? f(t) : [], [t]);
return {
sort: n,
setSort: (o) => {
let r;
typeof o == "function" ? r = o(n) : r = o;
const u = m(r);
e.executeQueryRequest((s) => ({
...s,
query: {
...s.query,
sort: u,
offset: 0
}
}));
}
};
}
export {
d as useTableSort
};
//# sourceMappingURL=useTableSort.js.map