From 683ecaff0a6e4523ed244aede1fec6264a0258ed Mon Sep 17 00:00:00 2001 From: Andrea Fercia Date: Wed, 13 Dec 2017 18:13:57 +0100 Subject: [PATCH 1/2] Try block advanced settings dynamic menu item. --- .../block-settings-menu/block-inspector-button.js | 8 +++++--- editor/components/block-settings-menu/index.js | 2 +- editor/edit-post/sidebar/index.js | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/editor/components/block-settings-menu/block-inspector-button.js b/editor/components/block-settings-menu/block-inspector-button.js index 0f95035b5b35e6..b5f3cbddc1deb8 100644 --- a/editor/components/block-settings-menu/block-inspector-button.js +++ b/editor/components/block-settings-menu/block-inspector-button.js @@ -13,11 +13,12 @@ import { IconButton } from '@wordpress/components'; /** * Internal dependencies */ -import { isEditorSidebarOpened } from '../../selectors'; +import { isEditorSidebarOpened, getActivePanel } from '../../selectors'; import { toggleSidebar, setActivePanel } from '../../actions'; export function BlockInspectorButton( { isSidebarOpened, + panel, onToggleSidebar, onShowInspector, onClick = noop, @@ -25,11 +26,11 @@ export function BlockInspectorButton( { } ) { const toggleInspector = () => { onShowInspector(); - if ( ! isSidebarOpened ) { + if ( ! isSidebarOpened || ( isSidebarOpened && panel === 'block' ) ) { onToggleSidebar(); } }; - const label = __( 'Settings' ); + const label = ( isSidebarOpened && panel === 'block' ) ? __( 'Hide Advanced Settings' ) : __( 'Show Advanced Settings' ); return ( ( { isSidebarOpened: isEditorSidebarOpened( state ), + panel: getActivePanel( state ), } ), ( dispatch ) => ( { onShowInspector() { diff --git a/editor/components/block-settings-menu/index.js b/editor/components/block-settings-menu/index.js index cdeff64d345b79..93dcaf95af50ca 100644 --- a/editor/components/block-settings-menu/index.js +++ b/editor/components/block-settings-menu/index.js @@ -44,7 +44,7 @@ function BlockSettingsMenu( { uids, onSelect, focus } ) { onToggle(); } } icon="ellipsis" - label={ isOpen ? __( 'Close Settings Menu' ) : __( 'Open Settings Menu' ) } + label={ __( 'More Options' ) } aria-expanded={ isOpen } focus={ focus } /> diff --git a/editor/edit-post/sidebar/index.js b/editor/edit-post/sidebar/index.js index e1ed71d28b026d..c18fd0b926379a 100644 --- a/editor/edit-post/sidebar/index.js +++ b/editor/edit-post/sidebar/index.js @@ -24,7 +24,7 @@ const Sidebar = ( { panel } ) => {
From fa71b71d946feac9b9a92c5367e5ac8725dc03e0 Mon Sep 17 00:00:00 2001 From: Andrea Fercia Date: Thu, 14 Dec 2017 10:54:32 +0100 Subject: [PATCH 2/2] Add speak messages. --- .../block-inspector-button.js | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/editor/components/block-settings-menu/block-inspector-button.js b/editor/components/block-settings-menu/block-inspector-button.js index b5f3cbddc1deb8..f5552766f2cdc2 100644 --- a/editor/components/block-settings-menu/block-inspector-button.js +++ b/editor/components/block-settings-menu/block-inspector-button.js @@ -8,7 +8,7 @@ import { flow, noop } from 'lodash'; * WordPress dependencies */ import { __ } from '@wordpress/i18n'; -import { IconButton } from '@wordpress/components'; +import { IconButton, withSpokenMessages } from '@wordpress/components'; /** * Internal dependencies @@ -23,6 +23,7 @@ export function BlockInspectorButton( { onShowInspector, onClick = noop, small = false, + speak, } ) { const toggleInspector = () => { onShowInspector(); @@ -30,12 +31,21 @@ export function BlockInspectorButton( { onToggleSidebar(); } }; + + const speakMessage = () => { + if ( ! isSidebarOpened || ( isSidebarOpened && panel !== 'block' ) ) { + speak( __( 'Additional settings are now available in the Editor advanced settings sidebar' ) ); + } else { + speak( __( 'Advanced settings closed' ) ); + } + }; + const label = ( isSidebarOpened && panel === 'block' ) ? __( 'Hide Advanced Settings' ) : __( 'Show Advanced Settings' ); return ( @@ -57,4 +67,4 @@ export default connect( dispatch( toggleSidebar() ); }, } ) -)( BlockInspectorButton ); +)( withSpokenMessages( BlockInspectorButton ) );