Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Block Directory: Switch to blocks.registerBlockType filter #25264

Merged
merged 4 commits into from
Sep 28, 2020

Conversation

ryelle
Copy link
Contributor

@ryelle ryelle commented Sep 11, 2020

Description

In #22631 functionality was added to detect and install missing blocks from the block directory, if available. Initially this created a new filter on MissingEdit, but after some discussion on the PR, it was suggested to use the existing blocks.registerBlockType filter instead. This PR makes the switch & removes the editor.missingEdit filter.

This also updates the message displayed to the user— it won't offer HTML conversion if the missing block has no content or the HTML block is disabled.

How has this been tested?

Manual testing, using the following code to trigger a request to install the Star Rating block

<!-- wp:ideabox/star-rating -->
<p>test</p>
<!-- /wp:ideabox/star-rating -->

You can test the no HTML case with this block code:

<!-- wp:ideabox/star-rating /-->

Screenshots

Screen Shot 2020-09-11 at 2 53 24 PM

@ryelle ryelle added the [Feature] Block Directory Related to the Block Directory, a repository of block plugins label Sep 11, 2020
@ryelle ryelle self-assigned this Sep 11, 2020
@github-actions
Copy link

github-actions bot commented Sep 11, 2020

Size Change: -721 B (0%)

Total Size: 1.2 MB

Filename Size Change
build/annotations/index.js 3.67 kB -1 B
build/autop/index.js 2.82 kB -1 B
build/block-directory/index.js 8.6 kB +60 B (0%)
build/block-directory/style-rtl.css 943 B -10 B (1%)
build/block-directory/style.css 942 B -10 B (1%)
build/block-editor/index.js 128 kB +12 B (0%)
build/block-editor/style-rtl.css 11 kB -45 B (0%)
build/block-editor/style.css 11 kB -41 B (0%)
build/block-library/editor-rtl.css 8.67 kB -11 B (0%)
build/block-library/editor.css 8.67 kB -12 B (0%)
build/block-library/index.js 139 kB +43 B (0%)
build/block-library/style-rtl.css 7.59 kB -4 B (0%)
build/block-library/style.css 7.59 kB -4 B (0%)
build/block-library/theme-rtl.css 741 B -13 B (1%)
build/block-library/theme.css 741 B -13 B (1%)
build/block-serialization-default-parser/index.js 1.88 kB -1 B
build/blocks/index.js 47.8 kB +4 B (0%)
build/components/index.js 202 kB -1 B
build/components/style-rtl.css 15.5 kB -58 B (0%)
build/components/style.css 15.4 kB -58 B (0%)
build/compose/index.js 9.67 kB -5 B (0%)
build/core-data/index.js 12.2 kB -170 B (1%)
build/data-controls/index.js 1.29 kB -3 B (0%)
build/data/index.js 8.55 kB -2 B (0%)
build/dom/index.js 4.48 kB +2 B (0%)
build/edit-navigation/index.js 10.7 kB -2 B (0%)
build/edit-post/index.js 305 kB -1 B
build/edit-post/style-rtl.css 6.24 kB -13 B (0%)
build/edit-post/style.css 6.22 kB -14 B (0%)
build/edit-site/index.js 19.3 kB -6 B (0%)
build/edit-site/style-rtl.css 3.13 kB -2 B (0%)
build/edit-site/style.css 3.13 kB -3 B (0%)
build/edit-widgets/index.js 12.2 kB -1 B
build/editor/index.js 45.3 kB -303 B (0%)
build/editor/style-rtl.css 3.8 kB -13 B (0%)
build/editor/style.css 3.8 kB -13 B (0%)
build/element/index.js 4.65 kB +1 B
build/format-library/index.js 7.71 kB -2 B (0%)
build/i18n/index.js 3.56 kB -1 B
build/is-shallow-equal/index.js 711 B +1 B
build/keyboard-shortcuts/index.js 2.52 kB -1 B
build/list-reusable-blocks/index.js 3.12 kB -2 B (0%)
build/media-utils/index.js 5.31 kB -4 B (0%)
build/notices/index.js 1.79 kB +1 B
build/plugins/index.js 2.56 kB +1 B
build/redux-routine/index.js 2.85 kB +2 B (0%)
build/shortcode/index.js 1.69 kB -1 B
build/url/index.js 4.06 kB -1 B
build/viewport/index.js 1.85 kB -2 B (0%)
ℹ️ View Unchanged
Filename Size Change
build/a11y/index.js 1.14 kB 0 B
build/api-fetch/index.js 3.41 kB 0 B
build/blob/index.js 620 B 0 B
build/block-serialization-spec-parser/index.js 3.1 kB 0 B
build/date/index.js 31.9 kB 0 B
build/deprecated/index.js 772 B 0 B
build/dom-ready/index.js 568 B 0 B
build/edit-navigation/style-rtl.css 868 B 0 B
build/edit-navigation/style.css 871 B 0 B
build/edit-widgets/style-rtl.css 2.55 kB 0 B
build/edit-widgets/style.css 2.55 kB 0 B
build/editor/editor-styles-rtl.css 492 B 0 B
build/editor/editor-styles.css 493 B 0 B
build/escape-html/index.js 733 B 0 B
build/format-library/style-rtl.css 547 B 0 B
build/format-library/style.css 548 B 0 B
build/hooks/index.js 2.13 kB 0 B
build/html-entities/index.js 621 B 0 B
build/keycodes/index.js 1.94 kB 0 B
build/list-reusable-blocks/style-rtl.css 476 B 0 B
build/list-reusable-blocks/style.css 476 B 0 B
build/nux/index.js 3.4 kB 0 B
build/nux/style-rtl.css 671 B 0 B
build/nux/style.css 668 B 0 B
build/primitives/index.js 1.41 kB 0 B
build/priority-queue/index.js 789 B 0 B
build/rich-text/index.js 13.9 kB 0 B
build/server-side-render/index.js 2.77 kB 0 B
build/token-list/index.js 1.27 kB 0 B
build/warning/index.js 1.14 kB 0 B
build/wordcount/index.js 1.17 kB 0 B

compressed-size-action

@StevenDufresne
Copy link
Contributor

StevenDufresne commented Sep 14, 2020

I was unable to get the "Keep as HTML" link working. I click the link but nothing happens.

https://d.pr/v/ofu5Tb

@ryelle
Copy link
Contributor Author

ryelle commented Sep 14, 2020

@StevenDufresne Good catch — with the new filter that function isn't passed down into the component, so I need to define it here, too. Should be fixed with 1acd239

Copy link
Contributor

@StevenDufresne StevenDufresne left a comment

Choose a reason for hiding this comment

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

This works as expected and is a good first step. Thanks!

let messageHTML = sprintf(
/* translators: %s: block name */
__(
'Your site doesn’t include support for the %s block. You can try installing the block or remove it entirely.'
Copy link
Contributor

Choose a reason for hiding this comment

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

It would be nice if we could add a button to remove the block, although not a blocker for this PR.

Copy link
Contributor

Choose a reason for hiding this comment

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

Actually, my comment is with the original block, not this one.

Message

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yeah, it is following the pattern from the original core/missing block. I think the idea is that you'd remove it like any other block (click and hit delete, or use the toolbar menu to remove it), but you could open an issue about it if you think we need a button here.

Copy link
Contributor

@mcsf mcsf Sep 25, 2020

Choose a reason for hiding this comment

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

Note that this string interpolation won't work for all locales.

There isn't much else to do — it's more of an FYI — especially since the translators note is already there. Some translations may work around their issues by rephrasing as e.g. "%s: Your site doesn't include support for this block."

@ryelle ryelle merged commit a63cc62 into master Sep 28, 2020
@ryelle ryelle deleted the update/block-dir-missing-filter branch September 28, 2020 14:43
@github-actions github-actions bot added this to the Gutenberg 9.1 milestone Sep 28, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Feature] Block Directory Related to the Block Directory, a repository of block plugins
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants