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

Table widget & table navigation #3165

Closed
jodator opened this issue Apr 10, 2018 · 4 comments · Fixed by ckeditor/ckeditor5-table#10
Closed

Table widget & table navigation #3165

jodator opened this issue Apr 10, 2018 · 4 comments · Fixed by ckeditor/ckeditor5-table#10
Assignees
Labels
package:table type:feature This issue reports a feature request (an idea for a new functionality or a missing option).
Milestone

Comments

@jodator
Copy link
Contributor

jodator commented Apr 10, 2018

The next mini-milestone after #3162 to implement table feature MVP.

Things I'd like to see covered here would be:

  • table as a widget
  • cursor navigation through table cells with arrows & tab
  • entering/leaving a table
  • selection handling (cell, row/column) - if not a bigger task itself

I'll post another comment here when doing selection - how to handle and display as it might require some minor UI/UX research first.

Also I'm open to any suggestions/tips beyond current specs that we have.

@jodator jodator self-assigned this Apr 10, 2018
@jodator
Copy link
Contributor Author

jodator commented Apr 11, 2018

So I'd like to propose caret movement behavior:

  1. Without SHIFT:
    • UP, DOWN arrows: moves caret to the table cell in previous, next row (on the same column index or to a spanned cell)
    • LEFT, RIGHT arrows on the table cell's content edge - skip to next, previous cell, exit table on the first/last table cell
    • TAB go to next cell, or exit table
  2. With SHIFT - as above but will expand selection. The question is whether to select whole table cells (I'd go with selecting whole table cells)
  3. MOUSE - selecting whole table cells

The other thing is how to (if wanted by us) to show selection of the whole table cell on caret movement.

I've checked how gdocs does it for example and they have two-step carret movement on the table cell edges. Basically the second step selects whole table cell:

selection_022 ---- second step ---> selection_023

/cc @Reinmar, @oleq, @dkonopka

@Reinmar
Copy link
Member

Reinmar commented Apr 11, 2018

@jodator Could you check how these keys work in CKEditor 4? E.g. Tab in the last cell creates a new row. And I think left and top had the same behaviour.

Besides, we don't have cell selection in the MVP. Row/col/cells selection is in milestone 2.

@jodator
Copy link
Contributor Author

jodator commented Apr 11, 2018

@Reinmar ahh yes, you're right. So dropping the cell selection for now - only the caret movement. So probably only minor tweaks to default caret movement and to unify browsers behavior (Chrome acts differently then Firefox on up/down arrows).

As for CKE4:

  • the TAB in the last cell creates another row
  • the SHIFT-TAB on the first table cell doesn't do anything (the caret stays there)
  • the arrows movement is as in browser (so Chrome & Firefox acts differently on up/down)

And I think left and top had the same behaviour.

could you explain this part - I'm not sure what you've meant here

@Reinmar
Copy link
Member

Reinmar commented Apr 11, 2018

could you explain this part - I'm not sure what you've meant here

I thought that left and top have the same behaviour at the beginning of a table cell. But from what you wrote it depends on which browser you test. So – it means that CKE4 does not unify this behaviour and I think we can skip it in CKE5 as well. At least initially.

Reinmar referenced this issue in ckeditor/ckeditor5-table May 29, 2018
Feature: Initial table support. Closes #4. Closes #7. Closes #9.
@mlewand mlewand transferred this issue from ckeditor/ckeditor5-table Oct 9, 2019
@mlewand mlewand added this to the iteration 18 milestone Oct 9, 2019
@mlewand mlewand added status:confirmed type:feature This issue reports a feature request (an idea for a new functionality or a missing option). package:table labels Oct 9, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
package:table type:feature This issue reports a feature request (an idea for a new functionality or a missing option).
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants