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

Functional requirements #3163

Closed
Reinmar opened this issue Dec 12, 2017 · 13 comments
Closed

Functional requirements #3163

Reinmar opened this issue Dec 12, 2017 · 13 comments
Labels
package:table type:feature This issue reports a feature request (an idea for a new functionality or a missing option).

Comments

@Reinmar
Copy link
Member

Reinmar commented Dec 12, 2017

Originally posted by @fredck in #610 (comment).


This is a preliminary analysis of requirements.

When it comes to use cases, we want to support data tables. This comes in contrast with the use case we don't want to support at this stage, which is clearly described in the HTML5 specs for tabular data:

Tables should not be used as layout aids. Historically, many Web authors have tables in HTML as a way to control their page layout making it difficult to extract tabular data from such documents.

We'll still see developers asking for the above though and we'll handle such requests in a separate issue.

Macro elements

The macro elements of the table feature are:

  • Table: represents the whole table, including the following elements:
  • Row: a sequence of horizontal cells.
  • Column: a sequence of vertical cells.
  • Cell: the smallest unit of the table.
  • Caption: a caption description for the table.

Users would like to operate on all the above elements.

HTML-wise, we follow the Editor Recommendations specs on tables.

Features

These list of features may be incomplete and it focuses just on UX and high-level features. The order in the list matters as this is the proposed way to releasing enhancements to the feature as a whole.

Milestone 1 – MVP (ready)

  • Insert / remove tables.
  • CSS controlled styling (kinda nothing to do here... it should just work).
  • Custom selection (table).
  • Type and insert content inside cells and the caption.
  • Caret navigation through the cells.
  • Insert row / column.
  • Remove row / column.
  • Merge cells (if UX is found for it, otherwise part of Milestone 2 will have to be anticipated).
  • Table copy / paste.
  • Set the table header rows.

Milestone 2 (todo)

  • Support block content inside tables. See ckeditor/ckeditor5-table#56.
  • Custom selection (table + row + columns + cells). See ckeditor/ckeditor5-table#63.
  • Multi-cell styling.
  • Multi-cell copy/paste.
  • Styles, which set classes to tables, to define alignment (like image styles) and different design for different kinds o table. See Define default table styles #3160.
  • Set the table footer rows.
  • Column resizing.
  • Rearrange rows and columns (move them). This may be available as copy/cut + paste first and later as DnD.
  • Caption. See ckeditor/ckeditor5-table#66.

Details

  • Captions should work exactly like in the image feature.
  • Cells selection can contain multiple cells in both horizontal and vertical directions in the middle of a table.
  • Coping cells sends a table to the clipboard based on the subset of cells selected.
  • Pasting behavior is to define, much probably based on CKEditor 4.
@Reinmar
Copy link
Member Author

Reinmar commented Dec 12, 2017

Some other concerns (besides UX, which is handled in #3161):

@Comandeer
Copy link
Member

I'd leave Heydon's article about data tables, which could be useful: https://inclusive-components.design/data-tables/

@Reinmar Reinmar changed the title Requirements Functional requirements Jun 19, 2018
@gastonmunoz
Copy link

gastonmunoz commented May 20, 2019

Hi, the milestone 2... have an estimated date to release? Thanks!

@Reinmar
Copy link
Member Author

Reinmar commented May 28, 2019

No, not yet. From the milestone 2 only the support for block content has been added so far and we don't have any definite dates for the other points.

Which features would interest you the most from that list?

@gastonmunoz
Copy link

Thanks @Reinmar, this features are the core of my project:

- Column resizing.

  • Multi-cell styling.

  • Support block content inside tables. See #56.

@craighouston
Copy link

+1 for table column resizing.
+1 for table captions (matching what you already have for images),

@archonic
Copy link

👍 I'm also looking to get column resizing. Other issues are less important to me.

@mlewand mlewand transferred this issue from ckeditor/ckeditor5-table Oct 9, 2019
@mlewand mlewand added this to the unknown 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
@troyberg
Copy link

Another one here looking for column resizing as well as some of these other features. Any plans for milestone 2 yet?

@Reinmar
Copy link
Member Author

Reinmar commented Nov 15, 2019

We're currently working on #3287 which will, among many other things, allow changing columns and table widths (but not by dragging - we don't plan that at the moment).

I'm closing this ticket in favor of more granular tickets.

NOTE: Please upvote specific features from this list: https://github.com/ckeditor/ckeditor5/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3Atype%3Afeature++label%3Apackage%3Atable or report new tickets for features which weren't yet reported.

@Reinmar Reinmar closed this as completed Nov 15, 2019
@Reinmar Reinmar removed this from the unknown milestone Nov 15, 2019
@firozkhan342
Copy link

I need resize the column in my project, Is there any way to resize the column @Reinmar

@djcurfew
Copy link

djcurfew commented Apr 4, 2020

Any update on the resizing columns feature? Thanks!

@pdxuan
Copy link

pdxuan commented Oct 15, 2021

Any update on the resizing columns and rows? It will very useful for my project. Thanks @Reinmar

@dhirendra-singh81
Copy link

Awaiting update on the column and row resizing. Super important for table layouting. Thanks, @Reinmar

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

No branches or pull requests