| 
									
										
										
										
											2023-05-07 02:26:30 +02:00
										 |  |  | <script lang="ts"> | 
					
						
							| 
									
										
										
										
											2023-12-19 22:08:00 +01:00
										 |  |  |   import type { Feature } from "geojson" | 
					
						
							|  |  |  |   import { Store, UIEventSource } from "../../Logic/UIEventSource" | 
					
						
							|  |  |  |   import LayerConfig from "../../Models/ThemeConfig/LayerConfig" | 
					
						
							|  |  |  |   import type { SpecialVisualizationState } from "../SpecialVisualization" | 
					
						
							|  |  |  |   import TagRenderingAnswer from "../Popup/TagRendering/TagRenderingAnswer.svelte" | 
					
						
							|  |  |  |   import Translations from "../i18n/Translations" | 
					
						
							|  |  |  |   import Tr from "../Base/Tr.svelte" | 
					
						
							|  |  |  |   import { XCircleIcon } from "@rgossiaux/svelte-heroicons/solid" | 
					
						
							| 
									
										
										
										
											2023-12-14 18:25:35 +01:00
										 |  |  |   import { ariaLabel } from "../../Utils/ariaLabel" | 
					
						
							| 
									
										
										
										
											2023-05-07 02:26:30 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-19 22:08:00 +01:00
										 |  |  |   export let state: SpecialVisualizationState | 
					
						
							|  |  |  |   export let layer: LayerConfig | 
					
						
							|  |  |  |   export let selectedElement: Feature | 
					
						
							|  |  |  |   let tags: UIEventSource<Record<string, string>> = state.featureProperties.getStore( | 
					
						
							| 
									
										
										
										
											2023-12-21 01:46:18 +01:00
										 |  |  |     selectedElement.properties.id | 
					
						
							| 
									
										
										
										
											2023-12-19 22:08:00 +01:00
										 |  |  |   ) | 
					
						
							| 
									
										
										
										
											2023-12-06 17:27:30 +01:00
										 |  |  |   $: { | 
					
						
							| 
									
										
										
										
											2023-12-19 22:08:00 +01:00
										 |  |  |     tags = state.featureProperties.getStore(selectedElement.properties.id) | 
					
						
							| 
									
										
										
										
											2023-12-06 17:27:30 +01:00
										 |  |  |   } | 
					
						
							| 
									
										
										
										
											2023-05-07 02:26:30 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-19 22:08:00 +01:00
										 |  |  |   let metatags: Store<Record<string, string>> = state.userRelatedState.preferencesAsTags | 
					
						
							| 
									
										
										
										
											2023-05-07 02:26:30 +02:00
										 |  |  | </script> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-06 17:27:30 +01:00
										 |  |  | {#if $tags._deleted === "yes"} | 
					
						
							| 
									
										
										
										
											2023-06-14 20:39:36 +02:00
										 |  |  |   <Tr t={Translations.t.delete.isDeleted} /> | 
					
						
							| 
									
										
										
										
											2023-05-07 02:26:30 +02:00
										 |  |  | {:else} | 
					
						
							| 
									
										
										
										
											2023-06-14 20:39:36 +02:00
										 |  |  |   <div | 
					
						
							| 
									
										
										
										
											2023-06-14 20:44:01 +02:00
										 |  |  |     class="low-interaction flex items-center justify-between border-b-2 border-black px-3 drop-shadow-md" | 
					
						
							| 
									
										
										
										
											2023-06-14 20:39:36 +02:00
										 |  |  |   > | 
					
						
							|  |  |  |     <div class="flex flex-col"> | 
					
						
							|  |  |  |       <!-- Title element--> | 
					
						
							|  |  |  |       <h3> | 
					
						
							| 
									
										
										
										
											2023-12-21 17:36:43 +01:00
										 |  |  |         <a href={`#${$tags.id}`}> | 
					
						
							| 
									
										
										
										
											2023-06-14 20:39:36 +02:00
										 |  |  |         <TagRenderingAnswer config={layer.title} {selectedElement} {state} {tags} {layer} /> | 
					
						
							| 
									
										
										
										
											2023-12-21 17:36:43 +01:00
										 |  |  |         </a> | 
					
						
							| 
									
										
										
										
											2023-06-14 20:39:36 +02:00
										 |  |  |       </h3> | 
					
						
							| 
									
										
										
										
											2023-12-21 17:36:43 +01:00
										 |  |  |        | 
					
						
							| 
									
										
										
										
											2023-06-14 20:39:36 +02:00
										 |  |  |       <div | 
					
						
							| 
									
										
										
										
											2023-06-14 20:44:01 +02:00
										 |  |  |         class="no-weblate title-icons links-as-button mr-2 flex flex-row flex-wrap items-center gap-x-0.5 p-1 pt-0.5 sm:pt-1" | 
					
						
							| 
									
										
										
										
											2023-06-14 20:39:36 +02:00
										 |  |  |       > | 
					
						
							|  |  |  |         {#each layer.titleIcons as titleIconConfig} | 
					
						
							| 
									
										
										
										
											2023-12-21 01:46:18 +01:00
										 |  |  |           {#if (titleIconConfig.condition?.matchesProperties($tags) ?? true) && (titleIconConfig.metacondition?.matchesProperties( { ...$metatags, ...$tags } ) ?? true) && titleIconConfig.IsKnown($tags)} | 
					
						
							| 
									
										
										
										
											2023-09-28 04:02:42 +02:00
										 |  |  |             <div class={titleIconConfig.renderIconClass ?? "flex h-8 w-8 items-center"}> | 
					
						
							| 
									
										
										
										
											2023-06-14 20:39:36 +02:00
										 |  |  |               <TagRenderingAnswer | 
					
						
							|  |  |  |                 config={titleIconConfig} | 
					
						
							|  |  |  |                 {tags} | 
					
						
							|  |  |  |                 {selectedElement} | 
					
						
							|  |  |  |                 {state} | 
					
						
							|  |  |  |                 {layer} | 
					
						
							|  |  |  |                 extraClasses="h-full justify-center" | 
					
						
							|  |  |  |               /> | 
					
						
							| 
									
										
										
										
											2023-05-07 02:26:30 +02:00
										 |  |  |             </div> | 
					
						
							| 
									
										
										
										
											2023-06-14 20:39:36 +02:00
										 |  |  |           {/if} | 
					
						
							|  |  |  |         {/each} | 
					
						
							|  |  |  |       </div> | 
					
						
							| 
									
										
										
										
											2023-05-14 03:24:13 +02:00
										 |  |  |     </div> | 
					
						
							| 
									
										
										
										
											2023-12-06 17:27:30 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-21 01:46:18 +01:00
										 |  |  |     <button | 
					
						
							|  |  |  |       on:click={() => state.selectedElement.setData(undefined)} | 
					
						
							|  |  |  |       use:ariaLabel={Translations.t.general.backToMap} | 
					
						
							|  |  |  |       class="rounded-full border-none p-0" | 
					
						
							|  |  |  |     > | 
					
						
							| 
									
										
										
										
											2023-12-14 18:25:35 +01:00
										 |  |  |       <XCircleIcon aria-hidden={true} class="h-8 w-8" /> | 
					
						
							| 
									
										
										
										
											2023-12-06 17:27:30 +01:00
										 |  |  |     </button> | 
					
						
							| 
									
										
										
										
											2023-06-14 20:39:36 +02:00
										 |  |  |   </div> | 
					
						
							| 
									
										
										
										
											2023-05-07 02:26:30 +02:00
										 |  |  | {/if} | 
					
						
							| 
									
										
										
										
											2023-05-11 17:29:25 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | <style> | 
					
						
							| 
									
										
										
										
											2023-12-21 01:46:18 +01:00
										 |  |  |   :global(.title-icons a) { | 
					
						
							|  |  |  |     display: block !important; | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2023-05-11 17:29:25 +02:00
										 |  |  | </style> |