| 
									
										
										
										
											2023-05-07 02:26:30 +02:00
										 |  |  | <script lang="ts"> | 
					
						
							|  |  |  |     import type {Feature} from "geojson"; | 
					
						
							|  |  |  |     import {UIEventSource} from "../../Logic/UIEventSource"; | 
					
						
							|  |  |  |     import LayerConfig from "../../Models/ThemeConfig/LayerConfig"; | 
					
						
							|  |  |  |     import type {SpecialVisualizationState} from "../SpecialVisualization"; | 
					
						
							|  |  |  |     import TagRenderingAnswer from "../Popup/TagRendering/TagRenderingAnswer.svelte"; | 
					
						
							|  |  |  |     import {onDestroy} from "svelte"; | 
					
						
							|  |  |  |     import Translations from "../i18n/Translations"; | 
					
						
							|  |  |  |     import Tr from "../Base/Tr.svelte"; | 
					
						
							|  |  |  |     import {XCircleIcon} from "@rgossiaux/svelte-heroicons/solid"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     export let state: SpecialVisualizationState; | 
					
						
							|  |  |  |     export let layer: LayerConfig; | 
					
						
							|  |  |  |     export let selectedElement: Feature; | 
					
						
							|  |  |  |     export let tags: UIEventSource<Record<string, string>>; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     let _tags: Record<string, string>; | 
					
						
							|  |  |  |     onDestroy(tags.addCallbackAndRun(tags => { | 
					
						
							|  |  |  |         _tags = tags; | 
					
						
							|  |  |  |     })); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     let _metatags: Record<string, string>; | 
					
						
							|  |  |  |     onDestroy(state.userRelatedState.preferencesAsTags.addCallbackAndRun(tags => { | 
					
						
							|  |  |  |         _metatags = tags; | 
					
						
							|  |  |  |     })); | 
					
						
							|  |  |  | </script> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | {#if _tags._deleted === "yes"} | 
					
						
							|  |  |  |     <Tr t={ Translations.t.delete.isDeleted}/> | 
					
						
							|  |  |  | {:else} | 
					
						
							| 
									
										
										
										
											2023-05-14 03:24:13 +02:00
										 |  |  |     <div class="flex border-b-2 border-black drop-shadow-md justify-between items-center low-interaction px-3"> | 
					
						
							|  |  |  |         <div class="flex flex-col"> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             <!-- Title element--> | 
					
						
							|  |  |  |             <h3> | 
					
						
							|  |  |  |                 <TagRenderingAnswer config={layer.title} {selectedElement} {state} {tags} | 
					
						
							|  |  |  |                                     {layer}></TagRenderingAnswer> | 
					
						
							|  |  |  |             </h3> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-18 15:44:54 +02:00
										 |  |  |             <div class="no-weblate title-icons flex flex-row flex-wrap pt-0.5 sm:pt-1 items-center mr-2 gap-x-0.5 p-1 links-as-button"> | 
					
						
							| 
									
										
										
										
											2023-05-14 03:24:13 +02:00
										 |  |  |                 {#each layer.titleIcons as titleIconConfig} | 
					
						
							|  |  |  |                     {#if (titleIconConfig.condition?.matchesProperties(_tags) ?? true) && (titleIconConfig.metacondition?.matchesProperties({..._metatags, ..._tags}) ?? true) && titleIconConfig.IsKnown(_tags)} | 
					
						
							|  |  |  |                         <div class="w-8 h-8 flex items-center"> | 
					
						
							|  |  |  |                             <TagRenderingAnswer config={titleIconConfig} {tags} {selectedElement} {state} | 
					
						
							|  |  |  |                                                 {layer} extraClasses="h-full justify-center"></TagRenderingAnswer> | 
					
						
							|  |  |  |                         </div> | 
					
						
							|  |  |  |                     {/if} | 
					
						
							|  |  |  |                 {/each} | 
					
						
							| 
									
										
										
										
											2023-05-07 02:26:30 +02:00
										 |  |  |             </div> | 
					
						
							| 
									
										
										
										
											2023-05-14 03:24:13 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-07 02:26:30 +02:00
										 |  |  |         </div> | 
					
						
							| 
									
										
										
										
											2023-05-14 03:24:13 +02:00
										 |  |  |         <XCircleIcon class="w-8 h-8 cursor-pointer" on:click={() => state.selectedElement.setData(undefined)}/> | 
					
						
							|  |  |  |     </div> | 
					
						
							| 
									
										
										
										
											2023-05-07 02:26:30 +02:00
										 |  |  | {/if} | 
					
						
							| 
									
										
										
										
											2023-05-11 17:29:25 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | <style> | 
					
						
							| 
									
										
										
										
											2023-05-14 03:24:13 +02:00
										 |  |  |     .title-icons { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     :global(.title-icons a) { | 
					
						
							|  |  |  |         display: block !important; | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2023-05-11 17:29:25 +02:00
										 |  |  | </style> |