mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-19 17:22:48 -05:00
Add AsyncServerTree (#11838)
* wip * Fixes * More fixes * more fixes * Disable when preview features disabled * remove unused imports * Handle promises * PR feedback * Single default ServerGroup color value
This commit is contained in:
@@ -18,13 +18,14 @@ import {
|
||||
} from 'sql/workbench/services/objectExplorer/browser/connectionTreeAction';
|
||||
import { IObjectExplorerService } from 'sql/workbench/services/objectExplorer/browser/objectExplorerService';
|
||||
import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
|
||||
import { ITree } from 'vs/base/parts/tree/browser/tree';
|
||||
import { ViewPane, IViewPaneOptions } from 'vs/workbench/browser/parts/views/viewPaneContainer';
|
||||
import { IViewDescriptorService } from 'vs/workbench/common/views';
|
||||
import { IOpenerService } from 'vs/platform/opener/common/opener';
|
||||
import { IThemeService } from 'vs/platform/theme/common/themeService';
|
||||
import { ILogService } from 'vs/platform/log/common/log';
|
||||
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
|
||||
import { ITree } from 'vs/base/parts/tree/browser/tree';
|
||||
import { AsyncServerTree } from 'sql/workbench/services/objectExplorer/browser/asyncServerTree';
|
||||
|
||||
export class ConnectionViewletPanel extends ViewPane {
|
||||
|
||||
@@ -82,7 +83,7 @@ export class ConnectionViewletPanel extends ViewPane {
|
||||
this._root = container;
|
||||
}
|
||||
|
||||
get serversTree(): ITree {
|
||||
get serversTree(): ITree | AsyncServerTree {
|
||||
return this._serverTreeView.tree;
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,8 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
/* --- Registered servers tree viewlet --- */
|
||||
.server-explorer-viewlet .monaco-tree .monaco-tree-row .content .server-group {
|
||||
.server-explorer-viewlet .monaco-tree .monaco-tree-row .content .server-group,
|
||||
.server-explorer-viewlet .monaco-list .monaco-list-row .content .server-group {
|
||||
cursor: default;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
@@ -15,7 +16,13 @@
|
||||
.server-explorer-viewlet:lang(zh-Hans) .monaco-tree .monaco-tree-row .server-group,
|
||||
.server-explorer-viewlet:lang(zh-Hant) .monaco-tree .monaco-tree-row .server-group,
|
||||
.server-explorer-viewlet:lang(ja) .monaco-tree .monaco-tree-row .server-group,
|
||||
.server-explorer-viewlet:lang(ko) .monaco-tree .monaco-tree-row .server-group { font-weight: normal; }
|
||||
.server-explorer-viewlet:lang(ko) .monaco-tree .monaco-tree-row .server-group,
|
||||
.server-explorer-viewlet:lang(zh-Hans) .monaco-list .monaco-list-row .server-group,
|
||||
.server-explorer-viewlet:lang(zh-Hant) .monaco-list .monaco-list-row .server-group,
|
||||
.server-explorer-viewlet:lang(ja) .monaco-list .monaco-list-row .server-group,
|
||||
.server-explorer-viewlet:lang(ko) .monaco-list .monaco-list-row .server-group {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
/* High Contrast Theming */
|
||||
.monaco-workbench.hc-black .server-explorer-viewlet .server-group {
|
||||
@@ -48,14 +55,19 @@
|
||||
|
||||
/* Add space beneath the button */
|
||||
.new-connection .monaco-text-button {
|
||||
margin-bottom: 2px;
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
|
||||
/* display action buttons on hover */
|
||||
.server-explorer-viewlet .monaco-tree .monaco-tree-row > .content {
|
||||
.server-explorer-viewlet .monaco-tree .monaco-tree-row > .content,
|
||||
.server-explorer-viewlet .monaco-list .monaco-list-row {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.server-explorer-viewlet .monaco-tl-row {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* Added to display the tree in connection dialog */
|
||||
.server-explorer-viewlet {
|
||||
height: 100%;
|
||||
@@ -74,7 +86,9 @@ margin-bottom: 2px;
|
||||
|
||||
/* OE and connection element group */
|
||||
.monaco-tree .monaco-tree-rows > .monaco-tree-row > .content > .connection-tile,
|
||||
.monaco-tree .monaco-tree-rows > .monaco-tree-row > .content > .object-element-group {
|
||||
.monaco-tree .monaco-tree-rows > .monaco-tree-row > .content > .object-element-group,
|
||||
.monaco-list .monaco-list-rows > .monaco-list-row .connection-tile,
|
||||
.monaco-list .monaco-list-rows > .monaco-list-row .object-element-group {
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
padding-top: 3px;
|
||||
@@ -84,26 +98,33 @@ margin-bottom: 2px;
|
||||
|
||||
/* OE and connection label */
|
||||
.monaco-tree .monaco-tree-rows > .monaco-tree-row > .content > .connection-tile > .label,
|
||||
.monaco-tree .monaco-tree-rows > .monaco-tree-row > .content > .object-element-group > .label {
|
||||
.monaco-tree .monaco-tree-rows > .monaco-tree-row > .content > .object-element-group > .label,
|
||||
.monaco-list .monaco-list-rows > .monaco-list-row .connection-tile > .label,
|
||||
.monaco-list .monaco-list-rows > .monaco-list-row .object-element-group > .label {
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/* OE and connection icon */
|
||||
.monaco-tree .monaco-tree-rows > .monaco-tree-row > .content > .connection-tile > .icon,
|
||||
.monaco-tree .monaco-tree-rows > .monaco-tree-row > .content > .object-element-group > .icon {
|
||||
.monaco-tree .monaco-tree-rows > .monaco-tree-row > .content > .object-element-group > .icon,
|
||||
.monaco-list .monaco-list-rows > .monaco-list-row .connection-tile > .icon,
|
||||
.monaco-list .monaco-list-rows > .monaco-list-row .object-element-group > .icon {
|
||||
float: left;
|
||||
height: 16px;
|
||||
width: 16px;
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
.monaco-tree .monaco-tree-rows > .monaco-tree-row > .content > .connection-tile > .icon.server-page {
|
||||
.monaco-tree .monaco-tree-rows > .monaco-tree-row > .content > .connection-tile > .icon.server-page,
|
||||
.monaco-list .monaco-list-rows > .monaco-list-row .connection-tile > .icon.server-page {
|
||||
background: url('default_server.svg') center center no-repeat;
|
||||
}
|
||||
|
||||
.vs-dark .monaco-tree .monaco-tree-rows > .monaco-tree-row > .content > .connection-tile > .icon.server-page,
|
||||
.hc-black .monaco-tree .monaco-tree-rows > .monaco-tree-row > .content > .connection-tile > .icon.server-page{
|
||||
.hc-black .monaco-tree .monaco-tree-rows > .monaco-tree-row > .content > .connection-tile > .icon.server-page,
|
||||
.vs-dark .monaco-list .monaco-list-rows > .monaco-list-row .connection-tile > .icon.server-page,
|
||||
.hc-black .monaco-list .monaco-list-rows > .monaco-list-row .connection-tile > .icon.server-page {
|
||||
background: url('default_server_inverse.svg') center center no-repeat;
|
||||
}
|
||||
|
||||
@@ -118,11 +139,40 @@ margin-bottom: 2px;
|
||||
left: -35px;
|
||||
}
|
||||
|
||||
.monaco-tree .monaco-tree-rows.show-twisties > .monaco-tree-row.expanded.has-children > .content.server-group:before {
|
||||
.monaco-list .connection-tile > .icon.server-page::after {
|
||||
position: absolute;
|
||||
height: 0.25rem;
|
||||
width: 0.25rem;
|
||||
top: 14px;
|
||||
left: 45px;
|
||||
border-radius: 100%;
|
||||
content:"";
|
||||
font-size: 100%;
|
||||
line-height: 100%;
|
||||
color:white;
|
||||
text-align:center;
|
||||
vertical-align:middle;
|
||||
}
|
||||
|
||||
/* Connected badge */
|
||||
.monaco-list .connection-tile > .icon.server-page.connected::after {
|
||||
border: 0.12rem solid rgba(59, 180, 74, 100%);
|
||||
background: rgba(59, 180, 74, 100%);
|
||||
}
|
||||
|
||||
/* Disconnected badge */
|
||||
.monaco-list .connection-tile > .icon.server-page.disconnected::after {
|
||||
border: 0.12rem solid rgba(208, 46, 0, 100%);
|
||||
background: rgba(255, 255, 255, 80%);
|
||||
}
|
||||
|
||||
.monaco-tree .monaco-tree-rows.show-twisties > .monaco-tree-row.expanded.has-children > .content.server-group:before,
|
||||
.monaco-list .monaco-list-rows.show-twisties > .monaco-list-row.expanded.has-children > .content.server-group:before {
|
||||
background: url('expanded-dark.svg') 50% 50% no-repeat;
|
||||
}
|
||||
|
||||
.monaco-tree .monaco-tree-rows.show-twisties > .monaco-tree-row.has-children > .content.server-group:before {
|
||||
.monaco-tree .monaco-tree-rows.show-twisties > .monaco-tree-row.has-children > .content.server-group:before,
|
||||
.monaco-list .monaco-list-rows.show-twisties > .monaco-list-row.has-children > .content.server-group:before {
|
||||
background: url('collapsed-dark.svg') 50% 50% no-repeat;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user