本文整理汇总了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)));
}