Test lab for creating TABLE
functionality in QuillJS using Containers.
Code of quill is included in project so we can easily play with it in our tests.
const quillTable = require('quill-table');
Quill.register(quillTable.TableCell);
Quill.register(quillTable.TableRow);
Quill.register(quillTable.Table);
Quill.register(quillTable.Contain);
Quill.register('modules/table', quillTable.TableModule);
TABLE
,TR
andTD
are containers - it is possible to have multiple block blots inTD
.- all tables, rows and cells are identified by random strings and optimize merge only those with the same id.
- It is possible to add tables by defining rows and cols count in grid.
- It is possible to add rows and columns to existing tables (accessible by buttons in toolbar).
- it is possible to copy & paste table from Word. Works ok. Needs to test edge cases.
It is early stage so there is a lot of issues with current state. Still there are some worth to mention which should be dealt with.
- Lists (number or bullet) in cell upon enter loose list format on previous line but keeps it on actual.
- Delete and backspace behavior on tables should be either disabled or should have some well defined behavior. Now it is pretty easy to destroy table in ugly way.
- Definition of TableTrick is hacked in just to test if adding of rows and cols is easily possible - which is. Should be done differently so quill doesn't throw exception (it continues to work).
- Undo/History breaks badly with cell deletions (disabled backspace could solve this).
- When loading delta of nested container in table cell, nested container loose format.
- Containers need order similar to Inline.order. Otherwise delta is not canonical.
- ...