提交 bb273906 编写于 作者: J Joao Moreno

bring back quick open progressbar stop

上级 cbd52203
......@@ -624,10 +624,20 @@ export class QuickOpenController extends WorkbenchComponent implements IQuickOpe
private onType(value: string): void {
this.previousValue = value;
// look for a handler
const registry = Registry.as<IQuickOpenRegistry>(Extensions.Quickopen);
const handlerDescriptor = registry.getQuickOpenHandler(value);
const instantProgress = handlerDescriptor && handlerDescriptor.instantProgress;
// Use a generated token to avoid race conditions from long running promises
let currentResultToken = uuid.generateUuid();
this.currentResultToken = currentResultToken;
// Reset Progress
if (!instantProgress) {
this.quickOpenWidget.getProgressBar().stop().getContainer().hide();
}
// Reset Extra Class
this.quickOpenWidget.setExtraClass(null);
......@@ -643,9 +653,6 @@ export class QuickOpenController extends WorkbenchComponent implements IQuickOpe
let resultPromise: TPromise<void>;
let resultPromiseDone = false;
// look for a handler
let registry = (<IQuickOpenRegistry>Registry.as(Extensions.Quickopen));
let handlerDescriptor = registry.getQuickOpenHandler(value);
if (handlerDescriptor) {
resultPromise = this.handleSpecificHandler(handlerDescriptor, value, currentResultToken);
}
......@@ -660,7 +667,7 @@ export class QuickOpenController extends WorkbenchComponent implements IQuickOpe
this.previousActiveHandlerDescriptor = handlerDescriptor;
// Progress if task takes a long time
TPromise.timeout(handlerDescriptor && handlerDescriptor.instantProgress ? 0 : 800).then(() => {
TPromise.timeout(instantProgress ? 0 : 800).then(() => {
if (!resultPromiseDone && currentResultToken === this.currentResultToken) {
this.quickOpenWidget.getProgressBar().infinite().getContainer().show();
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册