Skip to content

Commit

Permalink
Disable map-wide layers when any form is open
Browse files Browse the repository at this point in the history
  • Loading branch information
dabreegster committed May 18, 2023
1 parent bba5425 commit a4dccf9
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 2 deletions.
7 changes: 7 additions & 0 deletions src/lib/common/MapTooltips.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,13 @@
});
function onMouseMove(e: MapMouseEvent) {
// When this component is a child of another that defines a layer, during
// component teardown, the parent (and layer) will disappear first. Avoid
// errors.
if (!$map.getLayer(layer)) {
return;
}
let results = $map.queryRenderedFeatures(e.point, {
layers: [layer],
});
Expand Down
12 changes: 10 additions & 2 deletions src/lib/layers/ContextualLayers.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,27 @@
import { type Remote } from "comlink";
import { type RouteInfo } from "../../worker";
import SpeedLimits from "./SpeedLimits.svelte";
import { formOpen } from "../../stores";
export let routeInfo: Remote<RouteInfo>;
let show: "none" | "speed limits" = "none";
// If any form is open, don't show a map-wide layer.
$: {
if ($formOpen) {
show = "none";
}
}
</script>

<label>
Show layer:
<select bind:value={show}>
<select bind:value={show} disabled={$formOpen != null}>
<option value="none">None</option>
<option value="speed limits">Speed limits</option>
</select>
</label>
{#if show == "speed limits"}
<SpeedLimits {routeInfo} />
<SpeedLimits {routeInfo} id={undefined} />
{/if}

0 comments on commit a4dccf9

Please sign in to comment.