diff --git a/src/lib/components/calculations/CalculationPane.svelte b/src/lib/components/calculations/CalculationPane.svelte index b524dde9e65f7da568b5437f77b3404e6c1a74aa..8a1022f2fa22490033f085ff0132b6c04cd1615b 100644 --- a/src/lib/components/calculations/CalculationPane.svelte +++ b/src/lib/components/calculations/CalculationPane.svelte @@ -1,5 +1,5 @@ <script lang="ts"> - import { getContext } from "svelte" + import { getContext, setContext } from "svelte" import type { Writable } from "svelte/store" import { goto } from "$app/navigation" @@ -14,6 +14,7 @@ import VariableReferredParametersPane from "$lib/components/variables/VariableReferredParametersPane.svelte" import Waterfall from "$lib/components/waterfalls/Waterfall.svelte" import type { Decomposition } from "$lib/decompositions" + import type { SelfTargetAProps } from "$lib/urls" export let actions: string[] | undefined export let pane: "pane1" | "pane2" | "pane3" | "pane4" @@ -24,10 +25,10 @@ let component = undefined const decomposition = getContext("decomposition") as Writable<Decomposition> + const newSelfTargetAProps = newSelfTargetAPropsBuilder(pane) + setContext("newSelfTargetAProps", newSelfTargetAProps) let properties = undefined - $: newSelfTargetUrl = newSelfTargetUrlBuilder(pane) - $: updateComponentAndProperties(actions, pane) function closeWindow() { @@ -45,8 +46,8 @@ } // eslint-disable-next-line @typescript-eslint/no-unused-vars - function newSelfTargetUrlBuilder(pane) { - return (urlPath: string): string => { + function newSelfTargetAPropsBuilder(pane) { + return (urlPath: string): SelfTargetAProps => { // Variable-related views are shown in pane3. if ( urlPath === "/parameters" || @@ -55,12 +56,18 @@ urlPath.startsWith("/variables/") ) { const actions = [...(query.pane3 ?? []), urlPath.replace(/^\/+/, "")] - return newCalculationUrl({ - ...query, - pane3: actions, - }) + return { + href: newCalculationUrl({ + ...query, + pane3: actions, + }), + "sveltekit:noscroll": true, + } + } + return { + href: urlPath, + "sveltekit:prefetch": true, } - return urlPath } } @@ -156,16 +163,15 @@ {#if component === DecompositionTree} <DecompositionTree decomposition={$decomposition} - {newSelfTargetUrl} open={true} {showNulls} {vectorIndex} {...properties} /> {:else if component === Latchkey} - <Latchkey {newSelfTargetUrl} {showNulls} {vectorIndex} {...properties} /> + <Latchkey {showNulls} {vectorIndex} {...properties} /> {:else if component === ParameterPane} - <ParameterPane {newSelfTargetUrl} {...properties} /> + <ParameterPane {...properties} /> {:else if component === TestCaseEdit} <TestCaseEdit on:changeAxes @@ -176,11 +182,11 @@ {...properties} /> {:else if component === VariablePane} - <VariablePane {newSelfTargetUrl} {...properties} /> + <VariablePane {...properties} /> {:else if component === VariableReferredInputsPane} - <VariableReferredInputsPane {newSelfTargetUrl} {...properties} /> + <VariableReferredInputsPane {...properties} /> {:else if component === VariableReferredParametersPane} - <VariableReferredParametersPane {newSelfTargetUrl} {...properties} /> + <VariableReferredParametersPane {...properties} /> {:else if component === Waterfall} - <Waterfall {newSelfTargetUrl} {showNulls} {vectorIndex} {...properties} /> + <Waterfall {showNulls} {vectorIndex} {...properties} /> {/if} diff --git a/src/lib/components/latchkeys/Arrow.svelte b/src/lib/components/latchkeys/Arrow.svelte index cec11199aaf6cdfbd2d9a0c50414d1fde4d47175..87bb1c00835e886020381dcd024ab8fb7b8e0991 100644 --- a/src/lib/components/latchkeys/Arrow.svelte +++ b/src/lib/components/latchkeys/Arrow.svelte @@ -4,11 +4,11 @@ import { goto } from "$app/navigation" import type { LatchkeyDataItem } from "$lib/decompositions" + import type { SelfTargetAProps } from "$lib/urls" export let height: number export let index: number export let item: LatchkeyDataItem - export let newSelfTargetUrl: (urlPath: string) => string export let vectorIndex: number export let x0: number export let x1: number @@ -37,6 +37,9 @@ signDisplay: "exceptZero", style: "currency", }) + const newSelfTargetAProps = getContext("newSelfTargetAProps") as ( + url: string, + ) => SelfTargetAProps const showColoredRects = getContext("showColoredRects") as Writable<boolean> const verticalLineStrokeWidth = 2 @@ -153,8 +156,12 @@ {#if index > 0} <g - on:click={() => - goto(newSelfTargetUrl(`/variables/${leaf.code}/parameters/${date}`))} + on:click={() => { + const aProps = newSelfTargetAProps( + `/variables/${leaf.code}/parameters/${date}`, + ) + goto(aProps.href, { noscroll: aProps["sveltekit:noscroll"] }) + }} transform={x0 < x1 ? `rotate(180, ${x + width / 2}, ${y + height / 2})` : null} @@ -199,8 +206,12 @@ {#if index > 0} <g - on:click={() => - goto(newSelfTargetUrl(`/variables/${leaf.code}/parameters/${date}`))} + on:click={() => { + const aProps = newSelfTargetAProps( + `/variables/${leaf.code}/parameters/${date}`, + ) + goto(aProps.href, { noscroll: aProps["sveltekit:noscroll"] }) + }} transform={x0 < x1 ? `rotate(180, ${x + width / 2}, ${y + height / 2})` : null} diff --git a/src/lib/components/latchkeys/Latchkey.svelte b/src/lib/components/latchkeys/Latchkey.svelte index 4bebcc166711b0f5672a1b45db586d10fb71ee9f..16e91e11011acc242da22a4362d1569c63f171cb 100644 --- a/src/lib/components/latchkeys/Latchkey.svelte +++ b/src/lib/components/latchkeys/Latchkey.svelte @@ -10,7 +10,6 @@ import AxisY from "./AxisY.svelte" import Rows from "./Rows.svelte" - export let newSelfTargetUrl: (urlPath: string) => string export let showNulls: boolean export let vectorIndex: number @@ -169,7 +168,7 @@ {yDomain} > <Svg> - <Rows {newSelfTargetUrl} {vectorIndex} /> + <Rows {vectorIndex} /> <AxisX /> <AxisY gridlines={false} /> </Svg> diff --git a/src/lib/components/latchkeys/Rows.svelte b/src/lib/components/latchkeys/Rows.svelte index 9e4869a406d3cc63e7e9ee9b4c59bf959f2397f6..6ef2084bd0f30556fe3d62256ce09923a9a2d712 100644 --- a/src/lib/components/latchkeys/Rows.svelte +++ b/src/lib/components/latchkeys/Rows.svelte @@ -3,7 +3,6 @@ import Arrow from "./Arrow.svelte" - export let newSelfTargetUrl: (urlPath: string) => string export let vectorIndex: number const { data, xGet, xScale, yGet, yRange, yScale } = getContext("LayerCake") @@ -41,7 +40,6 @@ {height} {index} {item} - {newSelfTargetUrl} {vectorIndex} {x0} {x1} diff --git a/src/lib/components/parameters/ParameterPane.svelte b/src/lib/components/parameters/ParameterPane.svelte index 6971d46a2165a4bd09f076e93c786bb854e09ea2..13154d4651e4875d73975db1858c65b709744c43 100644 --- a/src/lib/components/parameters/ParameterPane.svelte +++ b/src/lib/components/parameters/ParameterPane.svelte @@ -5,7 +5,6 @@ import { improveParameterWithAncestors } from "$lib/parameters" export let name: string - export let newSelfTargetUrl: (urlPath: string) => string // export let pane: string let parameter: AnyParameter | undefined = undefined @@ -30,5 +29,5 @@ </script> {#if parameter !== undefined} - <ParameterView editable={true} {newSelfTargetUrl} {parameter} /> + <ParameterView editable={true} {parameter} /> {/if} diff --git a/src/lib/components/parameters/ParameterView.svelte b/src/lib/components/parameters/ParameterView.svelte index 27d3c01ce8fb4d866e591e8344ac4b7081e76e12..036fe7b4a86004f4c4908d9bbda36d898c9e5ef6 100644 --- a/src/lib/components/parameters/ParameterView.svelte +++ b/src/lib/components/parameters/ParameterView.svelte @@ -5,11 +5,14 @@ import type { AnyParameter } from "$lib/parameters" import { ParameterClass, iterParameterAncestors } from "$lib/parameters" import type { Reform } from "$lib/reforms" + import type { SelfTargetAProps } from "$lib/urls" export let editable: boolean - export let newSelfTargetUrl: (urlPath: string) => string export let parameter: AnyParameter + const newSelfTargetAProps = getContext("newSelfTargetAProps") as ( + url: string, + ) => SelfTargetAProps const reform = getContext("reform") as Writable<Reform> const simulationRequested = getContext( "simulationRequested", @@ -53,9 +56,10 @@ <h1> Paramètre {#each [...iterParameterAncestors(parameter.parent)] as ancestor} - <a class="link" href={newSelfTargetUrl(`/parameters/${ancestor.name}`)}> - {ancestor.title} - </a> + <!-- svelte-ignore a11y-missing-attribute --> + <a class="link" {...newSelfTargetAProps(`/parameters/${ancestor.name}`)} + >{ancestor.title}</a + > > {/each} {parameter.title} @@ -103,7 +107,8 @@ <ul class="ml-4"> {#each Object.entries(parameter.children) as [childId, child]} <li class="my-2"> - <a class="link" href={newSelfTargetUrl(`/parameters/${child.name}`)}> + <!-- svelte-ignore a11y-missing-attribute --> + <a class="link" {...newSelfTargetAProps(`/parameters/${child.name}`)}> {child.title} </a> </li> @@ -211,7 +216,8 @@ <ul class="list-disc list-inside"> {#each parameter.referring_variables as variableName} <li> - <a class="link" href={newSelfTargetUrl(`/variables/${variableName}`)} + <!-- svelte-ignore a11y-missing-attribute --> + <a class="link" {...newSelfTargetAProps(`/variables/${variableName}`)} >{variableName}</a > </li> diff --git a/src/lib/components/variables/VariablePane.svelte b/src/lib/components/variables/VariablePane.svelte index 7c8bb811d14a23a9180d1e109e45142a017c1c43..7c9d66cdb5c27c4334ccfbeb0bacf324df902909 100644 --- a/src/lib/components/variables/VariablePane.svelte +++ b/src/lib/components/variables/VariablePane.svelte @@ -4,7 +4,6 @@ import type { Variable } from "$lib/variables" export let name: string - export let newSelfTargetUrl: (urlPath: string) => string // export let pane: string let variable: Variable | undefined = undefined @@ -28,5 +27,5 @@ </script> {#if variable !== undefined} - <VariableView editable={true} {newSelfTargetUrl} {variable} /> + <VariableView editable={true} {variable} /> {/if} diff --git a/src/lib/components/variables/VariableReferredInputs.svelte b/src/lib/components/variables/VariableReferredInputs.svelte index 8a0d903d6043be0b08a378c20a911178e8ec64fa..284e9d4200b0891f4ed07a16da9d941e5167e278 100644 --- a/src/lib/components/variables/VariableReferredInputs.svelte +++ b/src/lib/components/variables/VariableReferredInputs.svelte @@ -1,9 +1,15 @@ <script lang="ts"> + import { getContext } from "svelte" + + import type { SelfTargetAProps } from "$lib/urls" import type { Variable } from "$lib/variables" - export let newSelfTargetUrl: (urlPath: string) => string export let inputs: Variable[] export let variable: Variable + + const newSelfTargetAProps = getContext("newSelfTargetAProps") as ( + url: string, + ) => SelfTargetAProps </script> <h1 class="bg-blue-500 text-white"> @@ -22,7 +28,8 @@ <ul> {#each inputs as input} <li> - <a class="link" href={newSelfTargetUrl(`/variables/${input.name}`)} + <!-- svelte-ignore a11y-missing-attribute --> + <a class="link" {...newSelfTargetAProps(`/variables/${input.name}`)} >{input.name}</a > </li> diff --git a/src/lib/components/variables/VariableReferredInputsPane.svelte b/src/lib/components/variables/VariableReferredInputsPane.svelte index 99f12328d7be605b00edf5249514fe80e9c7d62e..a3867815e5175b3df6ad42ef10845885bdc36ac6 100644 --- a/src/lib/components/variables/VariableReferredInputsPane.svelte +++ b/src/lib/components/variables/VariableReferredInputsPane.svelte @@ -5,7 +5,6 @@ export let date: string export let name: string - export let newSelfTargetUrl: (urlPath: string) => string // export let pane: string let inputs: Variable[] | undefined = undefined @@ -53,5 +52,5 @@ </script> {#if inputs !== undefined && variable !== undefined} - <VariableReferredInputs {inputs} {newSelfTargetUrl} {variable} /> + <VariableReferredInputs {inputs} {variable} /> {/if} diff --git a/src/lib/components/variables/VariableReferredNode.svelte b/src/lib/components/variables/VariableReferredNode.svelte index 62ff34c21fe7dd8a1165a0668a95899abdf3960e..850f1e06efafaabe24ea85b80979b09cd6f40372 100644 --- a/src/lib/components/variables/VariableReferredNode.svelte +++ b/src/lib/components/variables/VariableReferredNode.svelte @@ -8,38 +8,26 @@ export let date: string export let depth: number - export let newSelfTargetUrl: (urlPath: string) => string export let parameter: ParameterNode </script> <section> - <VariableReferredParameterHeader {depth} {newSelfTargetUrl} {parameter} /> + <VariableReferredParameterHeader {depth} {parameter} /> {#if parameter.children !== undefined} <ul> {#each Object.values(parameter.children) as child} <li> {#if child.class === ParameterClass.Node} - <svelte:self - {date} - depth={depth + 1} - {newSelfTargetUrl} - parameter={child} - /> + <svelte:self {date} depth={depth + 1} parameter={child} /> {:else if child.class === ParameterClass.Parameter} <VariableReferredParameter {date} depth={depth + 1} - {newSelfTargetUrl} parameter={child} /> {:else if child.class === ParameterClass.Scale} - <VariableReferredScale - {date} - depth={depth + 1} - {newSelfTargetUrl} - parameter={child} - /> + <VariableReferredScale {date} depth={depth + 1} parameter={child} /> {/if} </li> {/each} diff --git a/src/lib/components/variables/VariableReferredParameter.svelte b/src/lib/components/variables/VariableReferredParameter.svelte index 8abe371a2cf8833983c9213ffeac70366c69d37f..984b643c59e650d3d090c2eb64f31a1863b4db1e 100644 --- a/src/lib/components/variables/VariableReferredParameter.svelte +++ b/src/lib/components/variables/VariableReferredParameter.svelte @@ -9,7 +9,6 @@ export let date: string export let depth: number - export let newSelfTargetUrl: (urlPath: string) => string export let parameter: Parameter let openHistory = false @@ -50,7 +49,7 @@ </script> <section> - <VariableReferredParameterHeader {depth} {newSelfTargetUrl} {parameter} /> + <VariableReferredParameterHeader {depth} {parameter} /> <div class="bg-gray-100 flex items-baseline justify-between text-gray-600 text-xs" diff --git a/src/lib/components/variables/VariableReferredParameterHeader.svelte b/src/lib/components/variables/VariableReferredParameterHeader.svelte index d3eac3e821fa5451a327f65d192de2108d4c67c3..b614a4248db2bb366639d85ddacc2a3c621b6864 100644 --- a/src/lib/components/variables/VariableReferredParameterHeader.svelte +++ b/src/lib/components/variables/VariableReferredParameterHeader.svelte @@ -1,10 +1,16 @@ <script lang="ts"> + import { getContext } from "svelte" + import type { AnyParameter } from "$lib/parameters" import { iterParameterAncestors } from "$lib/parameters" + import type { SelfTargetAProps } from "$lib/urls" export let depth: number - export let newSelfTargetUrl: (urlPath: string) => string export let parameter: AnyParameter + + const newSelfTargetAProps = getContext("newSelfTargetAProps") as ( + url: string, + ) => SelfTargetAProps </script> <h1 @@ -16,7 +22,8 @@ > {#if depth === 0} {#each [...iterParameterAncestors(parameter.parent)] as ancestor} - <a class="link" href={newSelfTargetUrl(`/parameters/${ancestor.name}`)}> + <!-- svelte-ignore a11y-missing-attribute --> + <a class="link" {...newSelfTargetAProps(`/parameters/${ancestor.name}`)}> {ancestor.title} </a> > diff --git a/src/lib/components/variables/VariableReferredParameters.svelte b/src/lib/components/variables/VariableReferredParameters.svelte index b6ac589792f97ff9f44cf6b987296d122273bc62..56c1eb9932b3ed84b3fb65b0c7ba971df3e99347 100644 --- a/src/lib/components/variables/VariableReferredParameters.svelte +++ b/src/lib/components/variables/VariableReferredParameters.svelte @@ -12,7 +12,6 @@ import VariableReferredScale from "./VariableReferredScale.svelte" export let date: string - export let newSelfTargetUrl: (urlPath: string) => string export let parameters: AnyParameter[] export let variable: Variable @@ -137,26 +136,11 @@ {#each Object.values(rootDirectParameterById) as parameter} <li> {#if parameter.class === ParameterClass.Node} - <VariableReferredNode - {date} - depth={0} - {newSelfTargetUrl} - {parameter} - /> + <VariableReferredNode {date} depth={0} {parameter} /> {:else if parameter.class === ParameterClass.Parameter} - <VariableReferredParameter - {date} - depth={0} - {newSelfTargetUrl} - {parameter} - /> + <VariableReferredParameter {date} depth={0} {parameter} /> {:else if parameter.class === ParameterClass.Scale} - <VariableReferredScale - {date} - depth={0} - {newSelfTargetUrl} - {parameter} - /> + <VariableReferredScale {date} depth={0} {parameter} /> {/if} </li> {/each} @@ -199,26 +183,11 @@ {#each Object.values(rootParameterById) as parameter} <li> {#if parameter.class === ParameterClass.Node} - <VariableReferredNode - {date} - depth={0} - {newSelfTargetUrl} - {parameter} - /> + <VariableReferredNode {date} depth={0} {parameter} /> {:else if parameter.class === ParameterClass.Parameter} - <VariableReferredParameter - {date} - depth={0} - {newSelfTargetUrl} - {parameter} - /> + <VariableReferredParameter {date} depth={0} {parameter} /> {:else if parameter.class === ParameterClass.Scale} - <VariableReferredScale - {date} - depth={0} - {newSelfTargetUrl} - {parameter} - /> + <VariableReferredScale {date} depth={0} {parameter} /> {/if} </li> {/each} diff --git a/src/lib/components/variables/VariableReferredParametersPane.svelte b/src/lib/components/variables/VariableReferredParametersPane.svelte index 43b76f45d70902017f5fa026e45650f70d6a9ff1..aa9f82cd41145b4d5377a5b0447bee50d050e31a 100644 --- a/src/lib/components/variables/VariableReferredParametersPane.svelte +++ b/src/lib/components/variables/VariableReferredParametersPane.svelte @@ -7,7 +7,6 @@ export let date: string export let name: string - export let newSelfTargetUrl: (urlPath: string) => string // export let pane: string let variable: Variable | undefined = undefined @@ -56,10 +55,5 @@ </script> {#if parameters !== undefined && variable !== undefined} - <VariableReferredParameters - {date} - {newSelfTargetUrl} - {parameters} - {variable} - /> + <VariableReferredParameters {date} {parameters} {variable} /> {/if} diff --git a/src/lib/components/variables/VariableReferredScale.svelte b/src/lib/components/variables/VariableReferredScale.svelte index 9cc55c9bfaf54e70f6753e21a70d130a81ec97a8..749b773394de63d9a81c5e46fc6bf275cfe05bda 100644 --- a/src/lib/components/variables/VariableReferredScale.svelte +++ b/src/lib/components/variables/VariableReferredScale.svelte @@ -5,7 +5,6 @@ export let date: string export let depth: number - export let newSelfTargetUrl: (urlPath: string) => string export let parameter: Scale let openHistory = false @@ -20,7 +19,7 @@ </script> <section> - <VariableReferredParameterHeader {depth} {newSelfTargetUrl} {parameter} /> + <VariableReferredParameterHeader {depth} {parameter} /> <div class="bg-gray-100 flex items-baseline text-gray-600 text-xs"> <div class="flex px-1"> {#if latestBracket === undefined} diff --git a/src/lib/components/variables/VariableView.svelte b/src/lib/components/variables/VariableView.svelte index 32ff02596025e174cfd2b873075d1b54d8c1f1c2..af3448f6ca020b6be8608073c5334214be36fa1d 100644 --- a/src/lib/components/variables/VariableView.svelte +++ b/src/lib/components/variables/VariableView.svelte @@ -4,13 +4,16 @@ import { pluralByEntityKey } from "$lib/entities" import type { SituationComplement, Situation } from "$lib/situations" + import type { SelfTargetAProps } from "$lib/urls" import type { Variable } from "$lib/variables" export let editable: boolean - export let newSelfTargetUrl: (urlPath: string) => string export let variable: Variable const date = new Date().toISOString().split("T")[0] + const newSelfTargetAProps = getContext("newSelfTargetAProps") as ( + url: string, + ) => SelfTargetAProps const simulationRequested = getContext( "simulationRequested", ) as Writable<boolean> @@ -141,16 +144,18 @@ <section> <div> + <!-- svelte-ignore a11y-missing-attribute --> <a class="link" - href={newSelfTargetUrl(`/variables/${variable.name}/inputs/${date}`)} + {...newSelfTargetAProps(`/variables/${variable.name}/inputs/${date}`)} >Variables d'entrée influant sur la formule, à la date du {date}</a > </div> <div> + <!-- svelte-ignore a11y-missing-attribute --> <a class="link" - href={newSelfTargetUrl( + {...newSelfTargetAProps( `/variables/${variable.name}/parameters/${date}`, )}>Paramètres influant sur la formule, à la date du {date}</a > diff --git a/src/lib/components/waterfalls/Waterfall.svelte b/src/lib/components/waterfalls/Waterfall.svelte index acddbe146f788de9c8f82c7471cf06944605fe11..68ac9ab4a1f89c6cef6c3e0f801d6f0cb24f9e42 100644 --- a/src/lib/components/waterfalls/Waterfall.svelte +++ b/src/lib/components/waterfalls/Waterfall.svelte @@ -7,16 +7,20 @@ import { LayerCake, Svg } from "$lib/components/layercake" import type { Decomposition } from "$lib/decompositions" import { walkDecomposition } from "$lib/decompositions" + import type { SelfTargetAProps } from "$lib/urls" + import AxisX from "./AxisX.svelte" import AxisY from "./AxisY.svelte" import Columns from "./Columns.svelte" - export let newSelfTargetUrl: (urlPath: string) => string export let showNulls: boolean export let vectorIndex: number let adaptYScale = false const decomposition = getContext("decomposition") as Writable<Decomposition> + const newSelfTargetAProps = getContext("newSelfTargetAProps") as ( + url: string, + ) => SelfTargetAProps $: data = [...walkDecomposition($decomposition, true, true)].filter( ({ delta }) => showNulls || delta.some((deltaItem) => deltaItem !== 0), @@ -67,7 +71,8 @@ !node.open, ) } - goto(newSelfTargetUrl(`/variables/${node.code}`)) + const aProps = newSelfTargetAProps(`/variables/${node.code}`) + goto(aProps.href, { noscroll: aProps["sveltekit:noscroll"] }) } function toggleToNode( diff --git a/src/lib/urls.ts b/src/lib/urls.ts index ddb9d60d1dd02ee73ecff118a1db1e5c381351a8..a9e43a3c9e976182110fe7db5827cd845ed4c8ad 100644 --- a/src/lib/urls.ts +++ b/src/lib/urls.ts @@ -1,3 +1,16 @@ +export interface SelfTargetAProps { + href: string + "sveltekit:prefetch"?: boolean + "sveltekit:noscroll"?: boolean +} + +export function newSelfTargetAProps(url: string): SelfTargetAProps { + return { + href: url, + "sveltekit:prefetch": true, + } +} + // export function parseQuery( // queryString?: string, // ): { [key: string]: string | string[] } { diff --git a/src/routes/parameters/[parameter].svelte b/src/routes/parameters/[parameter].svelte index 31bf2ddc269f57fac99b7cbea5363fec334916b5..1878b303c0bb5ef9c938ff4d0b769b9bf6961d9b 100644 --- a/src/routes/parameters/[parameter].svelte +++ b/src/routes/parameters/[parameter].svelte @@ -27,11 +27,16 @@ </script> <script lang="ts"> + import { setContext } from "svelte" + import { session } from "$app/stores" import ParameterView from "$lib/components/parameters/ParameterView.svelte" import type { AnyParameter } from "$lib/parameters" + import { newSelfTargetAProps } from "$lib/urls" export let parameter: AnyParameter + + setContext("newSelfTargetAProps", newSelfTargetAProps) </script> <svelte:head> @@ -39,5 +44,5 @@ </svelte:head> <main> - <ParameterView editable={true} newSelfTargetUrl={(url) => url} {parameter} /> + <ParameterView editable={true} {parameter} /> </main> diff --git a/src/routes/variables/[variable]/index.svelte b/src/routes/variables/[variable]/index.svelte index b991aa97b87527171f9a9de066f814a1c0eaf4dc..a161cb81412992ca50033e75a31f6a5d0dc0b534 100644 --- a/src/routes/variables/[variable]/index.svelte +++ b/src/routes/variables/[variable]/index.svelte @@ -24,11 +24,16 @@ </script> <script lang="ts"> + import { setContext } from "svelte" + import { session } from "$app/stores" import VariableView from "$lib/components/variables/VariableView.svelte" + import { newSelfTargetAProps } from "$lib/urls" import type { Variable } from "$lib/variables" export let variable: Variable + + setContext("newSelfTargetAProps", newSelfTargetAProps) </script> <svelte:head> @@ -36,5 +41,5 @@ </svelte:head> <main> - <VariableView editable={true} newSelfTargetUrl={(url) => url} {variable} /> + <VariableView editable={true} {variable} /> </main> diff --git a/src/routes/variables/[variable]/inputs/[date].svelte b/src/routes/variables/[variable]/inputs/[date].svelte index 154b5bef0754da709499b57c576dc6c1041dc8fd..5aabc155a082778b78f3d87b94f5876a1c130cec 100644 --- a/src/routes/variables/[variable]/inputs/[date].svelte +++ b/src/routes/variables/[variable]/inputs/[date].svelte @@ -59,13 +59,18 @@ </script> <script lang="ts"> + import { setContext } from "svelte" + import { page, session } from "$app/stores" import VariableReferredInputs from "$lib/components/variables/VariableReferredInputs.svelte" + import { newSelfTargetAProps } from "$lib/urls" import type { Variable } from "$lib/variables" export let variable: Variable export let inputs: Variable[] + setContext("newSelfTargetAProps", newSelfTargetAProps) + $: params = $page.params $: date = params.date @@ -80,5 +85,5 @@ </svelte:head> <main> - <VariableReferredInputs {inputs} newSelfTargetUrl={(url) => url} {variable} /> + <VariableReferredInputs {inputs} {variable} /> </main> diff --git a/src/routes/variables/[variable]/parameters/[date].svelte b/src/routes/variables/[variable]/parameters/[date].svelte index e79afe9c7e03b215941b95598dfba2dfad7a9eb3..0736fc0b9d4936926385d71354506a5fc6a8291b 100644 --- a/src/routes/variables/[variable]/parameters/[date].svelte +++ b/src/routes/variables/[variable]/parameters/[date].svelte @@ -64,14 +64,19 @@ </script> <script lang="ts"> + import { setContext } from "svelte" + import { page, session } from "$app/stores" import VariableReferredParameters from "$lib/components/variables/VariableReferredParameters.svelte" import type { AnyParameter } from "$lib/parameters" + import { newSelfTargetAProps } from "$lib/urls" import type { Variable } from "$lib/variables" export let parameters: AnyParameter[] export let variable: Variable + setContext("newSelfTargetAProps", newSelfTargetAProps) + $: params = $page.params $: date = params.date @@ -86,10 +91,5 @@ </svelte:head> <main> - <VariableReferredParameters - {date} - newSelfTargetUrl={(url) => url} - {parameters} - {variable} - /> + <VariableReferredParameters {date} {parameters} {variable} /> </main>