11import * as vscode from 'vscode' ;
2- import { DbItem } from '../db-item' ;
2+ import {
3+ DbItem ,
4+ RemoteOwnerDbItem ,
5+ RemoteRepoDbItem ,
6+ RemoteSystemDefinedListDbItem ,
7+ RemoteUserDefinedListDbItem ,
8+ RootLocalDbItem ,
9+ RootRemoteDbItem
10+ } from '../db-item' ;
311
412/**
513 * Represents an item in the database tree view. This item could be
@@ -8,9 +16,9 @@ import { DbItem } from '../db-item';
816export class DbTreeViewItem extends vscode . TreeItem {
917 constructor (
1018 public readonly dbItem : DbItem | undefined ,
11- public readonly iconPath : vscode . ThemeIcon ,
19+ public readonly iconPath : vscode . ThemeIcon | undefined ,
1220 public readonly label : string ,
13- public readonly tooltip : string ,
21+ public readonly tooltip : string | undefined ,
1422 public readonly collapsibleState : vscode . TreeItemCollapsibleState ,
1523 public readonly children : DbTreeViewItem [ ]
1624 ) {
@@ -28,3 +36,72 @@ export function createDbTreeViewItemWarning(label: string, tooltip: string): DbT
2836 [ ]
2937 ) ;
3038}
39+
40+ export function createDbTreeViewItemRoot (
41+ dbItem : RootLocalDbItem | RootRemoteDbItem ,
42+ label : string ,
43+ tooltip : string ,
44+ children : DbTreeViewItem [ ]
45+ ) : DbTreeViewItem {
46+ return new DbTreeViewItem (
47+ dbItem ,
48+ undefined ,
49+ label ,
50+ tooltip ,
51+ vscode . TreeItemCollapsibleState . Collapsed ,
52+ children ) ;
53+ }
54+
55+ export function createDbTreeViewItemSystemDefinedList (
56+ dbItem : RemoteSystemDefinedListDbItem ,
57+ label : string ,
58+ tooltip : string
59+ ) : DbTreeViewItem {
60+ return new DbTreeViewItem (
61+ dbItem ,
62+ new vscode . ThemeIcon ( 'github' ) ,
63+ label ,
64+ tooltip ,
65+ vscode . TreeItemCollapsibleState . None ,
66+ [ ] ) ;
67+ }
68+
69+ export function createDbTreeViewItemUserDefinedList (
70+ dbItem : RemoteUserDefinedListDbItem ,
71+ listName : string ,
72+ children : DbTreeViewItem [ ]
73+ ) : DbTreeViewItem {
74+ return new DbTreeViewItem (
75+ dbItem ,
76+ undefined ,
77+ listName ,
78+ undefined ,
79+ vscode . TreeItemCollapsibleState . Collapsed ,
80+ children ) ;
81+ }
82+
83+ export function createDbTreeViewItemOwner (
84+ dbItem : RemoteOwnerDbItem ,
85+ ownerName : string ,
86+ ) : DbTreeViewItem {
87+ return new DbTreeViewItem (
88+ dbItem ,
89+ new vscode . ThemeIcon ( 'organization' ) ,
90+ ownerName ,
91+ undefined ,
92+ vscode . TreeItemCollapsibleState . None ,
93+ [ ] ) ;
94+ }
95+
96+ export function createDbTreeViewItemRepo (
97+ dbItem : RemoteRepoDbItem ,
98+ repoName : string ,
99+ ) : DbTreeViewItem {
100+ return new DbTreeViewItem (
101+ dbItem ,
102+ new vscode . ThemeIcon ( 'database' ) ,
103+ repoName ,
104+ undefined ,
105+ vscode . TreeItemCollapsibleState . None ,
106+ [ ] ) ;
107+ }
0 commit comments