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

Site Editor: Export Editor component #24524

Closed
wants to merge 1 commit into from

Conversation

ockham
Copy link
Contributor

@ockham ockham commented Aug 12, 2020

Description

Export the Editor component from the @wordpress/edit-site package. This will allow us to embed that component in different JS apps.

How has this been tested?

Doesn't really need testing.

Types of changes

New export.

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.

@ockham ockham requested a review from youknowriad as a code owner August 12, 2020 15:21
@ockham ockham self-assigned this Aug 12, 2020
@github-actions
Copy link

Size Change: +7 B (0%)

Total Size: 1.16 MB

Filename Size Change
build/edit-site/index.js 17 kB +7 B (0%)
ℹ️ View Unchanged
Filename Size Change
build/a11y/index.js 1.14 kB 0 B
build/annotations/index.js 3.67 kB 0 B
build/api-fetch/index.js 3.44 kB 0 B
build/autop/index.js 2.82 kB 0 B
build/blob/index.js 620 B 0 B
build/block-directory/index.js 7.97 kB 0 B
build/block-directory/style-rtl.css 953 B 0 B
build/block-directory/style.css 952 B 0 B
build/block-editor/index.js 125 kB 0 B
build/block-editor/style-rtl.css 10.6 kB 0 B
build/block-editor/style.css 10.6 kB 0 B
build/block-library/editor-rtl.css 8.36 kB 0 B
build/block-library/editor.css 8.36 kB 0 B
build/block-library/index.js 132 kB 0 B
build/block-library/style-rtl.css 7.49 kB 0 B
build/block-library/style.css 7.49 kB 0 B
build/block-library/theme-rtl.css 729 B 0 B
build/block-library/theme.css 730 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.4 kB 0 B
build/components/index.js 200 kB 0 B
build/components/style-rtl.css 15.7 kB 0 B
build/components/style.css 15.7 kB 0 B
build/compose/index.js 9.68 kB 0 B
build/core-data/index.js 11.8 kB 0 B
build/data-controls/index.js 1.29 kB 0 B
build/data/index.js 8.45 kB 0 B
build/date/index.js 5.38 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.23 kB 0 B
build/edit-navigation/index.js 10.9 kB 0 B
build/edit-navigation/style-rtl.css 1.08 kB 0 B
build/edit-navigation/style.css 1.08 kB 0 B
build/edit-post/index.js 304 kB 0 B
build/edit-post/style-rtl.css 5.63 kB 0 B
build/edit-post/style.css 5.63 kB 0 B
build/edit-site/style-rtl.css 3.06 kB 0 B
build/edit-site/style.css 3.06 kB 0 B
build/edit-widgets/index.js 9.38 kB 0 B
build/edit-widgets/style-rtl.css 2.45 kB 0 B
build/edit-widgets/style.css 2.45 kB 0 B
build/editor/editor-styles-rtl.css 537 B 0 B
build/editor/editor-styles.css 539 B 0 B
build/editor/index.js 45.3 kB 0 B
build/editor/style-rtl.css 3.8 kB 0 B
build/editor/style.css 3.79 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.72 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 2.13 kB 0 B
build/html-entities/index.js 621 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.52 kB 0 B
build/keycodes/index.js 1.94 kB 0 B
build/list-reusable-blocks/index.js 3.11 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.33 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 671 B 0 B
build/nux/style.css 668 B 0 B
build/plugins/index.js 2.56 kB 0 B
build/primitives/index.js 1.41 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 13.9 kB 0 B
build/server-side-render/index.js 2.71 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.06 kB 0 B
build/viewport/index.js 1.85 kB 0 B
build/warning/index.js 1.14 kB 0 B
build/wordcount/index.js 1.17 kB 0 B

compressed-size-action

Copy link
Member

@noahtallen noahtallen left a comment

Choose a reason for hiding this comment

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

This looks fine to me. Maybe should also get a ✅ from @youknowriad

@ockham
Copy link
Contributor Author

ockham commented Aug 12, 2020

cc/ @saramarcondes

@youknowriad
Copy link
Contributor

Can you clarify more how is this package used in alternative JS apps. If we're making this an API we need to understand how to maintain backward compatibility for it.

In general we consider edit-* packages as WP specific packages not tailored to be used outside WP-Admin.

@sarayourfriend
Copy link
Contributor

@ockham @youknowriad is right. I'm running into this currently trying to use edit-post in this PR: Automattic/wp-calypso#44801. The usage of @wordpress/core-data is pretty problematic. To actually enable the use of the Editor component in other JS apps (outside of WP admin) we'd need to replace the use of core-data with something configurable through props to the Editor component (there's probably a handful of different ways to do this I would imagine).

@ockham
Copy link
Contributor Author

ockham commented Aug 13, 2020

@saramarcondes Oh, did my suggestion about using apiFetch middlewares and custom fetch handlers to intercept and modify core-data's network requests not work?

@sarayourfriend
Copy link
Contributor

@ockham Ah, I haven't had a change to try that out yet, I didn't realize that it could be a wholesale solution to this but now I'm realizing what you mean.

Do you think that's the best approach to being able to use these components outside of wp admin though? I think I'd prefer actually spending some time to develop an API for it rather than doing something that is admittedly kind of a hack. It seems like it would be a nightmare to maintain longterm and even less intuitive/more stuff to explain to a new dev coming into the area.

@ockham
Copy link
Contributor Author

ockham commented Aug 13, 2020

@ockham Ah, I haven't had a change to try that out yet, I didn't realize that it could be a wholesale solution to this but now I'm realizing what you mean.

Do you think that's the best approach to being able to use these components outside of wp admin though? I think I'd prefer actually spending some time to develop an API for it rather than doing something that is admittedly kind of a hack. It seems like it would be a nightmare to maintain longterm and even less intuitive/more stuff to explain to a new dev coming into the area.

Yeah, that's a fair point. My main goal here is to control the settings we pass to the editor, so we can apply a wash-rinse-repeat approach to cutting back on settings attributes and replace them by REST API stuff one by one (à la #23566), but we can probably do that with initialize already 🤷‍♂️

@ockham ockham closed this Aug 13, 2020
@ockham ockham deleted the update/edit-site-export-editor branch August 13, 2020 21:11
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.

5 participants