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 API: stabilize light block hook #25642

Merged
merged 8 commits into from
Oct 1, 2020
Merged

Conversation

ellatrix
Copy link
Member

@ellatrix ellatrix commented Sep 25, 2020

Description

Blocked by #25644.
This is solid and ready to be used by plugins.

Remaining questions:

After this we should update documentation with the new recommended API, e.g. https://developer.wordpress.org/block-editor/developers/block-api/block-edit-save/.

How has this been tested?

Screenshots

Types of changes

Checklist:

  • My code is tested.
  • My code follows the WordPress code style.
  • My code follows the accessibility standards.
  • My code has proper inline documentation.
  • I've included developer documentation if appropriate.
  • I've updated all React Native files affected by any refactorings/renamings in this PR.

Copy link
Contributor

@youknowriad youknowriad left a comment

Choose a reason for hiding this comment

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

I agree it's stable enough but the other question is whether we'd also rename the "lightBlockWrapper": true as apiVersion: 2 top-level on the settings in order to be able to do similar changes on the future?

@ellatrix
Copy link
Member Author

I like versioning it

@ellatrix ellatrix force-pushed the try/stabilize-light-block branch 2 times, most recently from 85fd04c to d2d432d Compare September 25, 2020 10:41
@github-actions
Copy link

github-actions bot commented Sep 25, 2020

Size Change: -41 B (0%)

Total Size: 1.18 MB

Filename Size Change
build/block-editor/index.js 129 kB +25 B (0%)
build/block-library/index.js 135 kB -65 B (0%)
build/blocks/index.js 47.5 kB -1 B
ℹ️ View Unchanged
Filename Size Change
build/a11y/index.js 1.14 kB 0 B
build/annotations/index.js 3.52 kB 0 B
build/api-fetch/index.js 3.35 kB 0 B
build/autop/index.js 2.72 kB 0 B
build/blob/index.js 620 B 0 B
build/block-directory/index.js 8.55 kB 0 B
build/block-directory/style-rtl.css 943 B 0 B
build/block-directory/style.css 942 B 0 B
build/block-editor/style-rtl.css 11 kB 0 B
build/block-editor/style.css 11 kB 0 B
build/block-library/editor-rtl.css 8.6 kB 0 B
build/block-library/editor.css 8.6 kB 0 B
build/block-library/style-rtl.css 7.65 kB 0 B
build/block-library/style.css 7.65 kB 0 B
build/block-library/theme-rtl.css 741 B 0 B
build/block-library/theme.css 741 B 0 B
build/block-serialization-default-parser/index.js 1.78 kB 0 B
build/block-serialization-spec-parser/index.js 3.1 kB 0 B
build/components/index.js 169 kB 0 B
build/components/style-rtl.css 15.4 kB 0 B
build/components/style.css 15.4 kB 0 B
build/compose/index.js 9.42 kB 0 B
build/core-data/index.js 12 kB 0 B
build/data-controls/index.js 685 B 0 B
build/data/index.js 8.6 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/dom/index.js 4.42 kB 0 B
build/edit-navigation/index.js 10.7 kB 0 B
build/edit-navigation/style-rtl.css 868 B 0 B
build/edit-navigation/style.css 871 B 0 B
build/edit-post/index.js 306 kB 0 B
build/edit-post/style-rtl.css 6.25 kB 0 B
build/edit-post/style.css 6.24 kB 0 B
build/edit-site/index.js 20.4 kB 0 B
build/edit-site/style-rtl.css 3.78 kB 0 B
build/edit-site/style.css 3.78 kB 0 B
build/edit-widgets/index.js 21.1 kB 0 B
build/edit-widgets/style-rtl.css 3 kB 0 B
build/edit-widgets/style.css 3 kB 0 B
build/editor/editor-styles-rtl.css 492 B 0 B
build/editor/editor-styles.css 493 B 0 B
build/editor/index.js 45.5 kB 0 B
build/editor/style-rtl.css 3.83 kB 0 B
build/editor/style.css 3.82 kB 0 B
build/element/index.js 4.44 kB 0 B
build/escape-html/index.js 734 B 0 B
build/format-library/index.js 7.49 kB 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 1.74 kB 0 B
build/html-entities/index.js 621 B 0 B
build/i18n/index.js 3.54 kB 0 B
build/is-shallow-equal/index.js 710 B 0 B
build/keyboard-shortcuts/index.js 2.39 kB 0 B
build/keycodes/index.js 1.85 kB 0 B
build/list-reusable-blocks/index.js 3.02 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/media-utils/index.js 5.12 kB 0 B
build/notices/index.js 1.69 kB 0 B
build/nux/index.js 3.27 kB 0 B
build/nux/style-rtl.css 671 B 0 B
build/nux/style.css 668 B 0 B
build/plugins/index.js 2.44 kB 0 B
build/primitives/index.js 1.34 kB 0 B
build/priority-queue/index.js 790 B 0 B
build/redux-routine/index.js 2.85 kB 0 B
build/rich-text/index.js 13 kB 0 B
build/server-side-render/index.js 2.6 kB 0 B
build/shortcode/index.js 1.7 kB 0 B
build/token-list/index.js 1.24 kB 0 B
build/url/index.js 4.06 kB 0 B
build/viewport/index.js 1.74 kB 0 B
build/warning/index.js 1.13 kB 0 B
build/wordcount/index.js 1.17 kB 0 B

compressed-size-action

@ellatrix
Copy link
Member Author

The only thing needed before stabilisation is #25644.

@ZebulanStanphill
Copy link
Member

I like the idea of an apiVersion field. That feels a lot more flexible in the long-run, and it feels more sensible to tell block developers to specify the apiVersion than it does to tell them to always set lightBlockWrapper to true.

@ellatrix ellatrix force-pushed the try/stabilize-light-block branch 2 times, most recently from b3d24ff to 28c1c86 Compare September 25, 2020 16:20
@youknowriad youknowriad added [Feature] Block API API that allows to express the block paradigm. [Type] New API New API to be used by plugin developers or package users. Needs Dev Note Requires a developer note for a major WordPress release cycle labels Sep 25, 2020
@ellatrix ellatrix force-pushed the try/stabilize-light-block branch 2 times, most recently from 5b4697a to 1375643 Compare September 25, 2020 16:46
Copy link
Contributor

@youknowriad youknowriad left a comment

Choose a reason for hiding this comment

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

This is looking good for me.

I think we'd need some good documentation about this for the release and in the handbook.

@ellatrix ellatrix force-pushed the try/stabilize-light-block branch 3 times, most recently from 8dd382f to 7b23e31 Compare October 1, 2020 12:02
@ellatrix ellatrix force-pushed the try/stabilize-light-block branch from 7b23e31 to 8db8143 Compare October 1, 2020 13:33
@ellatrix ellatrix merged commit 0ca9736 into master Oct 1, 2020
@ellatrix ellatrix deleted the try/stabilize-light-block branch October 1, 2020 14:02
@github-actions github-actions bot added this to the Gutenberg 9.2 milestone Oct 1, 2020
@cguntur cguntur mentioned this pull request Oct 14, 2020
17 tasks
@@ -558,6 +558,26 @@ _Related_

Undocumented declaration.

<a name="useBlockProps" href="#useBlockProps">#</a> **useBlockProps**
Copy link
Member

Choose a reason for hiding this comment

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

Noting that useBlockProps.save isn't documented. I guess it's too late to expose it under its own name.

Copy link
Contributor

Choose a reason for hiding this comment

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

We discussed this and we preferred to use that notation because we'll have the same thing for innerblocks, richtext, and each one of this have a version for edit and for save.

And we plan to document this properly see the PR description here #26100

Copy link
Member

Choose a reason for hiding this comment

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

Cool, makes sense to follow the same pattern, although it isn't ideal moving forward :)

Copy link
Member Author

Choose a reason for hiding this comment

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

What's not ideal moving forward?

Copy link
Member

Choose a reason for hiding this comment

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

The dot notation that takes advantage of the fact that a function is also an object in JS.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Feature] Block API API that allows to express the block paradigm. [Type] New API New API to be used by plugin developers or package users.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants