diff --git a/packages/web/src/appobj/AppObjectCore.svelte b/packages/web/src/appobj/AppObjectCore.svelte index fba5022cb..facb0e1d9 100644 --- a/packages/web/src/appobj/AppObjectCore.svelte +++ b/packages/web/src/appobj/AppObjectCore.svelte @@ -19,6 +19,7 @@ export let menu = undefined; export let expandIcon = undefined; export let checkedObjectsStore = null; + export let disableContextMenu = false; $: isChecked = checkedObjectsStore && $checkedObjectsStore.find(x => module.extractKey(data) == module.extractKey(x)); @@ -52,7 +53,7 @@ class:isBold draggable={true} on:click={handleClick} - use:contextMenu={menu} + use:contextMenu={disableContextMenu ? null : menu} on:dragstart={e => { e.dataTransfer.setData('app_object_drag_data', JSON.stringify(data)); }} diff --git a/packages/web/src/appobj/AppObjectGroup.svelte b/packages/web/src/appobj/AppObjectGroup.svelte index 134b8609b..ee516479e 100644 --- a/packages/web/src/appobj/AppObjectGroup.svelte +++ b/packages/web/src/appobj/AppObjectGroup.svelte @@ -12,6 +12,7 @@ export let items; export let module; export let checkedObjectsStore = null; + export let disableContextMenu = false; let isExpanded = true; @@ -52,7 +53,14 @@ {/if} {#each filtered as item (module.extractKey(item.data))} - + {/each} {/if} diff --git a/packages/web/src/appobj/AppObjectList.svelte b/packages/web/src/appobj/AppObjectList.svelte index 7958d4a8d..cf27e6652 100644 --- a/packages/web/src/appobj/AppObjectList.svelte +++ b/packages/web/src/appobj/AppObjectList.svelte @@ -12,6 +12,7 @@ export let filter; export let expandIconFunc = undefined; export let checkedObjectsStore = null; + export let disableContextMenu = false; export let groupFunc = undefined; @@ -46,6 +47,7 @@ {subItemsComponent} {checkedObjectsStore} {groupFunc} + {disableContextMenu} /> {/each} {:else} @@ -59,6 +61,7 @@ on:objectClick {expandIconFunc} {checkedObjectsStore} + {disableContextMenu} /> {/each} {/if} diff --git a/packages/web/src/appobj/AppObjectListItem.svelte b/packages/web/src/appobj/AppObjectListItem.svelte index a14754279..ecf1548b3 100644 --- a/packages/web/src/appobj/AppObjectListItem.svelte +++ b/packages/web/src/appobj/AppObjectListItem.svelte @@ -17,6 +17,7 @@ export let isExpandable = undefined; export let expandIconFunc = plusExpandIcon; export let checkedObjectsStore = null; + export let disableContextMenu = false; let isExpanded = false; @@ -44,6 +45,7 @@ expandIcon={getExpandIcon(expandable, subItemsComponent, isExpanded, expandIconFunc)} {checkedObjectsStore} {module} + {disableContextMenu} /> {#if isExpanded && subItemsComponent} diff --git a/packages/web/src/modals/SqlGeneratorModal.svelte b/packages/web/src/modals/SqlGeneratorModal.svelte index c3ce9a348..b8f1bed42 100644 --- a/packages/web/src/modals/SqlGeneratorModal.svelte +++ b/packages/web/src/modals/SqlGeneratorModal.svelte @@ -131,6 +131,10 @@ SQL Generator + + + {database} + {#if busy} {/if} @@ -151,6 +155,7 @@ groupFunc={data => _.startCase(data.objectTypeField)} isExpandable={data => data.objectTypeField == 'tables' || data.objectTypeField == 'views'} filter={objectsFilter} + disableContextMenu {checkedObjectsStore} /> @@ -245,4 +250,8 @@ margin: 5px; margin-top: 20px; } + + .dbname { + color: var(--theme-font-3); + } diff --git a/packages/web/src/utility/contextMenu.ts b/packages/web/src/utility/contextMenu.ts index 5538e28cf..072698258 100644 --- a/packages/web/src/utility/contextMenu.ts +++ b/packages/web/src/utility/contextMenu.ts @@ -5,9 +5,11 @@ export default function contextMenu(node, items) { const handleContextMenu = e => { e.preventDefault(); e.stopPropagation(); - const left = e.pageX; - const top = e.pageY; - currentDropDownMenu.set({ left, top, items: _.isFunction(items) ? items() : items }); + if (items) { + const left = e.pageX; + const top = e.pageY; + currentDropDownMenu.set({ left, top, items: _.isFunction(items) ? items() : items }); + } }; node.addEventListener('contextmenu', handleContextMenu);