feat: add some improvements to CharacterCount extension (#2256), fix #1049, fix #1550, fix #1839, fix #2245

* fix a bug when exceeding the character limit

* find a better way to limit the doc size

* check paste events

* add storage method

* refactoring

* use textBetween instead of textContent

* return early if no limit is set

* add words method to storage

* show word count in charactercount demo

Co-authored-by: Philipp Kühn <philippkuehn@MacBook-Pro-von-Philipp.local>
This commit is contained in:
Philipp Kühn
2021-12-08 21:26:30 +01:00
committed by GitHub
parent f0b363c475
commit 5daa870b09
8 changed files with 170 additions and 45 deletions

View File

@@ -34,14 +34,14 @@ export default () => {
})
const percentage = editor
? Math.round((100 / limit) * editor.getCharacterCount())
? Math.round((100 / limit) * editor.storage.characterCount.characters())
: 0
return (
<div>
<EditorContent editor={editor} />
{editor
&& <div className={`character-count ${editor.getCharacterCount() === limit ? 'character-count--warning' : ''}`}>
&& <div className={`character-count ${editor.storage.characterCount.characters() === limit ? 'character-count--warning' : ''}`}>
<svg
height="20"
width="20"
@@ -73,7 +73,7 @@ export default () => {
</svg>
<div className="character-count__text">
{editor.getCharacterCount()}/{limit} characters
{editor.storage.characterCount.characters()}/{limit} characters
</div>
</div>
}