Skip to content

Commit 23e1f6e

Browse files
copy result handler (#87)
* Remove duplicated types (#85) * Remove duplicated types * Remove max line length * add copy result to query provider (#86) * add copy result to query provider * fix error * update js --------- Co-authored-by: Charles Gagnon <[email protected]>
1 parent fed4e05 commit 23e1f6e

14 files changed

+463
-829
lines changed

lib/codeConverter.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@ function asScriptingParams(ownerURI, operation, metadata, paramDetails) {
2121
type: metadata.metadataTypeName,
2222
schema: metadata.schema,
2323
name: metadata.name,
24-
// cast to any since azdata needs to be updated to pickup this new field
25-
// TODO: remove cast once updated azdata is published (8/24/2021 - karlb)
2624
parentName: metadata.parentName,
2725
parentTypeName: metadata.parentTypeName
2826
};

lib/main.js

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -196,12 +196,7 @@ class ConnectionFeature extends SqlOpsFeature {
196196
});
197197
};
198198
let registerOnConnectionChanged = (handler) => {
199-
client.onNotification(protocol.ConnectionChangedNotification.type, (params) => {
200-
handler({
201-
connectionUri: params.ownerUri,
202-
connection: params.connection
203-
});
204-
});
199+
client.onNotification(protocol.ConnectionChangedNotification.type, handler);
205200
};
206201
azdata.dataprotocol.onDidChangeLanguageFlavor((params) => {
207202
client.sendNotification(protocol.LanguageFlavorChangedNotification.type, params);
@@ -381,6 +376,12 @@ class QueryFeature extends SqlOpsFeature {
381376
return Promise.reject(e);
382377
});
383378
};
379+
let copyResults = (params) => {
380+
return client.sendRequest(protocol.CopyResultsRequest.type, params).then(r => undefined, e => {
381+
client.logFailedRequest(protocol.CopyResultsRequest.type, e);
382+
return Promise.reject(e);
383+
});
384+
};
384385
// Edit Data Requests
385386
let commitEdit = (ownerUri) => {
386387
let params = { ownerUri };
@@ -479,7 +480,8 @@ class QueryFeature extends SqlOpsFeature {
479480
runQueryStatement,
480481
runQueryString,
481482
saveResults,
482-
updateCell
483+
updateCell,
484+
copyResults
483485
});
484486
}
485487
}
@@ -505,6 +507,7 @@ QueryFeature.messagesTypes = [
505507
protocol.SaveResultsAsMarkdownRequest.type,
506508
protocol.SaveResultsAsExcelRequest.type,
507509
protocol.SaveResultsAsXmlRequest.type,
510+
protocol.CopyResultsRequest.type,
508511
protocol.EditCommitRequest.type,
509512
protocol.EditCreateRowRequest.type,
510513
protocol.EditDeleteRowRequest.type,

lib/protocol.d.ts

Lines changed: 14 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -104,26 +104,13 @@ export declare namespace ConnectionRequest {
104104
const type: RequestType<ConnectParams, boolean, void, void>;
105105
}
106106
export declare namespace ConnectionCompleteNotification {
107-
const type: NotificationType<types.ConnectionCompleteParams, void>;
108-
}
109-
/**
110-
* Parameters for the ConnectionChanged notification.
111-
*/
112-
export declare class ConnectionChangedParams {
113-
/**
114-
* Owner URI of the connection that changed.
115-
*/
116-
ownerUri: string;
117-
/**
118-
* Summary of details containing any connection changes.
119-
*/
120-
connection: types.ConnectionSummary;
107+
const type: NotificationType<azdata.ConnectionInfoSummary, void>;
121108
}
122109
/**
123110
* Connection changed event callback declaration.
124111
*/
125112
export declare namespace ConnectionChangedNotification {
126-
const type: NotificationType<ConnectionChangedParams, void>;
113+
const type: NotificationType<azdata.ChangedConnectionInfo, void>;
127114
}
128115
/**
129116
* Connection request message format
@@ -307,6 +294,9 @@ export declare namespace SaveResultsAsExcelRequest {
307294
export declare namespace SaveResultsAsXmlRequest {
308295
const type: RequestType<azdata.SaveResultsRequestParams, azdata.SaveResultRequestResult, void, void>;
309296
}
297+
export declare namespace CopyResultsRequest {
298+
const type: RequestType<azdata.CopyResultsRequestParams, void, void, void>;
299+
}
310300
export declare namespace SyntaxParseRequest {
311301
const type: RequestType<azdata.SyntaxParseParams, azdata.SyntaxParseResult, void, void>;
312302
}
@@ -330,7 +320,7 @@ export declare namespace ScriptingRequest {
330320
const type: RequestType<types.ScriptingParams, azdata.ScriptingResult, void, void>;
331321
}
332322
export declare namespace ScriptingCompleteNotification {
333-
const type: NotificationType<types.ScriptingCompleteParams, void>;
323+
const type: NotificationType<azdata.ScriptingCompleteResult, void>;
334324
}
335325
export interface EditSessionOperationParams {
336326
ownerUri: string;
@@ -383,28 +373,28 @@ export declare namespace EditSubsetRequest {
383373
const type: RequestType<azdata.EditSubsetParams, azdata.EditSubsetResult, void, void>;
384374
}
385375
export declare namespace ObjectExplorerCreateSessionRequest {
386-
const type: RequestType<azdata.ConnectionInfo, types.CreateSessionResponse, void, void>;
376+
const type: RequestType<azdata.ConnectionInfo, azdata.ObjectExplorerSessionResponse, void, void>;
387377
}
388378
export declare namespace ObjectExplorerExpandRequest {
389-
const type: RequestType<types.ExpandParams, boolean, void, void>;
379+
const type: RequestType<azdata.ExpandNodeInfo, boolean, void, void>;
390380
}
391381
export declare namespace ObjectExplorerRefreshRequest {
392-
const type: RequestType<types.ExpandParams, boolean, void, void>;
382+
const type: RequestType<azdata.ExpandNodeInfo, boolean, void, void>;
393383
}
394384
export declare namespace ObjectExplorerCloseSessionRequest {
395-
const type: RequestType<types.CloseSessionParams, types.CloseSessionResponse, void, void>;
385+
const type: RequestType<azdata.ObjectExplorerCloseSessionInfo, azdata.ObjectExplorerCloseSessionResponse, void, void>;
396386
}
397387
export declare namespace ObjectExplorerFindNodesRequest {
398-
const type: RequestType<types.FindNodesParams, types.FindNodesResponse, void, void>;
388+
const type: RequestType<azdata.FindNodesInfo, azdata.ObjectExplorerFindNodesResponse, void, void>;
399389
}
400390
export declare namespace ObjectExplorerCreateSessionCompleteNotification {
401-
const type: NotificationType<types.SessionCreatedParameters, void>;
391+
const type: NotificationType<azdata.ObjectExplorerSession, void>;
402392
}
403393
export declare namespace ObjectExplorerSessionDisconnectedNotification {
404-
const type: NotificationType<types.SessionDisconnectedParameters, void>;
394+
const type: NotificationType<azdata.ObjectExplorerSession, void>;
405395
}
406396
export declare namespace ObjectExplorerExpandCompleteNotification {
407-
const type: NotificationType<types.ExpandResponse, void>;
397+
const type: NotificationType<azdata.ObjectExplorerExpandInfo, void>;
408398
}
409399
export declare namespace ListTasksRequest {
410400
const type: RequestType<azdata.ListTasksParams, azdata.ListTasksResponse, void, void>;

lib/protocol.js

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
"use strict";
22
Object.defineProperty(exports, "__esModule", { value: true });
3-
exports.ScriptingRequest = exports.MetadataQueryRequest = exports.QueryExecutionOptionsRequest = exports.QueryExecuteStringRequest = exports.SimpleExecuteRequest = exports.SyntaxParseRequest = exports.SaveResultsAsXmlRequest = exports.SaveResultsAsExcelRequest = exports.SaveResultsAsMarkdownRequest = exports.SaveResultsAsJsonRequest = exports.SaveResultsAsCsvRequest = exports.QueryExecuteStatementRequest = exports.QueryExecuteSubsetRequest = exports.QueryExecuteRequest = exports.QueryExecuteMessageNotification = exports.QueryExecuteResultSetUpdatedNotification = exports.QueryExecuteResultSetAvailableNotification = exports.QueryExecuteBatchCompleteNotification = exports.QueryExecuteBatchStartNotification = exports.QueryExecuteCompleteNotification = exports.ConnectionUriChangedParams = exports.ConnectionUriChangedNotification = exports.QueryDisposeRequest = exports.QueryCancelRequest = exports.CapabiltiesDiscoveryRequest = exports.CapabiltiesDiscoveryParams = exports.IntelliSenseReadyNotification = exports.ViewMetadataRequest = exports.TableMetadataRequest = exports.TableMetadataResult = exports.TableMetadataParams = exports.LanguageFlavorChangedNotification = exports.BuildConnectionInfoRequest = exports.GetConnectionStringRequest = exports.GetConnectionStringParams = exports.ListDatabasesRequest = exports.ListDatabasesParams = exports.ChangeDatabaseRequest = exports.ChangeDatabaseParams = exports.CancelConnectRequest = exports.CancelConnectParams = exports.DisconnectRequest = exports.DisconnectParams = exports.ChangePasswordRequest = exports.ConnectionChangedNotification = exports.ConnectionChangedParams = exports.ConnectionCompleteNotification = exports.ConnectionRequest = exports.RebuildIntelliSenseParams = exports.RebuildIntelliSenseNotification = void 0;
3+
exports.ScriptingRequest = exports.MetadataQueryRequest = exports.QueryExecutionOptionsRequest = exports.QueryExecuteStringRequest = exports.SimpleExecuteRequest = exports.SyntaxParseRequest = exports.CopyResultsRequest = exports.SaveResultsAsXmlRequest = exports.SaveResultsAsExcelRequest = exports.SaveResultsAsMarkdownRequest = exports.SaveResultsAsJsonRequest = exports.SaveResultsAsCsvRequest = exports.QueryExecuteStatementRequest = exports.QueryExecuteSubsetRequest = exports.QueryExecuteRequest = exports.QueryExecuteMessageNotification = exports.QueryExecuteResultSetUpdatedNotification = exports.QueryExecuteResultSetAvailableNotification = exports.QueryExecuteBatchCompleteNotification = exports.QueryExecuteBatchStartNotification = exports.QueryExecuteCompleteNotification = exports.ConnectionUriChangedParams = exports.ConnectionUriChangedNotification = exports.QueryDisposeRequest = exports.QueryCancelRequest = exports.CapabiltiesDiscoveryRequest = exports.CapabiltiesDiscoveryParams = exports.IntelliSenseReadyNotification = exports.ViewMetadataRequest = exports.TableMetadataRequest = exports.TableMetadataResult = exports.TableMetadataParams = exports.LanguageFlavorChangedNotification = exports.BuildConnectionInfoRequest = exports.GetConnectionStringRequest = exports.GetConnectionStringParams = exports.ListDatabasesRequest = exports.ListDatabasesParams = exports.ChangeDatabaseRequest = exports.ChangeDatabaseParams = exports.CancelConnectRequest = exports.CancelConnectParams = exports.DisconnectRequest = exports.DisconnectParams = exports.ChangePasswordRequest = exports.ConnectionChangedNotification = exports.ConnectionCompleteNotification = exports.ConnectionRequest = exports.RebuildIntelliSenseParams = exports.RebuildIntelliSenseNotification = void 0;
44
exports.FileBrowserCloseRequest = exports.FileBrowserValidatedNotification = exports.FileBrowserValidateRequest = exports.FileBrowserExpandedNotification = exports.FileBrowserExpandRequest = exports.FileBrowserOpenedNotification = exports.FileBrowserOpenRequest = exports.RestoreConfigInfoRequest = exports.CancelRestorePlanRequest = exports.RestorePlanRequest = exports.RestoreRequest = exports.BackupConfigInfoRequest = exports.BackupRequest = exports.GetDatabaseInfoRequest = exports.CreateLoginRequest = exports.DefaultDatabaseInfoRequest = exports.CreateDatabaseRequest = exports.TaskCreatedNotification = exports.TaskStatusChangedNotification = exports.CancelTaskRequest = exports.ListTasksRequest = exports.ObjectExplorerExpandCompleteNotification = exports.ObjectExplorerSessionDisconnectedNotification = exports.ObjectExplorerCreateSessionCompleteNotification = exports.ObjectExplorerFindNodesRequest = exports.ObjectExplorerCloseSessionRequest = exports.ObjectExplorerRefreshRequest = exports.ObjectExplorerExpandRequest = exports.ObjectExplorerCreateSessionRequest = exports.EditSubsetRequest = exports.EditUpdateCellRequest = exports.EditSessionReadyNotification = exports.EditRevertRowRequest = exports.EditRevertCellRequest = exports.EditInitializeRequest = exports.EditDisposeRequest = exports.EditDeleteRowRequest = exports.EditCreateRowRequest = exports.EditCommitRequest = exports.ScriptingCompleteNotification = void 0;
55
const vscode_languageclient_1 = require("vscode-languageclient");
66
// ---- Refresh IntelliSense ----------------------------------------
@@ -28,12 +28,6 @@ var ConnectionCompleteNotification;
2828
ConnectionCompleteNotification.type = new vscode_languageclient_1.NotificationType('connection/complete');
2929
})(ConnectionCompleteNotification = exports.ConnectionCompleteNotification || (exports.ConnectionCompleteNotification = {}));
3030
// ------------------------------- < Connection Changed Event > -------------------------------------
31-
/**
32-
* Parameters for the ConnectionChanged notification.
33-
*/
34-
class ConnectionChangedParams {
35-
}
36-
exports.ConnectionChangedParams = ConnectionChangedParams;
3731
/**
3832
* Connection changed event callback declaration.
3933
*/
@@ -241,6 +235,13 @@ var SaveResultsAsXmlRequest;
241235
SaveResultsAsXmlRequest.type = new vscode_languageclient_1.RequestType('query/saveXml');
242236
})(SaveResultsAsXmlRequest = exports.SaveResultsAsXmlRequest || (exports.SaveResultsAsXmlRequest = {}));
243237
// --------------------------------- </ Save Results as Xml Request > ------------------------------------------
238+
// --------------------------------- < Copy Results Request > ------------------------------------------
239+
// copy results to clipboard
240+
var CopyResultsRequest;
241+
(function (CopyResultsRequest) {
242+
CopyResultsRequest.type = new vscode_languageclient_1.RequestType('query/copy');
243+
})(CopyResultsRequest = exports.CopyResultsRequest || (exports.CopyResultsRequest = {}));
244+
// --------------------------------- </ Copy Results Request > ------------------------------------------
244245
// ------------------------------- < T-SQL Syntax Parse > -----------------------------------
245246
var SyntaxParseRequest;
246247
(function (SyntaxParseRequest) {

0 commit comments

Comments
 (0)