@@ -324,6 +324,9 @@ const ResultsView: ResultsViewComponent = ({
324324 const [ views , setViews ] = useState ( settings . views ) ;
325325 const [ columnFilters , setColumnFilters ] = useState ( settings . columnFilters ) ;
326326 const [ searchFilter , setSearchFilter ] = useState ( settings . searchFilter ) ;
327+ const [ showSearchFilter , setShowSearchFilter ] = useState (
328+ settings . showSearchFilter ,
329+ ) ;
327330 const [ showInterface , setShowInterface ] = useState ( settings . showInterface ) ;
328331 const [ revealMenuIcons , setRevealMenuIcons ] = useState ( false ) ;
329332 const [ showInputs , setShowInputs ] = useState ( settings . showInputs ) ;
@@ -348,6 +351,7 @@ const ResultsView: ResultsViewComponent = ({
348351 page,
349352 pageSize,
350353 searchFilter,
354+ showSearchFilter,
351355 showInterface,
352356 } ) ;
353357 } , [
@@ -358,6 +362,8 @@ const ResultsView: ResultsViewComponent = ({
358362 pageSize ,
359363 random . count ,
360364 searchFilter ,
365+ showSearchFilter ,
366+ showInterface ,
361367 columnFilters ,
362368 ] ) ;
363369
@@ -382,7 +388,6 @@ const ResultsView: ResultsViewComponent = ({
382388 const [ isEditLayout , setIsEditLayout ] = useState ( false ) ;
383389 const [ isEditColumnSort , setIsEditColumnSort ] = useState ( false ) ;
384390 const [ isEditColumnFilter , setIsEditColumnFilter ] = useState ( false ) ;
385- const [ isEditSearchFilter , setIsEditSearchFilter ] = useState ( false ) ;
386391
387392 const [ layout , setLayout ] = useState ( settings . layout ) ;
388393 const layoutMode = useMemo (
@@ -391,11 +396,18 @@ const ResultsView: ResultsViewComponent = ({
391396 ) ;
392397 const isMenuIconDirty = useMemo (
393398 ( ) =>
394- searchFilter ||
399+ ( searchFilter && ! showSearchFilter ) ||
395400 columnFilters . length ||
396401 random . count ||
397402 ( activeSort . length && layout . mode !== "table" ) , // indicator is on ResultHeader
398- [ searchFilter , columnFilters , random , activeSort , layout . mode ] ,
403+ [
404+ searchFilter ,
405+ showSearchFilter ,
406+ columnFilters ,
407+ random ,
408+ activeSort ,
409+ layout . mode ,
410+ ] ,
399411 ) ;
400412 const onViewChange = ( view : ( typeof views ) [ number ] , i : number ) => {
401413 const newViews = views . map ( ( v , j ) => ( i === j ? view : v ) ) ;
@@ -490,7 +502,7 @@ const ResultsView: ResultsViewComponent = ({
490502 </ div >
491503 ) }
492504
493- { isEditSearchFilter && (
505+ { showSearchFilter && (
494506 < div
495507 className = "w-full p-4"
496508 style = { {
@@ -1086,12 +1098,23 @@ const ResultsView: ResultsViewComponent = ({
10861098 } }
10871099 />
10881100 < MenuItem
1089- icon = { isEditSearchFilter ? "zoom-out" : "search" }
1090- text = { isEditSearchFilter ? "Hide Search" : "Search" }
1091- className = { searchFilter ? "roamjs-item-dirty" : "" }
1101+ icon = { showSearchFilter ? "zoom-out" : "search" }
1102+ text = { showSearchFilter ? "Hide Search" : "Search" }
1103+ className = {
1104+ searchFilter && ! showSearchFilter
1105+ ? "roamjs-item-dirty"
1106+ : ""
1107+ }
10921108 onClick = { ( ) => {
10931109 setMoreMenuOpen ( false ) ;
1094- setIsEditSearchFilter ( ( prevState ) => ! prevState ) ;
1110+ setShowSearchFilter ( ( s ) => ! s ) ;
1111+ if ( ! preventSavingSettings ) {
1112+ setInputSetting ( {
1113+ blockUid : settings . resultNodeUid ,
1114+ key : "showSearchFilter" ,
1115+ value : showSearchFilter ? "hide" : "show" ,
1116+ } ) ;
1117+ }
10951118 } }
10961119 />
10971120 < MenuItem
0 commit comments