Refactor Embed Edit component: Class component to Function component #22846
Conversation
Size Change: -459 B (0%) Total Size: 1.13 MB
|
Filename | Size | Change | |
---|---|---|---|
build/a11y/index.js |
1.14 kB | 0 B | |
build/annotations/index.js |
3.62 kB | 0 B | |
build/api-fetch/index.js |
3.4 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.38 kB | 0 B | |
build/block-directory/style-rtl.css |
941 B | 0 B | |
build/block-directory/style.css |
942 B | 0 B | |
build/block-editor/style-rtl.css |
10.7 kB | 0 B | |
build/block-editor/style.css |
10.7 kB | 0 B | |
build/block-library/editor-rtl.css |
7.6 kB | 0 B | |
build/block-library/editor.css |
7.6 kB | 0 B | |
build/block-library/style-rtl.css |
8.04 kB | 0 B | |
build/block-library/style.css |
8.04 kB | 0 B | |
build/block-library/theme-rtl.css |
730 B | 0 B | |
build/block-library/theme.css |
732 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.2 kB | 0 B | |
build/components/style-rtl.css |
15.9 kB | 0 B | |
build/components/style.css |
15.9 kB | 0 B | |
build/compose/index.js |
9.65 kB | 0 B | |
build/core-data/index.js |
11.4 kB | 0 B | |
build/data-controls/index.js |
1.29 kB | 0 B | |
build/date/index.js |
5.47 kB | 0 B | |
build/deprecated/index.js |
772 B | 0 B | |
build/dom-ready/index.js |
569 B | 0 B | |
build/dom/index.js |
3.19 kB | 0 B | |
build/edit-navigation/style-rtl.css |
1.02 kB | 0 B | |
build/edit-navigation/style.css |
1.02 kB | 0 B | |
build/edit-post/style-rtl.css |
5.51 kB | 0 B | |
build/edit-post/style.css |
5.5 kB | 0 B | |
build/edit-site/style-rtl.css |
3.03 kB | 0 B | |
build/edit-site/style.css |
3.03 kB | 0 B | |
build/edit-widgets/style-rtl.css |
2.42 kB | 0 B | |
build/edit-widgets/style.css |
2.42 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 |
44.8 kB | 0 B | |
build/editor/style-rtl.css |
3.85 kB | 0 B | |
build/editor/style.css |
3.85 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 |
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/style-rtl.css |
450 B | 0 B | |
build/list-reusable-blocks/style.css |
451 B | 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 |
663 B | 0 B | |
build/nux/style.css |
660 B | 0 B | |
build/primitives/index.js |
1.5 kB | 0 B | |
build/priority-queue/index.js |
788 B | 0 B | |
build/redux-routine/index.js |
2.85 kB | 0 B | |
build/rich-text/index.js |
14 kB | 0 B | |
build/server-side-render/index.js |
2.68 kB | 0 B | |
build/shortcode/index.js |
1.7 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 |
Taking a quick look, this seems like good work. @ZebulanStanphill, can you lead the review? I would say that one thing to pay special attention to is performance: making sure there aren't clear regressions, and assess whether and where we might benefit from |
Just saw that the e2e tests are failing in CI. Quick look told me that it's relevant. I'll try to fix it. But it will be the first time I'll touch e2e tests. So please bear with me. Thanks |
import { __, sprintf } from '@wordpress/i18n'; | ||
import { Component } from '@wordpress/element'; | ||
import { useState, useEffect } from '@wordpress/element'; |
ZebulanStanphill
Jun 3, 2020
•
Member
Nitpick: I prefer imports to be in alphabetical order. (There's no standard one way or the other; it's just a personal preference of mine.)
Example:
import { useEffect, useState } from '@wordpress/element';
import { __, sprintf } from '@wordpress/i18n';
Nitpick: I prefer imports to be in alphabetical order. (There's no standard one way or the other; it's just a personal preference of mine.)
Example:
import { useEffect, useState } from '@wordpress/element';
import { __, sprintf } from '@wordpress/i18n';
ellatrix
Jun 3, 2020
Member
Either let's make a linting rule, or not bother with this at all. :) I personally don't feel like wasting time on this.
Either let's make a linting rule, or not bother with this at all. :) I personally don't feel like wasting time on this.
@desaiuditd, @ZebulanStanphill: do you see anything missing from this PR, or can we merge? |
@swissspidy is this PR something you can help out with? As the PR is very slowly moving forward. Thanks. |
Co-authored-by: Zebulan Stanphill <[email protected]>
86e355c
to
5444d51
Rebased against |
@mcsf Thanks. I was away from my dev machine for awhile. I'll take a look at this today. |
Just checked this. I think this is looking good to me. Ready for review/merge. I found a bug in the Try Again button in the edit mode. However, I verified that it's happening on master branch as well and bug is coming from . I can fix it in next PR. |
Thanks for working on this! |
What is the overall path forward in regards to the embed feature? |
Description
This refactor stems from #21789 where improvements for Embed block UX are discussed. But before we actually work on improvements, this seemed like a good opportunity to convert the component into a function component so that React hooks can be used within the component later.
How has this been tested?
Tested locally to make sure embed block works properly with all the basic use cases like changing the url, block transformation, switching between preview and placeholder etc.
Types of changes
Code refactoring to convert the edit component of Embed block into a function component. Non-breaking change. No behaviour change is expected.
Checklist: