From a25717aec4953fd28902c7fc4162f1255230f4e9 Mon Sep 17 00:00:00 2001 From: Pete Y Date: Fri, 14 Jul 2023 11:23:12 +0100 Subject: [PATCH] Add error messages elsewhere, npm format --- src/lib/sidebar/EntireScheme.svelte | 7 ++++++- src/pages/App.svelte | 2 +- src/pages/BrowseSchemes.svelte | 7 ++++++- src/pages/ChooseArea.svelte | 4 ++-- 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/lib/sidebar/EntireScheme.svelte b/src/lib/sidebar/EntireScheme.svelte index 2105b9cab..861005e68 100644 --- a/src/lib/sidebar/EntireScheme.svelte +++ b/src/lib/sidebar/EntireScheme.svelte @@ -12,9 +12,11 @@ import type { Schema, Scheme } from "../../types"; import ConfirmationModal from "../common/ConfirmationModal.svelte"; import FileInput from "../common/FileInput.svelte"; + import ErrorMessage from "../govuk/ErrorMessage.svelte"; export let authorityName: string; export let schema: Schema; + let errorMessage = ""; let baseFilename = authorityName; if (schema != "v1") { @@ -123,7 +125,7 @@ // TODO Should we prompt before deleting the current scheme? gjScheme.set(backfill(JSON.parse(text))); } catch (err) { - window.alert(`Couldn't load scheme from a file: ${err}`); + errorMessage = `Couldn't load scheme from a file: ${err}`; } } @@ -163,6 +165,9 @@
+ {#if errorMessage} + + {/if} feature.properties?.name == authorityName ); - if(geojson.features.length === 0) { + if (geojson.features.length === 0) { window.location.href = `/?error=Authority name not found: ${authorityName}`; } return geojson; diff --git a/src/pages/BrowseSchemes.svelte b/src/pages/BrowseSchemes.svelte index 7cca4139c..9a76a193b 100644 --- a/src/pages/BrowseSchemes.svelte +++ b/src/pages/BrowseSchemes.svelte @@ -13,6 +13,7 @@ import Layout from "../lib/common/Layout.svelte"; import MapTooltips from "../lib/common/MapTooltips.svelte"; import InterventionLayer from "../lib/draw/InterventionLayer.svelte"; + import ErrorMessage from "../lib/govuk/ErrorMessage.svelte"; import FormElement from "../lib/govuk/FormElement.svelte"; import SecondaryButton from "../lib/govuk/SecondaryButton.svelte"; import Legend from "../lib/Legend.svelte"; @@ -29,6 +30,7 @@ const params = new URLSearchParams(window.location.search); let style: string = params.get("style") || "streets"; const schema = "v1"; + let errorMessage = ""; interface Scheme { scheme_reference: string; @@ -108,7 +110,7 @@ $map?.fitBounds(bbox(gj), { padding: 20, animate: false }); } catch (err) { - window.alert(`Couldn't load schemes from a file: ${err}`); + errorMessage = `Couldn't load schemes from a file: ${err}`; } } @@ -180,6 +182,9 @@

Browse schemes

+ {#if errorMessage} + + {/if}
diff --git a/src/pages/ChooseArea.svelte b/src/pages/ChooseArea.svelte index d2cbec91d..c19de44af 100644 --- a/src/pages/ChooseArea.svelte +++ b/src/pages/ChooseArea.svelte @@ -4,8 +4,8 @@ import { initAll } from "govuk-frontend"; import { Map } from "maplibre-gl"; import { onMount } from "svelte"; - import ErrorMessage from "../lib/govuk/ErrorMessage.svelte"; import DefaultButton from "../lib/govuk/DefaultButton.svelte"; + import ErrorMessage from "../lib/govuk/ErrorMessage.svelte"; import FormElement from "../lib/govuk/FormElement.svelte"; import Radio from "../lib/govuk/Radio.svelte"; import SecondaryButton from "../lib/govuk/SecondaryButton.svelte"; @@ -131,7 +131,7 @@ window.localStorage.setItem(filename, JSON.stringify(gj)); window.location.href = `scheme.html?authority=${gj.authority}&schema=${schema}`; } catch (err) { - window.alert(`Couldn't load scheme from a file: ${err}`); + errorMessage = `Couldn't load scheme from a file: ${err}`; } }