forked from MapComplete/MapComplete
Import helper: Improve error messages of non-matching presets; fix bug if a value is 'null' in source geojson
This commit is contained in:
parent
74f00b333b
commit
b119e1ac1d
13 changed files with 131 additions and 53 deletions
|
@ -10,6 +10,8 @@ import FileSelectorButton from "../Input/FileSelectorButton";
|
|||
import {FlowStep} from "./FlowStep";
|
||||
import {parse} from "papaparse";
|
||||
import {FixedUiElement} from "../Base/FixedUiElement";
|
||||
import {del} from "idb-keyval";
|
||||
import {TagUtils} from "../../Logic/Tags/TagUtils";
|
||||
|
||||
class FileSelector extends InputElementMap<FileList, { name: string, contents: Promise<string> }> {
|
||||
constructor(label: BaseUIElement) {
|
||||
|
@ -72,6 +74,17 @@ export class RequestFile extends Combine implements FlowStep<{features: any[]}>
|
|||
if (parsed.features.some(f => f.geometry.type != "Point")) {
|
||||
return {error: t.errPointsOnly}
|
||||
}
|
||||
parsed.features.forEach(f => {
|
||||
const props = f.properties
|
||||
for (const key in props) {
|
||||
if(props[key] === undefined || props[key] === null || props[key] === ""){
|
||||
delete props[key]
|
||||
}
|
||||
if(!TagUtils.isValidKey(key)){
|
||||
return {error: "Probably an invalid key: "+key}
|
||||
}
|
||||
}
|
||||
})
|
||||
return parsed;
|
||||
|
||||
} catch (e) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue