Skip to content

Commit

Permalink
hide filters when changing views
Browse files Browse the repository at this point in the history
  • Loading branch information
jorgefilipecosta committed Jul 24, 2024
1 parent 226156e commit 56bd93c
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 2 deletions.
11 changes: 10 additions & 1 deletion packages/dataviews/src/components/dataviews/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,8 @@ 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 } );
Expand All @@ -70,11 +72,18 @@ 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 [ isShowingFilter, setIsShowingFilter ] =
const [ isShowingFilterState, setIsShowingFilterState ] =
useState< boolean >( false );
const [ isShowingFilter, setIsShowingFilter ] =
isShowingFilterProperty === undefined ||
setIsShowingFilterProperty === undefined
? [ isShowingFilterState, setIsShowingFilterState ]
: [ isShowingFilterProperty, setIsShowingFilterProperty ];
const isUncontrolled =
selectionProperty === undefined || onChangeSelection === undefined;
const selection = isUncontrolled ? selectionState : selectionProperty;
Expand Down
7 changes: 7 additions & 0 deletions packages/edit-site/src/components/page-patterns/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -264,6 +264,11 @@ 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,
} );
Expand Down Expand Up @@ -410,6 +415,8 @@ export default function DataviewsPatterns() {
view={ view }
onChangeView={ setView }
defaultLayouts={ defaultLayouts }
isShowingFilter={ isShowingFilter }
setIsShowingFilter={ setIsShowingFilter }
/>
</Page>
</ExperimentalBlockEditorProvider>
Expand Down
6 changes: 6 additions & 0 deletions packages/edit-site/src/components/page-templates/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -210,6 +210,10 @@ function Preview( { item, viewType } ) {
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( () => {
Expand Down Expand Up @@ -376,6 +380,8 @@ export default function PageTemplates() {
onChangeSelection={ onChangeSelection }
selection={ selection }
defaultLayouts={ defaultLayouts }
isShowingFilter={ isShowingFilter }
setIsShowingFilter={ setIsShowingFilter }
/>
</Page>
);
Expand Down
8 changes: 7 additions & 1 deletion packages/edit-site/src/components/post-list/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -141,8 +141,12 @@ export default function PostList( { postType } ) {
const [ view, setView ] = useView( postType );
const history = useHistory();
const location = useLocation();
const { postId, quickEdit = false } = location.params;
const { postId, quickEdit = false, isCustom, activeView } = 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 );
Expand Down Expand Up @@ -298,6 +302,8 @@ export default function PostList( { postType } ) {
onChangeSelection={ onChangeSelection }
getItemId={ getItemId }
defaultLayouts={ defaultLayouts }
isShowingFilter={ isShowingFilter }
setIsShowingFilter={ setIsShowingFilter }
header={
window.__experimentalQuickEditDataViews &&
view.type !== LAYOUT_LIST &&
Expand Down

0 comments on commit 56bd93c

Please sign in to comment.