Skip to content

Conversation

@retrofox
Copy link
Contributor

@retrofox retrofox commented Jul 16, 2020

Description

This PR inserts the <BlockStyles /> component to the Inspector Controls hooking a function to the editor.BlockEdit instead of hardcoding. It doesn't add anything new to the API just an improvement in terms of functionality.

It allows to handler properly the components inner the Inspector Controls via the hooks, since right now the BlockStyles locates always at the top and it isn't possible to deal with it, because, as I said before, it's hardcoded 😢 .

How has this been tested?

  • Apply the changes and confirm that <BlockStyles /> shows as usual for these blocks that have defined style variations.
  • Also, you can add a new component at the top of the Inserter Controls defining the priority f the bound function to the filter. It needs to be more than 10:
import { addFilter } from '@wordpress/hooks';
import { Fragment } from '@wordpress/element';
import { InspectorControls } from '@wordpress/block-editor';

const myEditComponent = OriginalBlockEdit => props => {
	return (
		<Fragment>
			<InspectorControls>
				<div>This is at the top!</div>
			</InspectorControls>
			<OriginalBlockEdit { ...props } />
		</Fragment>
	);
};

addFilter( 'editor.BlockEdit', 'my-block/editComponent', myEditComponent, 20 );

Screen Shot 2020-07-16 at 4 18 32 PM

Screenshots

Screen Shot 2020-07-16 at 3 00 15 PM

Types of changes

Checklist:

  • My code is tested.
  • My code follows the WordPress code style.
    practices/inline-documentation-standards/javascript/ -->
  • I've included developer documentation if appropriate.

@retrofox retrofox added the [Type] Enhancement A suggestion for improvement. label Jul 16, 2020
@github-actions
Copy link

github-actions bot commented Jul 16, 2020

Size Change: +229 B (0%)

Total Size: 1.49 MB

Filename Size Change
build/annotations/index.js 3.78 kB +2 B (0%)
build/block-directory/index.js 8.6 kB +2 B (0%)
build/block-editor/index.js 132 kB +225 B (0%)
build/block-library/index.js 151 kB -14 B (0%)
build/block-serialization-default-parser/index.js 1.88 kB +3 B (0%)
build/blocks/index.js 48.6 kB +1 B (0%)
build/components/index.js 287 kB +12 B (0%)
build/core-data/index.js 17.2 kB +1 B (0%)
build/customize-widgets/index.js 8.27 kB +3 B (0%)
build/data/index.js 9.19 kB +2 B (0%)
build/edit-navigation/index.js 17 kB -5 B (0%)
build/edit-post/index.js 339 kB -3 B (0%)
build/edit-site/index.js 28.9 kB -1 B (0%)
build/edit-widgets/index.js 16.6 kB -2 B (0%)
build/editor/index.js 65.7 kB -3 B (0%)
build/element/index.js 4.62 kB +7 B (0%)
build/format-library/index.js 6.77 kB -1 B (0%)
build/keyboard-shortcuts/index.js 2.54 kB +1 B (0%)
build/media-utils/index.js 5.38 kB -1 B (0%)
build/nux/index.js 3.42 kB +3 B (0%)
build/primitives/index.js 1.41 kB -1 B (0%)
build/react-i18n/index.js 1.45 kB +1 B (0%)
build/rich-text/index.js 13.5 kB -3 B (0%)
build/server-side-render/index.js 2.6 kB -1 B (0%)
build/viewport/index.js 1.86 kB +1 B (0%)
ℹ️ View Unchanged
Filename Size Change
build/a11y/index.js 1.14 kB 0 B
build/api-fetch/index.js 3.42 kB 0 B
build/autop/index.js 2.83 kB 0 B
build/blob/index.js 665 B 0 B
build/block-directory/style-rtl.css 1 kB 0 B
build/block-directory/style.css 1.01 kB 0 B
build/block-editor/style-rtl.css 13.1 kB 0 B
build/block-editor/style.css 13.1 kB 0 B
build/block-library/blocks/archives/editor-rtl.css 61 B 0 B
build/block-library/blocks/archives/editor.css 60 B 0 B
build/block-library/blocks/audio/editor-rtl.css 58 B 0 B
build/block-library/blocks/audio/editor.css 58 B 0 B
build/block-library/blocks/audio/style-rtl.css 112 B 0 B
build/block-library/blocks/audio/style.css 112 B 0 B
build/block-library/blocks/block/editor-rtl.css 161 B 0 B
build/block-library/blocks/block/editor.css 161 B 0 B
build/block-library/blocks/button/editor-rtl.css 475 B 0 B
build/block-library/blocks/button/editor.css 474 B 0 B
build/block-library/blocks/button/style-rtl.css 503 B 0 B
build/block-library/blocks/button/style.css 503 B 0 B
build/block-library/blocks/buttons/editor-rtl.css 315 B 0 B
build/block-library/blocks/buttons/editor.css 315 B 0 B
build/block-library/blocks/buttons/style-rtl.css 368 B 0 B
build/block-library/blocks/buttons/style.css 368 B 0 B
build/block-library/blocks/calendar/style-rtl.css 208 B 0 B
build/block-library/blocks/calendar/style.css 208 B 0 B
build/block-library/blocks/categories/editor-rtl.css 84 B 0 B
build/block-library/blocks/categories/editor.css 83 B 0 B
build/block-library/blocks/categories/style-rtl.css 79 B 0 B
build/block-library/blocks/categories/style.css 79 B 0 B
build/block-library/blocks/code/style-rtl.css 90 B 0 B
build/block-library/blocks/code/style.css 90 B 0 B
build/block-library/blocks/columns/editor-rtl.css 190 B 0 B
build/block-library/blocks/columns/editor.css 190 B 0 B
build/block-library/blocks/columns/style-rtl.css 436 B 0 B
build/block-library/blocks/columns/style.css 435 B 0 B
build/block-library/blocks/cover/editor-rtl.css 605 B 0 B
build/block-library/blocks/cover/editor.css 605 B 0 B
build/block-library/blocks/cover/style-rtl.css 1.23 kB 0 B
build/block-library/blocks/cover/style.css 1.23 kB 0 B
build/block-library/blocks/embed/editor-rtl.css 486 B 0 B
build/block-library/blocks/embed/editor.css 486 B 0 B
build/block-library/blocks/embed/style-rtl.css 401 B 0 B
build/block-library/blocks/embed/style.css 400 B 0 B
build/block-library/blocks/file/editor-rtl.css 301 B 0 B
build/block-library/blocks/file/editor.css 300 B 0 B
build/block-library/blocks/file/frontend.js 765 B 0 B
build/block-library/blocks/file/style-rtl.css 255 B 0 B
build/block-library/blocks/file/style.css 255 B 0 B
build/block-library/blocks/freeform/editor-rtl.css 2.44 kB 0 B
build/block-library/blocks/freeform/editor.css 2.44 kB 0 B
build/block-library/blocks/gallery/editor-rtl.css 704 B 0 B
build/block-library/blocks/gallery/editor.css 705 B 0 B
build/block-library/blocks/gallery/style-rtl.css 1.09 kB 0 B
build/block-library/blocks/gallery/style.css 1.09 kB 0 B
build/block-library/blocks/group/editor-rtl.css 160 B 0 B
build/block-library/blocks/group/editor.css 160 B 0 B
build/block-library/blocks/group/style-rtl.css 57 B 0 B
build/block-library/blocks/group/style.css 57 B 0 B
build/block-library/blocks/heading/editor-rtl.css 129 B 0 B
build/block-library/blocks/heading/editor.css 129 B 0 B
build/block-library/blocks/heading/style-rtl.css 76 B 0 B
build/block-library/blocks/heading/style.css 76 B 0 B
build/block-library/blocks/html/editor-rtl.css 281 B 0 B
build/block-library/blocks/html/editor.css 281 B 0 B
build/block-library/blocks/image/editor-rtl.css 717 B 0 B
build/block-library/blocks/image/editor.css 716 B 0 B
build/block-library/blocks/image/style-rtl.css 476 B 0 B
build/block-library/blocks/image/style.css 478 B 0 B
build/block-library/blocks/latest-comments/style-rtl.css 281 B 0 B
build/block-library/blocks/latest-comments/style.css 282 B 0 B
build/block-library/blocks/latest-posts/editor-rtl.css 137 B 0 B
build/block-library/blocks/latest-posts/editor.css 137 B 0 B
build/block-library/blocks/latest-posts/style-rtl.css 523 B 0 B
build/block-library/blocks/latest-posts/style.css 522 B 0 B
build/block-library/blocks/legacy-widget/editor-rtl.css 398 B 0 B
build/block-library/blocks/legacy-widget/editor.css 399 B 0 B
build/block-library/blocks/list/style-rtl.css 63 B 0 B
build/block-library/blocks/list/style.css 63 B 0 B
build/block-library/blocks/media-text/editor-rtl.css 191 B 0 B
build/block-library/blocks/media-text/editor.css 191 B 0 B
build/block-library/blocks/media-text/style-rtl.css 535 B 0 B
build/block-library/blocks/media-text/style.css 532 B 0 B
build/block-library/blocks/more/editor-rtl.css 434 B 0 B
build/block-library/blocks/more/editor.css 434 B 0 B
build/block-library/blocks/navigation-link/editor-rtl.css 597 B 0 B
build/block-library/blocks/navigation-link/editor.css 597 B 0 B
build/block-library/blocks/navigation-link/style-rtl.css 1.17 kB 0 B
build/block-library/blocks/navigation-link/style.css 1.18 kB 0 B
build/block-library/blocks/navigation/editor-rtl.css 1.19 kB 0 B
build/block-library/blocks/navigation/editor.css 1.19 kB 0 B
build/block-library/blocks/navigation/style-rtl.css 272 B 0 B
build/block-library/blocks/navigation/style.css 271 B 0 B
build/block-library/blocks/nextpage/editor-rtl.css 395 B 0 B
build/block-library/blocks/nextpage/editor.css 395 B 0 B
build/block-library/blocks/page-list/editor-rtl.css 239 B 0 B
build/block-library/blocks/page-list/editor.css 240 B 0 B
build/block-library/blocks/page-list/style-rtl.css 167 B 0 B
build/block-library/blocks/page-list/style.css 167 B 0 B
build/block-library/blocks/paragraph/editor-rtl.css 157 B 0 B
build/block-library/blocks/paragraph/editor.css 157 B 0 B
build/block-library/blocks/paragraph/style-rtl.css 247 B 0 B
build/block-library/blocks/paragraph/style.css 248 B 0 B
build/block-library/blocks/post-author/editor-rtl.css 209 B 0 B
build/block-library/blocks/post-author/editor.css 209 B 0 B
build/block-library/blocks/post-author/style-rtl.css 183 B 0 B
build/block-library/blocks/post-author/style.css 184 B 0 B
build/block-library/blocks/post-comments-form/style-rtl.css 250 B 0 B
build/block-library/blocks/post-comments-form/style.css 250 B 0 B
build/block-library/blocks/post-content/editor-rtl.css 139 B 0 B
build/block-library/blocks/post-content/editor.css 139 B 0 B
build/block-library/blocks/post-excerpt/editor-rtl.css 73 B 0 B
build/block-library/blocks/post-excerpt/editor.css 73 B 0 B
build/block-library/blocks/post-excerpt/style-rtl.css 69 B 0 B
build/block-library/blocks/post-excerpt/style.css 69 B 0 B
build/block-library/blocks/post-featured-image/editor-rtl.css 338 B 0 B
build/block-library/blocks/post-featured-image/editor.css 338 B 0 B
build/block-library/blocks/post-featured-image/style-rtl.css 100 B 0 B
build/block-library/blocks/post-featured-image/style.css 100 B 0 B
build/block-library/blocks/post-title/style-rtl.css 60 B 0 B
build/block-library/blocks/post-title/style.css 60 B 0 B
build/block-library/blocks/preformatted/style-rtl.css 103 B 0 B
build/block-library/blocks/preformatted/style.css 103 B 0 B
build/block-library/blocks/pullquote/editor-rtl.css 183 B 0 B
build/block-library/blocks/pullquote/editor.css 183 B 0 B
build/block-library/blocks/pullquote/style-rtl.css 318 B 0 B
build/block-library/blocks/pullquote/style.css 318 B 0 B
build/block-library/blocks/query-loop/editor-rtl.css 83 B 0 B
build/block-library/blocks/query-loop/editor.css 82 B 0 B
build/block-library/blocks/query-loop/style-rtl.css 315 B 0 B
build/block-library/blocks/query-loop/style.css 317 B 0 B
build/block-library/blocks/query-pagination-numbers/editor-rtl.css 122 B 0 B
build/block-library/blocks/query-pagination-numbers/editor.css 121 B 0 B
build/block-library/blocks/query-pagination/editor-rtl.css 270 B 0 B
build/block-library/blocks/query-pagination/editor.css 262 B 0 B
build/block-library/blocks/query-pagination/style-rtl.css 168 B 0 B
build/block-library/blocks/query-pagination/style.css 168 B 0 B
build/block-library/blocks/query-title/editor-rtl.css 86 B 0 B
build/block-library/blocks/query-title/editor.css 86 B 0 B
build/block-library/blocks/query/editor-rtl.css 131 B 0 B
build/block-library/blocks/query/editor.css 132 B 0 B
build/block-library/blocks/quote/style-rtl.css 169 B 0 B
build/block-library/blocks/quote/style.css 169 B 0 B
build/block-library/blocks/rss/editor-rtl.css 201 B 0 B
build/block-library/blocks/rss/editor.css 202 B 0 B
build/block-library/blocks/rss/style-rtl.css 290 B 0 B
build/block-library/blocks/rss/style.css 290 B 0 B
build/block-library/blocks/search/editor-rtl.css 189 B 0 B
build/block-library/blocks/search/editor.css 189 B 0 B
build/block-library/blocks/search/style-rtl.css 359 B 0 B
build/block-library/blocks/search/style.css 362 B 0 B
build/block-library/blocks/separator/editor-rtl.css 99 B 0 B
build/block-library/blocks/separator/editor.css 99 B 0 B
build/block-library/blocks/separator/style-rtl.css 251 B 0 B
build/block-library/blocks/separator/style.css 251 B 0 B
build/block-library/blocks/shortcode/editor-rtl.css 512 B 0 B
build/block-library/blocks/shortcode/editor.css 512 B 0 B
build/block-library/blocks/site-logo/editor-rtl.css 440 B 0 B
build/block-library/blocks/site-logo/editor.css 441 B 0 B
build/block-library/blocks/site-logo/style-rtl.css 154 B 0 B
build/block-library/blocks/site-logo/style.css 154 B 0 B
build/block-library/blocks/social-link/editor-rtl.css 164 B 0 B
build/block-library/blocks/social-link/editor.css 165 B 0 B
build/block-library/blocks/social-links/editor-rtl.css 796 B 0 B
build/block-library/blocks/social-links/editor.css 795 B 0 B
build/block-library/blocks/social-links/style-rtl.css 1.32 kB 0 B
build/block-library/blocks/social-links/style.css 1.33 kB 0 B
build/block-library/blocks/spacer/editor-rtl.css 308 B 0 B
build/block-library/blocks/spacer/editor.css 308 B 0 B
build/block-library/blocks/spacer/style-rtl.css 48 B 0 B
build/block-library/blocks/spacer/style.css 48 B 0 B
build/block-library/blocks/table/editor-rtl.css 478 B 0 B
build/block-library/blocks/table/editor.css 478 B 0 B
build/block-library/blocks/table/style-rtl.css 402 B 0 B
build/block-library/blocks/table/style.css 402 B 0 B
build/block-library/blocks/tag-cloud/editor-rtl.css 118 B 0 B
build/block-library/blocks/tag-cloud/editor.css 118 B 0 B
build/block-library/blocks/tag-cloud/style-rtl.css 94 B 0 B
build/block-library/blocks/tag-cloud/style.css 94 B 0 B
build/block-library/blocks/template-part/editor-rtl.css 552 B 0 B
build/block-library/blocks/template-part/editor.css 551 B 0 B
build/block-library/blocks/term-description/editor-rtl.css 90 B 0 B
build/block-library/blocks/term-description/editor.css 90 B 0 B
build/block-library/blocks/text-columns/editor-rtl.css 95 B 0 B
build/block-library/blocks/text-columns/editor.css 95 B 0 B
build/block-library/blocks/text-columns/style-rtl.css 166 B 0 B
build/block-library/blocks/text-columns/style.css 166 B 0 B
build/block-library/blocks/verse/style-rtl.css 87 B 0 B
build/block-library/blocks/verse/style.css 87 B 0 B
build/block-library/blocks/video/editor-rtl.css 568 B 0 B
build/block-library/blocks/video/editor.css 569 B 0 B
build/block-library/blocks/video/style-rtl.css 173 B 0 B
build/block-library/blocks/video/style.css 173 B 0 B
build/block-library/common-rtl.css 1.31 kB 0 B
build/block-library/common.css 1.31 kB 0 B
build/block-library/editor-rtl.css 9.41 kB 0 B
build/block-library/editor.css 9.41 kB 0 B
build/block-library/reset-rtl.css 502 B 0 B
build/block-library/reset.css 503 B 0 B
build/block-library/style-rtl.css 9.55 kB 0 B
build/block-library/style.css 9.56 kB 0 B
build/block-library/theme-rtl.css 692 B 0 B
build/block-library/theme.css 693 B 0 B
build/block-serialization-spec-parser/index.js 3.06 kB 0 B
build/components/style-rtl.css 16.3 kB 0 B
build/components/style.css 16.3 kB 0 B
build/compose/index.js 11.6 kB 0 B
build/customize-widgets/style-rtl.css 666 B 0 B
build/customize-widgets/style.css 667 B 0 B
build/data-controls/index.js 839 B 0 B
build/date/index.js 31.8 kB 0 B
build/deprecated/index.js 787 B 0 B
build/dom-ready/index.js 577 B 0 B
build/dom/index.js 5.13 kB 0 B
build/edit-navigation/style-rtl.css 2.86 kB 0 B
build/edit-navigation/style.css 2.86 kB 0 B
build/edit-post/classic-rtl.css 454 B 0 B
build/edit-post/classic.css 454 B 0 B
build/edit-post/style-rtl.css 6.96 kB 0 B
build/edit-post/style.css 6.95 kB 0 B
build/edit-site/style-rtl.css 4.9 kB 0 B
build/edit-site/style.css 4.89 kB 0 B
build/edit-widgets/style-rtl.css 2.97 kB 0 B
build/edit-widgets/style.css 2.98 kB 0 B
build/editor/style-rtl.css 3.9 kB 0 B
build/editor/style.css 3.9 kB 0 B
build/escape-html/index.js 735 B 0 B
build/format-library/style-rtl.css 637 B 0 B
build/format-library/style.css 639 B 0 B
build/hooks/index.js 2.28 kB 0 B
build/html-entities/index.js 623 B 0 B
build/i18n/index.js 4.04 kB 0 B
build/is-shallow-equal/index.js 698 B 0 B
build/keycodes/index.js 1.95 kB 0 B
build/list-reusable-blocks/index.js 3.19 kB 0 B
build/list-reusable-blocks/style-rtl.css 629 B 0 B
build/list-reusable-blocks/style.css 628 B 0 B
build/notices/index.js 1.85 kB 0 B
build/nux/style-rtl.css 731 B 0 B
build/nux/style.css 727 B 0 B
build/plugins/index.js 2.96 kB 0 B
build/priority-queue/index.js 790 B 0 B
build/redux-routine/index.js 2.84 kB 0 B
build/reusable-blocks/index.js 3.82 kB 0 B
build/reusable-blocks/style-rtl.css 225 B 0 B
build/reusable-blocks/style.css 225 B 0 B
build/shortcode/index.js 1.7 kB 0 B
build/token-list/index.js 1.27 kB 0 B
build/url/index.js 3.02 kB 0 B
build/warning/index.js 1.14 kB 0 B
build/wordcount/index.js 1.22 kB 0 B

compressed-size-action

@retrofox retrofox changed the title [wip] Core: Adding block styles Core: Adding block styles via editor.BlockEdit filter Jul 16, 2020
@retrofox retrofox requested review from getdave and marekhrabe July 16, 2020 19:28
@retrofox retrofox marked this pull request as ready for review July 16, 2020 19:28
@retrofox retrofox requested a review from ellatrix as a code owner July 16, 2020 19:28
Copy link
Contributor

@marekhrabe marekhrabe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Described usage works as advertised! Styles are not hardcoded and now go in with a hook.

I have one tiny concern, outside of my scope of knowledge. Essentially, in a block-inspector/index.js, the BlockStyles are removed. This means they no longer show up at all.

To bring them back, a new file was created hooks/block-styles.js. It hooks into the right filter and adds them under the same conditions as before. This file is imported in hooks/index.js so it always loads together with other similar code. All good, in a browser.

What I have noticed is hooks/index.js has a also a native variant — index.native.js. This is where my knowledge falls short and there are two variants of what could happen:

  1. we have removed hardcoded styles from the BlockInspector and never brought them back, because the hooks/block-styles.js is not imported from hooks/index.native.js
  2. styles work differently on mobile and they don't use BlockInspector.

I have no idea which one is true, as I have no experience with the native side of the editor. However, considering that hooks/index.native.js imports almost everything that the standard hooks/index.js does, I think we might need to add the import too.

Any idea who can we ping to review this? It's probably super easy to confirm for anybody having the experience with mobile.

@geriux geriux self-requested a review July 22, 2020 14:13
@geriux
Copy link
Member

geriux commented Jul 22, 2020

Hey there 👋

styles work differently on mobile and they don't use BlockInspector.

That is correct, we don't use the BlockInspector on mobile.

However, considering that hooks/index.native.js imports almost everything that the standard hooks/index.js does, I think we might need to add the import too.

For this case is not needed to import it in the .native side.

Thank you for double checking that it wouldn't break anything for mobile!

@marekhrabe
Copy link
Contributor

That's perfect, @geriux! Thanks for your confirmation! And with that…

@youknowriad
Copy link
Contributor

No objections from here.

@retrofox retrofox force-pushed the update/block-styles-inspector-controls branch 3 times, most recently from 5a8c690 to 467de0e Compare July 23, 2020 11:38
@retrofox retrofox force-pushed the update/block-styles-inspector-controls branch from 467de0e to 974134d Compare August 3, 2020 14:22
@geriux geriux removed their request for review August 12, 2020 08:23
@getdave
Copy link
Contributor

getdave commented Sep 7, 2020

@retrofox will you be looking to merge this?

@retrofox
Copy link
Contributor Author

retrofox commented Sep 7, 2020

@retrofox will you be looking to merge this?

yeah, let me rebase it and then will try to ship it. Thanks for the reminder, Dave 🙇‍♂️

@retrofox retrofox force-pushed the update/block-styles-inspector-controls branch from 974134d to e2f9d7a Compare September 8, 2020 18:55
@retrofox
Copy link
Contributor Author

retrofox commented Sep 8, 2020

Rebased and ready for a new review? cc @getdave

@getdave
Copy link
Contributor

getdave commented Sep 30, 2020

@retrofox I'll add this to my list to review on Friday.

@retrofox retrofox force-pushed the update/block-styles-inspector-controls branch from e2f9d7a to 32a6251 Compare October 22, 2020 15:04
retrofox added a commit to Automattic/jetpack that referenced this pull request Oct 26, 2020
* paid-blocks: change filter to add upgrade banner
It changes the filter to add the banner to the paid blocks, replacing it with editor.BlockEdit. It will allow move the banner at the top im the lbock settings sidebar, one the core PR ships WordPress/gutenberg#23993

* paid-blocks: increase edit filter priority
@retrofox retrofox force-pushed the update/block-styles-inspector-controls branch from 2b7a6c5 to 21e9ea3 Compare October 26, 2020 21:50
@gziolo gziolo added the [Feature] Extensibility The ability to extend blocks or the editing experience label Nov 8, 2020
@retrofox retrofox force-pushed the update/block-styles-inspector-controls branch 3 times, most recently from 6bc8edc to 888de38 Compare November 12, 2020 17:33
Base automatically changed from master to trunk March 1, 2021 15:43
@Mamaduka
Copy link
Member

I was about to create PR for this and then came across this one. Thanks, @retrofox.

Is there a reason for using selectedBlockClientId instead of clientId and blockName from props?

P.S. Let me know if I can help to get this PR merged.

@retrofox
Copy link
Contributor Author

I was about to create PR for this and then came across this one. Thanks, @retrofox.

🙇‍♂️

Is there a reason for using selectedBlockClientId instead of clientId and blockName from props?

No, actually let me update the PR. It needs a rebase, too.

P.S. Let me know if I can help to get this PR merged.

Sounds like a nice plan. 🤝

@retrofox retrofox force-pushed the update/block-styles-inspector-controls branch from 888de38 to 45d75e2 Compare March 12, 2021 16:01
@retrofox
Copy link
Contributor Author

P.S. Let me know if I can help to get this PR merged.

Ready for a new 👁️ round, @Mamaduka 🙇‍♂️

@Mamaduka
Copy link
Member

Hi, @retrofox

Tested this, and it works as expected.

@retrofox retrofox force-pushed the update/block-styles-inspector-controls branch from 45d75e2 to acf9861 Compare March 15, 2021 14:56
@retrofox
Copy link
Contributor Author

I believe this should be ! hasBlockStyles.

Everything else looks good!

🤦 fixed!. Thanks :-)

@retrofox retrofox force-pushed the update/block-styles-inspector-controls branch from c470b0b to b498308 Compare March 18, 2021 11:19
@getdave getdave force-pushed the update/block-styles-inspector-controls branch from b498308 to 0b714fe Compare April 23, 2021 14:56
Copy link
Contributor

@getdave getdave left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice simple change which seems to work well 👍

I tested this by temporarily adding the following to the core/image block's edit.js file

const myEditComponent = ( OriginalBlockEdit ) => ( props ) => {
	return (
		<Fragment>
			<InspectorControls>
				<div>This is at the top!</div>
			</InspectorControls>
			<OriginalBlockEdit { ...props } />
		</Fragment>
	);
};

addFilter( 'editor.BlockEdit', 'core/image', myEditComponent, 20 );

I saw the text This is at the top! appear above the block styles in the block sidebar.

I should be possible to write simple e2e tests for this by using the pattern shown in packages/e2e-tests/specs/editor/plugins/align-hook.test.js which activates a Plugin for testing. Inside the Plugin, you can do the addFilter and add some random text above/below the block styles using the hook. Then you can use e2e tests to assert on the presence of the text.

Might be over the top though.

Otherwise this seems to test well for me.

@retrofox retrofox closed this Apr 11, 2024
@ellatrix ellatrix deleted the update/block-styles-inspector-controls branch April 11, 2024 17:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

[Feature] Extensibility The ability to extend blocks or the editing experience [Type] Enhancement A suggestion for improvement.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants