|
|
@ -129,10 +129,15 @@ export class FileInputComponent extends PageComponent implements AfterViewInit, |
|
|
@Output() |
|
|
@Output() |
|
|
fileNameChanged = new EventEmitter<string|string[]>(); |
|
|
fileNameChanged = new EventEmitter<string|string[]>(); |
|
|
|
|
|
|
|
|
|
|
|
@Output() |
|
|
|
|
|
mediaTypeChanged = new EventEmitter<string>(); |
|
|
|
|
|
|
|
|
fileName: string | string[]; |
|
|
fileName: string | string[]; |
|
|
fileContent: any; |
|
|
fileContent: any; |
|
|
files: File[]; |
|
|
files: File[]; |
|
|
|
|
|
|
|
|
|
|
|
mediaType: string; |
|
|
|
|
|
|
|
|
@ViewChild('flow', {static: true}) |
|
|
@ViewChild('flow', {static: true}) |
|
|
flow: FlowDirective; |
|
|
flow: FlowDirective; |
|
|
|
|
|
|
|
|
@ -180,6 +185,7 @@ export class FileInputComponent extends PageComponent implements AfterViewInit, |
|
|
this.fileContent = files[0].fileContent; |
|
|
this.fileContent = files[0].fileContent; |
|
|
this.fileName = files[0].fileName; |
|
|
this.fileName = files[0].fileName; |
|
|
this.files = files[0].files; |
|
|
this.files = files[0].files; |
|
|
|
|
|
this.mediaType = files[0].mediaType; |
|
|
this.updateModel(); |
|
|
this.updateModel(); |
|
|
} else if (files.length > 1) { |
|
|
} else if (files.length > 1) { |
|
|
this.fileContent = files.map(content => content.fileContent); |
|
|
this.fileContent = files.map(content => content.fileContent); |
|
|
@ -203,6 +209,7 @@ export class FileInputComponent extends PageComponent implements AfterViewInit, |
|
|
let fileName = null; |
|
|
let fileName = null; |
|
|
let fileContent = null; |
|
|
let fileContent = null; |
|
|
let files = null; |
|
|
let files = null; |
|
|
|
|
|
let mediaType = null; |
|
|
if (reader.readyState === reader.DONE) { |
|
|
if (reader.readyState === reader.DONE) { |
|
|
if (!this.workFromFileObj) { |
|
|
if (!this.workFromFileObj) { |
|
|
fileContent = reader.result; |
|
|
fileContent = reader.result; |
|
|
@ -211,16 +218,18 @@ export class FileInputComponent extends PageComponent implements AfterViewInit, |
|
|
fileContent = this.contentConvertFunction(fileContent); |
|
|
fileContent = this.contentConvertFunction(fileContent); |
|
|
} |
|
|
} |
|
|
fileName = fileContent ? file.name : null; |
|
|
fileName = fileContent ? file.name : null; |
|
|
|
|
|
mediaType = file?.file?.type || null; |
|
|
} |
|
|
} |
|
|
} else if (file.name || file.file){ |
|
|
} else if (file.name || file.file){ |
|
|
files = file.file; |
|
|
files = file.file; |
|
|
fileName = file.name; |
|
|
fileName = file.name; |
|
|
|
|
|
mediaType = file.file.type || null; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
resolve({fileContent, fileName, files}); |
|
|
resolve({fileContent, fileName, files, mediaType}); |
|
|
}; |
|
|
}; |
|
|
reader.onerror = () => { |
|
|
reader.onerror = () => { |
|
|
resolve({fileContent: null, fileName: null, files: null}); |
|
|
resolve({fileContent: null, fileName: null, files: null, mediaType: null}); |
|
|
}; |
|
|
}; |
|
|
if (this.readAsBinary) { |
|
|
if (this.readAsBinary) { |
|
|
reader.readAsBinaryString(file.file); |
|
|
reader.readAsBinaryString(file.file); |
|
|
@ -283,6 +292,7 @@ export class FileInputComponent extends PageComponent implements AfterViewInit, |
|
|
this.propagateChange(this.files); |
|
|
this.propagateChange(this.files); |
|
|
} else { |
|
|
} else { |
|
|
this.propagateChange(this.fileContent); |
|
|
this.propagateChange(this.fileContent); |
|
|
|
|
|
this.mediaTypeChanged.emit(this.mediaType); |
|
|
this.fileNameChanged.emit(this.fileName); |
|
|
this.fileNameChanged.emit(this.fileName); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|