[ADF-573] support for toggling enabled state (#1912)

This commit is contained in:
Denys Vuika
2017-05-30 14:28:12 +01:00
committed by Eugenio Romano
parent 4b5eb4bb29
commit 1ffc3cd080
6 changed files with 56 additions and 29 deletions

View File

@@ -20,8 +20,6 @@ import { AlfrescoTranslationService, LogService, NotificationService } from 'ng2
import { UploadService } from '../services/upload.service';
import { FileModel } from '../models/file.model';
declare let componentHandler: any;
const ERROR_FOLDER_ALREADY_EXIST = 409;
/**
@@ -42,6 +40,9 @@ export class UploadDragAreaComponent {
private static DEFAULT_ROOT_ID: string = '-root-';
@Input()
enabled: boolean = true;
@Input()
showNotificationBar: boolean = true;
@@ -73,15 +74,16 @@ export class UploadDragAreaComponent {
onUploadFiles(e: CustomEvent) {
e.stopPropagation();
e.preventDefault();
let files: File[] = e.detail.files;
if (files && files.length > 0) {
const fileModels = files.map(f => new FileModel(f, { newVersion: this.versioning }));
if (e.detail.data.obj.entry.isFolder) {
let id = e.detail.data.obj.entry.id;
this.onFilesDropped(fileModels, id, '/');
} else {
this.onFilesDropped(fileModels);
if (this.enabled) {
let files: File[] = e.detail.files;
if (files && files.length > 0) {
const fileModels = files.map(f => new FileModel(f, { newVersion: this.versioning }));
if (e.detail.data.obj.entry.isFolder) {
let id = e.detail.data.obj.entry.id;
this.onFilesDropped(fileModels, id, '/');
} else {
this.onFilesDropped(fileModels);
}
}
}
}
@@ -92,7 +94,7 @@ export class UploadDragAreaComponent {
* @param {File[]} files - files dropped in the drag area.
*/
onFilesDropped(files: FileModel[], rootId?: string, directory?: string): void {
if (files.length) {
if (this.enabled && files.length) {
this.uploadService.addToQueue(...files);
this.uploadService.uploadFilesInTheQueue(rootId || this.rootFolderId, directory || this.currentFolderPath, this.onSuccess);
let latestFilesAdded = this.uploadService.getQueue();
@@ -107,13 +109,15 @@ export class UploadDragAreaComponent {
* @param item - FileEntity
*/
onFilesEntityDropped(item: any): void {
item.file((file: File) => {
const fileModel = new FileModel(file, { newVersion: this.versioning });
this.uploadService.addToQueue(fileModel);
let path = item.fullPath.replace(item.name, '');
let filePath = this.currentFolderPath + path;
this.uploadService.uploadFilesInTheQueue(this.rootFolderId, filePath, this.onSuccess);
});
if (this.enabled) {
item.file((file: File) => {
const fileModel = new FileModel(file, { newVersion: this.versioning });
this.uploadService.addToQueue(fileModel);
let path = item.fullPath.replace(item.name, '');
let filePath = this.currentFolderPath + path;
this.uploadService.uploadFilesInTheQueue(this.rootFolderId, filePath, this.onSuccess);
});
}
}
/**
@@ -121,7 +125,7 @@ export class UploadDragAreaComponent {
* @param folder - name of the dropped folder
*/
onFolderEntityDropped(folder: any): void {
if (folder.isDirectory) {
if (this.enabled && folder.isDirectory) {
let relativePath = folder.fullPath.replace(folder.name, '');
relativePath = this.currentFolderPath + relativePath;