wip: basic list dnd with animation

This commit is contained in:
Joao Moreno
2019-01-08 16:41:39 +01:00
parent 669b8c9cd4
commit fd3188fbb6
8 changed files with 311 additions and 59 deletions

View File

@@ -11,7 +11,7 @@ import { TimeoutTimer } from 'vs/base/common/async';
import { CharCode } from 'vs/base/common/charCode';
import { onUnexpectedError } from 'vs/base/common/errors';
import { Emitter, Event } from 'vs/base/common/event';
import { Disposable, IDisposable, dispose } from 'vs/base/common/lifecycle';
import { Disposable, IDisposable, dispose, toDisposable } from 'vs/base/common/lifecycle';
import * as platform from 'vs/base/common/platform';
import { coalesce } from 'vs/base/common/arrays';
@@ -1157,3 +1157,18 @@ export function windowOpenNoOpener(url: string): void {
}
}
}
export function animate(fn: () => void): IDisposable {
const step = () => {
fn();
stepDisposable = scheduleAtNextAnimationFrame(step);
};
let stepDisposable = scheduleAtNextAnimationFrame(step);
return toDisposable(() => stepDisposable.dispose());
}
export function timeout(fn: () => void, millis: number): IDisposable {
const timer = setTimeout(fn, millis);
return toDisposable(() => clearTimeout(timer));
}