From 617aa481cf087a696245f25c26eda2b8253e97ae Mon Sep 17 00:00:00 2001 From: Jorge Costa Date: Tue, 30 Jul 2024 13:00:57 +0100 Subject: [PATCH] Remove isShowingFilter props, and use a key approach (includes some debug code). --- .../src/components/dataviews/index.tsx | 11 +-------- .../src/components/page-patterns/index.js | 8 +------ .../src/components/page-templates/index.js | 7 +----- .../src/components/post-list/index.js | 24 ++++++++++++------- 4 files changed, 19 insertions(+), 31 deletions(-) diff --git a/packages/dataviews/src/components/dataviews/index.tsx b/packages/dataviews/src/components/dataviews/index.tsx index 8cac780d05ab87..f6f408065058d2 100644 --- a/packages/dataviews/src/components/dataviews/index.tsx +++ b/packages/dataviews/src/components/dataviews/index.tsx @@ -49,8 +49,6 @@ type DataViewsProps< Item > = { selection?: string[]; onChangeSelection?: ( items: string[] ) => void; header?: ReactNode; - isShowingFilter?: boolean; - setIsShowingFilter?: React.Dispatch< React.SetStateAction< boolean > >; } & ( Item extends ItemWithId ? { getItemId?: ( item: Item ) => string } : { getItemId: ( item: Item ) => string } ); @@ -72,18 +70,11 @@ export default function DataViews< Item >( { selection: selectionProperty, onChangeSelection, header, - isShowingFilter: isShowingFilterProperty, - setIsShowingFilter: setIsShowingFilterProperty, }: DataViewsProps< Item > ) { const [ selectionState, setSelectionState ] = useState< string[] >( [] ); const [ density, setDensity ] = useState< number >( 0 ); - const [ isShowingFilterState, setIsShowingFilterState ] = - useState< boolean >( false ); const [ isShowingFilter, setIsShowingFilter ] = - isShowingFilterProperty === undefined || - setIsShowingFilterProperty === undefined - ? [ isShowingFilterState, setIsShowingFilterState ] - : [ isShowingFilterProperty, setIsShowingFilterProperty ]; + useState< boolean >( false ); const isUncontrolled = selectionProperty === undefined || onChangeSelection === undefined; const selection = isUncontrolled ? selectionState : selectionProperty; diff --git a/packages/edit-site/src/components/page-patterns/index.js b/packages/edit-site/src/components/page-patterns/index.js index bad235e56874c0..66d2d25a4b8f04 100644 --- a/packages/edit-site/src/components/page-patterns/index.js +++ b/packages/edit-site/src/components/page-patterns/index.js @@ -86,11 +86,6 @@ export default function DataviewsPatterns() { syncStatus: viewSyncStatus, } ); - const [ isShowingFilter, setIsShowingFilter ] = useState( false ); - useEffect( () => { - setIsShowingFilter( false ); - }, [ categoryId, postType ] ); - const { records } = useEntityRecords( 'postType', TEMPLATE_PART_POST_TYPE, { per_page: -1, } ); @@ -176,6 +171,7 @@ export default function DataviewsPatterns() { descriptionId={ `${ id }-description` } /> diff --git a/packages/edit-site/src/components/page-templates/index.js b/packages/edit-site/src/components/page-templates/index.js index 4d1b5f274657f7..0710d7389996bf 100644 --- a/packages/edit-site/src/components/page-templates/index.js +++ b/packages/edit-site/src/components/page-templates/index.js @@ -97,10 +97,6 @@ const DEFAULT_VIEW = { export default function PageTemplates() { const { params } = useLocation(); const { activeView = 'all', layout, postId } = params; - const [ isShowingFilter, setIsShowingFilter ] = useState( false ); - useEffect( () => { - setIsShowingFilter( false ); - }, [ activeView ] ); const [ selection, setSelection ] = useState( [ postId ] ); const defaultView = useMemo( () => { @@ -219,6 +215,7 @@ export default function PageTemplates() { actions={ } > ); diff --git a/packages/edit-site/src/components/post-list/index.js b/packages/edit-site/src/components/post-list/index.js index 07b95dcfc38bd7..6dfa9e13315812 100644 --- a/packages/edit-site/src/components/post-list/index.js +++ b/packages/edit-site/src/components/post-list/index.js @@ -60,7 +60,15 @@ function useView( postType ) { } return defaultView; }, [ isCustom, activeView, layout, postType, DEFAULT_VIEWS ] ); - const [ view, setView ] = useState( selectedDefaultView ); + const [ view, setViewS ] = useState( selectedDefaultView ); + const setView = useCallback( + ( ...args ) => { + console.trace(); + console.log( args ); + setViewS( ...args ); + }, + [ setViewS ] + ); useEffect( () => { if ( selectedDefaultView ) { @@ -145,12 +153,13 @@ export default function PostList( { postType } ) { const [ view, setView ] = useView( postType ); const history = useHistory(); const location = useLocation(); - const { postId, quickEdit = false, isCustom, activeView } = location.params; + const { + postId, + quickEdit = false, + isCustom, + activeView = 'all', + } = location.params; const [ selection, setSelection ] = useState( postId?.split( ',' ) ?? [] ); - const [ isShowingFilter, setIsShowingFilter ] = useState( false ); - useEffect( () => { - setIsShowingFilter( false ); - }, [ isCustom, activeView, postType ] ); const onChangeSelection = useCallback( ( items ) => { setSelection( items ); @@ -295,6 +304,7 @@ export default function PostList( { postType } ) { } >