synapse-react-client
Version:
[](https://badge.fury.io/js/synapse-react-client) [](https://github.com/prettier/prettie
48 lines (47 loc) • 1.34 kB
JavaScript
import { isSingleNotSetValue as f } from "../../../utils/functions/queryUtils.js";
import { useMemo as c, useCallback as i } from "react";
import { useQueryContext as y } from "../../QueryContext/QueryContext.js";
import { useSuspenseGetQueryMetadata as g } from "../../QueryWrapper/useGetQueryMetadata.js";
import { applyChangesToValuesColumn as d } from "../query-filter/FacetFilterControls.js";
function S(u) {
const { getCurrentQueryRequest: t, executeQueryRequest: a } = y(), { data: e } = g(), r = c(
() => t(),
[t]
), l = c(
() => F(e, u),
[e, u]
), o = i(
(s) => {
a(
(n) => (n.query.selectedFacets = s, n.query.offset = 0, n),
{ debounce: !0 }
);
},
[a]
);
return c(
() => l.map((s) => ({
facetToPlot: s,
applyChangesToFacetFilter: o,
applyChangesToGraphSlice: (n, p, m) => d(
r,
n,
o,
p?.value,
m
)
})),
[l, o, r]
);
}
function F(u, t) {
const a = u?.facets?.filter((e) => e.facetType === "enumeration" && (!t?.length || t.indexOf(e.columnName) > -1) && e.facetValues.length > 0 && !f(e)) ?? [];
return t?.length && a.sort(
(e, r) => t.indexOf(e.columnName) - t.indexOf(r.columnName)
), a;
}
export {
S as default,
F as getFacets
};
//# sourceMappingURL=useFacetPlots.js.map