fix(core): disable space ai guidance for non-paragraph block (#11847)

### TL;DR

Disable space ai guidance for non-paragraph block

> CLOSE AI-67
This commit is contained in:
yoyoyohamapi
2025-04-21 08:04:51 +00:00
parent 1efcd480af
commit f65c8f8fa6
2 changed files with 26 additions and 1 deletions

View File

@@ -27,7 +27,12 @@ export function setupSpaceAIEntry(panel: AffineAIPanelWidget) {
const selection = host.selection.find(TextSelection); const selection = host.selection.find(TextSelection);
if (selection && selection.isCollapsed() && selection.from.index === 0) { if (selection && selection.isCollapsed() && selection.from.index === 0) {
const block = host.view.getBlock(selection.blockId); const block = host.view.getBlock(selection.blockId);
if (!block?.model?.text || block.model.text?.length > 0) return; if (
!block?.model?.text ||
block.model.text?.length > 0 ||
block.model.flavour !== 'affine:paragraph'
)
return;
event.preventDefault(); event.preventDefault();
handleInlineAskAIAction(host); handleInlineAskAIAction(host);

View File

@@ -15,4 +15,24 @@ test.describe('AIBasic/Guidance', () => {
await page.keyboard.press('Space'); await page.keyboard.press('Space');
await expect(page.locator('affine-ai-panel-widget')).toBeVisible(); await expect(page.locator('affine-ai-panel-widget')).toBeVisible();
}); });
test('should not show AI panel when space is pressed on non-empty paragraph', async ({
page,
utils,
}) => {
await utils.editor.focusToEditor(page);
await page.keyboard.insertText('HelloWorld');
await page.keyboard.press('Space');
await expect(page.locator('affine-ai-panel-widget')).not.toBeVisible();
});
test('should not show AI panel when space is pressed on non-paragraph block', async ({
page,
utils,
}) => {
await utils.editor.focusToEditor(page);
await page.keyboard.insertText('```js');
await page.keyboard.press('Enter');
await expect(page.locator('affine-ai-panel-widget')).not.toBeVisible();
});
}); });