@trackunit/filters-filter-bar 0.0.228 → 0.0.232
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 +2 -12
- package/index.esm.js +2 -12
- package/package.json +1 -2
- package/src/lib/components/ResetFiltersButton.d.ts +1 -8
package/index.cjs.js
CHANGED
|
@@ -10,7 +10,6 @@ var sharedUtils = require('@trackunit/shared-utils');
|
|
|
10
10
|
var react = require('react');
|
|
11
11
|
var tailwindMerge = require('tailwind-merge');
|
|
12
12
|
var reactFilterComponents = require('@trackunit/react-filter-components');
|
|
13
|
-
var reactRouterDom = require('react-router-dom');
|
|
14
13
|
var reactCoreHooks = require('@trackunit/react-core-hooks');
|
|
15
14
|
var reactCoreContextsApi = require('@trackunit/react-core-contexts-api');
|
|
16
15
|
var reactVirtual = require('@tanstack/react-virtual');
|
|
@@ -421,21 +420,12 @@ const Filter = ({ filter, filterBarActions, filterState, }) => {
|
|
|
421
420
|
*
|
|
422
421
|
* @returns {ReactElement | null} The rendered ResetFiltersButton component, or null if no filters have been applied.
|
|
423
422
|
*/
|
|
424
|
-
const ResetFiltersButton = ({
|
|
423
|
+
const ResetFiltersButton = ({ filtersHaveBeenApplied, resetFiltersToInitialState, }) => {
|
|
425
424
|
const [t] = useTranslation();
|
|
426
|
-
const { pathname } = reactRouterDom.useLocation();
|
|
427
|
-
const navigate = reactRouterDom.useNavigate();
|
|
428
|
-
const clearSearch = () => {
|
|
429
|
-
const isSearchIncluded = isFilterIncludedByKey("search");
|
|
430
|
-
if (isSearchIncluded) {
|
|
431
|
-
navigate(pathname, { replace: true });
|
|
432
|
-
}
|
|
433
|
-
};
|
|
434
425
|
if (!filtersHaveBeenApplied) {
|
|
435
426
|
return null;
|
|
436
427
|
}
|
|
437
428
|
return (jsxRuntime.jsx(reactComponents.Button, { dataTestId: "reset-filters-button", onClick: () => {
|
|
438
|
-
clearSearch();
|
|
439
429
|
resetFiltersToInitialState();
|
|
440
430
|
}, size: "small", variant: "ghost-neutral", children: t("filtersBar.resetFilters") }));
|
|
441
431
|
};
|
|
@@ -545,7 +535,7 @@ const FilterSelection = ({ filterBarDefinition, filterBarConfig, hiddenFilters =
|
|
|
545
535
|
return (jsxRuntime.jsx(react.Fragment, { children: jsxRuntime.jsx(Filter, { filter: filter, filterBarActions: filterBarConfig, filterState: { values: filterBarConfig.values, setters: filterBarConfig.setters } }, `filter-${filter.filterKey}`) }, filter.filterKey));
|
|
546
536
|
}
|
|
547
537
|
return null;
|
|
548
|
-
})), jsxRuntime.jsx(ResetFiltersButton, { filtersHaveBeenApplied: filterBarConfig.filtersHaveBeenApplied,
|
|
538
|
+
})), jsxRuntime.jsx(ResetFiltersButton, { filtersHaveBeenApplied: filterBarConfig.filtersHaveBeenApplied, resetFiltersToInitialState: filterBarConfig.resetFiltersToInitialState })] }));
|
|
549
539
|
};
|
|
550
540
|
|
|
551
541
|
/**
|
package/index.esm.js
CHANGED
|
@@ -6,7 +6,6 @@ import { truthy, capitalize as capitalize$1, nonNullable } from '@trackunit/shar
|
|
|
6
6
|
import { useMemo, useState, Fragment as Fragment$1, useCallback, useEffect, useRef } from 'react';
|
|
7
7
|
import { twMerge } from 'tailwind-merge';
|
|
8
8
|
import { Filter as Filter$1, FilterBody, RadioFilterItem, CheckBoxFilterItem, FilterHeader as FilterHeader$1, FilterFooter } from '@trackunit/react-filter-components';
|
|
9
|
-
import { useLocation, useNavigate } from 'react-router-dom';
|
|
10
9
|
import { useAnalytics, useTextSearch } from '@trackunit/react-core-hooks';
|
|
11
10
|
import { createEvent } from '@trackunit/react-core-contexts-api';
|
|
12
11
|
import { useVirtualizer } from '@tanstack/react-virtual';
|
|
@@ -413,21 +412,12 @@ const Filter = ({ filter, filterBarActions, filterState, }) => {
|
|
|
413
412
|
*
|
|
414
413
|
* @returns {ReactElement | null} The rendered ResetFiltersButton component, or null if no filters have been applied.
|
|
415
414
|
*/
|
|
416
|
-
const ResetFiltersButton = ({
|
|
415
|
+
const ResetFiltersButton = ({ filtersHaveBeenApplied, resetFiltersToInitialState, }) => {
|
|
417
416
|
const [t] = useTranslation();
|
|
418
|
-
const { pathname } = useLocation();
|
|
419
|
-
const navigate = useNavigate();
|
|
420
|
-
const clearSearch = () => {
|
|
421
|
-
const isSearchIncluded = isFilterIncludedByKey("search");
|
|
422
|
-
if (isSearchIncluded) {
|
|
423
|
-
navigate(pathname, { replace: true });
|
|
424
|
-
}
|
|
425
|
-
};
|
|
426
417
|
if (!filtersHaveBeenApplied) {
|
|
427
418
|
return null;
|
|
428
419
|
}
|
|
429
420
|
return (jsx(Button, { dataTestId: "reset-filters-button", onClick: () => {
|
|
430
|
-
clearSearch();
|
|
431
421
|
resetFiltersToInitialState();
|
|
432
422
|
}, size: "small", variant: "ghost-neutral", children: t("filtersBar.resetFilters") }));
|
|
433
423
|
};
|
|
@@ -537,7 +527,7 @@ const FilterSelection = ({ filterBarDefinition, filterBarConfig, hiddenFilters =
|
|
|
537
527
|
return (jsx(Fragment$1, { children: jsx(Filter, { filter: filter, filterBarActions: filterBarConfig, filterState: { values: filterBarConfig.values, setters: filterBarConfig.setters } }, `filter-${filter.filterKey}`) }, filter.filterKey));
|
|
538
528
|
}
|
|
539
529
|
return null;
|
|
540
|
-
})), jsx(ResetFiltersButton, { filtersHaveBeenApplied: filterBarConfig.filtersHaveBeenApplied,
|
|
530
|
+
})), jsx(ResetFiltersButton, { filtersHaveBeenApplied: filterBarConfig.filtersHaveBeenApplied, resetFiltersToInitialState: filterBarConfig.resetFiltersToInitialState })] }));
|
|
541
531
|
};
|
|
542
532
|
|
|
543
533
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trackunit/filters-filter-bar",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.232",
|
|
4
4
|
"repository": "https://github.com/Trackunit/manager",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
6
6
|
"engines": {
|
|
@@ -13,7 +13,6 @@
|
|
|
13
13
|
"@trackunit/react-filter-components": "*",
|
|
14
14
|
"react": "^18.2.0",
|
|
15
15
|
"@trackunit/react-form-components": "*",
|
|
16
|
-
"react-router-dom": "6.18.0",
|
|
17
16
|
"dequal": "^2.0.3",
|
|
18
17
|
"lodash": "4.17.21",
|
|
19
18
|
"jest-fetch-mock": "^3.0.3",
|
|
@@ -1,12 +1,5 @@
|
|
|
1
1
|
import { ReactElement } from "react";
|
|
2
2
|
interface ResetFiltersProps {
|
|
3
|
-
/**
|
|
4
|
-
* A function that checks if a filter is included by its key.
|
|
5
|
-
*
|
|
6
|
-
* @param key - The key of the filter to check.
|
|
7
|
-
* @returns `true` if the filter is included, `false` otherwise.
|
|
8
|
-
*/
|
|
9
|
-
isFilterIncludedByKey: (key: string) => boolean;
|
|
10
3
|
/**
|
|
11
4
|
* A function that resets the filters to their initial state.
|
|
12
5
|
*/
|
|
@@ -22,5 +15,5 @@ interface ResetFiltersProps {
|
|
|
22
15
|
*
|
|
23
16
|
* @returns {ReactElement | null} The rendered ResetFiltersButton component, or null if no filters have been applied.
|
|
24
17
|
*/
|
|
25
|
-
export declare const ResetFiltersButton: ({
|
|
18
|
+
export declare const ResetFiltersButton: ({ filtersHaveBeenApplied, resetFiltersToInitialState, }: ResetFiltersProps) => ReactElement | null;
|
|
26
19
|
export {};
|