Skip to content

Commit a855a51

Browse files
jeanp413sbatten
andauthored
Fixes Error Cannot read property 'id' of undefined when dragging view to Panel with no pinned views (microsoft#99582)
* Fixes microsoft#99581 * use visible composite ids Co-authored-by: SteVen Batten <stbatt@microsoft.com>
1 parent bd57bd7 commit a855a51

1 file changed

Lines changed: 6 additions & 6 deletions

File tree

src/vs/workbench/browser/parts/compositeBar.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -234,13 +234,13 @@ export class CompositeBar extends Widget implements ICompositeBar {
234234
this._register(CompositeDragAndDropObserver.INSTANCE.registerTarget(parent, {
235235
onDragOver: (e: IDraggedCompositeData) => {
236236
// don't add feedback if this is over the composite bar actions or there are no actions
237-
if (!(this.compositeSwitcherBar?.length()) || (e.eventData.target && isAncestor(e.eventData.target as HTMLElement, actionBarDiv))) {
237+
const visibleItems = this.getVisibleComposites();
238+
if (!visibleItems.length || (e.eventData.target && isAncestor(e.eventData.target as HTMLElement, actionBarDiv))) {
238239
toggleClass(parent, 'dragged-over', false);
239240
return;
240241
}
241242

242-
const pinnedItems = this.getPinnedComposites();
243-
const validDropTarget = this.options.dndHandler.onDragOver(e.dragAndDropData, pinnedItems[pinnedItems.length - 1].id, e.eventData);
243+
const validDropTarget = this.options.dndHandler.onDragOver(e.dragAndDropData, visibleItems[visibleItems.length - 1].id, e.eventData);
244244
toggleClass(parent, 'dragged-over', validDropTarget);
245245
},
246246

@@ -251,9 +251,9 @@ export class CompositeBar extends Widget implements ICompositeBar {
251251
toggleClass(parent, 'dragged-over', false);
252252
},
253253
onDrop: (e: IDraggedCompositeData) => {
254-
const pinnedItems = this.getPinnedComposites();
255-
if (pinnedItems.length) {
256-
this.options.dndHandler.drop(e.dragAndDropData, pinnedItems[pinnedItems.length - 1].id, e.eventData, { horizontallyBefore: false, verticallyBefore: false });
254+
const visibleItems = this.getVisibleComposites();
255+
if (visibleItems.length) {
256+
this.options.dndHandler.drop(e.dragAndDropData, visibleItems[visibleItems.length - 1].id, e.eventData, { horizontallyBefore: false, verticallyBefore: false });
257257
}
258258
toggleClass(parent, 'dragged-over', false);
259259
}

0 commit comments

Comments
 (0)