diff --git a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/right-drawer/album-box.component.html b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/right-drawer/album-box.component.html index 0a2ba851..1d654395 100644 --- a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/right-drawer/album-box.component.html +++ b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/right-drawer/album-box.component.html @@ -99,7 +99,13 @@ > -
+
diff --git a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/right-drawer/album-box.component.ts b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/right-drawer/album-box.component.ts index 40b9c8cb..692c48c0 100644 --- a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/right-drawer/album-box.component.ts +++ b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/right-drawer/album-box.component.ts @@ -22,6 +22,8 @@ import { UCAP_NATIVE_SERVICE, NativeService } from '@ucap-webmessenger/native'; import { NGXLogger } from 'ngx-logger'; import { SnackBarService } from '@ucap-webmessenger/ui'; import { FileDownloadItem } from '@ucap-webmessenger/api'; +import { ModuleConfig } from '@ucap-webmessenger/api-common'; +import { _MODULE_CONFIG } from 'projects/ucap-webmessenger-api-common/src/lib/config/token'; export interface FileInfoTotal { info: FileInfo; @@ -51,12 +53,15 @@ export class AlbumBoxComponent implements OnInit, OnDestroy { FileType = FileType; currentTabIndex = 0; + thumbBaseUrl: string; + constructor( private store: Store, private sessionStorageService: SessionStorageService, private commonApiService: CommonApiService, private snackBarService: SnackBarService, @Inject(UCAP_NATIVE_SERVICE) private nativeService: NativeService, + @Inject(_MODULE_CONFIG) private moduleConfig: ModuleConfig, private logger: NGXLogger ) { this.loginRes = this.sessionStorageService.get( @@ -68,6 +73,10 @@ export class AlbumBoxComponent implements OnInit, OnDestroy { this.sessionVerinfo = this.sessionStorageService.get( KEY_VER_INFO ); + + this.thumbBaseUrl = `${this.moduleConfig.hostConfig.protocol}://${ + this.moduleConfig.hostConfig.domain + }:${String(this.moduleConfig.hostConfig.port)}`; } ngOnInit() { @@ -144,6 +153,31 @@ export class AlbumBoxComponent implements OnInit, OnDestroy { ); } + getThumbnailUrl(fileInfo: FileInfoTotal): string { + if ( + !!fileInfo.eventInfo && + !!fileInfo.eventInfo.sentMessageJson && + !!fileInfo.eventInfo.sentMessageJson.thumbUrl + ) { + return fileInfo.eventInfo.sentMessageJson.thumbUrl; + } else { + return `${this.thumbBaseUrl}${fileInfo.info.url.replace( + '/AttFile/', + '/WebFile/' + )}.thumb.jpg`; + } + } + + onErrorThumbnail(el: HTMLElement, fileInfo: FileInfoTotal): void { + const iconEl = document.createElement('div'); + iconEl.setAttribute( + 'class', + 'mime-icon light ico-' + this.getExtention(fileInfo.info.name) + ); + iconEl.innerHTML = `
`; + el.replaceWith(iconEl); + } + onSelectedIndexChange(index: number) { this.selectedFile = null; this.currentTabIndex = index;