From deb1f267abfabd6009cc72c6e927a5683bb177fd Mon Sep 17 00:00:00 2001 From: evlist Date: Tue, 29 Nov 2022 15:06:39 +0100 Subject: [PATCH] Doing the samething for WPts --- src/components/trkseg/Trkseg.tsx | 3 --- src/components/wpt/Wpt.tsx | 15 +++++++++++---- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/components/trkseg/Trkseg.tsx b/src/components/trkseg/Trkseg.tsx index f9e7b35..151eefb 100644 --- a/src/components/trkseg/Trkseg.tsx +++ b/src/components/trkseg/Trkseg.tsx @@ -1,13 +1,10 @@ import { Component, createEffect, createResource } from 'solid-js'; -import OlMap from 'ol/Map'; import dispatch from '../../workers/dispatcher-main'; -import getUri from '../../lib/ids'; import VectorSource from 'ol/source/Vector'; import GeoJSON from 'ol/format/GeoJSON'; import { setBranch, tree } from '../map'; -import { unwrap } from 'solid-js/store'; import { Feature } from 'ol'; interface Props { diff --git a/src/components/wpt/Wpt.tsx b/src/components/wpt/Wpt.tsx index 9aebcb9..470280e 100644 --- a/src/components/wpt/Wpt.tsx +++ b/src/components/wpt/Wpt.tsx @@ -1,11 +1,10 @@ import { Component, createEffect, createResource } from 'solid-js'; -import OlMap from 'ol/Map'; - import dispatch from '../../workers/dispatcher-main'; -import getUri from '../../lib/ids'; import VectorSource from 'ol/source/Vector'; import GeoJSON from 'ol/format/GeoJSON'; +import { setBranch, tree } from '../map'; +import { Feature } from 'ol'; interface Props { wptId: string; @@ -27,7 +26,7 @@ export const Wpt: Component = ({ vectorSource, wptId: wptId }) => { createEffect(() => { console.log({ caller: 'Wpt', vectorSource, wptId, wpt: wpt() }); - if (wpt()) { + if (wpt() && !tree[wptId]) { let geo: any = { type: 'FeatureCollection', features: [ @@ -45,9 +44,17 @@ export const Wpt: Component = ({ vectorSource, wptId: wptId }) => { const features = new GeoJSON().readFeatures(geo); console.log({ caller: 'Wpt', features }); vectorSource.addFeatures(features); + setBranch(wptId, { features, updateHandler }); } }); + const updateHandler = (feature: Feature) => { + console.log({ + caller: 'Wpt / updateHandler / clicked', + feature, + }); + }; + return <>; };