#139 Fixed complete counter

This commit is contained in:
mauriziovitale84
2016-06-03 12:03:12 +01:00
parent 000a9da89f
commit 1597595bf0
4 changed files with 19 additions and 4 deletions

View File

@@ -1,7 +1,7 @@
<div *ngIf="filesUploadingList" class="file-dialog" [ngClass]="{show: isDialogActive}"> <div *ngIf="filesUploadingList" class="file-dialog" [ngClass]="{show: isDialogActive}">
<div class="header"> <div class="header">
<div class="title"> <div class="title">
{{filesUploadingList.length}} {{'FILE_UPLOAD.MESSAGES.COMPLETED' | translate}} {{totalCompleted}} {{'FILE_UPLOAD.MESSAGES.COMPLETED' | translate}}
</div> </div>
<div class="buttons"> <div class="buttons">
<div class="minimize-button" [ngClass]="{active: _isDialogMinimized}" (click)="toggleDialogMinimize()"> <div class="minimize-button" [ngClass]="{active: _isDialogMinimized}" (click)="toggleDialogMinimize()">

View File

@@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
import { Component, ChangeDetectorRef } from 'angular2/core'; import { Component, ChangeDetectorRef, OnInit } from 'angular2/core';
import { FileModel } from '../models/file.model'; import { FileModel } from '../models/file.model';
import { FileUploadingListComponent } from './file-uploading-list.component'; import { FileUploadingListComponent } from './file-uploading-list.component';
import { AlfrescoPipeTranslate } from 'ng2-alfresco-core/dist/ng2-alfresco-core'; import { AlfrescoPipeTranslate } from 'ng2-alfresco-core/dist/ng2-alfresco-core';
@@ -43,12 +43,14 @@ declare let __moduleName: string;
host: {'[class.dialog-show]': 'toggleShowDialog'}, host: {'[class.dialog-show]': 'toggleShowDialog'},
pipes: [AlfrescoPipeTranslate] pipes: [AlfrescoPipeTranslate]
}) })
export class FileUploadingDialogComponent { export class FileUploadingDialogComponent implements OnInit{
isDialogActive: boolean = false; isDialogActive: boolean = false;
filesUploadingList: FileModel []; filesUploadingList: FileModel [];
totalCompleted: number = 0;
private _isDialogMinimized: boolean = false; private _isDialogMinimized: boolean = false;
constructor(private cd: ChangeDetectorRef, constructor(private cd: ChangeDetectorRef,
@@ -62,6 +64,10 @@ export class FileUploadingDialogComponent {
this.cd.detectChanges(); this.cd.detectChanges();
} }
}); });
this._uploaderService.totalCompleted$.subscribe((total: number) => {
this.totalCompleted = total;
this.cd.detectChanges();
});
} }
/** /**

View File

@@ -26,7 +26,6 @@
<span *ngIf="file.uploading" (click)="abort(file.id)" class="cursor" ><i data-automation-id="abort_cancel_upload" <span *ngIf="file.uploading" (click)="abort(file.id)" class="cursor" ><i data-automation-id="abort_cancel_upload"
class="material-icons">remove_circle_outline</i></span> class="material-icons">remove_circle_outline</i></span>
<span *ngIf="file.abort"><i class="material-icons">remove_circle</i></span> <span *ngIf="file.abort"><i class="material-icons">remove_circle</i></span>
<span *ngIf="!file.abort && !file.uploading && !file.done"><i class="material-icons">pause</i></span>
</td> </td>
</tr> </tr>
</table> </table>

View File

@@ -43,13 +43,18 @@ export class UploadService {
private _queue: FileModel[] = []; private _queue: FileModel[] = [];
filesUpload$: Observable<FileModel[]>; filesUpload$: Observable<FileModel[]>;
totalCompleted$: Observable<number>;
private _filesUploadObserver: Observer<FileModel[]>; private _filesUploadObserver: Observer<FileModel[]>;
private _totalCompletedObserver: Observer<number>;
private _alfrescoClient: any; private _alfrescoClient: any;
public totalCompleted: number = 0;
constructor(private settings: AlfrescoSettingsService) { constructor(private settings: AlfrescoSettingsService) {
console.log('UploadService constructor'); console.log('UploadService constructor');
this.filesUpload$ = new Observable(observer => this._filesUploadObserver = observer).share(); this.filesUpload$ = new Observable(observer => this._filesUploadObserver = observer).share();
this.totalCompleted$ = new Observable(observer => this._totalCompletedObserver = observer).share();
this._alfrescoClient = this.getAlfrescoClient(); this._alfrescoClient = this.getAlfrescoClient();
} }
@@ -195,6 +200,11 @@ export class UploadService {
xmlHttpRequest.statusText, xmlHttpRequest.statusText,
xmlHttpRequest.response xmlHttpRequest.response
); );
if (!uploadingFileModel.abort && !uploadingFileModel.error) {
if (this._totalCompletedObserver) {
this._totalCompletedObserver.next(++this.totalCompleted);
}
}
} }
}; };
return xmlHttpRequest; return xmlHttpRequest;