Image viewer scrolls background #258

This commit is contained in:
Eugenio Romano 2016-06-23 12:55:58 +01:00
parent bbd4198850
commit 277e24d787
2 changed files with 32 additions and 3 deletions

View File

@ -1,7 +1,7 @@
{
"name": "ng2-alfresco-viewer",
"description": "Alfresco documents viewer",
"version": "0.1.26",
"version": "0.1.27",
"author": "Eugenio Romano",
"scripts": {
"clean": "rimraf dist node_modules typings",

View File

@ -15,9 +15,10 @@
* limitations under the License.
*/
import { Component, ElementRef, Input, Output, HostListener, EventEmitter } from '@angular/core';
import { Component, ElementRef, Input, Output, HostListener, EventEmitter, Inject } from '@angular/core';
import { PdfViewerComponent } from './pdfViewer.component';
import { NotSupportedFormat } from './notSupportedFormat.component';
import { DOCUMENT } from '@angular/platform-browser';
declare let __moduleName: string;
@ -54,12 +55,13 @@ export class ViewerComponent {
extension: string;
constructor(private element: ElementRef) {
constructor(private element: ElementRef, @Inject(DOCUMENT) private document) {
}
ngOnChanges(changes) {
if (this.showViewer) {
this.hideOtherHeaderBar();
this.blockOtherScrollBar();
if (!this.urlFile) {
throw new Error('Attribute urlFile is required');
}
@ -78,6 +80,7 @@ export class ViewerComponent {
* close the viewer
*/
close() {
this.unblockOtherScrollBar();
if (this.otherMenu) {
this.otherMenu.hidden = false;
}
@ -167,6 +170,32 @@ export class ViewerComponent {
}
}
/**
* Check if in the document there are scrollable main area and disable it
*
* @returns {boolean}
*/
private blockOtherScrollBar() {
let mainElements: any = document.getElementsByTagName('main');
for (let i = 0; i < mainElements.length; i++) {
mainElements[i].style.overflow = 'hidden';
}
}
/**
* Check if in the document there are scrollable main area and renable it
*
* @returns {boolean}
*/
private unblockOtherScrollBar() {
let mainElements: any = document.getElementsByTagName('main');
for (let i = 0; i < mainElements.length; i++) {
mainElements[i].style.overflow = '';
}
}
/**
* Check if the viewer is used inside and header element
*