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

Implement basic link creation and edition UX using mouse #4717

Closed
oleq opened this issue Aug 23, 2016 · 7 comments
Closed

Implement basic link creation and edition UX using mouse #4717

oleq opened this issue Aug 23, 2016 · 7 comments
Labels
domain:ui/ux This issue reports a problem related to UI or UX. package:link status:discussion type:feature This issue reports a feature request (an idea for a new functionality or a missing option). type:question This issue asks a question (how to...).
Milestone

Comments

@oleq
Copy link
Member

oleq commented Aug 23, 2016

A followup of https://github.com/ckeditor/ckeditor5-link/issues/2.


Note: This issue is for mouse–only interaction.

Note: This is the most basic but also the must–have UX that should be implemented in iteration3. Other improvements and sophisticated tweaks to the link UX will have their own issues, which can be resolved in later iterations.

Link creation

Collapsed selection

  1. User types text.
  2. User clicks toolbar button.
  3. URL field in the form is focused.
  4. User fills the form and clicks "Save".

Expected:

  • A link is created which href == innerHTML.
  • Link is selected in editable.
  • Editable is focused, typing is possible.

image

Regular selection

  1. User selects text.
  2. User clicks toolbar button.
  3. URL field in the form is focused.
  4. User fills the form and clicks "Save".

Expected:

  • A link is created which href corresponds with the URL in the form but innerHTML is what had been selected before linking.
  • Link is selected in editable.
  • Editable is focused, typing is possible.

image

Link edition

href === innerHTML

  1. User puts the caret inside of a the link.
  2. User clicks toolbar button.
  3. URL field in the form is focused.
  4. User fills the form and clicks "Save".

Expected:

  • Link href is updated so it corresponds with the URL in the form.
  • Link innerHTML is updated to match its href.
  • Link is selected in editable.
  • Editable is focused, typing is possible.

image

href !== innerHTML

  1. User puts the caret inside of a the link.
  2. User clicks toolbar button.
  3. URL field in the form is focused.
  4. User fills the form and clicks "Save".

Expected:

  • Link href is updated so it corresponds with the URL in the form.
  • innerHTML remains unchanged.
  • Link is selected in editable.
  • Editable is focused, typing is possible.

image

@fredck
Copy link
Contributor

fredck commented Aug 23, 2016

Should we make it in a way that, if the user starts typing after creating a link in a collapsed selection, the typed text replaces the link contents?

@oleq
Copy link
Member Author

oleq commented Aug 23, 2016

@fredck What you described is beyond the scope of this particular issue. More sophisticated UX behaviours will be described in separate issues, so they can be developed separately.

What I created in this issue is a must have thing in iteration3. Other behaviours can be implemented in i3 or following iterations.

@fredck
Copy link
Contributor

fredck commented Aug 23, 2016

So no discussion if this is a must have? I remember @Reinmar saying something about being able to define the text of the link in such cases, so I thought about proposing the above solution for it.

@Reinmar
Copy link
Member

Reinmar commented Aug 23, 2016

I agree with Fred that it's a must have, but I understand Olek's point – this can be done in a separate ticket. It's a bit beyond the scope of the link itself because it's also a question what engine and typing packages will do.

@oleq
Copy link
Member Author

oleq commented Aug 23, 2016

@fredck, @Reinmar: I decided to split the UX into a number of issues, as granular as possible. This will let us stay focused, understand current status of implementation and manage the lifecycle of feature in the future.

How many issues like this will be closed in iteration3? This one, that's for sure. More is better, of course. I'm creating other issues for different UX aspects of linking right now, so stay tuned.

@oskarwrobel oskarwrobel reopened this Aug 23, 2016
@oskarwrobel
Copy link
Contributor

Sorry for closing :) Wrong button :)

@oleq
Copy link
Member Author

oleq commented Sep 9, 2016

Closed by ckeditor/ckeditor5-link#19.

@oleq oleq closed this as completed Sep 9, 2016
@mlewand mlewand transferred this issue from ckeditor/ckeditor5-link Oct 9, 2019
@mlewand mlewand added this to the iteration 3 milestone Oct 9, 2019
@mlewand mlewand added domain:ui/ux This issue reports a problem related to UI or UX. module:ux status:discussion type:feature This issue reports a feature request (an idea for a new functionality or a missing option). type:question This issue asks a question (how to...). package:link labels Oct 9, 2019
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. package:link status:discussion type:feature This issue reports a feature request (an idea for a new functionality or a missing option). type:question This issue asks a question (how to...).
Projects
None yet
Development

No branches or pull requests

5 participants