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