diff --git a/libs/shared/lib/vis/visualizations/mapvis/layers/nodelink-layer/NodeLinkLayer.tsx b/libs/shared/lib/vis/visualizations/mapvis/layers/nodelink-layer/NodeLinkLayer.tsx index 25677d43268c75f489a1ad26e4b1373b42e8fa1c..bb7e24aca952d7ad1aa7b43c6fc98a915fb4677e 100644 --- a/libs/shared/lib/vis/visualizations/mapvis/layers/nodelink-layer/NodeLinkLayer.tsx +++ b/libs/shared/lib/vis/visualizations/mapvis/layers/nodelink-layer/NodeLinkLayer.tsx @@ -58,7 +58,7 @@ export class NodeLinkLayer extends CompositeLayer<LayerProps> { new LineLayer({ id: layerId, data: edgeData, - visible: !config[label].hidden, + visible: !config[label]?.hidden, pickable: true, getWidth: (d: any) => config[label].width, getSourcePosition: (d: any) => getNodeLocation(d.from), diff --git a/libs/shared/lib/vis/visualizations/mapvis/layers/nodelink-layer/NodeLinkOptions.tsx b/libs/shared/lib/vis/visualizations/mapvis/layers/nodelink-layer/NodeLinkOptions.tsx index 07d7e97f877b71e3267fe6b6a7213a280278f22f..21d5a55231fdbee64a641d1668d5a1643c4d58c5 100644 --- a/libs/shared/lib/vis/visualizations/mapvis/layers/nodelink-layer/NodeLinkOptions.tsx +++ b/libs/shared/lib/vis/visualizations/mapvis/layers/nodelink-layer/NodeLinkOptions.tsx @@ -72,10 +72,10 @@ export default function NodeLinkOptions({ settings, graphMetadata, updateSetting updateValue={(val: number[]) => updateSettings({ [nodeType]: { ...settings?.[nodeType], color: val } })} /> <Button - iconComponent={settings?.[nodeType].hidden ? <VisibilityOff /> : <Visibility />} + iconComponent={settings?.[nodeType]?.hidden ? <VisibilityOff /> : <Visibility />} variant="ghost" onClick={() => { - updateSettings({ [nodeType]: { ...settings?.[nodeType], hidden: !settings?.[nodeType].hidden as boolean } }); + updateSettings({ [nodeType]: { ...settings?.[nodeType], hidden: !settings?.[nodeType]?.hidden as boolean } }); }} /> </div> @@ -137,10 +137,10 @@ export default function NodeLinkOptions({ settings, graphMetadata, updateSetting updateValue={(val: number[]) => updateSettings({ [edgeType]: { ...settings?.[edgeType], color: val } })} /> <Button - iconComponent={settings?.[edgeType].hidden ? <VisibilityOff /> : <Visibility />} + iconComponent={settings?.[edgeType]?.hidden ? <VisibilityOff /> : <Visibility />} variant="ghost" onClick={() => { - updateSettings({ [edgeType]: { ...settings?.[edgeType], hidden: !settings?.[edgeType].hidden as boolean } }); + updateSettings({ [edgeType]: { ...settings?.[edgeType], hidden: !settings?.[edgeType]?.hidden as boolean } }); }} /> </div> diff --git a/libs/shared/lib/vis/visualizations/mapvis/mapvis.tsx b/libs/shared/lib/vis/visualizations/mapvis/mapvis.tsx index 4ee0dabf584e52572d609ad0429bb72fe22d10fa..7c0d3e54c8bcf542bea26a5ae4a75874c05c1100 100644 --- a/libs/shared/lib/vis/visualizations/mapvis/mapvis.tsx +++ b/libs/shared/lib/vis/visualizations/mapvis/mapvis.tsx @@ -67,10 +67,8 @@ export const MapVis = ({ data, settings, handleSelect, graphMetadata }: Visualiz ); useEffect(() => { - const layerType = settings.layer ? layerTypes?.[settings.layer] : layerTypes.node; - setLayer({ - type: layerType, + type: settings.layer ? layerTypes?.[settings.layer] : layerTypes.nodelink, config: settings, }); }, [settings.layer]); @@ -80,10 +78,10 @@ export const MapVis = ({ data, settings, handleSelect, graphMetadata }: Visualiz const coordinateLookup: { [id: string]: Coordinate } = data.nodes.reduce( (acc, node) => { - const latitude = settings[node.label].lat ? (node?.attributes?.[settings[node.label].lat] as string) : undefined; - const longitude = settings[node.label].lon ? (node?.attributes?.[settings[node.label].lon] as string) : undefined; + const latitude = settings?.[node.label]?.lat ? (node?.attributes?.[settings[node.label].lat] as string) : undefined; + const longitude = settings?.[node.label]?.lon ? (node?.attributes?.[settings[node.label].lon] as string) : undefined; - if (!!latitude && !!longitude) { + if (latitude !== undefined && longitude !== undefined) { acc[node._id] = [parseFloat(longitude), parseFloat(latitude)]; } @@ -98,9 +96,7 @@ export const MapVis = ({ data, settings, handleSelect, graphMetadata }: Visualiz config: settings, selected: selected, hoverObject: hoverObject, - getNodeLocation: (d: string) => { - return coordinateLookup[d]; - }, + getNodeLocation: (d: string) => coordinateLookup[d], flyToBoundingBox: flyToBoundingBox, setLayerIds: (val: string[]) => setLayerIds(val), });