2019-10-21 13:36:58 +09:00
|
|
|
import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
|
|
|
|
|
|
|
|
import { NGXLogger } from 'ngx-logger';
|
|
|
|
|
|
|
|
@Component({
|
|
|
|
selector: 'ucap-ui-file-upload-queue',
|
|
|
|
templateUrl: './file-upload-queue.component.html',
|
|
|
|
styleUrls: ['./file-upload-queue.component.scss']
|
|
|
|
})
|
|
|
|
export class FileUploadQueueComponent implements OnInit {
|
|
|
|
@Output()
|
|
|
|
filesChange = new EventEmitter<File[]>();
|
2019-10-31 17:09:38 +09:00
|
|
|
|
2019-10-21 13:36:58 +09:00
|
|
|
@Input() set files(files: File[]) {
|
|
|
|
this.uploadFiles = files;
|
2019-10-31 17:09:38 +09:00
|
|
|
this.uploadItems = undefined;
|
2019-10-21 13:36:58 +09:00
|
|
|
}
|
|
|
|
uploadFiles: File[];
|
|
|
|
|
2019-10-31 17:09:38 +09:00
|
|
|
@Input() set items(items: DataTransferItemList) {
|
|
|
|
const uploadItems: DataTransferItem[] = [];
|
|
|
|
// tslint:disable-next-line: prefer-for-of
|
|
|
|
for (let i = 0; i < items.length; i++) {
|
|
|
|
uploadItems.push(items[i]);
|
|
|
|
}
|
|
|
|
this.uploadItems = [...uploadItems];
|
|
|
|
}
|
|
|
|
uploadItems: DataTransferItem[];
|
|
|
|
|
2019-10-21 13:36:58 +09:00
|
|
|
constructor(private logger: NGXLogger) {}
|
|
|
|
|
|
|
|
ngOnInit() {}
|
|
|
|
|
|
|
|
onClickClear(file: File) {
|
|
|
|
this.uploadFiles = this.uploadFiles.filter(f => {
|
|
|
|
return f.name !== file.name && f.path !== file.path;
|
|
|
|
});
|
|
|
|
this.filesChange.emit(this.uploadFiles);
|
|
|
|
}
|
|
|
|
}
|