Skip to content

Add freeform support to the react native editor#22609

Merged
Tug merged 7 commits intomasterfrom
rnmobile/fix-freeform
May 26, 2020
Merged

Add freeform support to the react native editor#22609
Tug merged 7 commits intomasterfrom
rnmobile/fix-freeform

Conversation

@Tug
Copy link
Copy Markdown
Contributor

@Tug Tug commented May 25, 2020

Fixes wordpress-mobile/gutenberg-mobile#2292

Gutenberg Mobile PR wordpress-mobile/gutenberg-mobile#2312

Description

This PR registers the classic block on the react native version of the editor and defines it as the "Freeform Content Handler". This allows the parser to fallback to a freeform block whenever HTML is found outside the boundaries of a block while parsing a post.

How has this been tested?

See gutenberg mobile PR

Types of changes

React Native 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.

@github-actions
Copy link
Copy Markdown

github-actions bot commented May 25, 2020

Size Change: -58 B (0%)

Total Size: 1.12 MB

Filename Size Change
build/api-fetch/index.js 3.4 kB -1 B
build/block-directory/index.js 6.48 kB -453 B (6%)
build/block-directory/style-rtl.css 788 B -2 B (0%)
build/block-directory/style.css 788 B -3 B (0%)
build/block-editor/index.js 105 kB +19 B (0%)
build/block-library/editor-rtl.css 7.2 kB +32 B (0%)
build/block-library/editor.css 7.2 kB +33 B (0%)
build/block-library/index.js 119 kB -2 B (0%)
build/blocks/index.js 48.1 kB -2 B (0%)
build/components/index.js 190 kB -2 B (0%)
build/core-data/index.js 11.4 kB -1 B
build/data-controls/index.js 1.29 kB -4 B (0%)
build/data/index.js 8.42 kB +2 B (0%)
build/date/index.js 5.47 kB -2 B (0%)
build/edit-navigation/index.js 6.63 kB -3 B (0%)
build/edit-post/index.js 302 kB -25 B (0%)
build/edit-post/style-rtl.css 12.2 kB -3 B (0%)
build/edit-post/style.css 12.2 kB -3 B (0%)
build/edit-site/index.js 14 kB +166 B (1%)
build/edit-site/style-rtl.css 5.52 kB -6 B (0%)
build/edit-site/style.css 5.53 kB -6 B (0%)
build/edit-widgets/index.js 8.05 kB +179 B (2%)
build/edit-widgets/style-rtl.css 4.59 kB +15 B (0%)
build/edit-widgets/style.css 4.59 kB +15 B (0%)
build/editor/index.js 44.6 kB -1 B
build/keyboard-shortcuts/index.js 2.51 kB +1 B
build/list-reusable-blocks/index.js 3.12 kB -3 B (0%)
build/media-utils/index.js 5.29 kB -2 B (0%)
build/nux/index.js 3.4 kB +1 B
build/rich-text/index.js 14.8 kB +2 B (0%)
build/server-side-render/index.js 2.68 kB +1 B
ℹ️ View Unchanged
Filename Size Change
build/a11y/index.js 1.14 kB 0 B
build/annotations/index.js 3.62 kB 0 B
build/autop/index.js 2.83 kB 0 B
build/blob/index.js 620 B 0 B
build/block-editor/style-rtl.css 10.9 kB 0 B
build/block-editor/style.css 10.9 kB 0 B
build/block-library/style-rtl.css 7.48 kB 0 B
build/block-library/style.css 7.48 kB 0 B
build/block-library/theme-rtl.css 684 B 0 B
build/block-library/theme.css 686 B 0 B
build/block-serialization-default-parser/index.js 1.88 kB 0 B
build/block-serialization-spec-parser/index.js 3.1 kB 0 B
build/components/style-rtl.css 17.1 kB 0 B
build/components/style.css 17.1 kB 0 B
build/compose/index.js 9.31 kB 0 B
build/deprecated/index.js 771 B 0 B
build/dom-ready/index.js 568 B 0 B
build/dom/index.js 3.11 kB 0 B
build/edit-navigation/style-rtl.css 857 B 0 B
build/edit-navigation/style.css 856 B 0 B
build/editor/editor-styles-rtl.css 425 B 0 B
build/editor/editor-styles.css 428 B 0 B
build/editor/style-rtl.css 5.06 kB 0 B
build/editor/style.css 5.06 kB 0 B
build/element/index.js 4.65 kB 0 B
build/escape-html/index.js 733 B 0 B
build/format-library/index.js 7.71 kB 0 B
build/format-library/style-rtl.css 502 B 0 B
build/format-library/style.css 502 B 0 B
build/hooks/index.js 2.13 kB 0 B
build/html-entities/index.js 622 B 0 B
build/i18n/index.js 3.56 kB 0 B
build/is-shallow-equal/index.js 711 B 0 B
build/keycodes/index.js 1.94 kB 0 B
build/list-reusable-blocks/style-rtl.css 226 B 0 B
build/list-reusable-blocks/style.css 226 B 0 B
build/notices/index.js 1.79 kB 0 B
build/nux/style-rtl.css 616 B 0 B
build/nux/style.css 613 B 0 B
build/plugins/index.js 2.56 kB 0 B
build/primitives/index.js 1.5 kB 0 B
build/priority-queue/index.js 789 B 0 B
build/redux-routine/index.js 2.85 kB 0 B
build/shortcode/index.js 1.7 kB 0 B
build/token-list/index.js 1.28 kB 0 B
build/url/index.js 4.02 kB 0 B
build/viewport/index.js 1.84 kB 0 B
build/warning/index.js 1.14 kB 0 B
build/wordcount/index.js 1.17 kB 0 B

compressed-size-action

@Tug Tug added the Mobile App - i.e. Android or iOS Native mobile impl of the block editor. (Note: used in scripts, ping mobile folks to change) label May 25, 2020
@Tug Tug marked this pull request as ready for review May 25, 2020 18:59
"supports": {
"className": false,
"customClassName": false,
"inserter": false,
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I guess that’s the only difference with web definition. It might be easier to maintain it if it was applied with WordPress hook when the registration happens. It’s more code but you would ensure that the block definition always stays in sync.

* Internal dependencies
*/
import edit from './edit';
import metadata from './block.native.json';
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

In fact, you probably could avoid overriding JavaScript file at all when using blocks.registerBlockType filter (hook).

Copy link
Copy Markdown
Member

@gziolo gziolo left a comment

Choose a reason for hiding this comment

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

That was quick update, looks great. To be 100% clear, I haven't tested... :)

@gziolo gziolo added the [Block] Classic Affects the Classic Editor Block label May 26, 2020
Copy link
Copy Markdown
Contributor

@SergioEstevao SergioEstevao left a comment

Choose a reason for hiding this comment

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

:shipit:

Copy link
Copy Markdown
Contributor

@etoledom etoledom left a comment

Choose a reason for hiding this comment

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

Tested on WPiOS and works great!
And autosave still works, tested killing the app after editing on HTML mode ✅

@Tug Tug merged commit 5c55497 into master May 26, 2020
@Tug Tug deleted the rnmobile/fix-freeform branch May 26, 2020 16:05
@github-actions github-actions bot added this to the Gutenberg 8.3 milestone May 26, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

[Block] Classic Affects the Classic Editor Block Mobile App - i.e. Android or iOS Native mobile impl of the block editor. (Note: used in scripts, ping mobile folks to change)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[GlobalStep] [Android] Unable to operate or handle all tags in HTML mode.

4 participants