UNPKG

662 BJavaScriptView Raw
1import { useEffect } from "react";
2import useData from "./useData";
3export default function useDataWithFilter(dataObject, filter, type = "filterString") {
4 const data = useData(dataObject);
5 useEffect(() => {
6 if (typeof filter !== "string" && filter !== null || !["filterString", "whereClause"].includes(type)) {
7 throw new Error("Only filterString and whereClause with string filters are supported in useDataWithFilter");
8 }
9
10 if (dataObject.getParameter(type) !== filter || !dataObject.isDataLoaded()) {
11 dataObject.setParameter(type, filter);
12 dataObject.refreshDataSource();
13 }
14 }, [dataObject, filter, type]);
15 return data;
16}
\No newline at end of file