From 401b5d28d0660f419c20caa2b5515d7aba825a73 Mon Sep 17 00:00:00 2001 From: Doxa Maps Date: Mon, 28 Sep 2026 19:36:45 +0000 Subject: [PATCH] Country Posters: Export poster opens its dialog again, and two legend calls that did nothing are gone (the legend's rows are called items) --- plugin-designs/country-posters/countries-map.vue | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/plugin-designs/country-posters/countries-map.vue b/plugin-designs/country-posters/countries-map.vue index 809c35e32..9672b45ac 100644 --- a/plugin-designs/country-posters/countries-map.vue +++ b/plugin-designs/country-posters/countries-map.vue @@ -792,7 +792,7 @@ const legend = useLegendData({ dataStore, legendType: activeLegendType }) -provide('legendRows', legend.rows) +provide('legendRows', legend.items) // useLegendData returns `items` (there is no `rows`) // SemanticTreeLegend (and LegendFamilyTree.legacy) need raw normalized // people-groups, not pre-aggregated legendRows. mapData owns the normalized // array; expose to descendants. @@ -1530,8 +1530,6 @@ function switchTab(tabId) { map.value.moveLayer('language-family-pins') } } - // Re-aggregate legend rows for the new lens - legend.refresh?.() // Re-color clusters (cluster paint depends on active strategy) clustering.refreshColors?.() } @@ -2085,8 +2083,6 @@ async function onMapReady(normalizedPeopleGroups) { if (activeTab.value?.id === 'prayer') mapLayers.startPrayerGlow() // Hand the same dataset to clustering so MST/network can rebuild on toggle clustering.setData?.(normalizedPeopleGroups) - // Build the initial legend - legend.build?.(normalizedPeopleGroups) // Selected-pin highlight + GO marker — must come after the language-families // source exists (added by addLanguageFamilyLayer above). selectedPin.initialize() @@ -2390,12 +2386,12 @@ onBeforeUnmount(() => { + the library. legend.items is a ref inside a plain object, so the template must unwrap it (useLegendData has no `rows`: reading it threw and the dialog never opened, NE-17). -->