From 53f2aeaea2c502d1d559a51dcb916fee67e90959 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Grzegorz=20=28Greg=29=20Zi=C3=B3=C5=82kowski?= Date: Sat, 14 Sep 2019 10:16:32 -0400 Subject: [PATCH] Heading block: move alignment controls to toolbar (#2) (#17419) * heading controls update * removed useless HoC from heading toolbar since we manually determine collapsing * removed useless function body and some useless export * new snaptshot * default collapsed * Revert "default collapsed" This reverts commit d9895aeb9ae28c15311d502de6835b5c4fb3c990. * default collapsed * Try icons for heading level icons * Increase icon size. --- packages/block-library/src/heading/edit.js | 13 ++++------ .../src/heading/heading-level-icon.js | 24 +++++++++++++++++++ .../src/heading/heading-toolbar.js | 18 ++++++++++---- 3 files changed, 42 insertions(+), 13 deletions(-) create mode 100644 packages/block-library/src/heading/heading-level-icon.js diff --git a/packages/block-library/src/heading/edit.js b/packages/block-library/src/heading/edit.js index fd280fd2714fed..3289fb5a7d2470 100644 --- a/packages/block-library/src/heading/edit.js +++ b/packages/block-library/src/heading/edit.js @@ -62,19 +62,14 @@ function HeadingEdit( { <> setAttributes( { level: newLevel } ) } /> + { + setAttributes( { align: nextAlign } ); + } } />

{ __( 'Level' ) }

- setAttributes( { level: newLevel } ) } /> -

{ __( 'Text Alignment' ) }

- { - setAttributes( { align: nextAlign } ); - } } - /> + setAttributes( { level: newLevel } ) } />
+ + + ); +} diff --git a/packages/block-library/src/heading/heading-toolbar.js b/packages/block-library/src/heading/heading-toolbar.js index b01ff2c1c202a4..f3a089a8fafefe 100644 --- a/packages/block-library/src/heading/heading-toolbar.js +++ b/packages/block-library/src/heading/heading-toolbar.js @@ -10,22 +10,32 @@ import { __, sprintf } from '@wordpress/i18n'; import { Component } from '@wordpress/element'; import { Toolbar } from '@wordpress/components'; +/** + * Internal dependencies + */ +import HeadingLevelIcon from './heading-level-icon'; + class HeadingToolbar extends Component { createLevelControl( targetLevel, selectedLevel, onChange ) { return { - icon: 'heading', + icon: , // translators: %s: heading level e.g: "1", "2", "3" title: sprintf( __( 'Heading %d' ), targetLevel ), isActive: targetLevel === selectedLevel, onClick: () => onChange( targetLevel ), - subscript: String( targetLevel ), }; } render() { - const { minLevel, maxLevel, selectedLevel, onChange } = this.props; + const { isCollapsed = true, minLevel, maxLevel, selectedLevel, onChange } = this.props; + return ( - this.createLevelControl( index, selectedLevel, onChange ) ) } /> + } + controls={ range( minLevel, maxLevel ).map( + ( index ) => this.createLevelControl( index, selectedLevel, onChange ) + ) } /> ); } }