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

Editor: Update post excerpt panel with new designs #60894

Merged
merged 10 commits into from
Apr 25, 2024

Conversation

ntsekouras
Copy link
Contributor

@ntsekouras ntsekouras commented Apr 19, 2024

What?

Part of: #59689

This PR does a few things related to the move of post excerpt panel based on the new designs, as shared here and here.

  1. Removes the rendering of the current PostExcerptPanel and instead renders the Post excerpt in different places based on the current edited post entity. For templates, template parts and patterns is rendered in PostPanelCard (top of InspectorControls). For the rest post types is rendered in the summary panel below Post Featured Image panel.
  2. Templates, template parts and patterns use excerpt as a description and this PR handles the proper labelling per post type (ex. Edit excerpt vs Edit description). Additionally handles the proper update of this field, as there are nuances in templates and template parts that use the excerpt as description in REST API. Finally in these post types I've added a check to not abide by the preference of showing the excerpt panel.
  3. I have added a new private component (PrivatePostExcerptPanel) because the existing PostExcerptPanel is public API and renders the control to edit the excerpt.

Testing Instructions

  1. In both editors test excerpt for all post types
  2. You should be able to edit the excerpts only for user generated entities, in the case of patterns, templates and template parts.

Screenshots or screencast

Screen.Recording.2024-04-25.at.11.19.32.AM.mov

@ntsekouras ntsekouras added [Type] Enhancement A suggestion for improvement. [Package] Editor /packages/editor labels Apr 19, 2024
@ntsekouras ntsekouras self-assigned this Apr 19, 2024
Copy link

github-actions bot commented Apr 19, 2024

The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the props-bot label.

If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message.

Co-authored-by: ntsekouras <[email protected]>
Co-authored-by: jameskoster <[email protected]>
Co-authored-by: youknowriad <[email protected]>
Co-authored-by: paulwilde <[email protected]>

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.

import PluginPostExcerpt from '../post-excerpt/plugin';
import { store as editorStore } from '../../store';

export function useEditExcerptAction() {
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Finding the best path forward for consolidating the actions is also discussed here, but for now I added this private action and kind of 'separated' it from the other actions here..

Copy link

github-actions bot commented Apr 19, 2024

Size Change: +1.14 kB (0%)

Total Size: 1.75 MB

Filename Size Change
build/block-editor/index.min.js 256 kB -130 B (0%)
build/block-editor/style-rtl.css 15.5 kB -131 B (-1%)
build/block-editor/style.css 15.5 kB -136 B (-1%)
build/block-library/index.min.js 219 kB -26 B (0%)
build/blocks/index.min.js 51.7 kB +25 B (0%)
build/components/index.min.js 220 kB +11 B (0%)
build/edit-post/index.min.js 17 kB +110 B (+1%)
build/edit-site/index.min.js 224 kB +192 B (0%)
build/edit-widgets/index.min.js 17.6 kB +5 B (0%)
build/edit-widgets/style-rtl.css 4.17 kB +1 B (0%)
build/edit-widgets/style.css 4.16 kB +1 B (0%)
build/editor/index.min.js 80 kB +1.13 kB (+1%)
build/editor/style-rtl.css 6.99 kB +44 B (+1%)
build/editor/style.css 6.99 kB +45 B (+1%)
ℹ️ View Unchanged
Filename Size
build/a11y/index.min.js 955 B
build/annotations/index.min.js 2.27 kB
build/api-fetch/index.min.js 2.32 kB
build/autop/index.min.js 2.1 kB
build/blob/index.min.js 578 B
build/block-directory/index.min.js 7.26 kB
build/block-directory/style-rtl.css 1.03 kB
build/block-directory/style.css 1.03 kB
build/block-editor/content-rtl.css 4.53 kB
build/block-editor/content.css 4.53 kB
build/block-editor/default-editor-styles-rtl.css 395 B
build/block-editor/default-editor-styles.css 395 B
build/block-library/blocks/archives/editor-rtl.css 61 B
build/block-library/blocks/archives/editor.css 60 B
build/block-library/blocks/archives/style-rtl.css 90 B
build/block-library/blocks/archives/style.css 90 B
build/block-library/blocks/audio/editor-rtl.css 150 B
build/block-library/blocks/audio/editor.css 150 B
build/block-library/blocks/audio/style-rtl.css 122 B
build/block-library/blocks/audio/style.css 122 B
build/block-library/blocks/audio/theme-rtl.css 133 B
build/block-library/blocks/audio/theme.css 133 B
build/block-library/blocks/avatar/editor-rtl.css 116 B
build/block-library/blocks/avatar/editor.css 116 B
build/block-library/blocks/avatar/style-rtl.css 104 B
build/block-library/blocks/avatar/style.css 104 B
build/block-library/blocks/block/editor-rtl.css 305 B
build/block-library/blocks/block/editor.css 305 B
build/block-library/blocks/button/editor-rtl.css 415 B
build/block-library/blocks/button/editor.css 414 B
build/block-library/blocks/button/style-rtl.css 627 B
build/block-library/blocks/button/style.css 626 B
build/block-library/blocks/buttons/editor-rtl.css 337 B
build/block-library/blocks/buttons/editor.css 337 B
build/block-library/blocks/buttons/style-rtl.css 332 B
build/block-library/blocks/buttons/style.css 332 B
build/block-library/blocks/calendar/style-rtl.css 239 B
build/block-library/blocks/calendar/style.css 239 B
build/block-library/blocks/categories/editor-rtl.css 113 B
build/block-library/blocks/categories/editor.css 112 B
build/block-library/blocks/categories/style-rtl.css 124 B
build/block-library/blocks/categories/style.css 124 B
build/block-library/blocks/code/editor-rtl.css 53 B
build/block-library/blocks/code/editor.css 53 B
build/block-library/blocks/code/style-rtl.css 121 B
build/block-library/blocks/code/style.css 121 B
build/block-library/blocks/code/theme-rtl.css 124 B
build/block-library/blocks/code/theme.css 124 B
build/block-library/blocks/columns/editor-rtl.css 108 B
build/block-library/blocks/columns/editor.css 108 B
build/block-library/blocks/columns/style-rtl.css 421 B
build/block-library/blocks/columns/style.css 421 B
build/block-library/blocks/comment-author-avatar/editor-rtl.css 125 B
build/block-library/blocks/comment-author-avatar/editor.css 125 B
build/block-library/blocks/comment-content/style-rtl.css 92 B
build/block-library/blocks/comment-content/style.css 92 B
build/block-library/blocks/comment-template/style-rtl.css 199 B
build/block-library/blocks/comment-template/style.css 198 B
build/block-library/blocks/comments-pagination-numbers/editor-rtl.css 123 B
build/block-library/blocks/comments-pagination-numbers/editor.css 121 B
build/block-library/blocks/comments-pagination/editor-rtl.css 222 B
build/block-library/blocks/comments-pagination/editor.css 209 B
build/block-library/blocks/comments-pagination/style-rtl.css 235 B
build/block-library/blocks/comments-pagination/style.css 231 B
build/block-library/blocks/comments-title/editor-rtl.css 75 B
build/block-library/blocks/comments-title/editor.css 75 B
build/block-library/blocks/comments/editor-rtl.css 840 B
build/block-library/blocks/comments/editor.css 839 B
build/block-library/blocks/comments/style-rtl.css 637 B
build/block-library/blocks/comments/style.css 636 B
build/block-library/blocks/cover/editor-rtl.css 671 B
build/block-library/blocks/cover/editor.css 674 B
build/block-library/blocks/cover/style-rtl.css 1.7 kB
build/block-library/blocks/cover/style.css 1.69 kB
build/block-library/blocks/details/editor-rtl.css 65 B
build/block-library/blocks/details/editor.css 65 B
build/block-library/blocks/details/style-rtl.css 86 B
build/block-library/blocks/details/style.css 86 B
build/block-library/blocks/embed/editor-rtl.css 322 B
build/block-library/blocks/embed/editor.css 322 B
build/block-library/blocks/embed/style-rtl.css 410 B
build/block-library/blocks/embed/style.css 410 B
build/block-library/blocks/embed/theme-rtl.css 133 B
build/block-library/blocks/embed/theme.css 133 B
build/block-library/blocks/file/editor-rtl.css 326 B
build/block-library/blocks/file/editor.css 327 B
build/block-library/blocks/file/style-rtl.css 280 B
build/block-library/blocks/file/style.css 281 B
build/block-library/blocks/file/view.min.js 324 B
build/block-library/blocks/footnotes/style-rtl.css 201 B
build/block-library/blocks/footnotes/style.css 199 B
build/block-library/blocks/form-input/editor-rtl.css 227 B
build/block-library/blocks/form-input/editor.css 227 B
build/block-library/blocks/form-input/style-rtl.css 343 B
build/block-library/blocks/form-input/style.css 343 B
build/block-library/blocks/form-submission-notification/editor-rtl.css 340 B
build/block-library/blocks/form-submission-notification/editor.css 340 B
build/block-library/blocks/form-submit-button/style-rtl.css 69 B
build/block-library/blocks/form-submit-button/style.css 69 B
build/block-library/blocks/form/view.min.js 471 B
build/block-library/blocks/freeform/editor-rtl.css 2.61 kB
build/block-library/blocks/freeform/editor.css 2.61 kB
build/block-library/blocks/gallery/editor-rtl.css 956 B
build/block-library/blocks/gallery/editor.css 960 B
build/block-library/blocks/gallery/style-rtl.css 1.72 kB
build/block-library/blocks/gallery/style.css 1.72 kB
build/block-library/blocks/gallery/theme-rtl.css 108 B
build/block-library/blocks/gallery/theme.css 108 B
build/block-library/blocks/group/editor-rtl.css 647 B
build/block-library/blocks/group/editor.css 647 B
build/block-library/blocks/group/style-rtl.css 103 B
build/block-library/blocks/group/style.css 103 B
build/block-library/blocks/group/theme-rtl.css 78 B
build/block-library/blocks/group/theme.css 78 B
build/block-library/blocks/heading/style-rtl.css 189 B
build/block-library/blocks/heading/style.css 189 B
build/block-library/blocks/html/editor-rtl.css 336 B
build/block-library/blocks/html/editor.css 337 B
build/block-library/blocks/image/editor-rtl.css 878 B
build/block-library/blocks/image/editor.css 878 B
build/block-library/blocks/image/style-rtl.css 1.6 kB
build/block-library/blocks/image/style.css 1.59 kB
build/block-library/blocks/image/theme-rtl.css 133 B
build/block-library/blocks/image/theme.css 133 B
build/block-library/blocks/image/view.min.js 1.54 kB
build/block-library/blocks/latest-comments/style-rtl.css 357 B
build/block-library/blocks/latest-comments/style.css 357 B
build/block-library/blocks/latest-posts/editor-rtl.css 213 B
build/block-library/blocks/latest-posts/editor.css 212 B
build/block-library/blocks/latest-posts/style-rtl.css 478 B
build/block-library/blocks/latest-posts/style.css 478 B
build/block-library/blocks/list/style-rtl.css 88 B
build/block-library/blocks/list/style.css 88 B
build/block-library/blocks/media-text/editor-rtl.css 306 B
build/block-library/blocks/media-text/editor.css 305 B
build/block-library/blocks/media-text/style-rtl.css 505 B
build/block-library/blocks/media-text/style.css 503 B
build/block-library/blocks/more/editor-rtl.css 431 B
build/block-library/blocks/more/editor.css 431 B
build/block-library/blocks/navigation-link/editor-rtl.css 668 B
build/block-library/blocks/navigation-link/editor.css 669 B
build/block-library/blocks/navigation-link/style-rtl.css 259 B
build/block-library/blocks/navigation-link/style.css 257 B
build/block-library/blocks/navigation-submenu/editor-rtl.css 296 B
build/block-library/blocks/navigation-submenu/editor.css 295 B
build/block-library/blocks/navigation/editor-rtl.css 2.26 kB
build/block-library/blocks/navigation/editor.css 2.26 kB
build/block-library/blocks/navigation/style-rtl.css 2.26 kB
build/block-library/blocks/navigation/style.css 2.25 kB
build/block-library/blocks/navigation/view.min.js 1.03 kB
build/block-library/blocks/nextpage/editor-rtl.css 395 B
build/block-library/blocks/nextpage/editor.css 395 B
build/block-library/blocks/page-list/editor-rtl.css 377 B
build/block-library/blocks/page-list/editor.css 377 B
build/block-library/blocks/page-list/style-rtl.css 175 B
build/block-library/blocks/page-list/style.css 175 B
build/block-library/blocks/paragraph/editor-rtl.css 235 B
build/block-library/blocks/paragraph/editor.css 235 B
build/block-library/blocks/paragraph/style-rtl.css 335 B
build/block-library/blocks/paragraph/style.css 335 B
build/block-library/blocks/post-author/style-rtl.css 175 B
build/block-library/blocks/post-author/style.css 176 B
build/block-library/blocks/post-comments-form/editor-rtl.css 96 B
build/block-library/blocks/post-comments-form/editor.css 96 B
build/block-library/blocks/post-comments-form/style-rtl.css 508 B
build/block-library/blocks/post-comments-form/style.css 508 B
build/block-library/blocks/post-content/editor-rtl.css 74 B
build/block-library/blocks/post-content/editor.css 74 B
build/block-library/blocks/post-date/style-rtl.css 61 B
build/block-library/blocks/post-date/style.css 61 B
build/block-library/blocks/post-excerpt/editor-rtl.css 71 B
build/block-library/blocks/post-excerpt/editor.css 71 B
build/block-library/blocks/post-excerpt/style-rtl.css 141 B
build/block-library/blocks/post-excerpt/style.css 141 B
build/block-library/blocks/post-featured-image/editor-rtl.css 729 B
build/block-library/blocks/post-featured-image/editor.css 727 B
build/block-library/blocks/post-featured-image/style-rtl.css 342 B
build/block-library/blocks/post-featured-image/style.css 342 B
build/block-library/blocks/post-navigation-link/style-rtl.css 215 B
build/block-library/blocks/post-navigation-link/style.css 214 B
build/block-library/blocks/post-template/editor-rtl.css 99 B
build/block-library/blocks/post-template/editor.css 98 B
build/block-library/blocks/post-template/style-rtl.css 409 B
build/block-library/blocks/post-template/style.css 408 B
build/block-library/blocks/post-terms/style-rtl.css 96 B
build/block-library/blocks/post-terms/style.css 96 B
build/block-library/blocks/post-time-to-read/style-rtl.css 69 B
build/block-library/blocks/post-time-to-read/style.css 69 B
build/block-library/blocks/post-title/style-rtl.css 100 B
build/block-library/blocks/post-title/style.css 100 B
build/block-library/blocks/preformatted/style-rtl.css 125 B
build/block-library/blocks/preformatted/style.css 125 B
build/block-library/blocks/pullquote/editor-rtl.css 135 B
build/block-library/blocks/pullquote/editor.css 135 B
build/block-library/blocks/pullquote/style-rtl.css 354 B
build/block-library/blocks/pullquote/style.css 353 B
build/block-library/blocks/pullquote/theme-rtl.css 174 B
build/block-library/blocks/pullquote/theme.css 174 B
build/block-library/blocks/query-pagination-numbers/editor-rtl.css 122 B
build/block-library/blocks/query-pagination-numbers/editor.css 121 B
build/block-library/blocks/query-pagination/editor-rtl.css 221 B
build/block-library/blocks/query-pagination/editor.css 211 B
build/block-library/blocks/query-pagination/style-rtl.css 288 B
build/block-library/blocks/query-pagination/style.css 284 B
build/block-library/blocks/query-title/style-rtl.css 63 B
build/block-library/blocks/query-title/style.css 63 B
build/block-library/blocks/query/editor-rtl.css 486 B
build/block-library/blocks/query/editor.css 486 B
build/block-library/blocks/query/view.min.js 958 B
build/block-library/blocks/quote/style-rtl.css 237 B
build/block-library/blocks/quote/style.css 237 B
build/block-library/blocks/quote/theme-rtl.css 233 B
build/block-library/blocks/quote/theme.css 235 B
build/block-library/blocks/read-more/style-rtl.css 140 B
build/block-library/blocks/read-more/style.css 140 B
build/block-library/blocks/rss/editor-rtl.css 149 B
build/block-library/blocks/rss/editor.css 149 B
build/block-library/blocks/rss/style-rtl.css 289 B
build/block-library/blocks/rss/style.css 288 B
build/block-library/blocks/search/editor-rtl.css 184 B
build/block-library/blocks/search/editor.css 184 B
build/block-library/blocks/search/style-rtl.css 690 B
build/block-library/blocks/search/style.css 689 B
build/block-library/blocks/search/theme-rtl.css 114 B
build/block-library/blocks/search/theme.css 114 B
build/block-library/blocks/search/view.min.js 478 B
build/block-library/blocks/separator/editor-rtl.css 146 B
build/block-library/blocks/separator/editor.css 146 B
build/block-library/blocks/separator/style-rtl.css 239 B
build/block-library/blocks/separator/style.css 239 B
build/block-library/blocks/separator/theme-rtl.css 194 B
build/block-library/blocks/separator/theme.css 194 B
build/block-library/blocks/shortcode/editor-rtl.css 323 B
build/block-library/blocks/shortcode/editor.css 323 B
build/block-library/blocks/site-logo/editor-rtl.css 801 B
build/block-library/blocks/site-logo/editor.css 801 B
build/block-library/blocks/site-logo/style-rtl.css 204 B
build/block-library/blocks/site-logo/style.css 204 B
build/block-library/blocks/site-tagline/editor-rtl.css 86 B
build/block-library/blocks/site-tagline/editor.css 86 B
build/block-library/blocks/site-title/editor-rtl.css 116 B
build/block-library/blocks/site-title/editor.css 116 B
build/block-library/blocks/site-title/style-rtl.css 57 B
build/block-library/blocks/site-title/style.css 57 B
build/block-library/blocks/social-link/editor-rtl.css 184 B
build/block-library/blocks/social-link/editor.css 184 B
build/block-library/blocks/social-links/editor-rtl.css 676 B
build/block-library/blocks/social-links/editor.css 675 B
build/block-library/blocks/social-links/style-rtl.css 1.48 kB
build/block-library/blocks/social-links/style.css 1.48 kB
build/block-library/blocks/spacer/editor-rtl.css 350 B
build/block-library/blocks/spacer/editor.css 350 B
build/block-library/blocks/spacer/style-rtl.css 48 B
build/block-library/blocks/spacer/style.css 48 B
build/block-library/blocks/table/editor-rtl.css 395 B
build/block-library/blocks/table/editor.css 395 B
build/block-library/blocks/table/style-rtl.css 639 B
build/block-library/blocks/table/style.css 639 B
build/block-library/blocks/table/theme-rtl.css 152 B
build/block-library/blocks/table/theme.css 152 B
build/block-library/blocks/tag-cloud/style-rtl.css 251 B
build/block-library/blocks/tag-cloud/style.css 253 B
build/block-library/blocks/template-part/editor-rtl.css 431 B
build/block-library/blocks/template-part/editor.css 431 B
build/block-library/blocks/template-part/theme-rtl.css 107 B
build/block-library/blocks/template-part/theme.css 107 B
build/block-library/blocks/term-description/style-rtl.css 111 B
build/block-library/blocks/term-description/style.css 111 B
build/block-library/blocks/text-columns/editor-rtl.css 95 B
build/block-library/blocks/text-columns/editor.css 95 B
build/block-library/blocks/text-columns/style-rtl.css 166 B
build/block-library/blocks/text-columns/style.css 166 B
build/block-library/blocks/verse/style-rtl.css 99 B
build/block-library/blocks/verse/style.css 99 B
build/block-library/blocks/video/editor-rtl.css 552 B
build/block-library/blocks/video/editor.css 555 B
build/block-library/blocks/video/style-rtl.css 185 B
build/block-library/blocks/video/style.css 185 B
build/block-library/blocks/video/theme-rtl.css 133 B
build/block-library/blocks/video/theme.css 133 B
build/block-library/classic-rtl.css 179 B
build/block-library/classic.css 179 B
build/block-library/common-rtl.css 1.11 kB
build/block-library/common.css 1.11 kB
build/block-library/editor-elements-rtl.css 75 B
build/block-library/editor-elements.css 75 B
build/block-library/editor-rtl.css 12.4 kB
build/block-library/editor.css 12.4 kB
build/block-library/elements-rtl.css 54 B
build/block-library/elements.css 54 B
build/block-library/reset-rtl.css 472 B
build/block-library/reset.css 472 B
build/block-library/style-rtl.css 14.8 kB
build/block-library/style.css 14.8 kB
build/block-library/theme-rtl.css 707 B
build/block-library/theme.css 713 B
build/block-serialization-default-parser/index.min.js 1.12 kB
build/block-serialization-spec-parser/index.min.js 2.87 kB
build/commands/index.min.js 15.2 kB
build/commands/style-rtl.css 953 B
build/commands/style.css 951 B
build/components/style-rtl.css 12 kB
build/components/style.css 12 kB
build/compose/index.min.js 12.7 kB
build/core-commands/index.min.js 2.77 kB
build/core-data/index.min.js 72.5 kB
build/customize-widgets/index.min.js 11 kB
build/customize-widgets/style-rtl.css 1.36 kB
build/customize-widgets/style.css 1.36 kB
build/data-controls/index.min.js 640 B
build/data/index.min.js 9 kB
build/date/index.min.js 17.9 kB
build/deprecated/index.min.js 451 B
build/dom-ready/index.min.js 324 B
build/dom/index.min.js 4.65 kB
build/edit-post/classic-rtl.css 578 B
build/edit-post/classic.css 578 B
build/edit-post/style-rtl.css 4.24 kB
build/edit-post/style.css 4.23 kB
build/edit-site/style-rtl.css 13.9 kB
build/edit-site/style.css 14 kB
build/element/index.min.js 4.83 kB
build/escape-html/index.min.js 537 B
build/format-library/index.min.js 8.07 kB
build/format-library/style-rtl.css 493 B
build/format-library/style.css 492 B
build/hooks/index.min.js 1.55 kB
build/html-entities/index.min.js 448 B
build/i18n/index.min.js 3.58 kB
build/interactivity/debug.min.js 16.2 kB
build/interactivity/file.min.js 447 B
build/interactivity/image.min.js 1.67 kB
build/interactivity/index.min.js 13 kB
build/interactivity/navigation.min.js 1.17 kB
build/interactivity/query.min.js 740 B
build/interactivity/router.min.js 2.79 kB
build/interactivity/search.min.js 618 B
build/is-shallow-equal/index.min.js 527 B
build/keyboard-shortcuts/index.min.js 1.3 kB
build/keycodes/index.min.js 1.46 kB
build/list-reusable-blocks/index.min.js 2.11 kB
build/list-reusable-blocks/style-rtl.css 851 B
build/list-reusable-blocks/style.css 851 B
build/media-utils/index.min.js 2.92 kB
build/modules/importmap-polyfill.min.js 12.2 kB
build/notices/index.min.js 948 B
build/nux/index.min.js 1.57 kB
build/nux/style-rtl.css 748 B
build/nux/style.css 744 B
build/patterns/index.min.js 6.47 kB
build/patterns/style-rtl.css 595 B
build/patterns/style.css 595 B
build/plugins/index.min.js 1.8 kB
build/preferences-persistence/index.min.js 2.06 kB
build/preferences/index.min.js 2.85 kB
build/preferences/style-rtl.css 710 B
build/preferences/style.css 712 B
build/primitives/index.min.js 975 B
build/priority-queue/index.min.js 1.52 kB
build/private-apis/index.min.js 1 kB
build/react-i18n/index.min.js 623 B
build/react-refresh-entry/index.min.js 9.47 kB
build/react-refresh-runtime/index.min.js 6.78 kB
build/redux-routine/index.min.js 2.7 kB
build/reusable-blocks/index.min.js 2.73 kB
build/reusable-blocks/style-rtl.css 256 B
build/reusable-blocks/style.css 256 B
build/rich-text/index.min.js 10 kB
build/router/index.min.js 1.88 kB
build/server-side-render/index.min.js 1.96 kB
build/shortcode/index.min.js 1.39 kB
build/style-engine/index.min.js 2.03 kB
build/token-list/index.min.js 582 B
build/url/index.min.js 3.74 kB
build/vendors/inert-polyfill.min.js 2.48 kB
build/vendors/react-dom.min.js 41.7 kB
build/vendors/react.min.js 4.02 kB
build/viewport/index.min.js 957 B
build/warning/index.min.js 249 B
build/widgets/index.min.js 7.23 kB
build/widgets/style-rtl.css 1.17 kB
build/widgets/style.css 1.17 kB
build/wordcount/index.min.js 1.02 kB

compressed-size-action

@jameskoster
Copy link
Contributor

Nice, I'm excited to see descriptions coming to templates / patterns :)

Editing in a modal isn't the perfect experience, but probably okay for now given the various changes here, and considering we may want to invoke the experience from data views.

A couple of small suggestions:

  • Edit description modal should have "Done" and "Cancel" buttons.
  • Can "Edit description" / "Edit excerpt" menu item go beneath "Rename"?
  • It should only be possible to edit the description of user-generated entities.
  • For templates, it should only be possible to add/edit descriptions for $custom templates.
  • Could "Edit description" / "Edit excerpt" be included in the data views menu?
  • In the modal, could we auto-focus the textarea?
  • The "Edit description" modal could use some help text beneath the textarea.
  • Modal seems to be missing the size prop, we can try medium.
  • When you click "Edit description" / "Edit excerpt" could the menu auto-close?

I'm unsure how to reproduce, but during testing in the site editor the excerpt stopped appearing in the Inspector:

excerpt.mp4

@ntsekouras
Copy link
Contributor Author

Edit description modal should have "Done" and "Cancel" buttons.

I've tried to preserve the editing of excerpt as it was, and that was updating the excerpt on change. If want to change this behavior we would need to create a new control and essentially preserve the old edit excerpt control for back compat. I'm not against it, just explaining my rationale for the initial decision. Also noting that we have similar dialogs, like the Link control to update the slug.

The "Edit description" modal could use some help text beneath the textarea.

Any suggestions are welcome about the copy and based on the different cases, if it makes a difference(template, pattern, etc..). Also is related to the above.

Could "Edit description" / "Edit excerpt" be included in the data views menu?

I think we should consider this separately, although my first thoughts would be that this should be part of the auto generated fields API to come.

When you click "Edit description" / "Edit excerpt" could the menu auto-close?

I don't think we should do that for a11y reasons. We need to preserve the focus on close of the modal.

I'll check the rest now in code.

@paulwilde
Copy link
Contributor

paulwilde commented Apr 19, 2024

Wouldn't it make sense that clicking on the excerpt text would open up the ability to edit the text via the modal (or even inline?) rather than being hidden behind a 3 dot icon.

I can guarantee this will be a huge downgrade in UX for the majority of users as the current way to edit the excerpt is to just type into a textarea, whereas this version has hidden behind 3 dots which doesn't mean anything to most people.

@ntsekouras ntsekouras force-pushed the add/post-excerpt-description-panel-new-designs branch from e4e9ad3 to f1275fd Compare April 22, 2024 09:23
Copy link

github-actions bot commented Apr 22, 2024

Flaky tests detected in 069c8a4.
Some tests passed with failed attempts. The failures may not be related to this commit but are still reported for visibility. See the documentation for more information.

🔍 Workflow run URL: https://github.com/WordPress/gutenberg/actions/runs/8829005913
📝 Reported issues:

@jameskoster
Copy link
Contributor

I've tried to preserve the editing of excerpt as it was, and that was updating the excerpt on change

I understand that, but I don't think there are any modals requiring user action that don't have confirm/cancel actions. The URL/slug UI is a popover so slightly different. This experience feels a little strange to me.

Perhaps we could try a popover instead?

Screenshot 2024-04-22 at 16 30 24

The challenge then is; how do you add an excerpt? I suppose we could do something like this:

Screenshot 2024-04-22 at 16 32 06

What do you think?

@ntsekouras
Copy link
Contributor Author

ntsekouras commented Apr 23, 2024

Perhaps we could try a popover instead?

So we could try having the excerpt/description clickable and open a dialog, right? This would mean that we wouldn't add the edit excerpt in the ellipsis menu. Did I get that right? If yes, should the design change a bit to indicate that it can trigger a dialog? Also keep in mind that we show this in two different places, based on the post type(below featured image and in PostCardPanel).

@ntsekouras ntsekouras force-pushed the add/post-excerpt-description-panel-new-designs branch from f1275fd to a266fe6 Compare April 23, 2024 13:42
@jameskoster
Copy link
Contributor

This would mean that we wouldn't add the edit excerpt in the ellipsis menu. Did I get that right?

Yes, that's right.

should the design change a bit to indicate that it can trigger a dialog?

Certainly! How we treat this will depend on what trigger options there are for popovers. Does it have to be a Button?

@jameskoster
Copy link
Contributor

Another option could be a 'collapsible' textarea of sorts, where the label, help text, and input chrome are only visible on focus:

excerpt.mp4

This would keep the footprint small while retaining the semantic benefits of the current control. I suppose this also falls into custom control territory though?

@ntsekouras ntsekouras force-pushed the add/post-excerpt-description-panel-new-designs branch from a266fe6 to 3a07113 Compare April 24, 2024 08:16
@jameskoster
Copy link
Contributor

I pushed some adjustments. The spacing around the button in the post editor is not ideal, but I can't see a way to fix that without also affecting the template card. Ideally the Summary panel is refactored to use flex layout (and not use PanelBody), but I suppose that will have to come later.

The final thing to try here is only updating the button label when the dialog is closed. It's a bit distracting to see the button changing as you type in the textarea.

@ntsekouras
Copy link
Contributor Author

ntsekouras commented Apr 24, 2024

Thanks for polishing Jay!

The final thing to try here is only updating the button label when the dialog is closed. It's a bit distracting to see the button changing as you type in the textarea.

I pushed an update for this one. I'll look at the e2e tests and update the PR's description tomorrow though..

@jameskoster
Copy link
Contributor

Thanks, I think that works better 👍

@youknowriad
Copy link
Contributor

I found a small bug, while loading the editor, for a fraction of seconds you can see the "Add excerpt" placeholder next to the post status "draft" but when the feature image loads it's positioned properly. Maybe it's missing a wrapper div or something.

@youknowriad
Copy link
Contributor

Screenshot 2024-04-25 at 8 50 00 AM Screenshot 2024-04-25 at 8 50 34 AM

I'm not a designer but to be honest, these two screenshot don't feel great to me. I feel like we're randomly putting the excerpt (or the placeholder) in that panel without any harmony or structure. It feels like a random paragraph in the middle of some controls.

@@ -64,6 +79,7 @@ export default function PostStatus() {
<>
<PostStatusPanel />
<PostFeaturedImagePanel withPanelBody={ false } />
{ showPostExcerptPanel && <PrivatePostExcerptPanel /> }
Copy link
Contributor

Choose a reason for hiding this comment

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

I believe this check should probably move within the component itself like the other PostSomething components.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

// Post excerpt panel is rendered in different place depending on the post type.
// So we cannot make this check inside the PostExcerpt component based on the current edited entity.

Do you think there is a better way by adding some kind of flag or something?

Copy link
Contributor

Choose a reason for hiding this comment

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

Why is the post excerpt rendered in different places depending on the post type?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Based on the designs: #59689 (comment). I think the main reason is that in the entities that we treat excerpt as a description feels better above in the card where we essentially describe the entity. In regular post types excerpt is more of part of the entity with a different functionality - describe the content.

Copy link
Contributor

Choose a reason for hiding this comment

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

Are we really helping ourselves by creating these inconsistencies?

{ showPostExcerptPanel && <PrivatePostExcerptPanel /> }
{ showPostContentInfo && <PostContentInfo /> }
{ lastEditedText && <Text>{ lastEditedText }</Text> }
</VStack>
Copy link
Contributor

Choose a reason for hiding this comment

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

Where is this rendered so I can test it? If I'm not wrong it's the top of the inspector no? I didn't see the excerpt there in my testing, so I'm missing something.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It's in the top of the inspector yes, but for patterns, templates and template parts.

Then it will be shown if there is a description/excerpt and if it's a user create entity it will be editable too..

@ntsekouras
Copy link
Contributor Author

I found a small bug, while loading the editor, for a fraction of seconds you can see the "Add excerpt" placeholder next to the post status "draft" but when the feature image loads it's positioned properly. Maybe it's missing a wrapper div or something.

Fixed.

@youknowriad
Copy link
Contributor

Code wise, this is looking good, I have more issues with the design personally and specially for the ones that are not treated as descriptions. For these post types, I think adding a label on the left and trimmed excerpt on the right would bring more harmony and clarity and feel less like a regression compared to trunk.

@youknowriad
Copy link
Contributor

Even for the ones that treat "excerpt as descriptions", I understand the reasoning for wanting these to show in the card, but I think making them editable in the card by clicking is not a great UX, it's not really discoverable. My opinion is that we should also show the excerpt in the "summary" (with a label) just like all the rest of the post types and leave the one in the card as readonly.

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.

While I have reservations about the designs. My reservations are now known and we can iterate on them separately if needed.

@ntsekouras ntsekouras merged commit b17cc77 into trunk Apr 25, 2024
73 of 76 checks passed
@ntsekouras ntsekouras deleted the add/post-excerpt-description-panel-new-designs branch April 25, 2024 09:20
@github-actions github-actions bot added this to the Gutenberg 18.3 milestone Apr 25, 2024
@afercia
Copy link
Contributor

afercia commented Apr 29, 2024

Even for the ones that treat "excerpt as descriptions", I understand the reasoning for wanting these to show in the card, but I think making them editable in the card by clicking is not a great UX,

I totally gree and it's not even accessible.
This is one more case where a value is used for a control (a button in this case) label, Even if there is an aria-label, the visual labeling of the button is the actual value of the excerpt. This goes against any design / usability / accessibility principle I can think of. A control's label is meant to tell users what the control does. It's not a place to show values or states.

On top of that, the initial label 'Add an excerpt… / description…' looks like plain text. It;s just gray text on the page. It can't be visually identified as an interactive control, which is a no-go for accessibility. Same applies when there is en excerpt: it looks like plain text. Looking at latest proposal on #59689 (comment) that would not be ideal as well because color alone (blue) is not sufficient to identify an interactive control.

This will need a follow-up based on new design.

@jameskoster
Copy link
Contributor

jameskoster commented Apr 29, 2024

because color alone (blue) is not sufficient to identify an interactive control.

@afercia So that I fully understand this feedback, does that make any tertiary button instance inaccessible? Would that also rule out a dedicated "Edit excerpt" button as a solution?

Edit: Perhaps we can use the link variant (which adds an underline) for a dedicated "Edit" button.

@afercia
Copy link
Contributor

afercia commented May 3, 2024

@jameskoster yes all tertiary buttons are inherently not accessible. I failed with creating a specific issue about that because I'm uncomfortable with starting a dialectical fight with the design team.

@frougeot2
Copy link

since this change has been made, how is it possible now to change programmaticaly with js the excerpt ?
Previously I was using the following code:
wp.data.dispatch( 'core/editor' ).editPost( { excerpt:
but it does not work anymore ... How should i replace it ?

@ntsekouras
Copy link
Contributor Author

@frougeot2 this change was mostly a design update. The editPost action should work as before. I just tested to be 100% sure if there was an issue introduced by other code and it worked just fine. If it doesn't work for you it's probably something else..

@frougeot2
Copy link

yes you're right. My problem is indeed elsewhere, I first try to retrieve the extract with the following code:
var excerptField = document.querySelector('.editor-post-excerpt textarea');
if (excerptField === null) {
console.log('textarea extrait not found');
} else {
var excerptContent = document.createElement('div');
if (language === 'fr') {
excerptContent.innerHTML = myExcerptFr;
} else {
excerptContent.innerHTML = myExcerptEn;
}
if (language === 'fr') {
wp.data.dispatch('core/editor').editPost({
excerpt: director + '
' + cast + '
<strong style="color: red;">Notre avis: *
' + synopsis_short
});
} else {
wp.data.dispatch('core/editor').editPost({
excerpt: director + '
' + cast + '
<strong style="color: red;">Our rate: *
' + synopsis_short
});
}

So my problem is on the document.querySelector('.editor-post-excerpt textarea'); line that returns null now ...

@ntsekouras
Copy link
Contributor Author

Noting that class names are not part of the public API. So this is something that could happen in the future too.

I'm not sure about your exact use case, but since you've pinpoint it, you could find a workaround for the old selector.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Package] Editor /packages/editor [Type] Enhancement A suggestion for improvement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants