@patternfly/react-data-view 6.1.0 → 6.3.0-prerelease.3
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/dist/cjs/DataView/DataView.d.ts +2 -2
- package/dist/cjs/DataView/DataView.js +4 -7
- package/dist/cjs/DataView/DataView.test.js +3 -6
- package/dist/cjs/DataViewCheckboxFilter/DataViewCheckboxFilter.d.ts +2 -2
- package/dist/cjs/DataViewCheckboxFilter/DataViewCheckboxFilter.js +10 -15
- package/dist/cjs/DataViewCheckboxFilter/DataViewCheckboxFilter.test.js +3 -3
- package/dist/cjs/DataViewEventsContext/DataViewEventsContext.d.ts +3 -3
- package/dist/cjs/DataViewEventsContext/DataViewEventsContext.js +3 -25
- package/dist/cjs/DataViewEventsContext/DataViewEventsContext.test.js +11 -16
- package/dist/cjs/DataViewFilters/DataViewFilters.d.ts +2 -2
- package/dist/cjs/DataViewFilters/DataViewFilters.js +12 -40
- package/dist/cjs/DataViewFilters/DataViewFilters.test.js +11 -5
- package/dist/cjs/DataViewTable/DataViewTable.d.ts +2 -2
- package/dist/cjs/DataViewTable/DataViewTable.js +2 -5
- package/dist/cjs/DataViewTable/DataViewTable.test.js +4 -7
- package/dist/cjs/DataViewTableBasic/DataViewTableBasic.d.ts +2 -2
- package/dist/cjs/DataViewTableBasic/DataViewTableBasic.js +15 -41
- package/dist/cjs/DataViewTableBasic/DataViewTableBasic.test.js +6 -12
- package/dist/cjs/DataViewTableHead/DataViewTableHead.d.ts +2 -2
- package/dist/cjs/DataViewTableHead/DataViewTableHead.js +5 -28
- package/dist/cjs/DataViewTableHead/DataViewTableHead.test.js +5 -13
- package/dist/cjs/DataViewTableTree/DataViewTableTree.d.ts +2 -2
- package/dist/cjs/DataViewTableTree/DataViewTableTree.js +10 -34
- package/dist/cjs/DataViewTableTree/DataViewTableTree.test.js +6 -13
- package/dist/cjs/DataViewTextFilter/DataViewTextFilter.d.ts +2 -2
- package/dist/cjs/DataViewTextFilter/DataViewTextFilter.js +2 -6
- package/dist/cjs/DataViewTextFilter/DataViewTextFilter.test.js +3 -3
- package/dist/cjs/DataViewToolbar/DataViewToolbar.d.ts +4 -2
- package/dist/cjs/DataViewToolbar/DataViewToolbar.js +5 -34
- package/dist/cjs/DataViewToolbar/DataViewToolbar.test.js +3 -3
- package/dist/cjs/Hooks/filters.js +1 -1
- package/dist/cjs/Hooks/filters.test.js +25 -0
- package/dist/cjs/InternalContext/InternalContext.d.ts +3 -3
- package/dist/cjs/InternalContext/InternalContext.js +3 -25
- package/dist/cjs/InternalContext/InternalContext.test.js +9 -21
- package/dist/esm/DataView/DataView.d.ts +2 -2
- package/dist/esm/DataView/DataView.js +4 -4
- package/dist/esm/DataView/DataView.test.js +2 -5
- package/dist/esm/DataViewCheckboxFilter/DataViewCheckboxFilter.d.ts +2 -2
- package/dist/esm/DataViewCheckboxFilter/DataViewCheckboxFilter.js +10 -12
- package/dist/esm/DataViewCheckboxFilter/DataViewCheckboxFilter.test.js +2 -2
- package/dist/esm/DataViewEventsContext/DataViewEventsContext.d.ts +3 -3
- package/dist/esm/DataViewEventsContext/DataViewEventsContext.js +3 -2
- package/dist/esm/DataViewEventsContext/DataViewEventsContext.test.js +11 -13
- package/dist/esm/DataViewFilters/DataViewFilters.d.ts +2 -2
- package/dist/esm/DataViewFilters/DataViewFilters.js +12 -17
- package/dist/esm/DataViewFilters/DataViewFilters.test.js +11 -5
- package/dist/esm/DataViewTable/DataViewTable.d.ts +2 -2
- package/dist/esm/DataViewTable/DataViewTable.js +2 -2
- package/dist/esm/DataViewTable/DataViewTable.test.js +3 -3
- package/dist/esm/DataViewTableBasic/DataViewTableBasic.d.ts +2 -2
- package/dist/esm/DataViewTableBasic/DataViewTableBasic.js +15 -18
- package/dist/esm/DataViewTableBasic/DataViewTableBasic.test.js +5 -8
- package/dist/esm/DataViewTableHead/DataViewTableHead.d.ts +2 -2
- package/dist/esm/DataViewTableHead/DataViewTableHead.js +5 -5
- package/dist/esm/DataViewTableHead/DataViewTableHead.test.js +4 -9
- package/dist/esm/DataViewTableTree/DataViewTableTree.d.ts +2 -2
- package/dist/esm/DataViewTableTree/DataViewTableTree.js +10 -11
- package/dist/esm/DataViewTableTree/DataViewTableTree.test.js +5 -9
- package/dist/esm/DataViewTextFilter/DataViewTextFilter.d.ts +2 -2
- package/dist/esm/DataViewTextFilter/DataViewTextFilter.js +2 -3
- package/dist/esm/DataViewTextFilter/DataViewTextFilter.test.js +2 -2
- package/dist/esm/DataViewToolbar/DataViewToolbar.d.ts +4 -2
- package/dist/esm/DataViewToolbar/DataViewToolbar.js +5 -11
- package/dist/esm/DataViewToolbar/DataViewToolbar.test.js +2 -2
- package/dist/esm/Hooks/filters.js +1 -1
- package/dist/esm/Hooks/filters.test.js +25 -0
- package/dist/esm/InternalContext/InternalContext.d.ts +3 -3
- package/dist/esm/InternalContext/InternalContext.js +3 -2
- package/dist/esm/InternalContext/InternalContext.test.js +7 -16
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +10 -10
- package/patternfly-docs/content/extensions/data-view/examples/DataView/AbstractLayoutExample.tsx +3 -3
- package/patternfly-docs/content/extensions/data-view/examples/DataView/DataView.md +1 -1
- package/patternfly-docs/content/extensions/data-view/examples/DataView/EventsExample.tsx +4 -4
- package/patternfly-docs/content/extensions/data-view/examples/DataView/PredefinedLayoutFullExample.tsx +5 -5
- package/patternfly-docs/content/extensions/data-view/examples/Table/DataViewTableEmptyExample.tsx +6 -6
- package/patternfly-docs/content/extensions/data-view/examples/Table/DataViewTableErrorExample.tsx +2 -2
- package/patternfly-docs/content/extensions/data-view/examples/Table/DataViewTableExample.tsx +2 -2
- package/patternfly-docs/content/extensions/data-view/examples/Table/DataViewTableLoadingExample.tsx +4 -4
- package/patternfly-docs/content/extensions/data-view/examples/Table/DataViewTableTreeExample.tsx +2 -2
- package/patternfly-docs/content/extensions/data-view/examples/Table/SortingExample.tsx +3 -3
- package/patternfly-docs/content/extensions/data-view/examples/Table/Table.md +1 -1
- package/patternfly-docs/content/extensions/data-view/examples/Toolbar/AllSelectedExample.tsx +116 -0
- package/patternfly-docs/content/extensions/data-view/examples/Toolbar/Toolbar.md +13 -1
- package/patternfly-docs/pages/index.js +1 -0
- package/release.config.js +10 -2
- package/src/DataView/DataView.test.tsx +10 -8
- package/src/DataView/DataView.tsx +4 -4
- package/src/DataViewCheckboxFilter/DataViewCheckboxFilter.test.tsx +0 -1
- package/src/DataViewCheckboxFilter/DataViewCheckboxFilter.tsx +10 -10
- package/src/DataViewEventsContext/DataViewEventsContext.test.tsx +4 -4
- package/src/DataViewEventsContext/DataViewEventsContext.tsx +1 -1
- package/src/DataViewFilters/DataViewFilters.test.tsx +29 -10
- package/src/DataViewFilters/DataViewFilters.tsx +12 -12
- package/src/DataViewTable/DataViewTable.test.tsx +0 -1
- package/src/DataViewTable/DataViewTable.tsx +2 -2
- package/src/DataViewTableBasic/DataViewTableBasic.test.tsx +0 -1
- package/src/DataViewTableBasic/DataViewTableBasic.tsx +2 -2
- package/src/DataViewTableHead/DataViewTableHead.test.tsx +0 -1
- package/src/DataViewTableHead/DataViewTableHead.tsx +2 -2
- package/src/DataViewTableTree/DataViewTableTree.test.tsx +0 -1
- package/src/DataViewTableTree/DataViewTableTree.tsx +5 -5
- package/src/DataViewTextFilter/DataViewTextFilter.test.tsx +0 -1
- package/src/DataViewTextFilter/DataViewTextFilter.tsx +2 -2
- package/src/DataViewToolbar/DataViewToolbar.test.tsx +0 -1
- package/src/DataViewToolbar/DataViewToolbar.tsx +9 -2
- package/src/Hooks/filters.test.tsx +27 -0
- package/src/Hooks/filters.ts +1 -1
- package/src/InternalContext/InternalContext.test.tsx +0 -1
- package/src/InternalContext/InternalContext.tsx +2 -2
- package/tsconfig.json +1 -1
|
@@ -53,6 +53,33 @@ describe('useDataViewFilters', () => {
|
|
|
53
53
|
expect(setSearchParams).toHaveBeenCalled();
|
|
54
54
|
});
|
|
55
55
|
|
|
56
|
+
it('should sync with URL search params with non array value', () => {
|
|
57
|
+
const searchParams = new URLSearchParams();
|
|
58
|
+
searchParams.set('test', 'foo');
|
|
59
|
+
const setSearchParams = jest.fn();
|
|
60
|
+
const props: UseDataViewFiltersProps<{ test: string }> = {
|
|
61
|
+
initialFilters: { test: '' },
|
|
62
|
+
searchParams,
|
|
63
|
+
setSearchParams,
|
|
64
|
+
};
|
|
65
|
+
const { result } = renderHook(() => useDataViewFilters(props));
|
|
66
|
+
expect(result.current.filters).toEqual({ test: 'foo' });
|
|
67
|
+
})
|
|
68
|
+
it('should sync with URL search params with array value', () => {
|
|
69
|
+
|
|
70
|
+
const searchParams = new URLSearchParams();
|
|
71
|
+
searchParams.append('test', 'foo');
|
|
72
|
+
searchParams.append('test', 'bar');
|
|
73
|
+
const setSearchParams = jest.fn();
|
|
74
|
+
const props: UseDataViewFiltersProps<{ test: string[] }> = {
|
|
75
|
+
initialFilters: { test: [] },
|
|
76
|
+
searchParams,
|
|
77
|
+
setSearchParams,
|
|
78
|
+
};
|
|
79
|
+
const { result } = renderHook(() => useDataViewFilters(props));
|
|
80
|
+
expect(result.current.filters).toEqual({ test: [ 'foo', 'bar' ] });
|
|
81
|
+
})
|
|
82
|
+
|
|
56
83
|
it('should reset filters to default values when clearAllFilters is called', () => {
|
|
57
84
|
const { result } = renderHook(() => useDataViewFilters({ initialFilters }));
|
|
58
85
|
act(() => result.current.clearAllFilters());
|
package/src/Hooks/filters.ts
CHANGED
|
@@ -18,8 +18,8 @@ export const useDataViewFilters = <T extends object>({
|
|
|
18
18
|
|
|
19
19
|
const getInitialFilters = useCallback((): T => isUrlSyncEnabled
|
|
20
20
|
? Object.keys(initialFilters).reduce((loadedFilters, key) => {
|
|
21
|
-
const urlValue = searchParams?.get(key);
|
|
22
21
|
const isArrayFilter = Array.isArray(initialFilters[key]);
|
|
22
|
+
const urlValue = isArrayFilter ? searchParams?.getAll(key) : searchParams?.get(key);
|
|
23
23
|
|
|
24
24
|
// eslint-disable-next-line no-nested-ternary
|
|
25
25
|
loadedFilters[key] = urlValue
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { FC, createContext, PropsWithChildren, useContext, useMemo } from 'react';
|
|
2
2
|
import { DataViewState } from '../DataView';
|
|
3
3
|
|
|
4
4
|
export interface DataViewSelection {
|
|
@@ -31,7 +31,7 @@ export const InternalContext = createContext<InternalContextValue>({
|
|
|
31
31
|
|
|
32
32
|
export type InternalProviderProps = PropsWithChildren<InternalContextProps>
|
|
33
33
|
|
|
34
|
-
export const InternalContextProvider:
|
|
34
|
+
export const InternalContextProvider: FC<InternalProviderProps> = ({
|
|
35
35
|
children,
|
|
36
36
|
selection,
|
|
37
37
|
activeState
|
package/tsconfig.json
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
// "lib": [], /* Specify library files to be included in the compilation. */
|
|
10
10
|
// "allowJs": true, /* Allow javascript files to be compiled. */
|
|
11
11
|
// "checkJs": true, /* Report errors in .js files. */
|
|
12
|
-
"jsx": "react" /* Specify JSX code generation: 'preserve', 'react-native', 'react', 'react-jsx' or 'react-jsxdev'. */,
|
|
12
|
+
"jsx": "react-jsx" /* Specify JSX code generation: 'preserve', 'react-native', 'react', 'react-jsx' or 'react-jsxdev'. */,
|
|
13
13
|
"declaration": true /* Generates corresponding '.d.ts' file. */,
|
|
14
14
|
// "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */
|
|
15
15
|
// "sourceMap": true, /* Generates corresponding '.map' file. */
|