1 | import { useEffect } from "react";
|
2 | import useData from "./useData";
|
3 | export 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 |