diff --git a/docs/changelog.md b/docs/changelog.md index b103427..72ead60 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -26,6 +26,7 @@ Heynote now includes a lightweight drawing tool for adding quick, freehand annot - New lines in a Plaintext, Math and SQL blocks now inherits the indentation from the previous line (other languages should already have this behaviour for new lines) - Add support for [Mermaid](https://mermaid.js.org/) blocks +- Fix issue not being able to record the Enter key when creating custom key bindings ## v2.7.2 diff --git a/src/components/settings/AddKeyBind.vue b/src/components/settings/AddKeyBind.vue index 669fb45..b8d2240 100644 --- a/src/components/settings/AddKeyBind.vue +++ b/src/components/settings/AddKeyBind.vue @@ -97,7 +97,7 @@ ref="keys" /> -
+
0) { this.keys = [] } else { diff --git a/tests/playwright/custom-key-bindings.spec.js b/tests/playwright/custom-key-bindings.spec.js index ef411c2..d4eb98f 100644 --- a/tests/playwright/custom-key-bindings.spec.js +++ b/tests/playwright/custom-key-bindings.spec.js @@ -20,7 +20,7 @@ test("add custom key binding", async ({page}) => { await expect(page.locator("css=.settings .tab-content.tab-keyboard-bindings .add-key-binding-dialog")).toBeVisible() await expect(page.locator("css=.settings .tab-content.tab-keyboard-bindings .add-key-binding-dialog input.keys")).toBeFocused() await page.locator("body").press("Control+Shift+H") - await page.locator("body").press("Enter") + await page.locator("css=.settings .tab-content.tab-keyboard-bindings .add-key-binding-dialog .command-field input").click() await page.locator("body").pressSequentially("language") await page.locator(".p-autocomplete-list li.p-autocomplete-option.p-focus").click() await page.locator("css=.settings .tab-content.tab-keyboard-bindings .add-key-binding-dialog .save").click() @@ -36,6 +36,30 @@ test("add custom key binding", async ({page}) => { ) }) +test("add enter as custom key binding", async ({page}) => { + await page.locator("css=.status-block.settings").click() + await page.locator("css=.overlay .settings .dialog .sidebar li.tab-keyboard-bindings").click() + await expect(page.locator("css=.settings .tab-content.tab-keyboard-bindings")).toBeVisible() + await page.locator("css=.settings .tab-content.tab-keyboard-bindings .add-keybinding").click() + await expect(page.locator("css=.settings .tab-content.tab-keyboard-bindings .add-key-binding-dialog")).toBeVisible() + await expect(page.locator("css=.settings .tab-content.tab-keyboard-bindings .add-key-binding-dialog input.keys")).toBeFocused() + await page.locator("body").press("Control+Enter") + await page.locator("css=.settings .tab-content.tab-keyboard-bindings .add-key-binding-dialog .command-field input").click() + await page.locator("body").pressSequentially("language") + await page.locator(".p-autocomplete-list li.p-autocomplete-option.p-focus").click() + await page.locator("css=.settings .tab-content.tab-keyboard-bindings .add-key-binding-dialog .save").click() + await expect(page.locator("css=.settings .tab-content.tab-keyboard-bindings table tr.keybind-user")).toHaveCount(1) + expect((await heynotePage.getSettings()).keyBindings).toEqual([{key:"Ctrl-Enter", command:"openLanguageSelector"}]) + await page.locator("css=.overlay .settings .dialog .bottom-bar .close").click() + await page.locator("body").press("Control+Enter") + await expect(page.locator("css=.language-selector .items > li.selected")).toBeVisible() + await page.locator("body").press("Escape") + await expect(page.locator("css=.status .status-block.lang")).toHaveAttribute( + "title", + "Change language for current block (Ctrl+Enter)" + ) +}) + test("delete custom key binding", async ({page}) => { await page.locator("css=.status-block.settings").click() await page.locator("css=.overlay .settings .dialog .sidebar li.tab-keyboard-bindings").click() @@ -44,7 +68,7 @@ test("delete custom key binding", async ({page}) => { await expect(page.locator("css=.settings .tab-content.tab-keyboard-bindings .add-key-binding-dialog")).toBeVisible() await expect(page.locator("css=.settings .tab-content.tab-keyboard-bindings .add-key-binding-dialog input.keys")).toBeFocused() await page.locator("body").press("Control+Shift+H") - await page.locator("body").press("Enter") + await page.locator("css=.settings .tab-content.tab-keyboard-bindings .add-key-binding-dialog .command-field input").click() await page.locator("body").pressSequentially("language") await page.locator(".p-autocomplete-list li.p-autocomplete-option.p-focus").click() await page.locator("css=.settings .tab-content.tab-keyboard-bindings .add-key-binding-dialog .save").click()