mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-16 10:58:30 -05:00
Data Explorer Icons (#4806)
* inital icon support * add necessary classes for icons * initialize icon to blank string
This commit is contained in:
@@ -119,7 +119,20 @@ export class OEShimService extends Disposable implements IOEShimService {
|
|||||||
private treeNodeToITreeItem(viewId: string, node: TreeNode, parentNode: ITreeItem): ITreeItem {
|
private treeNodeToITreeItem(viewId: string, node: TreeNode, parentNode: ITreeItem): ITreeItem {
|
||||||
let handle = generateUuid();
|
let handle = generateUuid();
|
||||||
let nodePath = node.nodePath;
|
let nodePath = node.nodePath;
|
||||||
let newTreeItem = {
|
let icon: string = '';
|
||||||
|
if (node.iconType) {
|
||||||
|
icon = (typeof node.iconType === 'string') ? node.iconType : node.iconType.id;
|
||||||
|
} else {
|
||||||
|
icon = node.nodeTypeId;
|
||||||
|
if (node.nodeStatus) {
|
||||||
|
icon = node.nodeTypeId + '_' + node.nodeStatus;
|
||||||
|
}
|
||||||
|
if (node.nodeSubType) {
|
||||||
|
icon = node.nodeTypeId + '_' + node.nodeSubType;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
icon = icon.toLowerCase();
|
||||||
|
let newTreeItem: ITreeItem = {
|
||||||
parentHandle: node.parent.id,
|
parentHandle: node.parent.id,
|
||||||
handle,
|
handle,
|
||||||
collapsibleState: node.isAlwaysLeaf ? TreeItemCollapsibleState.None : TreeItemCollapsibleState.Collapsed,
|
collapsibleState: node.isAlwaysLeaf ? TreeItemCollapsibleState.None : TreeItemCollapsibleState.Collapsed,
|
||||||
@@ -129,7 +142,8 @@ export class OEShimService extends Disposable implements IOEShimService {
|
|||||||
childProvider: node.childProvider || parentNode.childProvider,
|
childProvider: node.childProvider || parentNode.childProvider,
|
||||||
providerHandle: parentNode.childProvider,
|
providerHandle: parentNode.childProvider,
|
||||||
payload: node.payload || parentNode.payload,
|
payload: node.payload || parentNode.payload,
|
||||||
contextValue: node.nodeTypeId
|
contextValue: node.nodeTypeId,
|
||||||
|
sqlIcon: icon
|
||||||
};
|
};
|
||||||
this.nodeHandleMap.set(generateNodeMapKey(viewId, newTreeItem), nodePath);
|
this.nodeHandleMap.set(generateNodeMapKey(viewId, newTreeItem), nodePath);
|
||||||
return newTreeItem;
|
return newTreeItem;
|
||||||
|
|||||||
@@ -639,6 +639,7 @@ class TreeRenderer implements IRenderer {
|
|||||||
const icon = this.themeService.getTheme().type === LIGHT ? node.icon : node.iconDark;
|
const icon = this.themeService.getTheme().type === LIGHT ? node.icon : node.iconDark;
|
||||||
const iconUrl = icon ? URI.revive(icon) : null;
|
const iconUrl = icon ? URI.revive(icon) : null;
|
||||||
const title = node.tooltip ? node.tooltip : resource ? void 0 : label;
|
const title = node.tooltip ? node.tooltip : resource ? void 0 : label;
|
||||||
|
const sqlIcon = node.sqlIcon;
|
||||||
|
|
||||||
// reset
|
// reset
|
||||||
templateData.resourceLabel.clear();
|
templateData.resourceLabel.clear();
|
||||||
@@ -652,7 +653,9 @@ class TreeRenderer implements IRenderer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
templateData.icon.style.backgroundImage = iconUrl ? `url('${iconUrl.toString(true)}')` : '';
|
templateData.icon.style.backgroundImage = iconUrl ? `url('${iconUrl.toString(true)}')` : '';
|
||||||
DOM.toggleClass(templateData.icon, 'custom-view-tree-node-item-icon', !!iconUrl);
|
DOM.toggleClass(templateData.icon, sqlIcon, !!sqlIcon);
|
||||||
|
DOM.toggleClass(templateData.icon, 'icon', !!sqlIcon);
|
||||||
|
DOM.toggleClass(templateData.icon, 'custom-view-tree-node-item-icon', !!iconUrl || !!sqlIcon);
|
||||||
templateData.actionBar.context = (<TreeViewItemHandleArg>{ $treeViewId: this.treeViewId, $treeItemHandle: node.handle });
|
templateData.actionBar.context = (<TreeViewItemHandleArg>{ $treeViewId: this.treeViewId, $treeItemHandle: node.handle });
|
||||||
templateData.actionBar.push(this.menus.getResourceActions(node), { icon: true, label: false });
|
templateData.actionBar.push(this.menus.getResourceActions(node), { icon: true, label: false });
|
||||||
|
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ export interface ITreeItem extends vsITreeItem {
|
|||||||
providerHandle?: string;
|
providerHandle?: string;
|
||||||
childProvider?: string;
|
childProvider?: string;
|
||||||
payload?: IConnectionProfile; // its possible we will want this to be more generic
|
payload?: IConnectionProfile; // its possible we will want this to be more generic
|
||||||
|
sqlIcon?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface ITreeView extends vsITreeView {
|
export interface ITreeView extends vsITreeView {
|
||||||
|
|||||||
Reference in New Issue
Block a user