本文整理匯總了TypeScript中vs/workbench/services/part/common/partService.IPartService類的典型用法代碼示例。如果您正苦於以下問題:TypeScript IPartService類的具體用法?TypeScript IPartService怎麽用?TypeScript IPartService使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了IPartService類的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: triggerAndDisposeAction
export function triggerAndDisposeAction(instantitationService: IInstantiationService, telemetryService: ITelemetryService, partService: IPartService, descriptor: SyncActionDescriptor, args: any): TPromise<any> {
let actionInstance = instantitationService.createInstance(descriptor.syncDescriptor);
actionInstance.label = descriptor.label || actionInstance.label;
// don't run the action when not enabled
if (!actionInstance.enabled) {
actionInstance.dispose();
return void 0;
}
const from = args && args.from || 'keybinding';
if (telemetryService) {
telemetryService.publicLog('workbenchActionExecuted', { id: actionInstance.id, from });
}
// run action when workbench is created
return partService.joinCreation().then(() => {
try {
return TPromise.as(actionInstance.run(undefined, { from })).then(() => {
actionInstance.dispose();
}, (err) => {
actionInstance.dispose();
return TPromise.wrapError(err);
});
} catch (err) {
actionInstance.dispose();
return TPromise.wrapError(err);
}
});
}
示例2:
run(): Thenable<any> {
if (this.isPanelFocused()) {
return this.partService.setPanelHidden(true);
}
return this.panelService.openPanel(this.panelId, true);
}
示例3:
run(): Promise<any> {
if (this.isPanelFocused()) {
this.partService.setPanelHidden(true);
} else {
this.panelService.openPanel(this.panelId, true);
}
return Promise.resolve(null);
}
示例4: isPanelFocused
private isPanelFocused(): boolean {
const activeElement = document.activeElement;
return !!(this.isPanelActive() && activeElement && isAncestor(activeElement, this.partService.getContainer(Parts.PANEL_PART)));
}