@monolith-forensics/monolith-ui 1.2.66 → 1.2.68
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { UseQueryOptions } from "@tanstack/react-query";
|
|
1
2
|
import { DropDownItem } from "../DropDownMenu";
|
|
2
3
|
export interface UseQueryFilterProps {
|
|
3
4
|
defaultFilter?: Query | null;
|
|
@@ -32,11 +33,8 @@ export interface FilterDefinition {
|
|
|
32
33
|
placeholder?: string;
|
|
33
34
|
selectOptions?: DropDownItem[];
|
|
34
35
|
editorType?: EditorType;
|
|
35
|
-
query?: {
|
|
36
|
-
|
|
37
|
-
[x: string]: any;
|
|
38
|
-
})[];
|
|
39
|
-
queryFn: (args: any) => Promise<any>;
|
|
36
|
+
query?: UseQueryOptions & {
|
|
37
|
+
select: (data: unknown) => DropDownItem[];
|
|
40
38
|
};
|
|
41
39
|
}
|
|
42
40
|
export interface Rule {
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { FilterDefinition } from "./types";
|
|
2
|
+
export interface UserFilterDefinitionsParams {
|
|
3
|
+
filterDef: FilterDefinition[];
|
|
4
|
+
}
|
|
5
|
+
export type UseFilterDefinitionsType = (p: UserFilterDefinitionsParams) => FilterDefinition[];
|
|
6
|
+
export declare function useFilterDefinitions({ filterDef, }: UserFilterDefinitionsParams): FilterDefinition[];
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { useQueries } from "@tanstack/react-query";
|
|
2
|
+
export function useFilterDefinitions({ filterDef, }) {
|
|
3
|
+
// Keeps track of filters that have queries
|
|
4
|
+
const queryIndex = [];
|
|
5
|
+
const queries = filterDef
|
|
6
|
+
.filter((f, i) => {
|
|
7
|
+
// Track array index of filter def that has a query
|
|
8
|
+
const hasQuery = f.query !== undefined;
|
|
9
|
+
hasQuery && queryIndex.push(i);
|
|
10
|
+
return hasQuery;
|
|
11
|
+
})
|
|
12
|
+
.map((filter) => filter.query);
|
|
13
|
+
const result = useQueries({
|
|
14
|
+
queries,
|
|
15
|
+
});
|
|
16
|
+
queryIndex.forEach((index, i) => {
|
|
17
|
+
var _a;
|
|
18
|
+
// User query index to add useQueries result data to filter def as options
|
|
19
|
+
filterDef[index].selectOptions = (_a = result[i]) === null || _a === void 0 ? void 0 : _a.data;
|
|
20
|
+
});
|
|
21
|
+
return filterDef;
|
|
22
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@monolith-forensics/monolith-ui",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.68",
|
|
4
4
|
"main": "./dist/index.js",
|
|
5
5
|
"types": "./dist/index.d.ts",
|
|
6
6
|
"author": "Matt Danner (Monolith Forensics LLC)",
|
|
@@ -68,9 +68,11 @@
|
|
|
68
68
|
"use-debounce": "^10.0.0"
|
|
69
69
|
},
|
|
70
70
|
"peerDependencies": {
|
|
71
|
+
"@tanstack/react-query": "^5.59.16",
|
|
71
72
|
"react": "18.2.0"
|
|
72
73
|
},
|
|
73
74
|
"devDependencies": {
|
|
75
|
+
"@tanstack/react-query": "5.59.16",
|
|
74
76
|
"@types/overlayscrollbars": "^1.12.5",
|
|
75
77
|
"@types/react-dom": "^18.3.0",
|
|
76
78
|
"@types/react-window": "^1.8.8",
|