@@ -359,14 +359,13 @@ const FrontendDataSetContent = ({
359359 id,
360360 } ) ;
361361
362- const [ globalFDSStateValue , setGlobalFDSStateValue ] =
363- useLiferayState < IFDSState > (
364- atom ??
365- State . atom < IFDSState > ( `${ id } _fdsState` , {
366- filters : [ ] ,
367- search : { query : '' } ,
368- } )
369- ) ;
362+ const [ globalFDSState , setGlobalFDSState ] = useLiferayState < IFDSState > (
363+ atom ??
364+ State . atom < IFDSState > ( `${ id } _fdsState` , {
365+ filters : [ ] ,
366+ search : { query : '' } ,
367+ } )
368+ ) ;
370369
371370 const [ globalFDSStateInitialized , setGlobalFDSStateInitialized ] =
372371 useState ( false ) ;
@@ -749,12 +748,16 @@ const FrontendDataSetContent = ({
749748 ] ) ;
750749
751750 const onClearFilters = useCallback ( ( ) => {
752- setGlobalFDSStateValue ( {
753- ...globalFDSStateValue ,
754- filters : filters . map ( ( filter : any ) => deactivateFilter ( filter ) ) ,
751+ const unfrozenAdvancedFDSState : IFDSState = deepClone ( globalFDSState ) ;
752+
753+ setGlobalFDSState ( {
754+ ...unfrozenAdvancedFDSState ,
755+ filters : unfrozenAdvancedFDSState . filters . map ( ( filter ) =>
756+ deactivateFilter ( filter )
757+ ) ,
755758 search : { query : '' } ,
756759 } ) ;
757- } , [ filters , globalFDSStateValue , setGlobalFDSStateValue ] ) ;
760+ } , [ globalFDSState , setGlobalFDSState ] ) ;
758761
759762 useEffect ( ( ) => {
760763 if (
@@ -765,7 +768,7 @@ const FrontendDataSetContent = ({
765768 return ;
766769 }
767770
768- setGlobalFDSStateValue ( {
771+ setGlobalFDSState ( {
769772 filters,
770773 search : {
771774 query : searchParam ?? '' ,
@@ -779,7 +782,7 @@ const FrontendDataSetContent = ({
779782 filters ,
780783 globalFDSStateInitialized ,
781784 searchParam ,
782- setGlobalFDSStateValue ,
785+ setGlobalFDSState ,
783786 ] ) ;
784787
785788 useEffect ( ( ) => {
@@ -788,7 +791,7 @@ const FrontendDataSetContent = ({
788791 }
789792
790793 const unfrozenGlobalFDSStateValue = deepClone (
791- globalFDSStateValue as IFDSState
794+ globalFDSState as IFDSState
792795 ) ;
793796
794797 if ( apiURL || appURL ) {
@@ -834,7 +837,7 @@ const FrontendDataSetContent = ({
834837 apiURL ,
835838 appURL ,
836839 globalFDSStateInitialized ,
837- globalFDSStateValue ,
840+ globalFDSState ,
838841 itemsProp ,
839842 updateFilters ,
840843 updateSearchParam ,
@@ -1848,19 +1851,25 @@ const FrontendDataSetContent = ({
18481851 onActionDropdownItemClick,
18491852 onBulkActionItemClick,
18501853 onClearResultsBar : ( ) => {
1851- setGlobalFDSStateValue ( {
1852- ...globalFDSStateValue ,
1853- filters : filters . map ( ( filter : IBaseFilterState ) =>
1854- deactivateFilter ( filter )
1854+ const unfrozenAdvancedFDSState : IFDSState =
1855+ deepClone ( globalFDSState ) ;
1856+
1857+ setGlobalFDSState ( {
1858+ ...unfrozenAdvancedFDSState ,
1859+ filters : unfrozenAdvancedFDSState . filters . map (
1860+ ( filter ) => deactivateFilter ( filter )
18551861 ) ,
18561862 search : {
18571863 query : '' ,
18581864 } ,
18591865 } ) ;
18601866 } ,
18611867 onClearSearch : ( ) => {
1862- setGlobalFDSStateValue ( {
1863- ...( globalFDSStateValue as IFDSState ) ,
1868+ const unfrozenAdvancedFDSState : IFDSState =
1869+ deepClone ( globalFDSState ) ;
1870+
1871+ setGlobalFDSState ( {
1872+ ...unfrozenAdvancedFDSState ,
18641873 search : {
18651874 query : '' ,
18661875 } ,
@@ -1871,12 +1880,16 @@ const FrontendDataSetContent = ({
18711880 } : {
18721881 changedFilter : IBaseFilterState ;
18731882 } ) => {
1874- setGlobalFDSStateValue ( {
1875- ...globalFDSStateValue ,
1876- filters : filters . map ( ( filter : IBaseFilterState ) =>
1877- filter . id === changedFilter . id
1878- ? changedFilter
1879- : filter
1883+ const unfrozenAdvancedFDSState : IFDSState =
1884+ deepClone ( globalFDSState ) ;
1885+
1886+ setGlobalFDSState ( {
1887+ ...unfrozenAdvancedFDSState ,
1888+ filters : unfrozenAdvancedFDSState . filters . map (
1889+ ( filter ) =>
1890+ filter . id === changedFilter . id
1891+ ? changedFilter
1892+ : filter
18801893 ) ,
18811894 } ) ;
18821895 } ,
@@ -1885,8 +1898,11 @@ const FrontendDataSetContent = ({
18851898 } ,
18861899 onItemsChange,
18871900 onSearch : ( { query} ) => {
1888- setGlobalFDSStateValue ( {
1889- ...( globalFDSStateValue as IFDSState ) ,
1901+ const unfrozenAdvancedFDSState : IFDSState =
1902+ deepClone ( globalFDSState ) ;
1903+
1904+ setGlobalFDSState ( {
1905+ ...unfrozenAdvancedFDSState ,
18901906 search : {
18911907 query,
18921908 } ,
0 commit comments