@monolith-forensics/monolith-ui 1.2.73 → 1.2.74
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,7 +1,20 @@
|
|
|
1
|
+
import { UseQueryOptions } from "@tanstack/react-query";
|
|
1
2
|
import { FilterDefinition } from "./types";
|
|
3
|
+
import { DropDownItem } from "../DropDownMenu";
|
|
4
|
+
/** Override Filters Type
|
|
5
|
+
* some properties have been overridden to allow for partial overrides
|
|
6
|
+
*/
|
|
7
|
+
type FilterDefinitionOverride = Partial<Omit<FilterDefinition, "query" | "dataField">> & {
|
|
8
|
+
dataField: string;
|
|
9
|
+
query?: Omit<Partial<UseQueryOptions>, "select" | "queryKey"> & {
|
|
10
|
+
select?: (data: unknown) => DropDownItem[];
|
|
11
|
+
queryKey?: UseQueryOptions["queryKey"];
|
|
12
|
+
};
|
|
13
|
+
};
|
|
2
14
|
export interface UserFilterDefinitionsParams {
|
|
3
15
|
filterDef: FilterDefinition[];
|
|
4
|
-
overrides?:
|
|
16
|
+
overrides?: FilterDefinitionOverride[];
|
|
5
17
|
}
|
|
6
18
|
export type UseFilterDefinitionsType = (p: UserFilterDefinitionsParams) => FilterDefinition[];
|
|
7
19
|
export declare function useFilterDefinitions({ filterDef, overrides, }: UserFilterDefinitionsParams): FilterDefinition[];
|
|
20
|
+
export {};
|
|
@@ -12,6 +12,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
12
12
|
import { useQueries } from "@tanstack/react-query";
|
|
13
13
|
const mergeOverrides = (filterDef, overrides) => {
|
|
14
14
|
return filterDef.map((f) => {
|
|
15
|
+
var _a, _b, _c;
|
|
15
16
|
const override = overrides.find((o) => o.dataField === f.dataField);
|
|
16
17
|
if (!override) {
|
|
17
18
|
return f;
|
|
@@ -21,10 +22,10 @@ const mergeOverrides = (filterDef, overrides) => {
|
|
|
21
22
|
// prevents overriding the entire query object
|
|
22
23
|
// allows user to override specific properties
|
|
23
24
|
if (query) {
|
|
24
|
-
f.query = Object.assign(Object.assign({}, query),
|
|
25
|
+
f.query = Object.assign(Object.assign(Object.assign({}, f.query), query), { queryFn: query.queryFn || ((_a = f === null || f === void 0 ? void 0 : f.query) === null || _a === void 0 ? void 0 : _a.queryFn) || (() => { }), queryKey: query.queryKey || ((_b = f === null || f === void 0 ? void 0 : f.query) === null || _b === void 0 ? void 0 : _b.queryKey) || [], select: query.select || ((_c = f === null || f === void 0 ? void 0 : f.query) === null || _c === void 0 ? void 0 : _c.select) || (() => []) });
|
|
25
26
|
}
|
|
26
27
|
if (dropDownOptions) {
|
|
27
|
-
f.dropDownOptions = Object.assign(Object.assign({}, dropDownOptions),
|
|
28
|
+
f.dropDownOptions = Object.assign(Object.assign({}, f.dropDownOptions), dropDownOptions);
|
|
28
29
|
}
|
|
29
30
|
// Merge override with original filter def
|
|
30
31
|
return Object.assign(Object.assign({}, f), rest);
|