From 8970ab77f61c8183b6d9cda17b64b6a054b450e9 Mon Sep 17 00:00:00 2001 From: Jonathan Yong Date: Fri, 23 Feb 2024 11:40:07 +0000 Subject: [PATCH] Hide comparison dropdown when there's nothing to compare against Closes #71 --- src/lib/leftSidebar/Choose.svelte | 158 ++++++++++++++++-------------- 1 file changed, 85 insertions(+), 73 deletions(-) diff --git a/src/lib/leftSidebar/Choose.svelte b/src/lib/leftSidebar/Choose.svelte index 30dad09..e04ee57 100644 --- a/src/lib/leftSidebar/Choose.svelte +++ b/src/lib/leftSidebar/Choose.svelte @@ -81,7 +81,7 @@ let allScenariosExceptCompare: string[]; let decreaseScenarioOk: boolean; let increaseScenarioOk: boolean; - let allCompareScenariosExceptMain: Array; + let allCompareScenariosExceptMain: Array = [null]; let decreaseCompareScenarioOk: boolean; let increaseCompareScenarioOk: boolean; @@ -128,13 +128,15 @@ ? null : $allScenarios.get($compareScenarioName); - descriptionLines = scenario.metadata.description.replace(/\r/g, "").split(/\n+/), - compareDescriptionLines = - $compareScenarioName === null - ? null - : compareScenario.metadata.description - .replace(/\r/g, "") - .split(/\n+/); + (descriptionLines = scenario.metadata.description + .replace(/\r/g, "") + .split(/\n+/)), + (compareDescriptionLines = + $compareScenarioName === null + ? null + : compareScenario.metadata.description + .replace(/\r/g, "") + .split(/\n+/)); allScenariosExceptCompare = allScenarioNames.filter( (s) => s !== $compareScenarioName @@ -223,75 +225,84 @@ modelled development strategies on any of the four indicators. {/if}

Compare against

-
- - - - {#if $compareScenarioName !== null} +{#if allCompareScenariosExceptMain.length === 1 && $compareScenarioName === null} +

+ There are currently no other scenarios to compare against. You can + create a new scenario, or import a previously defined scenario, using + the tabs above. +

+{:else} +
- {/if} -
- -{#if compareDescriptionVisible && $compareScenarioName !== null} -
- {#key $compareScenarioName} -
+ + {#each [...$allScenarios.entries()] as [name, compareScenario]} + {#if name !== $scenarioName} + + {/if} + {/each} + + + {#if $compareScenarioName !== null} +
- {/key} + {compareDescriptionVisible + ? "hide description" + : "show description"} + {compareDescriptionVisible ? "∧" : "∨"} + + {/if}
+ + {#if compareDescriptionVisible && $compareScenarioName !== null} +
+ {#key $compareScenarioName} +
+

{compareDescriptionLines[0]}

+ {#each compareDescriptionLines.slice(1) as para} +

{para}

+ {/each} +
+ {/key} +
+ {/if} {/if}