41 lines
1.1 KiB
TypeScript
Raw Normal View History

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);
}
}