forked from MapComplete/MapComplete
		
	Studio: fix #1750
This commit is contained in:
		
							parent
							
								
									121efd8dfb
								
							
						
					
					
						commit
						ef34304efa
					
				
					 4 changed files with 23 additions and 23 deletions
				
			
		|  | @ -15,7 +15,24 @@ | |||
|   export let path: (string | number)[] = [] | ||||
|   export let schema: ConfigMeta | ||||
|   export let startInEditModeIfUnset: boolean = schema.hints && !schema.hints.ifunset | ||||
|    | ||||
| 
 | ||||
|   function mightBeBoolean(type: undefined | JsonSchemaType): boolean { | ||||
|     if (type === undefined) { | ||||
|       return false | ||||
|     } | ||||
|     if (type["type"]) { | ||||
|       type = type["type"] | ||||
|     } | ||||
|     if (type === "boolean") { | ||||
|       return true | ||||
|     } | ||||
|     if (!Array.isArray(type)) { | ||||
|       return false | ||||
|     } | ||||
| 
 | ||||
|     return type.some((t) => mightBeBoolean(t)) | ||||
|   } | ||||
| 
 | ||||
|   const isTranslation = | ||||
|     schema.hints?.typehint === "translation" || | ||||
|     schema.hints?.typehint === "rendered" || | ||||
|  | @ -66,6 +83,7 @@ | |||
|             helperArgs, | ||||
|           }, | ||||
|   } | ||||
|   | ||||
| 
 | ||||
|   if (schema.hints.default) { | ||||
|     configJson.mappings = [ | ||||
|  | @ -77,6 +95,7 @@ | |||
|           schema.hints.default + | ||||
|           "</b> will be used. " + | ||||
|           (schema.hints.ifunset ?? ""), | ||||
|         hideInAnswer: mightBeBoolean(schema.type) | ||||
|       }, | ||||
|     ] | ||||
|   } else if (!schema.required) { | ||||
|  | @ -88,23 +107,7 @@ | |||
|     ] | ||||
|   } | ||||
| 
 | ||||
|   function mightBeBoolean(type: undefined | JsonSchemaType): boolean { | ||||
|     if (type === undefined) { | ||||
|       return false | ||||
|     } | ||||
|     if (type["type"]) { | ||||
|       type = type["type"] | ||||
|     } | ||||
|     if (type === "boolean") { | ||||
|       return true | ||||
|     } | ||||
|     if (!Array.isArray(type)) { | ||||
|       return false | ||||
|     } | ||||
| 
 | ||||
|     return type.some((t) => mightBeBoolean(t)) | ||||
|   } | ||||
| 
 | ||||
|    | ||||
|   if (mightBeBoolean(schema.type)) { | ||||
|     configJson.mappings = configJson.mappings ?? [] | ||||
|     configJson.mappings.push( | ||||
|  | @ -135,7 +138,7 @@ | |||
|     err = path.join(".") + " " + e | ||||
|   } | ||||
|   let startValue = state.getCurrentValueFor(path) | ||||
|   let startInEditMode = !startValue && startInEditModeIfUnset | ||||
|   let startInEditMode = startValue === undefined && startInEditModeIfUnset | ||||
|   const tags = new UIEventSource<Record<string, string>>({ value: startValue }) | ||||
|   try { | ||||
|     onDestroy( | ||||
|  | @ -156,7 +159,7 @@ | |||
|             if (v === "true" || v === "yes" || v === "1") { | ||||
|               return true | ||||
|             } | ||||
|             if (v === "false" || v === "no" || v === "0") { | ||||
|             if (v === "false" || v === "no" || v === "0" || (<any> v) === false) { | ||||
|               return false | ||||
|             } | ||||
|           } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue