diff --git a/lib/api/src/modules/layout.ts b/lib/api/src/modules/layout.ts index 2984a26c575b..c5ffa29e8477 100644 --- a/lib/api/src/modules/layout.ts +++ b/lib/api/src/modules/layout.ts @@ -157,86 +157,107 @@ let hasSetOptions = false; export default function({ store, provider }: { store: Store; provider: Provider }) { const api = { toggleFullscreen(toggled?: boolean) { - return store.setState((state: State) => { - const value = typeof toggled === 'boolean' ? toggled : !state.layout.isFullscreen; - - return { - layout: { - ...state.layout, - isFullscreen: value, - }, - }; - }); + return store.setState( + (state: State) => { + const value = typeof toggled === 'boolean' ? toggled : !state.layout.isFullscreen; + + return { + layout: { + ...state.layout, + isFullscreen: value, + }, + }; + }, + { persistence: 'session' } + ); }, togglePanel(toggled?: boolean) { - return store.setState((state: State) => { - const value = typeof toggled !== 'undefined' ? toggled : !state.layout.showPanel; - - return { - layout: { - ...state.layout, - showPanel: value, - }, - }; - }); + return store.setState( + (state: State) => { + const value = typeof toggled !== 'undefined' ? toggled : !state.layout.showPanel; + + return { + layout: { + ...state.layout, + showPanel: value, + }, + }; + }, + { persistence: 'session' } + ); }, togglePanelPosition(position?: 'bottom' | 'right') { if (typeof position !== 'undefined') { - return store.setState((state: State) => ({ + return store.setState( + (state: State) => ({ + layout: { + ...state.layout, + panelPosition: position, + }, + }), + { persistence: 'session' } + ); + } + + return store.setState( + (state: State) => ({ layout: { ...state.layout, - panelPosition: position, + panelPosition: state.layout.panelPosition === 'right' ? 'bottom' : 'right', }, - })); - } - - return store.setState((state: State) => ({ - layout: { - ...state.layout, - panelPosition: state.layout.panelPosition === 'right' ? 'bottom' : 'right', - }, - })); + }), + { persistence: 'session' } + ); }, toggleNav(toggled?: boolean) { - return store.setState((state: State) => { - const value = typeof toggled !== 'undefined' ? toggled : !state.layout.showNav; - - return { - layout: { - ...state.layout, - showNav: value, - }, - }; - }); + return store.setState( + (state: State) => { + const value = typeof toggled !== 'undefined' ? toggled : !state.layout.showNav; + + return { + layout: { + ...state.layout, + showNav: value, + }, + }; + }, + { persistence: 'session' } + ); }, toggleToolbar(toggled?: boolean) { - return store.setState((state: State) => { - const value = typeof toggled !== 'undefined' ? toggled : !state.layout.isToolshown; - - return { - layout: { - ...state.layout, - isToolshown: value, - }, - }; - }); + return store.setState( + (state: State) => { + const value = typeof toggled !== 'undefined' ? toggled : !state.layout.isToolshown; + + return { + layout: { + ...state.layout, + isToolshown: value, + }, + }; + }, + { persistence: 'session' } + ); }, resetLayout() { - return store.setState((state: State) => { - return { - layout: { - ...state.layout, - showNav: false, - showPanel: false, - isFullscreen: false, - }, - }; - }); + return store.setState( + (state: State) => { + return { + layout: { + ...state.layout, + showNav: false, + showPanel: false, + isFullscreen: false, + }, + }; + }, + { persistence: 'session' } + ); }, focusOnUIElement(elementId?: string) {