VisualEditor/Design/Table editor

This is an important development and should be put high in the priority list.

Table editing is difficult to do well. We want to do well.

Table editors

 * http://wikitable.eu5.org/
 * http://ckeditor.com/demo
 * http://muppet.wikia.com/wiki/User:BladeBronson/table?action=edit (uses CK Editor)
 * http://www.tinymce.com/tryit/full.php
 * https://docs.google.com
 * http://aloha-editor.org/

Desired Functionality

 * Create table
 * Delete table
 * Resize table column widths
 * Rows
 * Toggle table cells/table headings
 * Add row before
 * Add row after
 * Duplicate row
 * Reorder rows (drag sort)
 * Delete row
 * Columns
 * Toggle table cells/table headings
 * Add column before
 * Add column after
 * Duplicate column
 * Reorder columns (drag sort)
 * Delete column
 * Cells
 * Toggle table cell/table heading
 * Merge right
 * Merge left
 * Merge up
 * Merge down
 * Split into rows
 * Split into columns
 * Change background color (highlight)

Goals

 * Allow users to add a new table and start adding content as quickly as possible.
 * Allow users to edit the table in context, without having to go into lots of menus.

 File:Tables-01.png|1. Selecting table from toolbar File:Tables-02.png|2. User is given a 4x4 table with top row as header by default, and cursor in the 1st cell. Control in top left will allow a user to drag the table File:Tables-03.png|3. Hovering in a cell reveals controls for that row and column File:Tables-04.png|4. When a user clicks one of those controls, more controls are revealed. They can add a row above or below, delete the row, or click the cog icon for more options File:Tables-05.png|5. Hovering over a add row icon shows a darker blue line indication where the row will be File:Tables-06.png|6. A user has added a new row File:Tables-07.png|7. A user is editing a column and has clicked on the cog icon to see more options. The user can make it a header or make it sortable File:Tables-08.png|8. A variation of column/row controls, in which all actions are in a dropdown menu