dashboard/new-dashboard/src/shared/selectedPointStore.ts (16 lines of code) (raw):
import { defineStore } from "pinia"
import { UrlParams, useUrlSearchParams } from "@vueuse/core"
import { computed } from "vue"
export const pointParamName = "point"
export const useSelectedPointStore = defineStore("selectedPointStore", () => {
const storedSelectedPoint: UrlParams = useUrlSearchParams("history")
const selectedPoint = computed({
get: (): string | string[] | undefined => storedSelectedPoint[pointParamName],
set(value: string | string[] | undefined) {
if (value != undefined) {
storedSelectedPoint[pointParamName] = value
}
},
})
return { selectedPoint }
})