diff --git a/frontend/src/app/component/file-uploader/file-uploader.component.ts b/frontend/src/app/component/file-uploader/file-uploader.component.ts index 472fffc..1dbf8ba 100644 --- a/frontend/src/app/component/file-uploader/file-uploader.component.ts +++ b/frontend/src/app/component/file-uploader/file-uploader.component.ts @@ -3,6 +3,8 @@ import {RestService} from '../../services/rest.service'; import {NGXLogger} from 'ngx-logger'; import {MatSnackBar} from '@angular/material/snack-bar'; import {ImageMetadata} from '../../interfaces/interface'; +// @ts-ignore +import metaFile from '../../../../../iotclient/metadata_full.json'; @Component({ selector: 'app-file-uploader', @@ -40,34 +42,36 @@ export class FileUploaderComponent implements OnInit { if (this.filename) { this.id = this.filename; + metaDict['filename'] = this.filename; } else { this.id = this.currentFileName; + metaDict['filename'] = this.currentFileName; } - metaDict['filename'] = this.currentFileName; - if (this.mode === 'post') { - if (this.longitude && this.latitude) { - metaDict['longitude'] = Number.parseFloat(this.longitude); - metaDict['latitude'] = Number.parseFloat(this.latitude); - } else if (this.meta && this.meta.longitude && this.meta.latitude) { + if (this.meta && this.meta.longitude && this.meta.latitude) { metaDict['longitude'] = this.meta.longitude; metaDict['latitude'] = this.meta.latitude; + } else if (this.longitude && this.latitude) { + metaDict['longitude'] = Number.parseFloat(this.longitude); + metaDict['latitude'] = Number.parseFloat(this.latitude); } else { throw new Error('Long/Lat necessary if new file!'); } } - if (this.name) { - metaDict['name'] = this.name; - } else if (this.meta && this.meta.name) { + if (this.meta && this.meta.name) { metaDict['name'] = this.meta.name; + } else if (this.name) { + metaDict['name'] = this.name; } else { if (this.mode === 'post') { throw new Error('Name necessary if new file'); } } + // metaDict['name'] = this.currentFileName; + if (this.tag) { metaDict['tag'] = this.tag; } else if (this.meta && this.meta.tag) { @@ -95,6 +99,7 @@ export class FileUploaderComponent implements OnInit { } ngOnInit(): void { + this.logger.debug('meta', metaFile); } onFileSelected(fileEvent: Event) { @@ -109,6 +114,12 @@ export class FileUploaderComponent implements OnInit { this.file = e.target.result; this.currentFileName = file.name; this.logger.debug('Selected file', this.currentFileName, this.file); + const metaData = this.loadMetaForFile(); + if (metaData) { + this.name = metaData.name; + this.longitude = metaData.longitude + ''; + this.latitude = metaData.latitude + ''; + } }; reader.readAsArrayBuffer(file); @@ -150,4 +161,14 @@ export class FileUploaderComponent implements OnInit { } } + private loadMetaForFile() { + const metaData = (metaFile as { + filename: string, + latitude: number; + longitude: number; + name: string; + }[]).find(m => m.filename === this.currentFileName); + this.logger.debug('Found corresponding meta', this.currentFileName, metaData); + return metaData; + } } diff --git a/frontend/src/app/component/images/images.component.html b/frontend/src/app/component/images/images.component.html index b112dd2..e63d9a1 100644 --- a/frontend/src/app/component/images/images.component.html +++ b/frontend/src/app/component/images/images.component.html @@ -3,21 +3,27 @@
Name Date - File valid + File available | valid
- +

{{image.name}}

{{image.datetime}}

-

- ✓ | X (TO BE DONE) +

+ {{image.available ? '✓' : 'X' }} | {{image.valid ? '✓' : 'X' }}

+ +

...

+