synapse-react-client
Version:
[](https://badge.fury.io/js/synapse-react-client) [](https://github.com/prettier/prettie
160 lines (159 loc) • 4.69 kB
JavaScript
import { jsx as o, jsxs as ie } from "react/jsx-runtime";
import { hasResettableFilters as se } from "../../utils/functions/queryUtils.js";
import ae from "../../utils/hooks/useImmutableTableQuery/useImmutableTableQuery.js";
import { Provider as ue, useSetAtom as n } from "jotai";
import le from "lodash-es/noop";
import { useMemo as S, useEffect as a, useCallback as me } from "react";
import { useDeepCompareMemoize as ce } from "use-deep-compare-effect";
import { ConfirmationDialog as ye } from "../ConfirmationDialog/ConfirmationDialog.js";
import { QueryContextProvider as pe } from "../QueryContext/QueryContext.js";
import { useTableQueryUseQueryOptions as fe } from "./TableQueryUseQueryOptions.js";
import { useHasSelectedRowsAtomValue as Ce, isRowSelectionVisibleAtom as de, isRowSelectionUIFloatingAtom as Se, rowSelectionPrimaryKeyAtom as ge, selectedRowsAtom as Re } from "./TableRowSelectionState.js";
import Qe from "./useComputeRowSelectionPrimaryKey.js";
import he from "./useHasFacetedSelectColumn.js";
import we from "./useOnQueryDataChange.js";
import { SessionInitializedGuard as Fe } from "../../utils/AppUtils/session/SessionInitializedGuard.js";
function be(e) {
return /* @__PURE__ */ o(Fe, { children: /* @__PURE__ */ o(Ie, { ...e }) });
}
function Ie(e) {
const {
initQueryRequest: g,
onQueryChange: R,
onQueryResultBundleChange: u = le,
lockedColumn: r,
componentIndex: Q,
shouldDeepLink: h,
onViewSharingSettingsClicked: w,
isRowSelectionVisible: l = !1,
isRowSelectionUIFloating: m = !0,
rowSelectionPrimaryKey: F,
isInfinite: b = !1,
combineRangeFacetConfig: I,
fileIdColumnName: q,
fileVersionColumnName: P,
fileNameColumnName: V
} = e, x = Ce(), v = ae({
initQueryRequest: g,
shouldDeepLink: h,
componentIndex: Q,
onQueryChange: R,
requireConfirmationOnChange: x
}), {
entityId: c = "",
versionNumber: y,
getInitQueryRequest: A,
getCurrentQueryRequest: t,
setQuery: D,
resetQuery: O,
removeSelectedFacet: K,
removeValueFromSelectedFacet: N,
removeQueryFilter: T,
removeValueFromQueryFilter: U,
onConfirmChange: k,
isConfirmingChange: z,
onCancelChange: W,
nextQueryRequest: B,
currentQueryRequest: M,
addValueToSelectedFacet: j,
setRangeFacetValue: H,
resetDebounceTimer: E,
currentPage: G,
goToPage: J,
pageSize: L,
setPageSize: $
} = v, X = S(() => t(), [t]), {
rowDataQueryOptions: Y,
rowDataInfiniteQueryOptions: Z,
queryMetadataQueryOptions: i
} = fe(X, r), _ = he(
i
), ee = S(() => {
const s = t();
return se(s.query, r);
}, [t, r]), p = n(de);
a(() => {
p(l);
}, [l, p]);
const f = n(Se);
a(() => {
f(m);
}, [m, f]);
const C = Qe({
entityId: c,
versionNumber: y,
rowSelectionPrimaryKeyFromProps: F,
queryMetadataQueryOptions: i
}), d = n(ge);
a(() => {
d(C);
}, [C, d]);
const te = n(Re), oe = me(
(s) => u(JSON.stringify(s)),
[u]
);
we({
queryBundleRequest: t(),
onChange: oe
});
const re = ce({
isInfinite: b,
entityId: c,
versionNumber: y,
nextQueryRequest: B,
currentQueryRequest: M,
getCurrentQueryRequest: t,
getInitQueryRequest: A,
executeQueryRequest: D,
hasFacetedSelectColumn: _,
hasResettableFilters: ee,
removeSelectedFacet: K,
removeValueFromSelectedFacet: N,
resetQuery: O,
removeQueryFilter: T,
removeValueFromQueryFilter: U,
onViewSharingSettingsClicked: w,
addValueToSelectedFacet: j,
combineRangeFacetConfig: I,
setRangeFacetValue: H,
resetDebounceTimer: E,
rowDataQueryOptions: Y,
rowDataInfiniteQueryOptions: Z,
queryMetadataQueryOptions: i,
currentPage: G,
goToPage: J,
pageSize: L,
setPageSize: $,
lockedColumn: r,
fileIdColumnName: q,
fileVersionColumnName: P,
fileNameColumnName: V
}), { children: ne } = e;
return /* @__PURE__ */ ie(pe, { queryContext: re, children: [
/* @__PURE__ */ o(
ye,
{
open: z,
title: "Change Query and Clear Selection?",
content: "Changing the current query will cause your current selection to be lost. Are you sure you want to proceed?",
confirmButtonProps: {
children: "Clear Selection and Update Query"
},
onConfirm: () => {
te([]), k();
},
onCancel: () => {
W();
}
}
),
ne
] });
}
function Be(e) {
return /* @__PURE__ */ o(ue, { children: /* @__PURE__ */ o(be, { ...e }) });
}
export {
Be as QueryWrapper
};
//# sourceMappingURL=QueryWrapper.js.map