[ADF-2455] Fallback thumbnail fix (#3164)

* Show default icon when thumbnail image is broken

* Remove thumbnails prop from demo-shell

* Unit test added
This commit is contained in:
Alex Bolboșenco
2018-04-10 20:27:21 +03:00
committed by Denys Vuika
parent c214054767
commit 12df7500da
3 changed files with 23 additions and 3 deletions

View File

@@ -29,6 +29,7 @@ import { DataRowEvent } from '../../data/data-row-event.model';
import { DataRow } from '../../data/data-row.model';
import { DataSorting } from '../../data/data-sorting.model';
import { DataTableAdapter } from '../../data/datatable-adapter';
import { ThumbnailService } from '../../../services';
import { ObjectDataRow } from '../../data/object-datarow.model';
import { ObjectDataTableAdapter } from '../../data/object-datatable-adapter';
@@ -161,7 +162,11 @@ export class DataTableComponent implements AfterContentInit, OnChanges, DoCheck
private singleClickStreamSub: Subscription;
private multiClickStreamSub: Subscription;
constructor(private elementRef: ElementRef, differs: IterableDiffers) {
constructor(
private elementRef: ElementRef,
differs: IterableDiffers,
private thumbnailService?: ThumbnailService
) {
if (differs) {
this.differ = differs.find([]).create(null);
}
@@ -421,7 +426,11 @@ export class DataTableComponent implements AfterContentInit, OnChanges, DoCheck
this.emitRowSelectionEvent(domEventName, row);
}
onImageLoadingError(event: Event) {
onImageLoadingError(event: Event, mimeType?: string) {
if (mimeType && !this.fallbackThumbnail) {
this.fallbackThumbnail = this.thumbnailService.getMimeTypeIcon(mimeType);
}
if (event && this.fallbackThumbnail) {
let element = <any> event.target;
element.src = this.fallbackThumbnail;