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

Allow explicitly specifying additional block navigation menu options in block edit function #22463

Closed
wants to merge 9 commits into from

Conversation

adamziel
Copy link
Contributor

@adamziel adamziel commented May 19, 2020

Description

This PR is a Proof of Concept of explicitly specifying per-block ellipsis menu items in the edit.js file.

This is a part of a sequence of few PRs. I propose merging/reviewing these PRs in the following order:

  1. Ellipsis menu in block navigator #22427 - introduce very basic ellipsis menu to the block navigation
  2. Allow explicitly specifying additional block navigation menu options in block edit function #22463 - allow the block to define additional ellipsis menu items
  3. Reuse BlockControls in block navigation ellipsis menu #22462 - introduce an abstraction that takes care of the toolbar items and ellipsis menu items at the same time

How has this been tested?

  1. Go to the experimental navigation screen
  2. Open the ellipsis menu
  3. Confirm the Add Submenu is there

Note that adding a submenu transfer focus to the Navigation menu page - this is something I am looking forward to addressing in a separate PR once the slot mechanics from this PR are in place.

Screenshots

Zrzut ekranu 2020-05-21 o 11 34 14

Types of changes

New feature (non-breaking change which adds functionality)

@adamziel adamziel added the [Feature] List View Menu item in the top toolbar to select blocks from a list of links. label May 19, 2020
@adamziel adamziel requested review from draganescu and talldan May 19, 2020 14:02
@adamziel adamziel self-assigned this May 19, 2020
@github-actions
Copy link

github-actions bot commented May 19, 2020

Size Change: +157 B (0%)

Total Size: 1.12 MB

Filename Size Change
build/block-editor/index.js 105 kB +121 B (0%)
build/block-library/index.js 119 kB +36 B (0%)
ℹ️ View Unchanged
Filename Size Change
build/a11y/index.js 1.02 kB 0 B
build/annotations/index.js 3.62 kB 0 B
build/api-fetch/index.js 3.39 kB 0 B
build/autop/index.js 2.83 kB 0 B
build/blob/index.js 620 B 0 B
build/block-directory/index.js 6.93 kB 0 B
build/block-directory/style-rtl.css 790 B 0 B
build/block-directory/style.css 791 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/editor-rtl.css 7.17 kB 0 B
build/block-library/editor.css 7.17 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 683 B 0 B
build/block-library/theme.css 685 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/blocks/index.js 48.1 kB 0 B
build/components/index.js 190 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.24 kB 0 B
build/core-data/index.js 11.4 kB 0 B
build/data-controls/index.js 1.29 kB 0 B
build/data/index.js 8.42 kB 0 B
build/date/index.js 5.47 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/index.js 6.63 kB 0 B
build/edit-navigation/style-rtl.css 857 B 0 B
build/edit-navigation/style.css 856 B 0 B
build/edit-post/index.js 302 kB 0 B
build/edit-post/style-rtl.css 12.2 kB 0 B
build/edit-post/style.css 12.2 kB 0 B
build/edit-site/index.js 12.9 kB 0 B
build/edit-site/style-rtl.css 5.28 kB 0 B
build/edit-site/style.css 5.28 kB 0 B
build/edit-widgets/index.js 7.73 kB 0 B
build/edit-widgets/style-rtl.css 4.59 kB 0 B
build/edit-widgets/style.css 4.59 kB 0 B
build/editor/editor-styles-rtl.css 425 B 0 B
build/editor/editor-styles.css 428 B 0 B
build/editor/index.js 44.6 kB 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.64 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/keyboard-shortcuts/index.js 2.51 kB 0 B
build/keycodes/index.js 1.94 kB 0 B
build/list-reusable-blocks/index.js 3.13 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 5.29 kB 0 B
build/notices/index.js 1.79 kB 0 B
build/nux/index.js 3.4 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/rich-text/index.js 14.8 kB 0 B
build/server-side-render/index.js 2.68 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

@adamziel adamziel force-pushed the add/ellipsis-menu branch from f1ee8c2 to 30cdfaa Compare May 20, 2020 10:34
@adamziel adamziel force-pushed the add/ellipsis-menu-explicit-options branch from 975a416 to 7f6e166 Compare May 20, 2020 11:51
Base automatically changed from add/ellipsis-menu to master May 21, 2020 08:47
@adamziel adamziel marked this pull request as ready for review May 21, 2020 09:33
@adamziel adamziel force-pushed the add/ellipsis-menu-explicit-options branch from 7f6e166 to afff954 Compare May 21, 2020 09:33
@adamziel adamziel changed the title Explicitly specify additional block navigation ellipsis menu options in block edit function Allow explicitly specifying additional block navigation ellipsis menu options in block edit function May 21, 2020
@draganescu
Copy link
Contributor

I replied to #22427 (comment) as well, but will iterate here, if we're reusing the stuff that is in the Block Settings menu, that has it's own slots, can't we reuse that and not add another slot/fill?

I think what we do in this navigator will find its way to the rest of the editor, and in that context I expect that what is in the block's ellipsis menu is also in the navigator item's ellipsis menu, as the item is a smaller representation of the block itself in the hierarchy.

If this menu has a different slot/fill there will be things stuck here but not in blocks :)

@adamziel adamziel changed the title Allow explicitly specifying additional block navigation ellipsis menu options in block edit function Allow explicitly specifying additional block navigation menu options in block edit function May 21, 2020
@adamziel adamziel force-pushed the add/ellipsis-menu-explicit-options branch from 6db8d97 to 2f17041 Compare May 21, 2020 15:00
@adamziel
Copy link
Contributor Author

adamziel commented May 21, 2020

I replied to #22427 (comment) as well, but will iterate here, if we're reusing the stuff that is in the Block Settings menu, that has it's own slots, can't we reuse that and not add another slot/fill?

If we did reuse that, then both the navigation menu AND the toolbar menu would contain the extra options. I introduced a new slot to make sure this does not happen. If you think it would make sense, then let's discuss it in the original issue: #22089

My thinking is that the navigation menu should contain the items from the block toolbar menu PLUS more options to represent all the toolbar actions such as "Set link". This PR is the first step towards that, and ideally the next one will remove the need to separately declare toolbar controls and menu controls.

If this menu has a different slot/fill there will be things stuck here but not in blocks :)

It's not a bug, it's a feature :-)

@adamziel
Copy link
Contributor Author

adamziel commented May 27, 2020

Closing this one - let's discuss the approach from #22674 instead.

@adamziel adamziel closed this May 27, 2020
@aristath aristath deleted the add/ellipsis-menu-explicit-options branch November 10, 2020 14:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Feature] List View Menu item in the top toolbar to select blocks from a list of links.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants