File tree 2 files changed +24
-5
lines changed
arduino-ide-extension/src/browser
2 files changed +24
-5
lines changed Original file line number Diff line number Diff line change @@ -202,11 +202,12 @@ export class NewCloudSketch extends Contribution {
202
202
private treeModelFrom (
203
203
widget : SketchbookWidget
204
204
) : CloudSketchbookTreeModel | undefined {
205
- const treeWidget = widget . getTreeWidget ( ) ;
206
- if ( treeWidget instanceof CloudSketchbookTreeWidget ) {
207
- const model = treeWidget . model ;
208
- if ( model instanceof CloudSketchbookTreeModel ) {
209
- return model ;
205
+ for ( const treeWidget of widget . getTreeWidgets ( ) ) {
206
+ if ( treeWidget instanceof CloudSketchbookTreeWidget ) {
207
+ const model = treeWidget . model ;
208
+ if ( model instanceof CloudSketchbookTreeModel ) {
209
+ return model ;
210
+ }
210
211
}
211
212
}
212
213
return undefined ;
Original file line number Diff line number Diff line change @@ -53,10 +53,28 @@ export class SketchbookWidget extends BaseWidget {
53
53
) ;
54
54
}
55
55
56
+ /**
57
+ * The currently selected sketchbook tree widget inside the view.
58
+ */
56
59
getTreeWidget ( ) : SketchbookTreeWidget {
57
60
return this . sketchbookCompositeWidget . treeWidget ;
58
61
}
59
62
63
+ /**
64
+ * An array of all sketchbook tree widgets managed by the view.
65
+ */
66
+ getTreeWidgets ( ) : SketchbookTreeWidget [ ] {
67
+ return toArray ( this . sketchbookTreesContainer . widgets ( ) ) . reduce (
68
+ ( acc , curr ) => {
69
+ if ( curr instanceof BaseSketchbookCompositeWidget ) {
70
+ acc . push ( curr . treeWidget ) ;
71
+ }
72
+ return acc ;
73
+ } ,
74
+ [ ] as SketchbookTreeWidget [ ]
75
+ ) ;
76
+ }
77
+
60
78
activeTreeWidgetId ( ) : string | undefined {
61
79
const selectedTreeWidgets = toArray (
62
80
this . sketchbookTreesContainer . selectedWidgets ( )
You can’t perform that action at this time.
0 commit comments