' +
+ '
' +
'
' + escapeHtml(conn.dataSource) + '' +
'
' + escapeHtml(conn.initialCatalog) + '' +
'
' + escapeHtml(getAuthLabel(conn.authenticationMode)) + '' +
+ '
' +
+ ' ' +
+ ' ' +
+ '
' +
'
'
)
.join('');
@@ -332,6 +420,34 @@ export class RecentConnectionsPanelProvider implements vscode.Disposable {
moveFocus(-1);
}
});
+
+ // --- action buttons ---
+ var startBtn = item.querySelector('.start-btn');
+ if (startBtn) {
+ startBtn.addEventListener('click', function (e) {
+ e.stopPropagation();
+ var idx = parseInt(startBtn.getAttribute('data-index') || '0', 10);
+ var conn = connections[idx];
+ if (conn) {
+ vscode.postMessage({ command: 'startProfiling', data: conn });
+ }
+ });
+ startBtn.addEventListener('dblclick', function (e) {
+ e.stopPropagation();
+ });
+ }
+
+ var deleteBtn = item.querySelector('.delete-btn');
+ if (deleteBtn) {
+ deleteBtn.addEventListener('click', function (e) {
+ e.stopPropagation();
+ var id = parseInt(deleteBtn.getAttribute('data-id') || '0', 10);
+ vscode.postMessage({ command: 'deleteConnection', data: id });
+ });
+ deleteBtn.addEventListener('dblclick', function (e) {
+ e.stopPropagation();
+ });
+ }
});
}