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

[RNMobile] Fix replacing empty paragraph in inner block #20653

Merged
merged 2 commits into from
Mar 12, 2020

Conversation

dratwas
Copy link
Contributor

@dratwas dratwas commented Mar 5, 2020

Fixes wordpress-mobile/gutenberg-mobile#1974

Gutenberg-mobile PR: wordpress-mobile/gutenberg-mobile#1984

In this PR i fixed the issue when trying to replace a paragraph that is nested in the inner block that is the only block on the root level. I added a check if the rootClientId is passed in props because that means the selected and replaceable paragraph is a nested one.

How has this been tested?

Test case 1

  • Open an empty editor w/o any block in it.
  • Add Cover/Group block
  • Add empty paragraph inside the created block
  • Make sure that the created paragraph is empty and selected
  • Click on the "Add block" button and select some block
  • The paragraph should be replaced by selected block

Test case 2

  • Open empty editor w/o any block in it
  • Select the already existing paragraph (placeholder)
  • Click on "Add block" button and select some block
  • The paragraph should be replaced by selected block

Screenshots

Before After
cover-issue cover-issue-after

Types of changes

Bug fix

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

github-actions bot commented Mar 5, 2020

Size Change: 0 B

Total Size: 865 kB

ℹ️ View Unchanged
Filename Size Change
build/a11y/index.js 1.01 kB 0 B
build/annotations/index.js 3.43 kB 0 B
build/api-fetch/index.js 3.39 kB 0 B
build/autop/index.js 2.58 kB 0 B
build/blob/index.js 620 B 0 B
build/block-directory/index.js 6.02 kB 0 B
build/block-directory/style-rtl.css 760 B 0 B
build/block-directory/style.css 760 B 0 B
build/block-editor/index.js 105 kB 0 B
build/block-editor/style-rtl.css 10.5 kB 0 B
build/block-editor/style.css 10.5 kB 0 B
build/block-library/editor-rtl.css 7.36 kB 0 B
build/block-library/editor.css 7.36 kB 0 B
build/block-library/index.js 116 kB 0 B
build/block-library/style-rtl.css 7.5 kB 0 B
build/block-library/style.css 7.51 kB 0 B
build/block-library/theme-rtl.css 669 B 0 B
build/block-library/theme.css 671 B 0 B
build/block-serialization-default-parser/index.js 1.65 kB 0 B
build/block-serialization-spec-parser/index.js 3.1 kB 0 B
build/blocks/index.js 57.6 kB 0 B
build/components/index.js 191 kB 0 B
build/components/style-rtl.css 15.6 kB 0 B
build/components/style.css 15.5 kB 0 B
build/compose/index.js 5.76 kB 0 B
build/core-data/index.js 10.5 kB 0 B
build/data-controls/index.js 1.03 kB 0 B
build/data/index.js 8.22 kB 0 B
build/date/index.js 5.37 kB 0 B
build/deprecated/index.js 772 B 0 B
build/dom-ready/index.js 568 B 0 B
build/dom/index.js 3.06 kB 0 B
build/edit-post/index.js 90.9 kB 0 B
build/edit-post/style-rtl.css 8.54 kB 0 B
build/edit-post/style.css 8.54 kB 0 B
build/edit-site/index.js 4.63 kB 0 B
build/edit-site/style-rtl.css 2.51 kB 0 B
build/edit-site/style.css 2.51 kB 0 B
build/edit-widgets/index.js 4.42 kB 0 B
build/edit-widgets/style-rtl.css 2.59 kB 0 B
build/edit-widgets/style.css 2.58 kB 0 B
build/editor/editor-styles-rtl.css 325 B 0 B
build/editor/editor-styles.css 327 B 0 B
build/editor/index.js 44.6 kB 0 B
build/editor/style-rtl.css 3.98 kB 0 B
build/editor/style.css 3.98 kB 0 B
build/element/index.js 4.45 kB 0 B
build/escape-html/index.js 733 B 0 B
build/format-library/index.js 7.6 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 1.92 kB 0 B
build/html-entities/index.js 622 B 0 B
build/i18n/index.js 3.48 kB 0 B
build/is-shallow-equal/index.js 710 B 0 B
build/keyboard-shortcuts/index.js 2.3 kB 0 B
build/keycodes/index.js 1.68 kB 0 B
build/list-reusable-blocks/index.js 2.99 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/media-utils/index.js 4.85 kB 0 B
build/notices/index.js 1.57 kB 0 B
build/nux/index.js 3.02 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.54 kB 0 B
build/primitives/index.js 1.49 kB 0 B
build/priority-queue/index.js 780 B 0 B
build/redux-routine/index.js 2.84 kB 0 B
build/rich-text/index.js 14.3 kB 0 B
build/server-side-render/index.js 2.54 kB 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 4 kB 0 B
build/viewport/index.js 1.61 kB 0 B
build/warning/index.js 1.14 kB 0 B
build/wordcount/index.js 1.18 kB 0 B

compressed-size-action

@pinarol pinarol requested a review from jbinda March 9, 2020 09:20
@jbinda
Copy link
Contributor

jbinda commented Mar 9, 2020

According to already existing sanity-tests:

  • Group - AppenderButton is rendered - steps
  • Group - Deep nesting is possible (iOS only) - steps
  • Group - Check if Group placeholder is visible for the unselected state - steps
  • Group - Check if Group placeholder is render in nested structure - steps
  • Group - Nested block have proper border styling - steps
  • Group - Nested block have proper margins values - steps
  • Group - Nested selection cause applying dimmed style on the rest of blocks - steps
  • Group - Breadcrumbs on FloatingToolbar is properly displayed - steps
  • Group - Navigation up button works as expected - steps
  • Group - Navigation down works according to parent-first approach - steps
  • Group - Cross navigation between blocks works as expected - steps
  • Group - Ungroup button works as expected - steps
  • Group - Check if in DarkMode all components gets proper colors (iOS) - steps

And also one extra which will be added soon according to this fix:

  • Group - Check if nested Placeholder block can be replaced - steps

Copy link
Contributor

@jbinda jbinda left a comment

Choose a reason for hiding this comment

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

According to sanity check it seems to work as expected.

@dratwas dratwas merged commit 4dfb859 into master Mar 12, 2020
@dratwas dratwas deleted the fix/inserter-in-first-block branch March 12, 2020 16:19
@github-actions github-actions bot added this to the Gutenberg 7.8 milestone Mar 12, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Adding a new block inside other block that is the only block in editor removes the whole parent block
2 participants