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

Image tools: Polish zoom slider #23418

Merged
merged 5 commits into from
Jul 1, 2020
Merged

Image tools: Polish zoom slider #23418

merged 5 commits into from
Jul 1, 2020

Conversation

jasmussen
Copy link
Contributor

@jasmussen jasmussen commented Jun 24, 2020

This PR polishes the image cropping zoom slider.

It:

  • Adds a zoom icon
  • Adjusts the spacing and height of elements
  • Moves the aspect ratio control to this bar
  • Shows the bar as an overlay:

I still think that it's worth moving the slider to the toolbar, but the efforts here will a) benefit that effort, and b) can serve as a holdover if we don't make that in time.

zoom overlay

Thoughts?

@jasmussen jasmussen added the [Type] Enhancement A suggestion for improvement. label Jun 24, 2020
@jasmussen jasmussen requested review from mtias and ellatrix June 24, 2020 10:37
@jasmussen jasmussen self-assigned this Jun 24, 2020
@jasmussen jasmussen mentioned this pull request Jun 24, 2020
12 tasks
@github-actions
Copy link

github-actions bot commented Jun 24, 2020

Size Change: +3.3 kB (0%)

Total Size: 1.13 MB

Filename Size Change
build/a11y/index.js 1.14 kB -1 B
build/annotations/index.js 3.62 kB +2 B (0%)
build/block-directory/index.js 7.39 kB +20 B (0%)
build/block-editor/index.js 109 kB +1.26 kB (1%)
build/block-editor/style-rtl.css 10.7 kB -6 B (0%)
build/block-editor/style.css 10.7 kB -4 B (0%)
build/block-library/editor-rtl.css 7.62 kB +21 B (0%)
build/block-library/editor.css 7.62 kB +23 B (0%)
build/block-library/index.js 130 kB +288 B (0%)
build/block-serialization-default-parser/index.js 1.88 kB -1 B
build/blocks/index.js 48.2 kB -1 B
build/components/index.js 198 kB +1.39 kB (0%)
build/components/style-rtl.css 15.9 kB +112 B (0%)
build/components/style.css 15.9 kB +120 B (0%)
build/compose/index.js 9.65 kB +26 B (0%)
build/core-data/index.js 11.4 kB +2 B (0%)
build/data/index.js 8.44 kB +1 B
build/dom/index.js 3.19 kB +1 B
build/edit-post/index.js 303 kB +62 B (0%)
build/edit-post/style-rtl.css 5.51 kB +3 B (0%)
build/edit-post/style.css 5.5 kB +2 B (0%)
build/edit-site/index.js 16.7 kB +9 B (0%)
build/edit-site/style-rtl.css 3.03 kB +9 B (0%)
build/edit-site/style.css 3.03 kB +11 B (0%)
build/edit-widgets/index.js 9.32 kB -2 B (0%)
build/editor/index.js 44.8 kB -128 B (0%)
build/editor/style-rtl.css 3.85 kB +38 B (0%)
build/editor/style.css 3.85 kB +40 B (1%)
build/element/index.js 4.65 kB +3 B (0%)
build/format-library/index.js 7.72 kB -2 B (0%)
build/is-shallow-equal/index.js 711 B +1 B
build/keyboard-shortcuts/index.js 2.51 kB +2 B (0%)
build/list-reusable-blocks/index.js 3.12 kB -5 B (0%)
build/nux/index.js 3.4 kB +1 B
build/plugins/index.js 2.56 kB +1 B
build/priority-queue/index.js 788 B -1 B
build/redux-routine/index.js 2.85 kB +3 B (0%)
build/rich-text/index.js 14 kB +1 B
build/token-list/index.js 1.28 kB +1 B
ℹ️ View Unchanged
Filename Size Change
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/style-rtl.css 941 B 0 B
build/block-directory/style.css 942 B 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-spec-parser/index.js 3.1 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/edit-navigation/index.js 9.87 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-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/escape-html/index.js 733 B 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/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/media-utils/index.js 5.29 kB 0 B
build/notices/index.js 1.79 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/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

compressed-size-action

@@ -259,6 +265,29 @@ export default function ImageEditor( {

return (
<>
{ ! inProgress && (
<div
className="richimage__zoom-control"
Copy link
Member

Choose a reason for hiding this comment

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

Are we keeping these "richimage" classes? They don't mean much.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Happy to clean them up. Any preference, just "image__"?

Copy link
Contributor

@ajlende ajlende Jun 25, 2020

Choose a reason for hiding this comment

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

I'd go with wp-block-image__ since the block class is wp-block-image.

@ellatrix
Copy link
Member

How is the arrow navigation fixed in the new secondary toolbar?

@jasmussen
Copy link
Contributor Author

jasmussen commented Jun 24, 2020

How is the arrow navigation fixed in the new secondary toolbar?

It's not a toolbar, it's a popover just a form element in the DOM that looks horizontal, so you tab through it.

value={ Math.round( zoom ) }
onChange={ setZoom }
/>
<ToolbarItem>
Copy link
Member

Choose a reason for hiding this comment

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

Shouldn't this only be used within a <Toolbar>?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I suppose yes, I'll look for an alternative.

@ellatrix
Copy link
Member

To be honest, I'm not sure if I like a secondary "toolbar" (that looks like a toolbar but isn't). It's a bit confusing both for keyboard users and visually.

@jasmussen
Copy link
Contributor Author

To be honest, I'm not sure if I like a secondary "toolbar" (that looks like a toolbar but isn't). It's a bit confusing both for keyboard users and visually.

As it is, there's simply too many confusing things shuffling around in the toolbar when you click crop, I would suggest that is already a problem both usability wise and keyboards wise. This is an improvement in that it reduces that, groups the cropping tools together, and visually simplifies.

I still consider it a temporary solution until we can actually move the entire slider to the toolbar (#22569 (comment)). That, and remove the other unrelated buttons in the toolbar, until you press apply or cancel.

@jasmussen
Copy link
Contributor Author

I would love this to get unblocked and land, as tests are passing and it's a big improvement over what we had: a big bulky zoom slider popping out at the bottom. That same slider has been moved up and reduced, and it does not preclude further improvements.

Copy link
Member

@ellatrix ellatrix left a comment

Choose a reason for hiding this comment

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

Thank you ❤️

@ellatrix ellatrix merged commit d47c8eb into master Jul 1, 2020
@ellatrix ellatrix deleted the polish/zoom-slider branch July 1, 2020 07:25
@github-actions github-actions bot added this to the Gutenberg 8.5 milestone Jul 1, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Type] Enhancement A suggestion for improvement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants