diff --git a/packages/plugin-ext/src/main/browser/view/plugin-view-registry.ts b/packages/plugin-ext/src/main/browser/view/plugin-view-registry.ts index 874ae204d25e7..d63a8735c28ac 100644 --- a/packages/plugin-ext/src/main/browser/view/plugin-view-registry.ts +++ b/packages/plugin-ext/src/main/browser/view/plugin-view-registry.ts @@ -484,7 +484,7 @@ export class PluginViewRegistry implements FrontendApplicationContribution { } protected toViewContainerIdentifier(viewContainerId: string): ViewContainerIdentifier { - return { id: PLUGIN_VIEW_CONTAINER_FACTORY_ID + ':' + viewContainerId }; + return { id: PLUGIN_VIEW_CONTAINER_FACTORY_ID + ':' + viewContainerId, progressLocationId: viewContainerId }; } protected toViewContainerId(identifier: ViewContainerIdentifier): string { return identifier.id.substr(PLUGIN_VIEW_CONTAINER_FACTORY_ID.length + 1); diff --git a/packages/plugin-ext/src/plugin/notification.ts b/packages/plugin-ext/src/plugin/notification.ts index 4f622166bf270..492bebc0c652f 100644 --- a/packages/plugin-ext/src/plugin/notification.ts +++ b/packages/plugin-ext/src/plugin/notification.ts @@ -48,8 +48,12 @@ export class NotificationExtImpl implements NotificationExt { return progress; } - protected mapLocation(pluginLocation: ProgressLocation): string | undefined { - switch (pluginLocation) { + protected mapLocation(location: ProgressLocation | { viewId: string }): string | undefined { + if (typeof location === 'object') { + return location.viewId; + } + + switch (location) { case ProgressLocation.Notification: return 'notification'; case ProgressLocation.SourceControl: return 'scm'; case ProgressLocation.Window: return 'window'; diff --git a/packages/plugin/src/theia.d.ts b/packages/plugin/src/theia.d.ts index de68decf32384..651b18ea31f5e 100644 --- a/packages/plugin/src/theia.d.ts +++ b/packages/plugin/src/theia.d.ts @@ -4181,7 +4181,7 @@ declare module '@theia/plugin' { /** * The location at which progress should show. */ - location: ProgressLocation; + location: ProgressLocation | { viewId: string }; /** * A human-readable string which will be used to describe the * operation.