Use store
This commit is contained in:
parent
bfd52b6c50
commit
8515221cdf
2 changed files with 13 additions and 19 deletions
|
@ -52,7 +52,7 @@ export const API = createAPIClient({
|
|||
return
|
||||
}
|
||||
|
||||
navigation.actions.goTo(
|
||||
get(navigation).goto(
|
||||
`${updatingUrl}?returnUrl=${encodeURIComponent(window.location)}`
|
||||
)
|
||||
},
|
||||
|
|
|
@ -1,33 +1,27 @@
|
|||
import { writable } from "svelte/store"
|
||||
|
||||
export function createNavigationStore() {
|
||||
const { subscribe } = writable([])
|
||||
const store = writable({
|
||||
initialisated: false,
|
||||
goto: undefined,
|
||||
})
|
||||
const { set, subscribe, get } = store
|
||||
|
||||
let initialisated = false
|
||||
let _goTo
|
||||
|
||||
const init = goToFunc => {
|
||||
initialisated = true
|
||||
if (typeof goToFunc !== "function") {
|
||||
throw new Error('A valid "goToFunc" must be provided')
|
||||
const init = gotoFunc => {
|
||||
if (typeof gotoFunc !== "function") {
|
||||
throw new Error('A valid "gotoFunc" must be provided')
|
||||
}
|
||||
|
||||
_goTo = goToFunc
|
||||
}
|
||||
|
||||
const goTo = (...params) => {
|
||||
if (!initialisated) {
|
||||
throw new Error("You need to call navigation.init first")
|
||||
}
|
||||
|
||||
_goTo(...params)
|
||||
set({
|
||||
initialisated: true,
|
||||
goto: gotoFunc,
|
||||
})
|
||||
}
|
||||
|
||||
return {
|
||||
subscribe,
|
||||
actions: {
|
||||
init,
|
||||
goTo,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue