Refactoring to implement visualization and edition features.

This commit is contained in:
vdv committed 2023-01-02 17:27:55 +01:00
1 parent 67cfd16efb
commit adc37fef03
11 files changed
+129 -223

No files matched your search

+9 -33
View File
@@ -3,6 +3,10 @@ import { Component, createEffect, createSignal, onCleanup } from 'solid-js';
import dispatch, { cancelDispatch } from '../../workers/dispatcher-main';
import VectorSource from 'ol/source/Vector';
import GeoJSON from 'ol/format/GeoJSON';
import {
createCachedSignal,
destroyCachedSignal,
} from '../../workers/cached-signals';
interface Props {
trksegId: string;
@@ -15,42 +19,14 @@ export const Trkseg: Component<Props> = ({
trksegId,
context,
}) => {
const [trkseg, setTrkseg] = createSignal<Trkseg>();
const [dispatchId, setDispatchId] = createSignal<number>(-1);
const trksegCallBack = (error: any, result: any, id?: number) => {
if (error) {
console.error({ caller: 'trksegCallBack', error });
} else {
console.log({ caller: 'trksegCallBack', result });
setTrkseg(result);
}
if (id) {
setDispatchId(id);
}
const params = {
id: trksegId,
method: 'getTrkseg',
};
dispatch(
{
action: 'getAndWatch',
params: {
id: trksegId,
method: 'getTrkseg',
},
},
trksegCallBack,
true
);
const trkseg = createCachedSignal(params);
onCleanup(() => {
dispatch({
action: 'cancelWatch',
params: {
id: trksegId,
method: 'getTrkseg',
},
});
cancelDispatch(dispatchId());
destroyCachedSignal(params);
});
createEffect(() => {