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

Further improvements to declutter toolbars #5596

Closed
oleq opened this issue Oct 16, 2019 · 8 comments
Closed

Further improvements to declutter toolbars #5596

oleq opened this issue Oct 16, 2019 · 8 comments
Labels
domain:ui/ux This issue reports a problem related to UI or UX. resolution:expired This issue was closed due to lack of feedback. status:discussion status:stale type:feature This issue reports a feature request (an idea for a new functionality or a missing option).

Comments

@oleq
Copy link
Member

oleq commented Oct 16, 2019

📝 Provide a description of the new feature

Problem

We're implementing more and more features and with each new feature, some new buttons arrive. Toolbars are getting really crowded and we implemented the automatic grouping to address this issue but:

  • it does not work in inline/balloon editors because there's no obvious size restriction
  • it hides the problem so we can tolerate it but it does not get to the root.

image

image

Solution

In the discussion about enabling indent buttons in all builds an idea popped up that we should use split buttons to reduce clutter. Instead of two buttons, we could have one (since people mostly indent and rarely outdent anyway):

Kapture 2019-10-16 at 11 17 05

We could do the same for:

  • undo — because users undo most of the time and redo not that often,
  • insert buttons (table, media, image, etc.) — because it's not a thing repeated all the time so one more stop would do no harm but it would save tons of space in the toolbar.
  • basic styles — same as above

The new split–button component approach would be opt-in. We'd recommend it in our demos but it would be up to the users whether, for instance, they want all basic styles buttons displayed separately or grouped in a split button. Both would be possible.


A followup of #1844 (comment).

@Reinmar @dkonopka @mlewand


If you'd like to see this feature implemented, add a 👍 reaction to this post.

@oleq oleq added status:discussion type:feature This issue reports a feature request (an idea for a new functionality or a missing option). module:ux labels Oct 16, 2019
@Reinmar Reinmar added this to the next milestone Oct 16, 2019
@oleq
Copy link
Member Author

oleq commented Oct 24, 2019

FYI: I created an extended PoC.

image


image


image

@changus
Copy link

changus commented Oct 30, 2019

@oleq is having a two row toolbar out of the question? Or is it already possible, I haven't seen a way to do it in the documentation.

@oleq
Copy link
Member Author

oleq commented Oct 31, 2019

@changus In CKEditor5 we consider multi-row toolbars an anti-pattern and whenever we can we avoid this kind of solution. Multi-row toolbars create a sensation of a "heavy" UI and they consume tons of space on mobile devices where space is limited. Plus they don't work well with full–height item separators, which has been discussed last year.

So no, there's no out–of–the–box solution for multi-line toolbar at this moment like, for instance, a declarative toolbar configuration. And to be honest, there was very little pressure from the community over the last years to implement such a feature so it sort of confirms our initial assumptions were right.

BTW: Can you share your integration story? Why do you specifically need multi-row toolbars in your project?

@pshurygin
Copy link

I'm actually struggling now to integrate ckeditor 5 into our app because of this toolbar problem.

We are using the baloon editor and the problem is we need it inside a mobile-size iframe (470px wide) and the toolbar itself is almost twice the width. The problem is that toolbar never wraps nor collapse it's content (like the latest classic editor), but simply overflows the viewport of the iframe, causing horizontal scroll and breaking the layout.

I was trying to implement some css workarounds to make toolbar wrap, but they do not work great because toolbar position calculation does not take into account the possible wrapping, which leads to poor positioning in some cases.

I would appreciate some directions on how can i workaround this, and probably better out-of-the-box support for small screens with balloon editor.

@Reinmar
Copy link
Member

Reinmar commented Dec 2, 2019

@pshurygin Could you check #5597, please? I think that what you need is basically wrapping in the toolbar balloon editor.

@pshurygin
Copy link

@Reinmar Yes, this is one possible solution for the problem. I have left a comment in that thread.

@Reinmar Reinmar added domain:ui/ux This issue reports a problem related to UI or UX. and removed module:ux labels Jan 15, 2020
@pomek pomek modified the milestones: next, nice-to-have Nov 10, 2020
@pomek pomek removed this from the nice-to-have milestone Feb 21, 2022
@CKEditorBot
Copy link
Collaborator

There has been no activity on this issue for the past year. We've marked it as stale and will close it in 30 days. We understand it may be relevant, so if you're interested in the solution, leave a comment or reaction under this issue.

@CKEditorBot
Copy link
Collaborator

We've closed your issue due to inactivity over the last year. We understand that the issue may still be relevant. If so, feel free to open a new one (and link this issue to it).

@CKEditorBot CKEditorBot added the resolution:expired This issue was closed due to lack of feedback. label Nov 5, 2023
@CKEditorBot CKEditorBot closed this as not planned Won't fix, can't repro, duplicate, stale Nov 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
domain:ui/ux This issue reports a problem related to UI or UX. resolution:expired This issue was closed due to lack of feedback. status:discussion status:stale type:feature This issue reports a feature request (an idea for a new functionality or a missing option).
Projects
None yet
Development

No branches or pull requests

6 participants