blob: 803d5d053bad4962761cfd30f9248eed85eba94d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
import {Component, ElementRef, Input, OnInit, ViewChild} from "@angular/core";
import {FileItem, FileUploader} from "ng2-file-upload";
import {UploadFilesLinkModel} from "./upload-files-link.model";
import {FormGroup} from "@angular/forms";
@Component({
selector: 'upload-files',
templateUrl: './upload-files-link.component.html',
styleUrls: ['./upload-files-link.component.scss']
})
export class UploadFilesLinkComponent implements OnInit {
uploader: FileUploader;
@Input() uploadFilesModel: UploadFilesLinkModel;
@Input() form: FormGroup;
@ViewChild('fileInput', {static: false}) fileInput: ElementRef;
ngOnInit(): void {
this.uploader = new FileUploader({});
this.uploader.onAfterAddingAll = async (files: FileItem[]) => {
const result = await this.uploadFilesModel.uploadMethod.call(files, this.form);
if (result && this.uploadFilesModel.onSuccess) {
this.uploadFilesModel.onSuccess.call(this.form);
} else if (!result && this.uploadFilesModel.onFailed) {
this.uploadFilesModel.onFailed.call(this.form);
}
this.uploadFilesModel.uploadText = result ? 'Upload another' : 'Upload'
};
this.resetUpload();
}
resetUpload(): void {
this.fileInput.nativeElement.value = '';
}
uploadFilesTrigger() {
if (this.uploadFilesModel.isDisabled && !this.uploadFilesModel.isDisabled(this.form)) {
this.fileInput.nativeElement.click();
}
}
}
|