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

Move 2-step caret movement to -typing and refactor #7444

Closed
tomalec opened this issue Jun 16, 2020 · 0 comments · Fixed by #7506
Closed

Move 2-step caret movement to -typing and refactor #7444

tomalec opened this issue Jun 16, 2020 · 0 comments · Fixed by #7506
Assignees
Labels
package:engine package:typing type:improvement This issue reports a possible enhancement of an existing feature. type:refactor This issue requires or describes a code refactoring.

Comments

@tomalec
Copy link
Contributor

tomalec commented Jun 16, 2020

This is a result of a meeting after the review of #7356

📝 Provide a description of the improvement

Changes from #7356 shown that current implementation of 2SCM does not work well with multiple attributes, and needs some capability to synchronize gravity between attributes. At the F2F with @Reinmar, @oleq and @niegowski we agreed it requires some refactoring.

We should start with/consider:

  1. moving it to -typing,
  2. make a plugin,
  3. Consider having the gravity set per attribute.

We also agreed, there should be only 2 movements required for multiple attributes ending in the same position. E.g. "some linking code[]" + , results in "some linking code[]". Meaning stepping inside steps into the deepest attribute at given position. It is to minimize the overhead of additional s needed for navigation, simplify the behavior and implementation, especially given, looking at the model with a flat structure of attributes, it's hard to identify the depth of nesting.

📃 Other details

  • Browser: n/a
  • OS: n/a
  • CKEditor version: master @
  • Installed CKEditor plugins: link, code, engine

Related issues


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

@tomalec tomalec added type:improvement This issue reports a possible enhancement of an existing feature. squad:red labels Jun 16, 2020
@tomalec tomalec added this to the next milestone Jun 16, 2020
@tomalec tomalec self-assigned this Jun 16, 2020
@oleq oleq added package:engine package:typing type:refactor This issue requires or describes a code refactoring. labels Jun 17, 2020
@Reinmar Reinmar modified the milestones: next, iteration 33, iteration 34 Jun 18, 2020
tomalec added a commit that referenced this issue Jun 25, 2020
tomalec added a commit that referenced this issue Jun 26, 2020
jodator added a commit that referenced this issue Jul 1, 2020
Other (engine): The engine's util `bindTwoStepCaretToAttribute()` was removed. See #7444.
Feature (typing): Introduced `TwoStepCaretMovement` plugin. See #7444.

MINOR BREAKING CHANGE (engine): The `bindTwoStepCaretToAttribute()` utility function has been removed. Use `editor.plugins.get( TwoStepCaretMovement ).registerAttribute()` instead.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
package:engine package:typing type:improvement This issue reports a possible enhancement of an existing feature. type:refactor This issue requires or describes a code refactoring.
Projects
None yet
3 participants