Fix #119855
This commit is contained in:
parent
5b636c4a7b
commit
e8111f76b5
2 changed files with 15 additions and 6 deletions
|
@ -44,7 +44,7 @@ import { KeybindingWeight } from 'vs/platform/keybinding/common/keybindingsRegis
|
|||
import { Color } from 'vs/base/common/color';
|
||||
import { INotificationService } from 'vs/platform/notification/common/notification';
|
||||
import { CancellationToken, CancellationTokenSource } from 'vs/base/common/cancellation';
|
||||
import { ExtensionsTree, ExtensionData, ExtensionsGridView, getExtensions } from 'vs/workbench/contrib/extensions/browser/extensionsViewer';
|
||||
import { ExtensionsTree, ExtensionData, ExtensionsGridView, getExtensions, IExtensionsGridViewVirtualDelegate } from 'vs/workbench/contrib/extensions/browser/extensionsViewer';
|
||||
import { ShowCurrentReleaseNotesActionId } from 'vs/workbench/contrib/update/common/update';
|
||||
import { KeybindingParser } from 'vs/base/common/keybindingParser';
|
||||
import { IStorageService } from 'vs/platform/storage/common/storage';
|
||||
|
@ -1045,7 +1045,9 @@ export class ExtensionEditor extends EditorPane {
|
|||
const scrollableContent = new DomScrollableElement(content, { useShadows: false });
|
||||
append(parent, scrollableContent.getDomNode());
|
||||
|
||||
const extensionsGridView = this.instantiationService.createInstance(ExtensionsGridView, content, new Delegate());
|
||||
const extensionsGridView = this.instantiationService.createInstance(ExtensionsGridView, content, new class ExtensionsGridViewVirtualDelegate extends Delegate implements IExtensionsGridViewVirtualDelegate {
|
||||
getWidth() { return 275; }
|
||||
});
|
||||
const extensions: IExtension[] = await getExtensions(manifest.extensionPack!, this.extensionsWorkbenchService);
|
||||
extensionsGridView.setExtensions(extensions);
|
||||
scrollableContent.scanDomNode();
|
||||
|
|
|
@ -22,23 +22,27 @@ import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
|
|||
import { CancellationToken } from 'vs/base/common/cancellation';
|
||||
import { isNonEmptyArray } from 'vs/base/common/arrays';
|
||||
import { IColorMapping } from 'vs/platform/theme/common/styler';
|
||||
import { Renderer, Delegate } from 'vs/workbench/contrib/extensions/browser/extensionsList';
|
||||
import { Renderer } from 'vs/workbench/contrib/extensions/browser/extensionsList';
|
||||
import { listFocusForeground, listFocusBackground } from 'vs/platform/theme/common/colorRegistry';
|
||||
import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent';
|
||||
import { StandardMouseEvent } from 'vs/base/browser/mouseEvent';
|
||||
import { KeyCode } from 'vs/base/common/keyCodes';
|
||||
import { IListAccessibilityProvider } from 'vs/base/browser/ui/list/listWidget';
|
||||
|
||||
export interface IExtensionsGridViewVirtualDelegate extends IListVirtualDelegate<IExtension> {
|
||||
getWidth?(element: IExtension): number;
|
||||
}
|
||||
|
||||
export class ExtensionsGridView extends Disposable {
|
||||
|
||||
readonly element: HTMLElement;
|
||||
private readonly renderer: Renderer;
|
||||
private readonly delegate: Delegate;
|
||||
private readonly delegate: IExtensionsGridViewVirtualDelegate;
|
||||
private readonly disposableStore: DisposableStore;
|
||||
|
||||
constructor(
|
||||
parent: HTMLElement,
|
||||
delegate: Delegate,
|
||||
delegate: IExtensionsGridViewVirtualDelegate,
|
||||
@IInstantiationService private readonly instantiationService: IInstantiationService
|
||||
) {
|
||||
super();
|
||||
|
@ -55,7 +59,10 @@ export class ExtensionsGridView extends Disposable {
|
|||
|
||||
private renderExtension(extension: IExtension, index: number): void {
|
||||
const extensionContainer = dom.append(this.element, dom.$('.extension-container'));
|
||||
extensionContainer.style.height = `${this.delegate.getHeight()}px`;
|
||||
extensionContainer.style.height = `${this.delegate.getHeight(extension)}px`;
|
||||
if (this.delegate.getWidth) {
|
||||
extensionContainer.style.width = `${this.delegate.getWidth(extension)}px`;
|
||||
}
|
||||
extensionContainer.setAttribute('tabindex', '0');
|
||||
|
||||
const template = this.renderer.renderTemplate(extensionContainer);
|
||||
|
|
Loading…
Reference in a new issue