From d8598741229ec79880ab917b84ab5b4f34cf55fa Mon Sep 17 00:00:00 2001 From: Hyko Date: Sat, 25 Apr 2026 19:12:04 -0400 Subject: [PATCH] fix(BlockEditor): trigger select-all blocks when block content is empty on Ctrl+A --- .../components/BlockEditor/Block.client.js | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/shared/components/BlockEditor/Block.client.js b/src/shared/components/BlockEditor/Block.client.js index 7e990e1..1e4e6d4 100644 --- a/src/shared/components/BlockEditor/Block.client.js +++ b/src/shared/components/BlockEditor/Block.client.js @@ -158,17 +158,21 @@ const Block = forwardRef(function Block( e.preventDefault(); const sel = window.getSelection(); const txt = el.textContent ?? ''; - const fullySelected = - !!sel && sel.rangeCount > 0 && !sel.isCollapsed && - el.contains(sel.anchorNode) && el.contains(sel.focusNode) && - sel.toString() === txt && txt.length > 0; - if (fullySelected) { + if (txt.length === 0) { onSelectAllBlocks?.(); } else { - const range = document.createRange(); - range.selectNodeContents(el); - sel?.removeAllRanges(); - sel?.addRange(range); + const fullySelected = + !!sel && sel.rangeCount > 0 && !sel.isCollapsed && + el.contains(sel.anchorNode) && el.contains(sel.focusNode) && + sel.toString() === txt; + if (fullySelected) { + onSelectAllBlocks?.(); + } else { + const range = document.createRange(); + range.selectNodeContents(el); + sel?.removeAllRanges(); + sel?.addRange(range); + } } } return;