Repo for the search and displace core module including the interface to select files and search and displace operations to run on them.
https://searchanddisplace.com
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
import {Vue, Component, Prop} from 'vue-property-decorator'; import FileUploadResponse from '@/interfaces/responses/FileUploadResponse';
@Component export default class Home extends Vue { @Prop({default: []}) public readonly searchers!: { [key: string]: string; }
public uiBlocked = false; public uploading = false; public fileUploaded: boolean = false; public uploadResult: FileUploadResponse = { id: '', file_name: '', };
/** * A method which uploads the files to the server for processing * * @param {any} event The event containing the uploaded files information */ public async uploadFile(event: any): Promise<void> { let file = event.files[0]; return this.uploadNewFile(file); }
/** * A method which uploads the files to the server for processing * * @param {File} file The event containing the uploaded files information */ public async uploadNewFile(file: File): Promise<void> { this.uploading = true; this.fileUploaded = false;
this.$toast.add({severity: 'info', summary: 'Uploading...', detail: 'Uploading your file...', life: 3000});
try { let response = await this.$api.uploadFile(file);
this.fileUploaded = true; this.uploadResult = response; } catch (err) { console.log('Error uploading file: ', err); this.$toast.add({ severity: 'error', summary: 'Error!', detail: 'There was an error uploading your file. Please try again later', life: 3000 });
this.uploading = false; this.fileUploaded = false; } } }
|