提交 9a3b741c 编写于 作者: J Joao Moreno

show extension icon only when loaded

fixes #8265
上级 4f9f06cd
...@@ -17,7 +17,7 @@ import { Label, RatingsWidget, InstallWidget } from './extensionsWidgets'; ...@@ -17,7 +17,7 @@ import { Label, RatingsWidget, InstallWidget } from './extensionsWidgets';
export interface ITemplateData { export interface ITemplateData {
element: HTMLElement; element: HTMLElement;
icon: HTMLElement; icon: HTMLImageElement;
name: HTMLElement; name: HTMLElement;
installCount: HTMLElement; installCount: HTMLElement;
ratings: HTMLElement; ratings: HTMLElement;
...@@ -42,7 +42,7 @@ export class Renderer implements IPagedRenderer<IExtension, ITemplateData> { ...@@ -42,7 +42,7 @@ export class Renderer implements IPagedRenderer<IExtension, ITemplateData> {
renderTemplate(root: HTMLElement): ITemplateData { renderTemplate(root: HTMLElement): ITemplateData {
const element = append(root, $('.extension')); const element = append(root, $('.extension'));
const icon = append(element, $('.icon')); const icon = append(element, $<HTMLImageElement>('img.icon'));
const details = append(element, $('.details')); const details = append(element, $('.details'));
const header = append(details, $('.header')); const header = append(details, $('.header'));
const name = append(header, $('span.name')); const name = append(header, $('span.name'));
...@@ -80,7 +80,7 @@ export class Renderer implements IPagedRenderer<IExtension, ITemplateData> { ...@@ -80,7 +80,7 @@ export class Renderer implements IPagedRenderer<IExtension, ITemplateData> {
renderPlaceholder(index: number, data: ITemplateData): void { renderPlaceholder(index: number, data: ITemplateData): void {
addClass(data.element, 'loading'); addClass(data.element, 'loading');
data.icon.style.backgroundImage = ''; data.icon.src = '';
data.name.textContent = ''; data.name.textContent = '';
data.author.textContent = ''; data.author.textContent = '';
data.description.textContent = ''; data.description.textContent = '';
...@@ -91,7 +91,15 @@ export class Renderer implements IPagedRenderer<IExtension, ITemplateData> { ...@@ -91,7 +91,15 @@ export class Renderer implements IPagedRenderer<IExtension, ITemplateData> {
renderElement(extension: IExtension, index: number, data: ITemplateData): void { renderElement(extension: IExtension, index: number, data: ITemplateData): void {
removeClass(data.element, 'loading'); removeClass(data.element, 'loading');
data.icon.style.backgroundImage = `url("${ extension.iconUrl }")`; data.icon.src = extension.iconUrl;
if (!data.icon.complete) {
data.icon.style.visibility = 'hidden';
data.icon.onload = () => data.icon.style.visibility = 'inherit';
} else {
data.icon.style.visibility = 'inherit';
}
data.name.textContent = extension.displayName; data.name.textContent = extension.displayName;
data.author.textContent = extension.publisherDisplayName; data.author.textContent = extension.publisherDisplayName;
data.description.textContent = extension.description; data.description.textContent = extension.description;
......
...@@ -41,9 +41,7 @@ ...@@ -41,9 +41,7 @@
height: 42px; height: 42px;
padding: 10px 14px 10px 0; padding: 10px 14px 10px 0;
flex-shrink: 0; flex-shrink: 0;
background-repeat: no-repeat; object-fit: contain;
background-size: 42px;
background-position: left center;
} }
.extensions-viewlet.narrow > .extensions .extension > .icon { .extensions-viewlet.narrow > .extensions .extension > .icon {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册