提交 02154d7e 编写于 作者: S SteVen Batten

fixes #91421

上级 3e4cb8f6
......@@ -52,7 +52,7 @@ export class CompositeDragAndDrop implements ICompositeDragAndDrop {
if (targetCompositeId) {
if (currentLocation !== this.targetContainerLocation && this.targetContainerLocation !== ViewContainerLocation.Panel) {
const destinationContainer = viewContainerRegistry.get(targetCompositeId);
if (destinationContainer) {
if (destinationContainer && !destinationContainer.rejectAddedViews) {
this.viewDescriptorService.moveViewsToContainer(this.viewDescriptorService.getViewDescriptors(currentContainer)!.allViewDescriptors.filter(vd => vd.canMoveView), destinationContainer);
this.openComposite(targetCompositeId, true);
}
......@@ -73,7 +73,7 @@ export class CompositeDragAndDrop implements ICompositeDragAndDrop {
if (viewDescriptor && viewDescriptor.canMoveView) {
if (targetCompositeId) {
const destinationContainer = viewContainerRegistry.get(targetCompositeId);
if (destinationContainer) {
if (destinationContainer && !destinationContainer.rejectAddedViews) {
if (this.targetContainerLocation === ViewContainerLocation.Sidebar) {
this.viewDescriptorService.moveViewsToContainer([viewDescriptor], destinationContainer);
this.openComposite(targetCompositeId, true);
......@@ -134,6 +134,7 @@ export class CompositeDragAndDrop implements ICompositeDragAndDrop {
if (this.targetContainerLocation === ViewContainerLocation.Sidebar) {
const destinationContainer = viewContainerRegistry.get(targetCompositeId);
return !!destinationContainer &&
!destinationContainer.rejectAddedViews &&
this.viewDescriptorService.getViewDescriptors(currentContainer)!.allViewDescriptors.some(vd => vd.canMoveView);
}
// ... from sidebar to the panel
......@@ -155,7 +156,8 @@ export class CompositeDragAndDrop implements ICompositeDragAndDrop {
}
// ... into a destination
return true;
const destinationContainer = viewContainerRegistry.get(targetCompositeId);
return !!destinationContainer && !destinationContainer.rejectAddedViews;
}
return false;
......
......@@ -53,6 +53,7 @@ export interface IViewContainerDescriptor {
readonly extensionId?: ExtensionIdentifier;
readonly rejectAddedViews?: boolean;
}
export interface IViewContainersRegistry {
......
......@@ -87,7 +87,8 @@ Registry.as<IViewContainersRegistry>(ViewContainerExtensions.ViewContainersRegis
name: localize('extensions', "Extensions"),
ctorDescriptor: new SyncDescriptor(ExtensionsViewPaneContainer),
icon: 'codicon-extensions',
order: 4
order: 4,
rejectAddedViews: true,
}, ViewContainerLocation.Sidebar);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册