diff --git a/ng2-components/ng2-alfresco-viewer/README.md b/ng2-components/ng2-alfresco-viewer/README.md index bb7f91e572..dd408ffabe 100644 --- a/ng2-components/ng2-alfresco-viewer/README.md +++ b/ng2-components/ng2-alfresco-viewer/README.md @@ -146,6 +146,16 @@ Attribute | Options | Default | Description | Mandatory `showViewer` | *boolean* | `true` | Hide or show the viewer | `showToolbar` | *boolean* | `true` | Hide or show the toolbars | +#### Supported file formats + +Type | extensions +--- | --- +Media | Mp4, WebM, Ogv +Images | png, jpg, jpeg, gif, bmp +Text | pdf + + + ## Build from sources Alternatively you can build component from sources with the following commands: diff --git a/ng2-components/ng2-alfresco-viewer/src/componets/viewer.component.spec.ts b/ng2-components/ng2-alfresco-viewer/src/componets/viewer.component.spec.ts index 2b1b16daed..3ce1b1c91d 100644 --- a/ng2-components/ng2-alfresco-viewer/src/componets/viewer.component.spec.ts +++ b/ng2-components/ng2-alfresco-viewer/src/componets/viewer.component.spec.ts @@ -47,7 +47,6 @@ describe('ViewerComponent', () => { jasmine.Ajax.install(); component.urlFile = 'base/src/assets/fake-test-file.pdf'; - component.overlayMode = true; viewerComponentFixture.detectChanges(); @@ -118,7 +117,7 @@ describe('ViewerComponent', () => { expect(element.querySelector('#viewer-close-button')).toBeNull(); }); - it('Esc button should not hide the viewerls if is not overlay mode', () => { + it('Esc button should not hide the viewer if is not overlay mode', () => { EventMock.keyDown(27); viewerComponentFixture.detectChanges(); expect(element.querySelector('#viewer-main-container')).not.toBeNull(); @@ -289,6 +288,7 @@ describe('ViewerComponent', () => { component.ngOnChanges().then(() => { viewerComponentFixture.detectChanges(); + console.log(element.querySelector('media-player')); expect(element.querySelector('media-player')).not.toBeNull(); done(); }); @@ -304,5 +304,16 @@ describe('ViewerComponent', () => { done(); }); }); + + it('should not display the media player if the file identified by mimetype is a media but with not supported extension', (done) => { + component.urlFile = 'content'; + component.mimeType = 'video/avi'; + + component.ngOnChanges().then(() => { + viewerComponentFixture.detectChanges(); + expect(element.querySelector('media-player')).toBeNull(); + done(); + }); + }); }); }); diff --git a/ng2-components/ng2-alfresco-viewer/src/componets/viewer.component.ts b/ng2-components/ng2-alfresco-viewer/src/componets/viewer.component.ts index 02a6df1d4d..1fa529b2a7 100644 --- a/ng2-components/ng2-alfresco-viewer/src/componets/viewer.component.ts +++ b/ng2-components/ng2-alfresco-viewer/src/componets/viewer.component.ts @@ -126,6 +126,7 @@ export class ViewerComponent { /** * get File name from url * + * @param {string} url - url file * @returns {string} name file */ getFilenameFromUrl(url: string) { @@ -163,7 +164,7 @@ export class ViewerComponent { * @returns {boolean} */ private isMedia() { - return this.isMediaExtension() || this.isMediaMimeType(); + return this.isMediaExtension(this.extension) || this.isMediaMimeType(); } /** @@ -182,16 +183,21 @@ export class ViewerComponent { * @returns {boolean} */ private isMediaMimeType() { - return this.mimeType && this.mimeType.indexOf('video/') === 0; + let mimeExtension; + if (this.mimeType && this.mimeType.indexOf('/')) { + mimeExtension = this.mimeType.substr(this.mimeType.indexOf('/') + 1, this.mimeType.length); + } + return this.mimeType && this.mimeType.indexOf('video/') === 0 && this.isMediaExtension(mimeExtension); } /** * check if the current file is a supported media extension + * @param {string} extension * * @returns {boolean} */ - private isMediaExtension() { - return this.extension === 'mp4' || this.extension === 'WebM' || this.extension === 'Ogg'; + private isMediaExtension(extension: string) { + return extension === 'mp4' || extension === 'WebM' || extension === 'Ogg'; } /**