@trackunit/filters-filter-bar 1.5.2 → 1.5.4
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 +24 -5
- package/index.esm.js +24 -5
- package/package.json +8 -8
package/index.cjs.js
CHANGED
|
@@ -1863,7 +1863,11 @@ const getPersistenceKey = (name, clientSideUserId) => `filter-${name}-${clientSi
|
|
|
1863
1863
|
*/
|
|
1864
1864
|
const useFilterBarPersistence = ({ name, setValue, loadData: inputLoadData, saveData: inputSaveData, }) => {
|
|
1865
1865
|
const { clientSideUserId } = reactCoreHooks.useCurrentUser();
|
|
1866
|
-
const
|
|
1866
|
+
const getFromLocalStorage = react.useCallback((persistenceKey) => {
|
|
1867
|
+
return localStorage.getItem(getPersistenceKey(persistenceKey, clientSideUserId));
|
|
1868
|
+
}, [clientSideUserId]);
|
|
1869
|
+
const lastName = react.useRef(name);
|
|
1870
|
+
const [initialStoredFilters] = react.useState(() => (!inputLoadData && getFromLocalStorage(name)) || "{}");
|
|
1867
1871
|
const [lastSavedState, setLastSavedState] = react.useState(undefined);
|
|
1868
1872
|
const saveData = react.useCallback((filterBarConfig, filterBarDefinitions) => {
|
|
1869
1873
|
const newValues = Object.assign({}, lastSavedState || {});
|
|
@@ -1895,7 +1899,14 @@ const useFilterBarPersistence = ({ name, setValue, loadData: inputLoadData, save
|
|
|
1895
1899
|
return inputLoadData();
|
|
1896
1900
|
}
|
|
1897
1901
|
else {
|
|
1898
|
-
|
|
1902
|
+
let storedFilters = null;
|
|
1903
|
+
if (lastName.current !== name) {
|
|
1904
|
+
storedFilters = localStorage.getItem(getPersistenceKey(name, clientSideUserId)) || "{}";
|
|
1905
|
+
lastName.current = name;
|
|
1906
|
+
}
|
|
1907
|
+
else {
|
|
1908
|
+
storedFilters = initialStoredFilters;
|
|
1909
|
+
}
|
|
1899
1910
|
if (storedFilters && storedFilters !== "undefined") {
|
|
1900
1911
|
try {
|
|
1901
1912
|
const loadedFilterBarConfigValues = JSON.parse(storedFilters);
|
|
@@ -1907,7 +1918,7 @@ const useFilterBarPersistence = ({ name, setValue, loadData: inputLoadData, save
|
|
|
1907
1918
|
}
|
|
1908
1919
|
return null;
|
|
1909
1920
|
}
|
|
1910
|
-
}, [inputLoadData, initialStoredFilters]);
|
|
1921
|
+
}, [inputLoadData, initialStoredFilters, clientSideUserId, name]);
|
|
1911
1922
|
const loadData = react.useCallback((updatedFilterDefinitionsValues) => {
|
|
1912
1923
|
const initialStateValues = createInitialState({
|
|
1913
1924
|
name,
|
|
@@ -1982,6 +1993,7 @@ const useGenericSetValue = () => {
|
|
|
1982
1993
|
* @returns {object} An object containing filter bar configuration and actions.
|
|
1983
1994
|
*/
|
|
1984
1995
|
const useFilterBar = ({ name, onValuesChange, filterBarDefinition, loadData: inputLoadData, saveData: inputSaveData, }) => {
|
|
1996
|
+
const lastName = react.useRef(name);
|
|
1985
1997
|
const { setValue } = useGenericSetValue();
|
|
1986
1998
|
const { loadData, saveData } = useFilterBarPersistence({
|
|
1987
1999
|
name,
|
|
@@ -1992,6 +2004,12 @@ const useFilterBar = ({ name, onValuesChange, filterBarDefinition, loadData: inp
|
|
|
1992
2004
|
const [filterBarConfig, setFilterBarConfig] = react.useState(() => {
|
|
1993
2005
|
return loadData(sharedUtils.objectValues(filterBarDefinition));
|
|
1994
2006
|
});
|
|
2007
|
+
react.useEffect(() => {
|
|
2008
|
+
if (lastName.current !== name) {
|
|
2009
|
+
setFilterBarConfig(loadData(sharedUtils.objectValues(filterBarDefinition)));
|
|
2010
|
+
lastName.current = name;
|
|
2011
|
+
}
|
|
2012
|
+
}, [filterBarDefinition, loadData, name]);
|
|
1995
2013
|
const { filterMapActions, filterMapGetter } = useFilterBarActions({
|
|
1996
2014
|
name,
|
|
1997
2015
|
filterBarConfig,
|
|
@@ -2049,8 +2067,9 @@ const useFilterBarAsync = ({ name, onValuesChange, filterBarDefinition, loadData
|
|
|
2049
2067
|
setValue: (key, callback) => setValue(setFilterBarConfig, key, callback),
|
|
2050
2068
|
});
|
|
2051
2069
|
const dataLoaded = react.useCallback((loadedFilterDefinitionsValues) => {
|
|
2052
|
-
|
|
2053
|
-
|
|
2070
|
+
setIsDataLoaded(false);
|
|
2071
|
+
setAsyncLoadedFilterBarDefinitions(loadedFilterDefinitionsValues);
|
|
2072
|
+
setFilterBarConfig(loadData(sharedUtils.objectValues(loadedFilterDefinitionsValues)));
|
|
2054
2073
|
setIsDataLoaded(true);
|
|
2055
2074
|
}, [loadData]);
|
|
2056
2075
|
const filterBarConfigMemoed = react.useMemo(() => {
|
package/index.esm.js
CHANGED
|
@@ -1861,7 +1861,11 @@ const getPersistenceKey = (name, clientSideUserId) => `filter-${name}-${clientSi
|
|
|
1861
1861
|
*/
|
|
1862
1862
|
const useFilterBarPersistence = ({ name, setValue, loadData: inputLoadData, saveData: inputSaveData, }) => {
|
|
1863
1863
|
const { clientSideUserId } = useCurrentUser();
|
|
1864
|
-
const
|
|
1864
|
+
const getFromLocalStorage = useCallback((persistenceKey) => {
|
|
1865
|
+
return localStorage.getItem(getPersistenceKey(persistenceKey, clientSideUserId));
|
|
1866
|
+
}, [clientSideUserId]);
|
|
1867
|
+
const lastName = useRef(name);
|
|
1868
|
+
const [initialStoredFilters] = useState(() => (!inputLoadData && getFromLocalStorage(name)) || "{}");
|
|
1865
1869
|
const [lastSavedState, setLastSavedState] = useState(undefined);
|
|
1866
1870
|
const saveData = useCallback((filterBarConfig, filterBarDefinitions) => {
|
|
1867
1871
|
const newValues = Object.assign({}, lastSavedState || {});
|
|
@@ -1893,7 +1897,14 @@ const useFilterBarPersistence = ({ name, setValue, loadData: inputLoadData, save
|
|
|
1893
1897
|
return inputLoadData();
|
|
1894
1898
|
}
|
|
1895
1899
|
else {
|
|
1896
|
-
|
|
1900
|
+
let storedFilters = null;
|
|
1901
|
+
if (lastName.current !== name) {
|
|
1902
|
+
storedFilters = localStorage.getItem(getPersistenceKey(name, clientSideUserId)) || "{}";
|
|
1903
|
+
lastName.current = name;
|
|
1904
|
+
}
|
|
1905
|
+
else {
|
|
1906
|
+
storedFilters = initialStoredFilters;
|
|
1907
|
+
}
|
|
1897
1908
|
if (storedFilters && storedFilters !== "undefined") {
|
|
1898
1909
|
try {
|
|
1899
1910
|
const loadedFilterBarConfigValues = JSON.parse(storedFilters);
|
|
@@ -1905,7 +1916,7 @@ const useFilterBarPersistence = ({ name, setValue, loadData: inputLoadData, save
|
|
|
1905
1916
|
}
|
|
1906
1917
|
return null;
|
|
1907
1918
|
}
|
|
1908
|
-
}, [inputLoadData, initialStoredFilters]);
|
|
1919
|
+
}, [inputLoadData, initialStoredFilters, clientSideUserId, name]);
|
|
1909
1920
|
const loadData = useCallback((updatedFilterDefinitionsValues) => {
|
|
1910
1921
|
const initialStateValues = createInitialState({
|
|
1911
1922
|
name,
|
|
@@ -1980,6 +1991,7 @@ const useGenericSetValue = () => {
|
|
|
1980
1991
|
* @returns {object} An object containing filter bar configuration and actions.
|
|
1981
1992
|
*/
|
|
1982
1993
|
const useFilterBar = ({ name, onValuesChange, filterBarDefinition, loadData: inputLoadData, saveData: inputSaveData, }) => {
|
|
1994
|
+
const lastName = useRef(name);
|
|
1983
1995
|
const { setValue } = useGenericSetValue();
|
|
1984
1996
|
const { loadData, saveData } = useFilterBarPersistence({
|
|
1985
1997
|
name,
|
|
@@ -1990,6 +2002,12 @@ const useFilterBar = ({ name, onValuesChange, filterBarDefinition, loadData: inp
|
|
|
1990
2002
|
const [filterBarConfig, setFilterBarConfig] = useState(() => {
|
|
1991
2003
|
return loadData(objectValues(filterBarDefinition));
|
|
1992
2004
|
});
|
|
2005
|
+
useEffect(() => {
|
|
2006
|
+
if (lastName.current !== name) {
|
|
2007
|
+
setFilterBarConfig(loadData(objectValues(filterBarDefinition)));
|
|
2008
|
+
lastName.current = name;
|
|
2009
|
+
}
|
|
2010
|
+
}, [filterBarDefinition, loadData, name]);
|
|
1993
2011
|
const { filterMapActions, filterMapGetter } = useFilterBarActions({
|
|
1994
2012
|
name,
|
|
1995
2013
|
filterBarConfig,
|
|
@@ -2047,8 +2065,9 @@ const useFilterBarAsync = ({ name, onValuesChange, filterBarDefinition, loadData
|
|
|
2047
2065
|
setValue: (key, callback) => setValue(setFilterBarConfig, key, callback),
|
|
2048
2066
|
});
|
|
2049
2067
|
const dataLoaded = useCallback((loadedFilterDefinitionsValues) => {
|
|
2050
|
-
|
|
2051
|
-
|
|
2068
|
+
setIsDataLoaded(false);
|
|
2069
|
+
setAsyncLoadedFilterBarDefinitions(loadedFilterDefinitionsValues);
|
|
2070
|
+
setFilterBarConfig(loadData(objectValues(loadedFilterDefinitionsValues)));
|
|
2052
2071
|
setIsDataLoaded(true);
|
|
2053
2072
|
}, [loadData]);
|
|
2054
2073
|
const filterBarConfigMemoed = useMemo(() => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trackunit/filters-filter-bar",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.4",
|
|
4
4
|
"repository": "https://github.com/Trackunit/manager",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
6
6
|
"engines": {
|
|
@@ -15,16 +15,16 @@
|
|
|
15
15
|
"string-ts": "^2.0.0",
|
|
16
16
|
"zod": "3.23.4",
|
|
17
17
|
"@trackunit/iris-app-api": "1.4.1",
|
|
18
|
-
"@trackunit/react-core-hooks": "1.4.
|
|
19
|
-
"@trackunit/react-filter-components": "1.4.
|
|
20
|
-
"@trackunit/react-date-and-time-components": "1.5.
|
|
18
|
+
"@trackunit/react-core-hooks": "1.4.2",
|
|
19
|
+
"@trackunit/react-filter-components": "1.4.4",
|
|
20
|
+
"@trackunit/react-date-and-time-components": "1.5.4",
|
|
21
21
|
"@trackunit/shared-utils": "1.6.1",
|
|
22
|
-
"@trackunit/react-form-components": "1.4.
|
|
23
|
-
"@trackunit/react-core-contexts-api": "1.5.
|
|
22
|
+
"@trackunit/react-form-components": "1.4.3",
|
|
23
|
+
"@trackunit/react-core-contexts-api": "1.5.2",
|
|
24
24
|
"@trackunit/geo-json-utils": "1.4.1",
|
|
25
|
-
"@trackunit/i18n-library-translation": "1.4.
|
|
25
|
+
"@trackunit/i18n-library-translation": "1.4.2",
|
|
26
26
|
"@trackunit/css-class-variance-utilities": "1.4.1",
|
|
27
|
-
"@trackunit/react-components": "1.5.
|
|
27
|
+
"@trackunit/react-components": "1.5.3",
|
|
28
28
|
"@trackunit/react-test-setup": "1.1.1"
|
|
29
29
|
},
|
|
30
30
|
"module": "./index.esm.js",
|