From 5737e23dd6b7e5463a00316e7c6d7e8a8adaf8f3 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Fri, 29 Jul 2022 12:10:53 +0100 Subject: [PATCH] Add keybindings to component context menu. Add duplicate keybinding. Simplify pasting --- packages/bbui/src/Menu/Item.svelte | 13 +++++ .../navigation/ComponentDropdownMenu.svelte | 52 +++++++++++-------- .../navigation/ComponentListPanel.svelte | 4 ++ .../components/preview/KeyboardManager.svelte | 6 +++ 4 files changed, 54 insertions(+), 21 deletions(-) diff --git a/packages/bbui/src/Menu/Item.svelte b/packages/bbui/src/Menu/Item.svelte index a5609683a..138eb33b3 100644 --- a/packages/bbui/src/Menu/Item.svelte +++ b/packages/bbui/src/Menu/Item.svelte @@ -8,6 +8,7 @@ export let icon = undefined export let disabled = undefined export let noClose = false + export let keyBind = undefined const onClick = () => { if (actionMenu && !noClose) { @@ -36,10 +37,22 @@ {/if} + {#if keyBind} +
+ {keyBind} +
+ {/if} diff --git a/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_components/navigation/ComponentDropdownMenu.svelte b/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_components/navigation/ComponentDropdownMenu.svelte index ed66c66c2..d2e35b836 100644 --- a/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_components/navigation/ComponentDropdownMenu.svelte +++ b/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_components/navigation/ComponentDropdownMenu.svelte @@ -64,44 +64,54 @@
- + Delete - + Move up - + Move down - + Duplicate - storeComponentForCopy(true)}> - Cut - - storeComponentForCopy(false)}> - Copy - pasteComponent("above")} - disabled={noPaste} + icon="Cut" + keyBind="Ctrl+X" + on:click={() => storeComponentForCopy(true)} > - Paste above + Cut pasteComponent("below")} - disabled={noPaste} + icon="Copy" + keyBind="Ctrl+C" + on:click={() => storeComponentForCopy(false)} > - Paste below + Copy pasteComponent("inside")} - disabled={noPaste || noChildrenAllowed} + disabled={noPaste} > - Paste inside + Paste