提交 3d9f9c0d 编写于 作者: J Joao Moreno

prevent typelabel from scrolling list

上级 444b8f0f
......@@ -90,6 +90,19 @@ export interface IDragAndDropData {
getData(): any;
}
export class DragAndDropData<T> implements IDragAndDropData {
constructor(private data: T) { }
update(): void {
// noop
}
getData(): T {
return this.data;
}
}
export interface IStaticDND {
CurrentDragAndDropData: IDragAndDropData | undefined;
}
......
......@@ -636,6 +636,11 @@ export class ListView<T> implements ISpliceable<T>, IDisposable {
private onDragOver(event: IListDragEvent<T>): boolean {
this.onDragLeaveTimeout.dispose();
if (StaticDND.CurrentDragAndDropData && StaticDND.CurrentDragAndDropData.getData() === 'vscode-ui') {
return false;
}
this.setupDragAndDropScrollTopAnimation(event.browserEvent);
if (!event.browserEvent.dataTransfer) {
......
......@@ -13,7 +13,7 @@ import { StandardKeyboardEvent, IKeyboardEvent } from 'vs/base/browser/keyboardE
import { KeyCode } from 'vs/base/common/keyCodes';
import { ITreeModel, ITreeNode, ITreeRenderer, ITreeEvent, ITreeMouseEvent, ITreeContextMenuEvent, ITreeFilter, ITreeNavigator, ICollapseStateChangeEvent, ITreeDragAndDrop, TreeDragOverBubble, TreeVisibility, TreeFilterResult } from 'vs/base/browser/ui/tree/tree';
import { ISpliceable } from 'vs/base/common/sequence';
import { IDragAndDropData } from 'vs/base/browser/dnd';
import { IDragAndDropData, StaticDND, DragAndDropData } from 'vs/base/browser/dnd';
import { range } from 'vs/base/common/arrays';
import { ElementsDragAndDropData } from 'vs/base/browser/ui/list/listView';
import { domEvent } from 'vs/base/browser/event';
......@@ -456,6 +456,9 @@ class TypeFilterController<T, TFilterData> implements IDisposable {
domEvent(document, 'dragover')(onDragOver, null, disposables);
domEvent(this.domNode, 'dragend')(onDragEnd, null, disposables);
StaticDND.CurrentDragAndDropData = new DragAndDropData('vscode-ui');
disposables.push(toDisposable(() => StaticDND.CurrentDragAndDropData = undefined));
}
dispose() {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册