| 
									
										
										
										
											2023-03-29 17:21:20 +02:00
										 |  |  | <script lang="ts"> | 
					
						
							| 
									
										
										
										
											2023-05-04 23:38:00 +02:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Constructs an input helper element for the given type. | 
					
						
							|  |  |  |      * Note that all values are stringified | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-04-16 03:42:26 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-04 23:38:00 +02:00
										 |  |  |     import {UIEventSource} from "../../Logic/UIEventSource"; | 
					
						
							|  |  |  |     import type {ValidatorType} from "./Validators"; | 
					
						
							|  |  |  |     import InputHelpers from "./InputHelpers"; | 
					
						
							|  |  |  |     import ToSvelte from "../Base/ToSvelte.svelte"; | 
					
						
							|  |  |  |     import type {Feature} from "geojson"; | 
					
						
							|  |  |  |     import BaseUIElement from "../BaseUIElement"; | 
					
						
							|  |  |  |     import {VariableUiElement} from "../Base/VariableUIElement"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     export let type: ValidatorType; | 
					
						
							|  |  |  |     export let value: UIEventSource<string>; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     export let feature: Feature; | 
					
						
							|  |  |  |     export let args: (string | number | boolean)[] = undefined; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     let properties = {feature, args: args ?? []}; | 
					
						
							|  |  |  |     let construct = new UIEventSource<(value, extraProperties) => BaseUIElement>(undefined) | 
					
						
							|  |  |  |     $: { | 
					
						
							|  |  |  |         construct.setData(InputHelpers.AvailableInputHelpers[type]) | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2023-03-29 17:21:20 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-04-16 03:42:26 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-03-29 17:21:20 +02:00
										 |  |  | </script> | 
					
						
							| 
									
										
										
										
											2023-04-16 03:42:26 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | {#if construct !== undefined} | 
					
						
							| 
									
										
										
										
											2023-05-04 23:38:00 +02:00
										 |  |  |     <ToSvelte construct={() => new VariableUiElement(construct.mapD(construct => construct(value, properties)))}/> | 
					
						
							| 
									
										
										
										
											2023-04-16 03:42:26 +02:00
										 |  |  | {/if} |