aboutsummaryrefslogtreecommitdiffstats
path: root/vid-webpack-master/src/app/shared/components/genericForm/genericFormSharedComponent/uploadFiles/upload-files-link.component.ts
diff options
context:
space:
mode:
Diffstat (limited to 'vid-webpack-master/src/app/shared/components/genericForm/genericFormSharedComponent/uploadFiles/upload-files-link.component.ts')
-rw-r--r--vid-webpack-master/src/app/shared/components/genericForm/genericFormSharedComponent/uploadFiles/upload-files-link.component.ts41
1 files changed, 41 insertions, 0 deletions
diff --git a/vid-webpack-master/src/app/shared/components/genericForm/genericFormSharedComponent/uploadFiles/upload-files-link.component.ts b/vid-webpack-master/src/app/shared/components/genericForm/genericFormSharedComponent/uploadFiles/upload-files-link.component.ts
new file mode 100644
index 000000000..803d5d053
--- /dev/null
+++ b/vid-webpack-master/src/app/shared/components/genericForm/genericFormSharedComponent/uploadFiles/upload-files-link.component.ts
@@ -0,0 +1,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();
+ }
+ }
+}