diff --git a/ng2-components/ng2-alfresco-upload/src/components/file-uploading-dialog.component.ts b/ng2-components/ng2-alfresco-upload/src/components/file-uploading-dialog.component.ts index 5ee809f61b..59b74fb7e7 100644 --- a/ng2-components/ng2-alfresco-upload/src/components/file-uploading-dialog.component.ts +++ b/ng2-components/ng2-alfresco-upload/src/components/file-uploading-dialog.component.ts @@ -15,7 +15,7 @@ * limitations under the License. */ -import { Component, ChangeDetectorRef, OnInit } from '@angular/core'; +import { Component, ChangeDetectorRef, OnInit, OnDestroy } from '@angular/core'; import { FileModel } from '../models/file.model'; import { FileUploadingListComponent } from './file-uploading-list.component'; import { AlfrescoTranslationService, AlfrescoPipeTranslate } from 'ng2-alfresco-core'; @@ -43,7 +43,7 @@ declare let __moduleName: string; host: {'[class.dialog-show]': 'toggleShowDialog'}, pipes: [AlfrescoPipeTranslate] }) -export class FileUploadingDialogComponent implements OnInit { +export class FileUploadingDialogComponent implements OnInit, OnDestroy { isDialogActive: boolean = false; @@ -90,4 +90,8 @@ export class FileUploadingDialogComponent implements OnInit { toggleDialogMinimize() { this._isDialogMinimized = !this._isDialogMinimized; } + + ngOnDestroy() { + this.cd.detach(); + } } diff --git a/ng2-components/ng2-alfresco-upload/src/components/upload-button.component.ts b/ng2-components/ng2-alfresco-upload/src/components/upload-button.component.ts index 9fb2976242..1bc048e00f 100644 --- a/ng2-components/ng2-alfresco-upload/src/components/upload-button.component.ts +++ b/ng2-components/ng2-alfresco-upload/src/components/upload-button.component.ts @@ -102,7 +102,6 @@ export class UploadButtonComponent { */ onFilesAdded($event: any): void { let files = $event.currentTarget.files; - this.printFileInfo(files); this.uploadFiles(this.currentFolderPath, files); // reset the value of the input file $event.target.value = ''; @@ -115,7 +114,6 @@ export class UploadButtonComponent { */ onDirectoryAdded($event: any): void { let files = $event.currentTarget.files; - this.printFileInfo(files); let hashMapDir = this.convertIntoHashMap(files); hashMapDir.forEach((filesDir, directoryPath) => { @@ -265,18 +263,6 @@ export class UploadButtonComponent { } } - /** - * Prints the basic information of a file - * @param files - */ - printFileInfo(files: any) { - for (let file of files) { - console.log('Name: ' + file.name); - console.log('Size: ' + file.size); - console.log('Path: ' + file.webkitRelativePath); - } - } - /** * Replace a placeholder {0} in a message with the input keys * @param message - the message that conains the placeholder diff --git a/ng2-components/ng2-alfresco-upload/src/services/upload.service.ts b/ng2-components/ng2-alfresco-upload/src/services/upload.service.ts index 1c66757ee1..10b6dc4eb6 100644 --- a/ng2-components/ng2-alfresco-upload/src/services/upload.service.ts +++ b/ng2-components/ng2-alfresco-upload/src/services/upload.service.ts @@ -91,16 +91,11 @@ export class UploadService { filesToUpload.forEach((uploadingFileModel: FileModel) => { uploadingFileModel.setUploading(); - let _filesUploadObserverProgressBar = this.filesUploadObserverProgressBar; - let _queue = this.queue; - let promiseUpload = this.authService.getAlfrescoApi(). upload.uploadFile(uploadingFileModel.file, directory) .on('progress', (progress: any) => { uploadingFileModel.setProgres(progress); - if (_filesUploadObserverProgressBar) { - _filesUploadObserverProgressBar.next(_queue); - } + this.updateFileListStream(this.queue); }) .on('abort', () => { uploadingFileModel.setAbort(); @@ -124,11 +119,9 @@ export class UploadService { data.response ); - _filesUploadObserverProgressBar.next(_queue); + this.updateFileListStream(this.queue); if (!uploadingFileModel.abort && !uploadingFileModel.error) { - if (this.totalCompletedObserver) { - this.totalCompletedObserver.next(++this.totalCompleted); - } + this.updateFileCounterStream(++this.totalCompleted); } }); @@ -182,4 +175,16 @@ export class UploadService { console.error(error); return Observable.throw(error || 'Server error'); } + + private updateFileListStream(fileList: FileModel[]) { + if (this.filesUploadObserverProgressBar) { + this.filesUploadObserverProgressBar.next(fileList); + } + } + + private updateFileCounterStream(total: number) { + if (this.totalCompletedObserver) { + this.totalCompletedObserver.next(total); + } + } }