1 import {Component, Input, Output, EventEmitter, SimpleChanges} from "@angular/core";
4 selector: 'file-opener',
5 templateUrl: './file-opener.component.html',
6 styleUrls: ['./file-opener.component.less']
8 export class FileOpenerComponent {
9 @Input() public testsId: string;
10 @Input() public extensions: string;
11 @Output() public onFileUpload: EventEmitter<any>;
13 public extensionsWithDot: string;
16 this.onFileUpload = new EventEmitter<any>();
19 public ngOnChanges(changes:SimpleChanges) {
20 if (changes.extensions) {
21 this.extensionsWithDot = this.getExtensionsWithDot(changes.extensions.currentValue);
25 public onFileSelect(event) {
26 const importFile:any = event.target.files[0];
27 const reader = new FileReader();
28 reader.readAsBinaryString(importFile);
29 reader.onload = () => {
30 this.onFileUpload.emit({
31 filename: importFile.name,
32 filetype: importFile.type,
33 filesize: importFile.size,
34 base64: btoa(reader.result)
39 public getExtensionsWithDot(extensions:string):string {
40 extensions = extensions || this.extensions || '';
41 return extensions.split(',')
42 .map(ext => '.' + ext.toString())