Skip to content

Commit

Permalink
fix: resolve whitespace bug and bump version to 2.30.8 (#2881)
Browse files Browse the repository at this point in the history
  • Loading branch information
idebenone authored Dec 3, 2024
1 parent 597bde3 commit 931ed20
Show file tree
Hide file tree
Showing 5 changed files with 49 additions and 5 deletions.
4 changes: 4 additions & 0 deletions docs/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Changelog

### 2.30.8

- `Fix` - Handle whitespace input in empty placeholder elements to prevent caret from moving unexpectedly to the end of the placeholder

### 2.30.7

- `Fix` - Link insertion in Safari fixed
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@editorjs/editorjs",
"version": "2.30.7",
"version": "2.30.8",
"description": "Editor.js — open source block-style WYSIWYG editor with JSON output",
"main": "dist/editorjs.umd.js",
"module": "dist/editorjs.mjs",
Expand Down
2 changes: 1 addition & 1 deletion src/components/dom.ts
Original file line number Diff line number Diff line change
Expand Up @@ -373,7 +373,7 @@ export default class Dom {
nodeText = nodeText.replace(new RegExp(ignoreChars, 'g'), '');
}

return nodeText.trim().length === 0;
return nodeText.length === 0;
}

/**
Expand Down
29 changes: 26 additions & 3 deletions test/cypress/tests/modules/BlockEvents/Backspace.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,29 @@ describe('Backspace keydown', function () {
.last()
.should('have.text', '12');
});


it('   | — should delete visible and invisble whitespaces in the abscence of any non whitespace characters', function () {
createEditorWithTextBlocks([
'1',
'   ',
]);

cy.get('[data-cy=editorjs]')
.find('.ce-paragraph')
.last()
.click()
.type('{downArrow}')
.type('{backspace}')
.type('{backspace}')
.type('{backspace}')
.type('{backspace}');

cy.get('[data-cy=editorjs]')
.find('div.ce-block')
.last()
.should('have.text', '1');
});
});

it('should just delete chars (native behaviour) when some fragment is selected', function () {
Expand Down Expand Up @@ -184,7 +207,7 @@ describe('Backspace keydown', function () {
* Saving logic is not necessary for this test
*/
// eslint-disable-next-line @typescript-eslint/no-empty-function
public save(): void {}
public save(): void { }
}

cy.createEditor({
Expand Down Expand Up @@ -545,7 +568,7 @@ describe('Backspace keydown', function () {
* Saving logic is not necessary for this test
*/
// eslint-disable-next-line @typescript-eslint/no-empty-function
public save(): void {}
public save(): void { }
}

cy.createEditor({
Expand Down Expand Up @@ -678,7 +701,7 @@ describe('Backspace keydown', function () {

describe('at the start of the first Block', function () {
it('should do nothing if Block is not empty', function () {
createEditorWithTextBlocks([ 'The only block. Not empty' ]);
createEditorWithTextBlocks(['The only block. Not empty']);

cy.get('[data-cy=editorjs]')
.find('.ce-paragraph')
Expand Down
17 changes: 17 additions & 0 deletions test/cypress/tests/ui/Placeholders.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -77,4 +77,21 @@ describe('Placeholders', function () {
.getPseudoElementContent('::before')
.should('eq', 'none');
});

it('should be hidden when user adds trailing whitespace characters', function () {
cy.createEditor({
placeholder: PLACEHOLDER_TEXT,
});

cy.get('[data-cy=editorjs]')
.find('.ce-paragraph')
.as('firstBlock')
.getPseudoElementContent('::before')
.should('eq', PLACEHOLDER_TEXT);

cy.get('@firstBlock')
.type(' ')
.getPseudoElementContent('::before')
.should('eq', 'none');
});
});

0 comments on commit 931ed20

Please sign in to comment.