@@ -33,6 +33,7 @@ import ResetButton from 'explorviz-frontend/src/components/visualization/page-se
33
33
import FlagSetting from 'explorviz-frontend/src/components/visualization/page-setup/sidebar/customizationbar/settings/setting-type/flag-setting' ;
34
34
import RangeSetting from 'explorviz-frontend/src/components/visualization/page-setup/sidebar/customizationbar/settings/setting-type/range-setting' ;
35
35
import ButtonSetting from 'explorviz-frontend/src/components/visualization/page-setup/sidebar/customizationbar/settings/setting-type/button-setting' ;
36
+ import { useShallow } from 'zustand/react/shallow' ;
36
37
37
38
interface SettingsProps {
38
39
enterFullscreen ( ) : void ;
@@ -69,8 +70,18 @@ export default function Settings({
69
70
const showErrorToastMessage = useToastHandlerStore (
70
71
( state ) => state . showErrorToastMessage
71
72
) ;
72
- const updateApplicationLayout = useApplicationRendererStore (
73
- ( state ) => state . updateApplicationLayout
73
+ const {
74
+ closeAllComponentsOfAllApplications,
75
+ openAllComponentsOfAllApplications,
76
+ updateApplicationLayout,
77
+ } = useApplicationRendererStore (
78
+ useShallow ( ( state ) => ( {
79
+ closeAllComponentsOfAllApplications :
80
+ state . closeAllComponentsOfAllApplications ,
81
+ openAllComponentsOfAllApplications :
82
+ state . openAllComponentsOfAllApplications ,
83
+ updateApplicationLayout : state . updateApplicationLayout ,
84
+ } ) )
74
85
) ;
75
86
const updateLabels = useApplicationRendererStore (
76
87
( state ) => state . updateLabels
@@ -440,6 +451,9 @@ export default function Settings({
440
451
SemanticZoomManager . instance . triggerLevelDecision2 ( undefined ) ;
441
452
break ;
442
453
case 'autoOpenCloseFeature' :
454
+ value
455
+ ? closeAllComponentsOfAllApplications ( )
456
+ : openAllComponentsOfAllApplications ( ) ;
443
457
SemanticZoomManager . instance . toggleAutoOpenClose ( value ) ;
444
458
SemanticZoomManager . instance . triggerLevelDecision2 ( undefined ) ;
445
459
break ;
0 commit comments