diff --git a/packages/web/src/appobj/DatabaseObjectAppObject.svelte b/packages/web/src/appobj/DatabaseObjectAppObject.svelte index 352e4f6c9..bc83bbd9b 100644 --- a/packages/web/src/appobj/DatabaseObjectAppObject.svelte +++ b/packages/web/src/appobj/DatabaseObjectAppObject.svelte @@ -826,6 +826,12 @@ onClick: () => { databaseObjectMenuClickHandler(data, menu); }, + iconAlt: menu.defaultActionId ? 'icon open-in-new' : null, + onClickAlt: menu.defaultActionId + ? () => { + databaseObjectMenuClickHandler(data, { ...menu, forceNewTab: true, defaultActionId: null }); + } + : null, }; } diff --git a/packages/web/src/modals/DropDownMenu.svelte b/packages/web/src/modals/DropDownMenu.svelte index bd56d9e44..d4a525001 100644 --- a/packages/web/src/modals/DropDownMenu.svelte +++ b/packages/web/src/modals/DropDownMenu.svelte @@ -85,6 +85,13 @@ if (item.onClick) item.onClick(); } + function handleClickAlt(e, item) { + if (item.disabled) return; + dispatchClose(); + if (onCloseParent) onCloseParent(); + if (item.onClickAlt) item.onClickAlt(); + } + onMount(() => { fixPopupPlacement(element); }); @@ -128,6 +135,11 @@ {#if item.keyText} {formatKeyText(item.keyText)} {/if} + {#if item.iconAlt} + handleClickAlt(e, item)}> + + + {/if} {#if item.submenu}