🚸(frontend) ctrl+k modal not when editor is focused
ctrl+k interaction was as well used in the editor. So if the user has a focus on the editor, we don't open the searchmodal.
This commit is contained in:
@@ -12,10 +12,15 @@ and this project adheres to
|
|||||||
|
|
||||||
- 📝(doc) add publiccode.yml
|
- 📝(doc) add publiccode.yml
|
||||||
|
|
||||||
|
## Changed
|
||||||
|
|
||||||
|
- 🚸(frontend) ctrl+k modal not when editor is focused #712
|
||||||
|
|
||||||
## Fixed
|
## Fixed
|
||||||
|
|
||||||
- 🐛(back) allow only images to be used with the cors-proxy #781
|
- 🐛(back) allow only images to be used with the cors-proxy #781
|
||||||
|
|
||||||
|
|
||||||
## [2.5.0] - 2025-03-18
|
## [2.5.0] - 2025-03-18
|
||||||
|
|
||||||
## Added
|
## Added
|
||||||
|
|||||||
@@ -63,4 +63,35 @@ test.describe('Document search', () => {
|
|||||||
listSearch.getByRole('option').getByText(doc2Title),
|
listSearch.getByRole('option').getByText(doc2Title),
|
||||||
).toBeHidden();
|
).toBeHidden();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('it checks cmd+k modal search interaction', async ({
|
||||||
|
page,
|
||||||
|
browserName,
|
||||||
|
}) => {
|
||||||
|
const [doc1Title] = await createDoc(
|
||||||
|
page,
|
||||||
|
'Doc seack ctrl k',
|
||||||
|
browserName,
|
||||||
|
1,
|
||||||
|
);
|
||||||
|
await verifyDocName(page, doc1Title);
|
||||||
|
|
||||||
|
await page.keyboard.press('Control+k');
|
||||||
|
await expect(
|
||||||
|
page.getByLabel('Search modal').getByText('search'),
|
||||||
|
).toBeVisible();
|
||||||
|
|
||||||
|
await page.keyboard.press('Escape');
|
||||||
|
|
||||||
|
const editor = page.locator('.ProseMirror');
|
||||||
|
await editor.click();
|
||||||
|
await editor.fill('Hello world');
|
||||||
|
await editor.getByText('Hello world').dblclick();
|
||||||
|
|
||||||
|
await page.keyboard.press('Control+k');
|
||||||
|
await expect(page.getByRole('textbox', { name: 'Edit URL' })).toBeVisible();
|
||||||
|
await expect(
|
||||||
|
page.getByLabel('Search modal').getByText('search'),
|
||||||
|
).toBeHidden();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -5,6 +5,13 @@ export const useCmdK = (callback: () => void) => {
|
|||||||
const down = (e: KeyboardEvent) => {
|
const down = (e: KeyboardEvent) => {
|
||||||
if ((e.key === 'k' || e.key === 'K') && (e.metaKey || e.ctrlKey)) {
|
if ((e.key === 'k' || e.key === 'K') && (e.metaKey || e.ctrlKey)) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
|
||||||
|
const isProseMirrorFocused =
|
||||||
|
document.activeElement?.classList.contains('ProseMirror');
|
||||||
|
if (isProseMirrorFocused) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
callback();
|
callback();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user