From 48ef272c66d8d8a1e1e69f161084a78911b8a3d0 Mon Sep 17 00:00:00 2001 From: Christopher Suh Date: Thu, 16 Jul 2020 17:53:04 -0400 Subject: [PATCH] fix for dragged table name (#11376) * fix for dragged table name * escaped bracket characters * fixed escaping brackets * moved outer brackets * using interpolated strings --- .../objectExplorer/browser/dragAndDropController.ts | 7 ++++--- src/vs/workbench/browser/parts/editor/editorDropTarget.ts | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/sql/workbench/services/objectExplorer/browser/dragAndDropController.ts b/src/sql/workbench/services/objectExplorer/browser/dragAndDropController.ts index 97e5e71a9a..4a754040c2 100644 --- a/src/sql/workbench/services/objectExplorer/browser/dragAndDropController.ts +++ b/src/sql/workbench/services/objectExplorer/browser/dragAndDropController.ts @@ -74,9 +74,10 @@ export class ServerTreeDragAndDrop implements IDragAndDrop { const data = dragAndDropData.getData(); const element = data[0]; if (element.nodeTypeId === 'Column' || element.nodeTypeId === 'Table') { - const schema = element.metadata.schema; - const name = element.metadata.name; - originalEvent.dataTransfer.setData(DataTransfers.RESOURCES, JSON.stringify([`${element.nodeTypeId}:${element.id}?${schema ? schema + '.' + name : name}`])); + const escapedSchema = element.metadata.schema?.replace(/]/g, ']]'); + const escapedName = element.metadata.name?.replace(/]/g, ']]'); + const finalString = escapedSchema ? `[${escapedSchema}].[${escapedName}]` : `[${escapedName}]`; + originalEvent.dataTransfer.setData(DataTransfers.RESOURCES, JSON.stringify([`${element.nodeTypeId}:${element.id}?${finalString}`])); } return; } diff --git a/src/vs/workbench/browser/parts/editor/editorDropTarget.ts b/src/vs/workbench/browser/parts/editor/editorDropTarget.ts index a58d8d45c4..4a6e7756e9 100644 --- a/src/vs/workbench/browser/parts/editor/editorDropTarget.ts +++ b/src/vs/workbench/browser/parts/editor/editorDropTarget.ts @@ -360,7 +360,7 @@ class DropOverlay extends Themable { // {{SQL CARBON EDIT}} const editor = this.editorService.activeTextEditorControl as ICodeEditor; if (untitledOrFileResources[0].resource.scheme === 'Column' || untitledOrFileResources[0].resource.scheme === 'Table') { - SnippetController2.get(editor).insert(`[${untitledOrFileResources[0].resource.query}]`); + SnippetController2.get(editor).insert(untitledOrFileResources[0].resource.query); return; }