Commit graph appflowy-editor/lib
Author SHA1 Message Date
Mohammad Zolfaghari
e2fc87f892
fix: exception on prev node text direction null (#404)
* 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).
2023-08-29 15:20:50 +08:00
Ali Hassan
72d6c52f25
fix: html encoder not adding multiple text decorations (#424)
* fix: html encoder not adding multiple text decorations

* fix: html encoder with multiple attributes more test added
2023-08-29 15:02:01 +08:00
Mohammad Zolfaghari
9105812cbc
feat: default text direction property (#402)
* 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
2023-08-28 17:13:04 +08:00
Mukund Tandon
5a0a6fa5e0
fix: fixed the cursor not moving to next line after inserting divider (#371)
* 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
2023-08-28 17:11:58 +08:00
Lucas.Xu
efba5ae5d3 feat: refactor floating toolbar positioning logic 2023-08-28 16:16:02 +08:00
Lucas.Xu
3a790e2f42 fix: update resizable image width calculation with minimum width constraint 2023-08-28 15:09:05 +08:00
Mayur Mahajan
c722ec142d
chore: comment suggesting use of deprecated method (#417) 2023-08-28 11:03:56 +08:00
Mayur Mahajan
e38b07d13b
fix: replace matches on the same node (#418)
* 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
2023-08-28 11:02:41 +08:00
Lucas.Xu
a9af2bbd37
fix: rect of the divider block is incorrect (#415)
* 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
2023-08-25 18:02:24 +08:00
Lucas.Xu
1922e56903
feat: migrate copy paste command from AppFlowy (#413) 2023-08-25 15:58:33 +08:00
Mukund Tandon
687af49f63
feat: added support for custom parser for markdown to document (#403) 2023-08-25 15:58:22 +08:00
APPFLOWY\tsuiy
790d3fda53 feat: improve CJK IME support 2023-08-25 14:56:28 +08:00
Lucas.Xu
28c5adf0f9 feat: add support for context menu items to the editor 2023-08-24 19:17:13 +08:00
Lucas.Xu
f4db21c367 fix: refactor _onSelectionChange method to update _showPlaceholder state more efficiently 2023-08-23 10:33:36 +08:00
Lucas.Xu
6b15d6cca6
fix: typo (#408) 2023-08-23 00:49:08 +08:00
Lucas.Xu
a8eb042d27
Fix selected nodes (#407)
* fix: miss the nested node when copying

* fix: miss the nested node when copying
2023-08-23 00:45:54 +08:00
Lucas.Xu
aaef934f07
fix: miss the nested node when copying (#406) 2023-08-23 00:38:41 +08:00
Johan Sutrisno
5e78abc36f
feat: skip whitespace between words while navigating with CTRL+ARROW keys (#363)
* 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>
2023-08-21 11:47:07 +08:00
Mathias Mogensen
2eb801e7f5
feat: double hyphen to em dash (#395)
* feat: double hyphen to em dash

* chore: fix tests

---------

Co-authored-by: Lucas.Xu <lucas.xu@appflowy.io>
2023-08-21 11:46:45 +08:00
Sean Riley Hawkins
1f2668c18a
fix: add variable to hold editor selection for colour menu (#400)
* fix: add variable to hold selection

* fix: keep the selection area when editing color

---------

Co-authored-by: Lucas.Xu <lucas.xu@appflowy.io>
2023-08-21 11:46:04 +08:00
MayurSMahajan
22b56130e8 refactor: show link menu command 2023-08-21 10:43:06 +08:00
MayurSMahajan
52231f885f feat: open link command 2023-08-21 10:43:06 +08:00
Mathias Mogensen
61be737fe2
fix: placeholder on paragraph when selected (#390)
* fix: placeholder on paragraph when selected

Closes: #380

* fix: review comment
2023-08-17 09:45:28 +02:00
Lucas.Xu
56474e8bd9 fix: revert the customSlashCommand function 2023-08-17 14:07:19 +08:00
Lucas.Xu
378ff75a97 fix: test error 2023-08-17 13:49:51 +08:00
Mathias Mogensen
0d4a00a848 chore: remove highlight toolbar item (unused) 2023-08-17 13:13:45 +08:00
Mathias Mogensen
2dabbebb43 test: improve coverage of link mobile toolbar item 2023-08-17 13:13:45 +08:00
Mathias Mogensen
52486cc6a3 test: improve coverage 2023-08-17 13:13:45 +08:00
Mathias Mogensen
c38fe1625d test: mobile selection gesture 2023-08-17 13:13:45 +08:00
Mathias Mogensen
0bad8d67d1 test: improve coverage for editor_style 2023-08-17 13:13:45 +08:00
Mathias Mogensen
f8632b68bf test: remove toolbarService getter from editorState 2023-08-17 13:13:45 +08:00
Mathias Mogensen
daab208f54 test: clean slash_command.dart 2023-08-17 13:13:45 +08:00
Mathias Mogensen
027bcdff71 test: improve coverage for auto scroller 2023-08-17 13:13:45 +08:00
Mathias Mogensen
afa06095b0 test: improve coverage for renderer/ 2023-08-17 13:13:45 +08:00
Mathias Mogensen
999ec073cd chore: fix deprecation warnings 2023-08-17 13:13:45 +08:00
Mathias Mogensen
b79aded8bb test: improve coverage for delta input 2023-08-17 13:13:45 +08:00
Mathias Mogensen
9eb60cc6aa test: improve coverage of editor/block_component/ 2023-08-17 13:13:45 +08:00
Mathias Mogensen
7c19368334 test: improve coverage of transaction.dart 2023-08-17 13:13:45 +08:00
Mathias Mogensen
639ebf1415 test: improve coverage of operations.dart 2023-08-17 13:13:45 +08:00
Mathias Mogensen
a564c10e87 chore: deprecate Selection.collapse + coverage for selection.dart 2023-08-17 13:13:45 +08:00
Mathias Mogensen
36d6c779be test: coverage for text_delta.dart 2023-08-17 13:13:45 +08:00
Mathias Mogensen
668feddf56 test: doc node.dart and coverage path.dart 2023-08-17 13:13:45 +08:00
Mathias Mogensen
b2f6c9c206 test: increase coverage for document.dart 2023-08-17 13:13:45 +08:00
Mathias Mogensen
4daaaf0cc3 fix: execute character command on replace 2023-08-17 13:13:27 +08:00
Lucas.Xu
016e141f51 fix: import single line delta failed 2023-08-17 13:09:34 +08:00
Lucas.Xu
cf14e0de08 feat: paste from html 2023-08-17 13:08:19 +08:00
Lucas.Xu
5df1d3ab35 fix: link is not auto formatted 2023-08-13 18:14:58 +08:00
Lucas.Xu
4ccd811cda fix: link issue in the heading block 2023-08-13 16:37:21 +08:00
Mayur Mahajan
f5c6dc2ce7
feat: find dialog 1760 (#106)
* 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>
2023-08-10 13:08:45 +02:00
Lucas.Xu
953249fefd
fix: lose selection after pasting (#365)
* fix: the selection area delay to update after typing enter

* fix: selection will lose after pasting
2023-08-10 15:22:43 +08:00