* fix: table padding when it gets scrolled
The handler was getting out of region when table width was wider
than editor size.
* fix: modify scroll view padding
* fix: better column resize performance
* fix: resizing the table won't send transaction
* fix: lost selection after inserting table block
* fix: test
* refactor: don't pass editorState to TableNode
pass only transaction to methods directly.
* refactor: reduce extra transactions
* fix: mitigate Appflowy transaction adapter problem
With current transaction adapter in Appflowy which creates `BlockActionPB`
for `documentService` (backend). Its not possible to have multiple
`InsertOperation`s separately as a single transaction (multiple
`transaction.insertNode()`). The `BlockActionPB` creator (`toBlockAction`)
can't figure out the `prevId` (previous node of inserting node id), The
first insert operations shifts all next nodes path.
Because of this situation we decided to apply the insert operations one by
one.
* fix: table actions keep selection
* fix: on add col|row respect row|col bg color
* refactor: moving cell related keys to TableCellBlockKeys
* style: dart format
---------
Co-authored-by: Mohammad Zolfaghari <zidom72@gmail.com>
* feat: default text direction property
Introduced default text direction property on editor style. which
accepts rtl|ltr|auto for controlling default fallback direction.
Before this we had something controlled by Directionality but it
had two problems:
1. It didn't accept auto text direction. We had to introduce our
own Directionality component.
2. Directionality also affects layout direction, for example
setting Directionality to RTL will cause the handlers and other
things move to right side of the screen. While this is good but
there are cases which we don't want to change whole layout direction
but only the text default direction to for example auto.
* fix: flutter analyze
* fix: exception on prev node text direction null
The code was throwing excenption on changing current node text
direction to auto when the previous node had text direction attribute
with null value.
Also changed to only use direct previous node text direction and
direct parent for inheriting text direction when the current node
text direction is auto and undeterminable (e.g. empty text).
* feat: default text direction property
Introduced default text direction property on editor style. which
accepts rtl|ltr|auto for controlling default fallback direction.
Before this we had something controlled by Directionality but it
had two problems:
1. It didn't accept auto text direction. We had to introduce our
own Directionality component.
2. Directionality also affects layout direction, for example
setting Directionality to RTL will cause the handlers and other
things move to right side of the screen. While this is good but
there are cases which we don't want to change whole layout direction
but only the text default direction to for example auto.
* fix: flutter analyze
* fix: bugfix on auto as default text direction
* docs: make documentation clear
* fix: fixed the cursor not moving to next line after inserting divider
* test: added test
* fix: fixed failing checks
* fix: fixed issues from code review
* refactor: removed the use of depriciated function
* test: failing test for expected behavior
* test: fix test by removing enter
* fix: replace all fixed
* chore: remove unused code
* test: replace selected called multiple times
* chore: remove unused variable
* fix: rect of the divider block is incorrect
* fix: only show the context menu when the gesture hit the selection area
* chore: change image upload widget UI
* fix: context menu test
* feat: skip whitespace between words while navigating with CTRL+ARROW keys
* refactor: testing for arrow keys handler
* refactor: testing for arrow keys handler
* refactor: refactor var to final
* test: Presses arrow left/right/up/down + meta in not collapsed and forward selection except macos
* refactor: refactor test alt+arrow up
* refactor: refactor test alt+arrow down
* refactor: resolve suggestion of code
* refactor: resolve suggestion of code
* refactor: resolve suggestion of code
---------
Co-authored-by: Johan Sutrisno <johan@zero-one-group.com>
* feat: make find menu widget
* feat: service for find menu
* feat: add find menu shortcut event
* feat: create a search service
* docs: explain search service
* fix: unhighlight method takes searched word
* fix: unhighlight before each search
* feat: navigate between matches
* feat: forget highlighting from undo stack
* feat: replace logic and ui
* feat: replace shortcut handler and widget
* test: find functionality
* test: replace menu tests
* refactor: separate class for search algo
* refactor: suggested changes
* refactor: remove unhighlight method
* feat: add find highlight color
* refactor: name of the search algo class
* test: unit tests for search algorithm
* chore: simplify syntax
* test: renamed test group
* refactor: move to editor
* refactor: add shortcut for find
* refactor: use new api
* refactor: add abstrac class search algo
* fix: avoid multiple instances of find dialog
* refactor: xazin's suggestions
* chore: separately build input decor
* test: search algorithm
* chore: unhighlight properly
* refactor: replace handler
* refactor: move tests into new
* test: find menu widget test
* test: replace menu
* fix: localizations + resolve scroll bug partially
* fix: without update selection on highlight
* fix: do not select words when highlighting
* test: update expected selection
* fix: matches and styling
* feat: separate attribute for highlighting
* feat: unique color for selected match
* test: unique color for selected match
* refactor: cleaning the code
* fix: navigate to first match
* fix: tests and replace logic
---------
Co-authored-by: Mathias Mogensen <mathiasrieckm@gmail.com>
Co-authored-by: Mathias Mogensen <42929161+Xazin@users.noreply.github.com>