@trackunit/filters-filter-bar 1.8.152 → 1.8.156
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 +59 -30
- package/index.esm.js +59 -30
- package/package.json +12 -12
package/index.cjs.js
CHANGED
|
@@ -2154,34 +2154,34 @@ const useFilterBarPersistence = ({ name, setValue, refreshData, isDefaultValue,
|
|
|
2154
2154
|
// Add this useEffect to detect external URL changes
|
|
2155
2155
|
react.useEffect(() => {
|
|
2156
2156
|
if (!inputLoadData && !inputSaveData) {
|
|
2157
|
-
|
|
2158
|
-
|
|
2159
|
-
|
|
2160
|
-
|
|
2161
|
-
|
|
2162
|
-
|
|
2163
|
-
|
|
2164
|
-
|
|
2165
|
-
|
|
2166
|
-
|
|
2167
|
-
|
|
2168
|
-
|
|
2169
|
-
|
|
2170
|
-
|
|
2171
|
-
|
|
2172
|
-
|
|
2173
|
-
|
|
2174
|
-
|
|
2175
|
-
|
|
2176
|
-
|
|
2177
|
-
|
|
2178
|
-
|
|
2179
|
-
|
|
2157
|
+
const currentSearchValue = search?.[name];
|
|
2158
|
+
let currentSearchValueParsed;
|
|
2159
|
+
let lastSearchUpdateRefParsed;
|
|
2160
|
+
try {
|
|
2161
|
+
currentSearchValueParsed = currentSearchValue ? decode(currentSearchValue) : undefined;
|
|
2162
|
+
}
|
|
2163
|
+
catch (_) {
|
|
2164
|
+
// Invalid compressed data, treat as undefined
|
|
2165
|
+
currentSearchValueParsed = undefined;
|
|
2166
|
+
}
|
|
2167
|
+
try {
|
|
2168
|
+
lastSearchUpdateRefParsed = lastSearchUpdateRef.current ? decode(lastSearchUpdateRef.current) : undefined;
|
|
2169
|
+
}
|
|
2170
|
+
catch (_) {
|
|
2171
|
+
// Invalid compressed data, treat as undefined
|
|
2172
|
+
lastSearchUpdateRefParsed = undefined;
|
|
2173
|
+
}
|
|
2174
|
+
// H4sIADGRuGgAA3WTy07eQAxGXwVlXUtje27uruqWd0C2x1NaAa2AdoN49xq6-LOgUpQo0onny7H9ctzHsy591q8_73_dxXM8xNPT8fnl-KN3v-P4fHy5vj4-HQ96__5yd3e8fjqeQh_9Nt9v48fVfayr9f3b1YrHBH3f3GDBaj4Zui-HuvsADeO8KeFGrmYrj8hCbzTZrF0coRMRVEYHGcKAsW1Iw8qiF3ox06zbASth1t4GVsqCUvIxqO9R-EJ7w2aDJnjHCbV6JtmlgOSHQzB4DLvQtiwiRGB3aUk3h0lLgdyjFiyD8USPhd55BYzakkbaSbeA2jfmFaV7v9BMErKLguWpUNdQEKwTsqqXNETL_eRkbqojy1K0pCtVkK4LJM2VPtk6lQtdcIpSs2RGno9aQG0LSJrmvgrKHCeDFWWQN0iNNZMYgczFQNtH0VbqKifaq7uVBFdvBIgRIBoClcLXQFlC7VR7E7l2PdHKnH36kN5rJFY96Z0m3mhTKv-hG8cscytgU0vLnAOlTNAWdd_TR11y8m3dsxsGyJp_2XOg5hyZOxaP2Qu6nX137DbnW5L0_S-3p9CPk2hC09sG15SXgrKrHgQlpYe6ZKl9oScNb74IOmMmmbkSYmmHdYWZ7z3baWKpiWq0nA6u2fkEYFoOS-_OtibuIqfdaa0oDytgnB2saSC3YTSI0UKIc9nofWJf_wIRCrRd6AMAAA
|
|
2175
|
+
// Check if this is an external URL change (not from our own updates)
|
|
2176
|
+
// Only trigger refreshData if there's a meaningful change in the URL value
|
|
2177
|
+
if (search?.[name] !== undefined && !dequal.dequal(lastSearchUpdateRefParsed, currentSearchValueParsed)) {
|
|
2178
|
+
// This is an external URL change with actual data, trigger refreshData
|
|
2179
|
+
void requestAnimationFrame(() => {
|
|
2180
2180
|
if (refreshDataRef.current) {
|
|
2181
2181
|
refreshDataRef.current();
|
|
2182
2182
|
}
|
|
2183
|
-
}
|
|
2184
|
-
}
|
|
2183
|
+
});
|
|
2184
|
+
}
|
|
2185
2185
|
}
|
|
2186
2186
|
}, [search, name, inputLoadData, inputSaveData, decode]);
|
|
2187
2187
|
const saveData = react.useCallback((filterBarConfig, filterBarDefinitions) => {
|
|
@@ -2320,13 +2320,17 @@ const useFilterBarPersistence = ({ name, setValue, refreshData, isDefaultValue,
|
|
|
2320
2320
|
initialFilterBarConfig.setters[`set${stringTs.capitalize(key)}`] = (callback) => setValue(key, callback);
|
|
2321
2321
|
});
|
|
2322
2322
|
const urlObject = getFilterValuesToUrl(initialFilterBarConfig.values, updatedFilterDefinitionsValues, false, isDefaultValue);
|
|
2323
|
+
let needUpdate = false;
|
|
2323
2324
|
const result = {};
|
|
2324
2325
|
if (initialFilterBarConfig.name) {
|
|
2325
2326
|
result[initialFilterBarConfig.name] = encode(urlObject);
|
|
2327
|
+
needUpdate = !dequal.dequal(lastSearchUpdateRef.current, result[initialFilterBarConfig.name]);
|
|
2326
2328
|
// Update the ref BEFORE updating the URL to prevent false external change detection
|
|
2327
2329
|
lastSearchUpdateRef.current = result[initialFilterBarConfig.name];
|
|
2328
2330
|
}
|
|
2329
|
-
|
|
2331
|
+
if (needUpdate) {
|
|
2332
|
+
void updateSearch(result);
|
|
2333
|
+
}
|
|
2330
2334
|
return initialFilterBarConfig;
|
|
2331
2335
|
}, [name, setValue, loadValues, getFilterValuesToUrl, updateSearch, encode, isDefaultValue]);
|
|
2332
2336
|
return react.useMemo(() => ({ loadData, saveData, getFilterValuesToUrl }), [loadData, saveData, getFilterValuesToUrl]);
|
|
@@ -2360,6 +2364,10 @@ const useGenericSetValue = () => {
|
|
|
2360
2364
|
* @returns {object} An object containing filter bar configuration and actions.
|
|
2361
2365
|
*/
|
|
2362
2366
|
const useFilterBar = ({ name, onValuesChange, filterBarDefinition, loadData: inputLoadData, saveData: inputSaveData, }) => {
|
|
2367
|
+
const filterBarDefinitionRef = react.useRef(filterBarDefinition);
|
|
2368
|
+
react.useEffect(() => {
|
|
2369
|
+
filterBarDefinitionRef.current = filterBarDefinition;
|
|
2370
|
+
}, [filterBarDefinition]);
|
|
2363
2371
|
const lastName = react.useRef(name);
|
|
2364
2372
|
const { setValue } = useGenericSetValue();
|
|
2365
2373
|
const { isDefaultValue } = useIsDefaultValue();
|
|
@@ -2367,13 +2375,16 @@ const useFilterBar = ({ name, onValuesChange, filterBarDefinition, loadData: inp
|
|
|
2367
2375
|
name,
|
|
2368
2376
|
isDefaultValue: (key, value) => isDefaultValue(key, value, filterBarDefinition),
|
|
2369
2377
|
setValue: (key, callback) => setValue(setFilterBarConfig, key, callback),
|
|
2370
|
-
refreshData: () =>
|
|
2378
|
+
refreshData: () => refreshData(),
|
|
2371
2379
|
loadData: inputLoadData,
|
|
2372
2380
|
saveData: inputSaveData,
|
|
2373
2381
|
});
|
|
2374
2382
|
const [filterBarConfig, setFilterBarConfig] = react.useState(() => {
|
|
2375
2383
|
return loadData(sharedUtils.objectValues(filterBarDefinition));
|
|
2376
2384
|
});
|
|
2385
|
+
const refreshData = react.useCallback(() => {
|
|
2386
|
+
setFilterBarConfig(loadData(sharedUtils.objectValues(filterBarDefinitionRef.current)));
|
|
2387
|
+
}, [loadData, setFilterBarConfig]);
|
|
2377
2388
|
const setValueMemoized = react.useCallback((key, callback) => {
|
|
2378
2389
|
setValue(setFilterBarConfig, key, callback);
|
|
2379
2390
|
}, [setFilterBarConfig, setValue]);
|
|
@@ -2402,16 +2413,20 @@ const useFilterBar = ({ name, onValuesChange, filterBarDefinition, loadData: inp
|
|
|
2402
2413
|
},
|
|
2403
2414
|
immediate: true,
|
|
2404
2415
|
});
|
|
2416
|
+
const loadDataRef = react.useRef(loadData);
|
|
2417
|
+
react.useEffect(() => {
|
|
2418
|
+
loadDataRef.current = loadData;
|
|
2419
|
+
}, [loadData]);
|
|
2405
2420
|
react.useEffect(() => {
|
|
2406
2421
|
if (lastName.current !== name) {
|
|
2407
|
-
setFilterBarConfig(
|
|
2422
|
+
setFilterBarConfig(loadDataRef.current(sharedUtils.objectValues(filterBarDefinitionRef.current)));
|
|
2408
2423
|
lastName.current = name;
|
|
2409
2424
|
}
|
|
2410
|
-
}, [
|
|
2425
|
+
}, [name]);
|
|
2411
2426
|
return react.useMemo(() => {
|
|
2412
2427
|
return {
|
|
2413
2428
|
filterBarConfig: { ...filterBarConfig, ...filterMapActions, ...filterMapGetter },
|
|
2414
|
-
filterBarDefinition,
|
|
2429
|
+
filterBarDefinition: Object.freeze(filterBarDefinition),
|
|
2415
2430
|
name,
|
|
2416
2431
|
onValuesChange: stableOnValuesChange,
|
|
2417
2432
|
};
|
|
@@ -2437,12 +2452,18 @@ const useFilterBarAsync = ({ name, onValuesChange, filterBarDefinition, loadData
|
|
|
2437
2452
|
}), [name]);
|
|
2438
2453
|
const [filterBarConfig, setFilterBarConfig] = react.useState(initialFilterBarConfig);
|
|
2439
2454
|
const { setValue } = useGenericSetValue();
|
|
2455
|
+
const refreshDataRef = react.useRef(() => {
|
|
2456
|
+
// default do nothing
|
|
2457
|
+
});
|
|
2440
2458
|
const persistenceConfig = react.useMemo(() => ({
|
|
2441
2459
|
name,
|
|
2442
2460
|
isDefaultValue: (key, value) => isDefaultValue(key, value, filterBarDefinition, filterBarConfig.initialState),
|
|
2443
2461
|
setValue: (key, callback) => setValue(setFilterBarConfig, key, callback),
|
|
2444
2462
|
loadData: inputLoadData,
|
|
2445
2463
|
saveData: inputSaveData,
|
|
2464
|
+
refreshData: () => {
|
|
2465
|
+
refreshDataRef.current();
|
|
2466
|
+
},
|
|
2446
2467
|
}), [
|
|
2447
2468
|
name,
|
|
2448
2469
|
isDefaultValue,
|
|
@@ -2454,6 +2475,14 @@ const useFilterBarAsync = ({ name, onValuesChange, filterBarDefinition, loadData
|
|
|
2454
2475
|
inputSaveData,
|
|
2455
2476
|
]);
|
|
2456
2477
|
const { loadData, saveData } = useFilterBarPersistence(persistenceConfig);
|
|
2478
|
+
const refreshData = react.useCallback(() => {
|
|
2479
|
+
if (isDataLoaded) {
|
|
2480
|
+
setFilterBarConfig(loadData(sharedUtils.objectValues(internalFilterBarDefinitions)));
|
|
2481
|
+
}
|
|
2482
|
+
}, [loadData, setFilterBarConfig, internalFilterBarDefinitions, isDataLoaded]);
|
|
2483
|
+
react.useEffect(() => {
|
|
2484
|
+
refreshDataRef.current = refreshData;
|
|
2485
|
+
}, [refreshData]);
|
|
2457
2486
|
const setValueMemoized = react.useCallback((key, callback) => {
|
|
2458
2487
|
setValue(setFilterBarConfig, key, callback);
|
|
2459
2488
|
}, [setFilterBarConfig, setValue]);
|
package/index.esm.js
CHANGED
|
@@ -2152,34 +2152,34 @@ const useFilterBarPersistence = ({ name, setValue, refreshData, isDefaultValue,
|
|
|
2152
2152
|
// Add this useEffect to detect external URL changes
|
|
2153
2153
|
useEffect(() => {
|
|
2154
2154
|
if (!inputLoadData && !inputSaveData) {
|
|
2155
|
-
|
|
2156
|
-
|
|
2157
|
-
|
|
2158
|
-
|
|
2159
|
-
|
|
2160
|
-
|
|
2161
|
-
|
|
2162
|
-
|
|
2163
|
-
|
|
2164
|
-
|
|
2165
|
-
|
|
2166
|
-
|
|
2167
|
-
|
|
2168
|
-
|
|
2169
|
-
|
|
2170
|
-
|
|
2171
|
-
|
|
2172
|
-
|
|
2173
|
-
|
|
2174
|
-
|
|
2175
|
-
|
|
2176
|
-
|
|
2177
|
-
|
|
2155
|
+
const currentSearchValue = search?.[name];
|
|
2156
|
+
let currentSearchValueParsed;
|
|
2157
|
+
let lastSearchUpdateRefParsed;
|
|
2158
|
+
try {
|
|
2159
|
+
currentSearchValueParsed = currentSearchValue ? decode(currentSearchValue) : undefined;
|
|
2160
|
+
}
|
|
2161
|
+
catch (_) {
|
|
2162
|
+
// Invalid compressed data, treat as undefined
|
|
2163
|
+
currentSearchValueParsed = undefined;
|
|
2164
|
+
}
|
|
2165
|
+
try {
|
|
2166
|
+
lastSearchUpdateRefParsed = lastSearchUpdateRef.current ? decode(lastSearchUpdateRef.current) : undefined;
|
|
2167
|
+
}
|
|
2168
|
+
catch (_) {
|
|
2169
|
+
// Invalid compressed data, treat as undefined
|
|
2170
|
+
lastSearchUpdateRefParsed = undefined;
|
|
2171
|
+
}
|
|
2172
|
+
// H4sIADGRuGgAA3WTy07eQAxGXwVlXUtje27uruqWd0C2x1NaAa2AdoN49xq6-LOgUpQo0onny7H9ctzHsy591q8_73_dxXM8xNPT8fnl-KN3v-P4fHy5vj4-HQ96__5yd3e8fjqeQh_9Nt9v48fVfayr9f3b1YrHBH3f3GDBaj4Zui-HuvsADeO8KeFGrmYrj8hCbzTZrF0coRMRVEYHGcKAsW1Iw8qiF3ox06zbASth1t4GVsqCUvIxqO9R-EJ7w2aDJnjHCbV6JtmlgOSHQzB4DLvQtiwiRGB3aUk3h0lLgdyjFiyD8USPhd55BYzakkbaSbeA2jfmFaV7v9BMErKLguWpUNdQEKwTsqqXNETL_eRkbqojy1K0pCtVkK4LJM2VPtk6lQtdcIpSs2RGno9aQG0LSJrmvgrKHCeDFWWQN0iNNZMYgczFQNtH0VbqKifaq7uVBFdvBIgRIBoClcLXQFlC7VR7E7l2PdHKnH36kN5rJFY96Z0m3mhTKv-hG8cscytgU0vLnAOlTNAWdd_TR11y8m3dsxsGyJp_2XOg5hyZOxaP2Qu6nX137DbnW5L0_S-3p9CPk2hC09sG15SXgrKrHgQlpYe6ZKl9oScNb74IOmMmmbkSYmmHdYWZ7z3baWKpiWq0nA6u2fkEYFoOS-_OtibuIqfdaa0oDytgnB2saSC3YTSI0UKIc9nofWJf_wIRCrRd6AMAAA
|
|
2173
|
+
// Check if this is an external URL change (not from our own updates)
|
|
2174
|
+
// Only trigger refreshData if there's a meaningful change in the URL value
|
|
2175
|
+
if (search?.[name] !== undefined && !dequal(lastSearchUpdateRefParsed, currentSearchValueParsed)) {
|
|
2176
|
+
// This is an external URL change with actual data, trigger refreshData
|
|
2177
|
+
void requestAnimationFrame(() => {
|
|
2178
2178
|
if (refreshDataRef.current) {
|
|
2179
2179
|
refreshDataRef.current();
|
|
2180
2180
|
}
|
|
2181
|
-
}
|
|
2182
|
-
}
|
|
2181
|
+
});
|
|
2182
|
+
}
|
|
2183
2183
|
}
|
|
2184
2184
|
}, [search, name, inputLoadData, inputSaveData, decode]);
|
|
2185
2185
|
const saveData = useCallback((filterBarConfig, filterBarDefinitions) => {
|
|
@@ -2318,13 +2318,17 @@ const useFilterBarPersistence = ({ name, setValue, refreshData, isDefaultValue,
|
|
|
2318
2318
|
initialFilterBarConfig.setters[`set${capitalize(key)}`] = (callback) => setValue(key, callback);
|
|
2319
2319
|
});
|
|
2320
2320
|
const urlObject = getFilterValuesToUrl(initialFilterBarConfig.values, updatedFilterDefinitionsValues, false, isDefaultValue);
|
|
2321
|
+
let needUpdate = false;
|
|
2321
2322
|
const result = {};
|
|
2322
2323
|
if (initialFilterBarConfig.name) {
|
|
2323
2324
|
result[initialFilterBarConfig.name] = encode(urlObject);
|
|
2325
|
+
needUpdate = !dequal(lastSearchUpdateRef.current, result[initialFilterBarConfig.name]);
|
|
2324
2326
|
// Update the ref BEFORE updating the URL to prevent false external change detection
|
|
2325
2327
|
lastSearchUpdateRef.current = result[initialFilterBarConfig.name];
|
|
2326
2328
|
}
|
|
2327
|
-
|
|
2329
|
+
if (needUpdate) {
|
|
2330
|
+
void updateSearch(result);
|
|
2331
|
+
}
|
|
2328
2332
|
return initialFilterBarConfig;
|
|
2329
2333
|
}, [name, setValue, loadValues, getFilterValuesToUrl, updateSearch, encode, isDefaultValue]);
|
|
2330
2334
|
return useMemo(() => ({ loadData, saveData, getFilterValuesToUrl }), [loadData, saveData, getFilterValuesToUrl]);
|
|
@@ -2358,6 +2362,10 @@ const useGenericSetValue = () => {
|
|
|
2358
2362
|
* @returns {object} An object containing filter bar configuration and actions.
|
|
2359
2363
|
*/
|
|
2360
2364
|
const useFilterBar = ({ name, onValuesChange, filterBarDefinition, loadData: inputLoadData, saveData: inputSaveData, }) => {
|
|
2365
|
+
const filterBarDefinitionRef = useRef(filterBarDefinition);
|
|
2366
|
+
useEffect(() => {
|
|
2367
|
+
filterBarDefinitionRef.current = filterBarDefinition;
|
|
2368
|
+
}, [filterBarDefinition]);
|
|
2361
2369
|
const lastName = useRef(name);
|
|
2362
2370
|
const { setValue } = useGenericSetValue();
|
|
2363
2371
|
const { isDefaultValue } = useIsDefaultValue();
|
|
@@ -2365,13 +2373,16 @@ const useFilterBar = ({ name, onValuesChange, filterBarDefinition, loadData: inp
|
|
|
2365
2373
|
name,
|
|
2366
2374
|
isDefaultValue: (key, value) => isDefaultValue(key, value, filterBarDefinition),
|
|
2367
2375
|
setValue: (key, callback) => setValue(setFilterBarConfig, key, callback),
|
|
2368
|
-
refreshData: () =>
|
|
2376
|
+
refreshData: () => refreshData(),
|
|
2369
2377
|
loadData: inputLoadData,
|
|
2370
2378
|
saveData: inputSaveData,
|
|
2371
2379
|
});
|
|
2372
2380
|
const [filterBarConfig, setFilterBarConfig] = useState(() => {
|
|
2373
2381
|
return loadData(objectValues(filterBarDefinition));
|
|
2374
2382
|
});
|
|
2383
|
+
const refreshData = useCallback(() => {
|
|
2384
|
+
setFilterBarConfig(loadData(objectValues(filterBarDefinitionRef.current)));
|
|
2385
|
+
}, [loadData, setFilterBarConfig]);
|
|
2375
2386
|
const setValueMemoized = useCallback((key, callback) => {
|
|
2376
2387
|
setValue(setFilterBarConfig, key, callback);
|
|
2377
2388
|
}, [setFilterBarConfig, setValue]);
|
|
@@ -2400,16 +2411,20 @@ const useFilterBar = ({ name, onValuesChange, filterBarDefinition, loadData: inp
|
|
|
2400
2411
|
},
|
|
2401
2412
|
immediate: true,
|
|
2402
2413
|
});
|
|
2414
|
+
const loadDataRef = useRef(loadData);
|
|
2415
|
+
useEffect(() => {
|
|
2416
|
+
loadDataRef.current = loadData;
|
|
2417
|
+
}, [loadData]);
|
|
2403
2418
|
useEffect(() => {
|
|
2404
2419
|
if (lastName.current !== name) {
|
|
2405
|
-
setFilterBarConfig(
|
|
2420
|
+
setFilterBarConfig(loadDataRef.current(objectValues(filterBarDefinitionRef.current)));
|
|
2406
2421
|
lastName.current = name;
|
|
2407
2422
|
}
|
|
2408
|
-
}, [
|
|
2423
|
+
}, [name]);
|
|
2409
2424
|
return useMemo(() => {
|
|
2410
2425
|
return {
|
|
2411
2426
|
filterBarConfig: { ...filterBarConfig, ...filterMapActions, ...filterMapGetter },
|
|
2412
|
-
filterBarDefinition,
|
|
2427
|
+
filterBarDefinition: Object.freeze(filterBarDefinition),
|
|
2413
2428
|
name,
|
|
2414
2429
|
onValuesChange: stableOnValuesChange,
|
|
2415
2430
|
};
|
|
@@ -2435,12 +2450,18 @@ const useFilterBarAsync = ({ name, onValuesChange, filterBarDefinition, loadData
|
|
|
2435
2450
|
}), [name]);
|
|
2436
2451
|
const [filterBarConfig, setFilterBarConfig] = useState(initialFilterBarConfig);
|
|
2437
2452
|
const { setValue } = useGenericSetValue();
|
|
2453
|
+
const refreshDataRef = useRef(() => {
|
|
2454
|
+
// default do nothing
|
|
2455
|
+
});
|
|
2438
2456
|
const persistenceConfig = useMemo(() => ({
|
|
2439
2457
|
name,
|
|
2440
2458
|
isDefaultValue: (key, value) => isDefaultValue(key, value, filterBarDefinition, filterBarConfig.initialState),
|
|
2441
2459
|
setValue: (key, callback) => setValue(setFilterBarConfig, key, callback),
|
|
2442
2460
|
loadData: inputLoadData,
|
|
2443
2461
|
saveData: inputSaveData,
|
|
2462
|
+
refreshData: () => {
|
|
2463
|
+
refreshDataRef.current();
|
|
2464
|
+
},
|
|
2444
2465
|
}), [
|
|
2445
2466
|
name,
|
|
2446
2467
|
isDefaultValue,
|
|
@@ -2452,6 +2473,14 @@ const useFilterBarAsync = ({ name, onValuesChange, filterBarDefinition, loadData
|
|
|
2452
2473
|
inputSaveData,
|
|
2453
2474
|
]);
|
|
2454
2475
|
const { loadData, saveData } = useFilterBarPersistence(persistenceConfig);
|
|
2476
|
+
const refreshData = useCallback(() => {
|
|
2477
|
+
if (isDataLoaded) {
|
|
2478
|
+
setFilterBarConfig(loadData(objectValues(internalFilterBarDefinitions)));
|
|
2479
|
+
}
|
|
2480
|
+
}, [loadData, setFilterBarConfig, internalFilterBarDefinitions, isDataLoaded]);
|
|
2481
|
+
useEffect(() => {
|
|
2482
|
+
refreshDataRef.current = refreshData;
|
|
2483
|
+
}, [refreshData]);
|
|
2455
2484
|
const setValueMemoized = useCallback((key, callback) => {
|
|
2456
2485
|
setValue(setFilterBarConfig, key, callback);
|
|
2457
2486
|
}, [setFilterBarConfig, setValue]);
|
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.156",
|
|
4
4
|
"repository": "https://github.com/Trackunit/manager",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
6
6
|
"engines": {
|
|
@@ -12,17 +12,17 @@
|
|
|
12
12
|
"tailwind-merge": "^2.0.0",
|
|
13
13
|
"string-ts": "^2.0.0",
|
|
14
14
|
"zod": "^3.23.8",
|
|
15
|
-
"@trackunit/iris-app-api": "1.9.
|
|
16
|
-
"@trackunit/react-core-hooks": "1.7.
|
|
17
|
-
"@trackunit/react-filter-components": "1.7.
|
|
18
|
-
"@trackunit/react-date-and-time-components": "1.10.
|
|
19
|
-
"@trackunit/shared-utils": "1.9.
|
|
20
|
-
"@trackunit/react-form-components": "1.8.
|
|
21
|
-
"@trackunit/iris-app-runtime-core-api": "1.7.
|
|
22
|
-
"@trackunit/geo-json-utils": "1.7.
|
|
23
|
-
"@trackunit/i18n-library-translation": "1.7.
|
|
24
|
-
"@trackunit/css-class-variance-utilities": "1.7.
|
|
25
|
-
"@trackunit/react-components": "1.10.
|
|
15
|
+
"@trackunit/iris-app-api": "1.9.37",
|
|
16
|
+
"@trackunit/react-core-hooks": "1.7.113",
|
|
17
|
+
"@trackunit/react-filter-components": "1.7.150",
|
|
18
|
+
"@trackunit/react-date-and-time-components": "1.10.150",
|
|
19
|
+
"@trackunit/shared-utils": "1.9.99",
|
|
20
|
+
"@trackunit/react-form-components": "1.8.147",
|
|
21
|
+
"@trackunit/iris-app-runtime-core-api": "1.7.109",
|
|
22
|
+
"@trackunit/geo-json-utils": "1.7.99",
|
|
23
|
+
"@trackunit/i18n-library-translation": "1.7.117",
|
|
24
|
+
"@trackunit/css-class-variance-utilities": "1.7.99",
|
|
25
|
+
"@trackunit/react-components": "1.10.75",
|
|
26
26
|
"@tanstack/react-router": "1.114.29"
|
|
27
27
|
},
|
|
28
28
|
"module": "./index.esm.js",
|