forked from MapComplete/MapComplete
		
	
		
			
				
	
	
		
			46 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Svelte
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Svelte
		
	
	
	
	
	
<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 TagRenderingEditable from "../Popup/TagRendering/TagRenderingEditable.svelte";
 | 
						|
    import {onDestroy} from "svelte";
 | 
						|
    import Translations from "../i18n/Translations";
 | 
						|
    import Tr from "../Base/Tr.svelte";
 | 
						|
 | 
						|
    export let state: SpecialVisualizationState;
 | 
						|
    export let layer: LayerConfig;
 | 
						|
    export let selectedElement: Feature;
 | 
						|
    export let tags: UIEventSource<Record<string, string>>;
 | 
						|
    export let highlightedRendering: UIEventSource<string> = undefined;
 | 
						|
 | 
						|
 | 
						|
    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}/>
 | 
						|
    <button class="w-full" on:click={() => state.selectedElement.setData(undefined)}>
 | 
						|
        <Tr t={ Translations.t.general.returnToTheMap}/>
 | 
						|
    </button>
 | 
						|
{:else}
 | 
						|
        <div class="flex flex-col overflow-y-auto p-1 px-2 gap-y-2">
 | 
						|
            {#each layer.tagRenderings as config (config.id)}
 | 
						|
                {#if (config.condition === undefined || config.condition.matchesProperties(_tags)) && (config.metacondition === undefined || config.metacondition.matchesProperties({..._tags, ..._metatags}))}
 | 
						|
                    {#if config.IsKnown(_tags)}
 | 
						|
                        <TagRenderingEditable {tags} {config} {state} {selectedElement} {layer}
 | 
						|
                                              {highlightedRendering}></TagRenderingEditable>
 | 
						|
                    {/if}
 | 
						|
                {/if}
 | 
						|
            {/each}
 | 
						|
        </div>
 | 
						|
{/if}
 |