From 1b0497bad32c8a6be6d1b29aa6cb6294e722ae30 Mon Sep 17 00:00:00 2001 From: Rostislav Wolny Date: Tue, 26 Nov 2019 12:23:01 +0100 Subject: [PATCH] Refactor sidebar tabs from local state to store [MAILPOET-2455] --- assets/js/src/form_editor/components/sidebar.jsx | 15 +++++++++------ assets/js/src/form_editor/store/actions.jsx | 7 +++++++ assets/js/src/form_editor/store/reducer.jsx | 2 ++ .../store/reducers/switchSidebarTab.jsx | 7 +++++++ assets/js/src/form_editor/store/selectors.jsx | 3 +++ assets/js/src/form_editor/store/store.jsx | 3 +++ 6 files changed, 31 insertions(+), 6 deletions(-) create mode 100644 assets/js/src/form_editor/store/reducers/switchSidebarTab.jsx diff --git a/assets/js/src/form_editor/components/sidebar.jsx b/assets/js/src/form_editor/components/sidebar.jsx index 45f88a051d..abb6fd7fd8 100644 --- a/assets/js/src/form_editor/components/sidebar.jsx +++ b/assets/js/src/form_editor/components/sidebar.jsx @@ -1,6 +1,6 @@ -import React, { useState } from 'react'; +import React from 'react'; import { IconButton } from '@wordpress/components'; -import { useDispatch } from '@wordpress/data'; +import { useDispatch, useSelect } from '@wordpress/data'; import { __ } from '@wordpress/i18n'; import PropTypes from 'prop-types'; import classnames from 'classnames'; @@ -29,9 +29,12 @@ SidebarHeader.propTypes = { }; export default () => { - const [activeTab, setActiveTab] = useState('form'); + const activeTab = useSelect( + (select) => select('mailpoet-form-editor').getSidebarActiveTab(), + [] + ); - const { toggleSidebar } = useDispatch('mailpoet-form-editor'); + const { toggleSidebar, switchSidebarTab } = useDispatch('mailpoet-form-editor'); return (
@@ -39,7 +42,7 @@ export default () => {