@trackunit/filters-filter-bar 1.8.12 → 1.8.15
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.
- package/index.cjs.js +26 -19
- package/index.esm.js +26 -19
- package/package.json +13 -13
- package/src/lib/hooks/utils/useFilterBarPersistence.d.ts +1 -2
package/index.cjs.js
CHANGED
|
@@ -2363,13 +2363,16 @@ const useFilterBar = ({ name, onValuesChange, filterBarDefinition, loadData: inp
|
|
|
2363
2363
|
const [filterBarConfig, setFilterBarConfig] = react.useState(() => {
|
|
2364
2364
|
return loadData(sharedUtils.objectValues(filterBarDefinition));
|
|
2365
2365
|
});
|
|
2366
|
+
const setValueMemoized = react.useCallback((key, callback) => {
|
|
2367
|
+
setValue(setFilterBarConfig, key, callback);
|
|
2368
|
+
}, [setFilterBarConfig, setValue]);
|
|
2366
2369
|
const { filterMapActions, filterMapGetter } = useFilterBarActions({
|
|
2367
2370
|
name,
|
|
2368
2371
|
filterBarConfig,
|
|
2369
2372
|
filterBarDefinition,
|
|
2370
2373
|
initialState: filterBarConfig.initialState,
|
|
2371
2374
|
setFilterBarConfig,
|
|
2372
|
-
setValue:
|
|
2375
|
+
setValue: setValueMemoized,
|
|
2373
2376
|
});
|
|
2374
2377
|
const onValuesChangeRef = react.useRef(onValuesChange);
|
|
2375
2378
|
react.useEffect(() => {
|
|
@@ -2406,39 +2409,43 @@ const useFilterBarAsync = ({ name, onValuesChange, filterBarDefinition, loadData
|
|
|
2406
2409
|
const [asyncLoadedFilterBarDefinitions, setAsyncLoadedFilterBarDefinitions] = react.useState();
|
|
2407
2410
|
const { isDefaultValue } = useIsDefaultValue();
|
|
2408
2411
|
const internalFilterBarDefinitions = react.useMemo(() => asyncLoadedFilterBarDefinitions ?? filterBarDefinition, [filterBarDefinition, asyncLoadedFilterBarDefinitions]);
|
|
2412
|
+
const initialFilterBarConfig = react.useMemo(() => ({
|
|
2413
|
+
values: Object.create({}),
|
|
2414
|
+
setters: Object.create({}),
|
|
2415
|
+
name,
|
|
2416
|
+
initialState: Object.create({}),
|
|
2417
|
+
}), [name]);
|
|
2418
|
+
const [filterBarConfig, setFilterBarConfig] = react.useState(initialFilterBarConfig);
|
|
2409
2419
|
const { setValue } = useGenericSetValue();
|
|
2410
|
-
const
|
|
2420
|
+
const persistenceConfig = react.useMemo(() => ({
|
|
2411
2421
|
name,
|
|
2412
2422
|
isDefaultValue: (key, value) => isDefaultValue(key, value, filterBarDefinition, filterBarConfig.initialState),
|
|
2413
2423
|
setValue: (key, callback) => setValue(setFilterBarConfig, key, callback),
|
|
2414
2424
|
loadData: inputLoadData,
|
|
2415
2425
|
saveData: inputSaveData,
|
|
2416
|
-
|
|
2417
|
-
|
|
2418
|
-
|
|
2419
|
-
|
|
2420
|
-
|
|
2421
|
-
|
|
2422
|
-
|
|
2423
|
-
|
|
2424
|
-
|
|
2425
|
-
|
|
2426
|
-
|
|
2427
|
-
initialState: Object.create({}),
|
|
2428
|
-
};
|
|
2429
|
-
return initialConfig;
|
|
2430
|
-
});
|
|
2426
|
+
}), [
|
|
2427
|
+
name,
|
|
2428
|
+
isDefaultValue,
|
|
2429
|
+
filterBarDefinition,
|
|
2430
|
+
filterBarConfig.initialState,
|
|
2431
|
+
setValue,
|
|
2432
|
+
setFilterBarConfig,
|
|
2433
|
+
inputLoadData,
|
|
2434
|
+
inputSaveData,
|
|
2435
|
+
]);
|
|
2436
|
+
const { loadData, saveData } = useFilterBarPersistence(persistenceConfig);
|
|
2431
2437
|
const setValueMemoized = react.useCallback((key, callback) => {
|
|
2432
2438
|
setValue(setFilterBarConfig, key, callback);
|
|
2433
2439
|
}, [setFilterBarConfig, setValue]);
|
|
2434
|
-
const
|
|
2440
|
+
const filterBarActionsConfig = react.useMemo(() => ({
|
|
2435
2441
|
name,
|
|
2436
2442
|
filterBarConfig,
|
|
2437
2443
|
filterBarDefinition: internalFilterBarDefinitions,
|
|
2438
2444
|
initialState: filterBarConfig.initialState,
|
|
2439
2445
|
setFilterBarConfig,
|
|
2440
2446
|
setValue: setValueMemoized,
|
|
2441
|
-
});
|
|
2447
|
+
}), [name, filterBarConfig, internalFilterBarDefinitions, setValueMemoized]);
|
|
2448
|
+
const { filterMapActions, filterMapGetter } = useFilterBarActions(filterBarActionsConfig);
|
|
2442
2449
|
const dataLoaded = react.useCallback((loadedFilterDefinitionsValues) => {
|
|
2443
2450
|
setIsDataLoaded(false);
|
|
2444
2451
|
setAsyncLoadedFilterBarDefinitions(loadedFilterDefinitionsValues);
|
package/index.esm.js
CHANGED
|
@@ -2361,13 +2361,16 @@ const useFilterBar = ({ name, onValuesChange, filterBarDefinition, loadData: inp
|
|
|
2361
2361
|
const [filterBarConfig, setFilterBarConfig] = useState(() => {
|
|
2362
2362
|
return loadData(objectValues(filterBarDefinition));
|
|
2363
2363
|
});
|
|
2364
|
+
const setValueMemoized = useCallback((key, callback) => {
|
|
2365
|
+
setValue(setFilterBarConfig, key, callback);
|
|
2366
|
+
}, [setFilterBarConfig, setValue]);
|
|
2364
2367
|
const { filterMapActions, filterMapGetter } = useFilterBarActions({
|
|
2365
2368
|
name,
|
|
2366
2369
|
filterBarConfig,
|
|
2367
2370
|
filterBarDefinition,
|
|
2368
2371
|
initialState: filterBarConfig.initialState,
|
|
2369
2372
|
setFilterBarConfig,
|
|
2370
|
-
setValue:
|
|
2373
|
+
setValue: setValueMemoized,
|
|
2371
2374
|
});
|
|
2372
2375
|
const onValuesChangeRef = useRef(onValuesChange);
|
|
2373
2376
|
useEffect(() => {
|
|
@@ -2404,39 +2407,43 @@ const useFilterBarAsync = ({ name, onValuesChange, filterBarDefinition, loadData
|
|
|
2404
2407
|
const [asyncLoadedFilterBarDefinitions, setAsyncLoadedFilterBarDefinitions] = useState();
|
|
2405
2408
|
const { isDefaultValue } = useIsDefaultValue();
|
|
2406
2409
|
const internalFilterBarDefinitions = useMemo(() => asyncLoadedFilterBarDefinitions ?? filterBarDefinition, [filterBarDefinition, asyncLoadedFilterBarDefinitions]);
|
|
2410
|
+
const initialFilterBarConfig = useMemo(() => ({
|
|
2411
|
+
values: Object.create({}),
|
|
2412
|
+
setters: Object.create({}),
|
|
2413
|
+
name,
|
|
2414
|
+
initialState: Object.create({}),
|
|
2415
|
+
}), [name]);
|
|
2416
|
+
const [filterBarConfig, setFilterBarConfig] = useState(initialFilterBarConfig);
|
|
2407
2417
|
const { setValue } = useGenericSetValue();
|
|
2408
|
-
const
|
|
2418
|
+
const persistenceConfig = useMemo(() => ({
|
|
2409
2419
|
name,
|
|
2410
2420
|
isDefaultValue: (key, value) => isDefaultValue(key, value, filterBarDefinition, filterBarConfig.initialState),
|
|
2411
2421
|
setValue: (key, callback) => setValue(setFilterBarConfig, key, callback),
|
|
2412
2422
|
loadData: inputLoadData,
|
|
2413
2423
|
saveData: inputSaveData,
|
|
2414
|
-
|
|
2415
|
-
|
|
2416
|
-
|
|
2417
|
-
|
|
2418
|
-
|
|
2419
|
-
|
|
2420
|
-
|
|
2421
|
-
|
|
2422
|
-
|
|
2423
|
-
|
|
2424
|
-
|
|
2425
|
-
initialState: Object.create({}),
|
|
2426
|
-
};
|
|
2427
|
-
return initialConfig;
|
|
2428
|
-
});
|
|
2424
|
+
}), [
|
|
2425
|
+
name,
|
|
2426
|
+
isDefaultValue,
|
|
2427
|
+
filterBarDefinition,
|
|
2428
|
+
filterBarConfig.initialState,
|
|
2429
|
+
setValue,
|
|
2430
|
+
setFilterBarConfig,
|
|
2431
|
+
inputLoadData,
|
|
2432
|
+
inputSaveData,
|
|
2433
|
+
]);
|
|
2434
|
+
const { loadData, saveData } = useFilterBarPersistence(persistenceConfig);
|
|
2429
2435
|
const setValueMemoized = useCallback((key, callback) => {
|
|
2430
2436
|
setValue(setFilterBarConfig, key, callback);
|
|
2431
2437
|
}, [setFilterBarConfig, setValue]);
|
|
2432
|
-
const
|
|
2438
|
+
const filterBarActionsConfig = useMemo(() => ({
|
|
2433
2439
|
name,
|
|
2434
2440
|
filterBarConfig,
|
|
2435
2441
|
filterBarDefinition: internalFilterBarDefinitions,
|
|
2436
2442
|
initialState: filterBarConfig.initialState,
|
|
2437
2443
|
setFilterBarConfig,
|
|
2438
2444
|
setValue: setValueMemoized,
|
|
2439
|
-
});
|
|
2445
|
+
}), [name, filterBarConfig, internalFilterBarDefinitions, setValueMemoized]);
|
|
2446
|
+
const { filterMapActions, filterMapGetter } = useFilterBarActions(filterBarActionsConfig);
|
|
2440
2447
|
const dataLoaded = useCallback((loadedFilterDefinitionsValues) => {
|
|
2441
2448
|
setIsDataLoaded(false);
|
|
2442
2449
|
setAsyncLoadedFilterBarDefinitions(loadedFilterDefinitionsValues);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trackunit/filters-filter-bar",
|
|
3
|
-
"version": "1.8.
|
|
3
|
+
"version": "1.8.15",
|
|
4
4
|
"repository": "https://github.com/Trackunit/manager",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
6
6
|
"engines": {
|
|
@@ -13,18 +13,18 @@
|
|
|
13
13
|
"tailwind-merge": "^2.0.0",
|
|
14
14
|
"string-ts": "^2.0.0",
|
|
15
15
|
"zod": "^3.23.8",
|
|
16
|
-
"@trackunit/iris-app-api": "1.7.
|
|
17
|
-
"@trackunit/react-core-hooks": "1.7.
|
|
18
|
-
"@trackunit/react-filter-components": "1.7.
|
|
19
|
-
"@trackunit/react-date-and-time-components": "1.10.
|
|
20
|
-
"@trackunit/shared-utils": "1.9.
|
|
21
|
-
"@trackunit/react-form-components": "1.8.
|
|
22
|
-
"@trackunit/react-core-contexts-api": "1.8.
|
|
23
|
-
"@trackunit/geo-json-utils": "1.7.
|
|
24
|
-
"@trackunit/i18n-library-translation": "1.7.
|
|
25
|
-
"@trackunit/css-class-variance-utilities": "1.7.
|
|
26
|
-
"@trackunit/react-components": "1.9.
|
|
27
|
-
"@trackunit/react-test-setup": "1.4.
|
|
16
|
+
"@trackunit/iris-app-api": "1.7.9",
|
|
17
|
+
"@trackunit/react-core-hooks": "1.7.11",
|
|
18
|
+
"@trackunit/react-filter-components": "1.7.15",
|
|
19
|
+
"@trackunit/react-date-and-time-components": "1.10.15",
|
|
20
|
+
"@trackunit/shared-utils": "1.9.8",
|
|
21
|
+
"@trackunit/react-form-components": "1.8.15",
|
|
22
|
+
"@trackunit/react-core-contexts-api": "1.8.10",
|
|
23
|
+
"@trackunit/geo-json-utils": "1.7.8",
|
|
24
|
+
"@trackunit/i18n-library-translation": "1.7.12",
|
|
25
|
+
"@trackunit/css-class-variance-utilities": "1.7.8",
|
|
26
|
+
"@trackunit/react-components": "1.9.15",
|
|
27
|
+
"@trackunit/react-test-setup": "1.4.8",
|
|
28
28
|
"@tanstack/react-router": "1.114.29"
|
|
29
29
|
},
|
|
30
30
|
"module": "./index.esm.js",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { FilterBarConfig, FilterBarDefinition, FilterBarInferredValue, FilterDefinition, FilterStateValues, FilterValueType } from "../../types/FilterTypes";
|
|
2
2
|
import { FilterPersistenceConfig } from "../types";
|
|
3
|
-
interface FilterBarPersistenceProps<TFilterBarDefinition extends FilterBarDefinition> extends FilterPersistenceConfig<TFilterBarDefinition> {
|
|
3
|
+
export interface FilterBarPersistenceProps<TFilterBarDefinition extends FilterBarDefinition> extends FilterPersistenceConfig<TFilterBarDefinition> {
|
|
4
4
|
name: string;
|
|
5
5
|
setValue: (key: string, callback: (prev: FilterBarInferredValue<TFilterBarDefinition, never> | undefined) => FilterBarInferredValue<TFilterBarDefinition, never> | undefined) => void;
|
|
6
6
|
/**
|
|
@@ -67,4 +67,3 @@ export declare const useFilterBarPersistence: <TFilterBarDefinition extends Filt
|
|
|
67
67
|
saveData: (filterBarConfig: Partial<FilterBarConfig<TFilterBarDefinition>>, filterBarDefinitions: TFilterBarDefinition) => void;
|
|
68
68
|
getFilterValuesToUrl: (values: FilterStateValues<FilterBarDefinition> | null, definitions: Array<FilterDefinition>, setEmptyAndDefaultValues: boolean, isDefaultValue: (key: string, value: FilterValueType) => boolean) => Record<string, unknown>;
|
|
69
69
|
};
|
|
70
|
-
export {};
|