Commit Graph

22 Commits

Author SHA1 Message Date
Nick Perez
7c8889a2a6
fix(react): optimize useEditor and useEditorState to reduce number of instances created while being performant #5432 (#5445) 2024-08-05 17:46:19 +02:00
Nick Perez
99d7820cbb
fix(react): always cleanup old editor instances (#5414) 2024-07-30 09:06:31 +02:00
Nick the Sick
42dc27aa4b
fix(react): if using a deps array, destroy the previous instance 2024-07-26 13:34:23 +02:00
Matic Zavadlal
70eebfdb0c
fix(react): useEditor hook now respects deps array and will re-initialize editor (#5353) 2024-07-17 13:04:39 +02:00
Nick Perez
1110280b2b
fix(react): useEditor should not destroy still mounted instances (#5338)
This forces the editor to re-use the editor instance that existed prior to an unmount and remount of the same component.
This fixes a bug in `React.StrictMode` introduced with the latest performance updates by PR #5161
2024-07-13 10:59:33 +02:00
Nick Perez
df5609cdff
fix: default to rendering the editor immediately, while staying backward compatible (#5161)
* fix: default to rendering the editor immediately, while staying backward compatible

* feat: add `useEditorWithState` hook for extracting state and editor instance simultaneously

* feat(react): add `useEditorState` hook for subscribing to selected editor state

* docs: add an example to show the concept

* chore: add changeset
2024-07-10 11:41:43 +02:00
Nick Perez
74bfdc5bef
feat: error handling of invalid content for a schema (#5178)
This change introduces two new top-level options to the editor: `enableContentCheck` & `onContentError` for dealing with content supplied that does not match the prose-mirror schema generated by the set of tiptap extensions.

`enableContentCheck` allows the app developer to opt into the behavior to check for invalid schemas (this change is otherwise backwards compatible).
When true, this will try to parse the document, and any content that does not match the schema will emit a `contentError` which can be listened to via the `onContentError` callback.
2024-06-04 09:32:54 +02:00
bdbch
b941eea6da
feat: added jsdocs (#4356)
* added JSDocs for almost all extensions

* start adding commands jsdocs

* add jsdocs for rest of extensions

* add jsdocs for Extensions

* add js docs for all extensions

* add more jsdocs

* add js docs for node spec definitions
2024-05-11 14:30:44 +02:00
bdbch
d78f99920d style(react): fix linting issues 2024-04-06 13:15:34 +02:00
Karol Firmanty
8d5077a1a5
fix editor cleanup (#4973) 2024-04-06 04:02:05 +02:00
Sven Adlung
56a5737ed1
fix(react): use ref instead of state in useEditor to prevent rerenders (#4856) 2024-02-06 12:13:09 +01:00
Kento Moriwaki
6984ea11d7
Destroy editor in safe (#4000)
* Destroy editor in safe

* Use class component

* Use createElement
2023-07-07 15:17:32 +02:00
Ben Asher
e97630c639
Require file extensions for imports and exports (#4001)
* Require .js endings

* add extension alias for cypress to resolve ts files with js endings
2023-06-30 21:03:49 +02:00
Dominik
64ab3570c1
fix(react): fix rebinding events not overwriting editor.on (#3935)
* fix(react): fix rebinding events not overwriting editor.on

* fix(react): move ref assignment inside if
2023-04-03 17:30:35 +02:00
Dominik
6283cee5c7
fix(react): allow updating event handlers on editor (#3811) 2023-03-03 11:35:53 +01:00
SavKS
8e65c20815
Fix state update after component unmounted (#2857)
Co-authored-by: Andrii Savluk <a.savluk@ideil.com>
2022-06-24 17:46:54 +02:00
Dominik
8c6751f0c6
add precommit hook for linting and automatic eslint fixes + update eslint packages (#2862)
* chore: add precommit hook for eslint fixes, fix linting issues
* chore: add eslint import sort plugin
2022-06-08 14:10:25 +02:00
Philipp Kühn
7ffabf251c
feat: Add extension storage (#2069) 2021-10-22 08:52:54 +02:00
Yousef
bdd6e2b87c
Allow passing of DependencyList to useEditor
in case the options depend on props of the consuming component, it would be nice to be able to pass a dependencylist to `useEditor`. Unless there's a better way to handle dependency updates
2021-05-25 14:51:36 +02:00
Philipp Kühn
d64ddf6c1b refactoring 2021-03-08 23:10:10 +01:00
Philipp Kühn
7f698a7553 refactoring 2021-03-08 22:16:32 +01:00
Philipp Kühn
ed7f8c257e add useEditor 2021-03-08 22:00:07 +01:00