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
feat: table plugin #62
Conversation
rust backend (flowy-document) doesn't support it.
Implemented markdown decode/encode feature for table. |
* main: feat: support uploading images from local files (AppFlowy-IO#232) fix: desktop tooltips incorrect (AppFlowy-IO#259) fix: add underline syntax parser (AppFlowy-IO#256) chore: add reload function into editor state fix: ignore the same value update in input service (AppFlowy-IO#257) Revert "feat: support mobile IME (AppFlowy-IO#255)" feat: support item count filter in selection menu results (AppFlowy-IO#254) feat: support mobile IME (AppFlowy-IO#255) feat: replace DeltaTextInputClient with TextInputClient (AppFlowy-IO#253)
@zoli Is it ready to review and merge? |
Yes. The design and maybe some UX corners could improve, But I think enhancing them incrementally is better. |
I can't wait to try this. When will this feature be released? |
In my last discussion with @LucasXu0, he said we should move the plugin to Appflowy repo. |
cf94943
to
5406f30
Compare
* main: fix: refactor _onSelectionChange method to update _showPlaceholder state more efficiently fix: typo (AppFlowy-IO#408) Fix selected nodes (AppFlowy-IO#407) fix: miss the nested node when copying (AppFlowy-IO#406)
* main: chore: comment suggesting use of deprecated method (AppFlowy-IO#417) fix: replace matches on the same node (AppFlowy-IO#418)
* main: feat: simplify auto scroll behavior in ScrollServiceWidget (AppFlowy-IO#437) chore: bump version 1.3.0 (AppFlowy-IO#435) fix: better column resize performance (AppFlowy-IO#434) fix: table padding and selection (AppFlowy-IO#432) fix: table block bugs (AppFlowy-IO#431) fix: refactor text alignment handling in block components Revert "fix: remove flutter overlay (AppFlowy-IO#358)" (AppFlowy-IO#427) feat: support alignment for block component (AppFlowy-IO#425) fix: remove flutter overlay (AppFlowy-IO#358) feat: toggle highlight using ctrl/cmd + shift + h (AppFlowy-IO#333) feat: table plugin (AppFlowy-IO#62) feat: editor state update node (AppFlowy-IO#405) fix: exception on prev node text direction null (AppFlowy-IO#404) fix: html encoder not adding multiple text decorations (AppFlowy-IO#424) feat: default text direction property (AppFlowy-IO#402) fix: fixed the cursor not moving to next line after inserting divider (AppFlowy-IO#371) chore: update theme colors for editor feat: refactor floating toolbar positioning logic fix: update resizable image width calculation with minimum width constraint
Coming from AppFlowy-IO/AppFlowy#2120.
Node
types 'table' and 'table/cell'. The 'table/cell' node for now contains singleTextNode
. All the data is kept in node attributes. Data related to 'table' like number of rows and columns are in 'table' node attributes and data related to each table cell is in 'table/cell' node attribute (cell height, position of cell its row and column). TheTextNode
in table cell supports selection menu and toolbar but not all of them work inside the table cell (some of them are not applicable in table cell).isApplicable
toContextMenuItem
so we can have context-base context menubackspaceEventHandler
so it won't move from one table cell to another cell and also handling backspace when the selection includes part of table cells and none table related nodes._getNodeInOffset
so selection also works when we have multiple nodes in a single line (same y position). I will add more info on this in another comment.ColorPicker
more customizable and reusable for other than toolbar service.