Made the popover logic more responsive to changes in the tour state.

This commit is contained in:
Dean 2023-03-13 14:39:36 +00:00
parent 19d7c94a22
commit 567b9418a3
2 changed files with 5 additions and 13 deletions

View File

@ -15,20 +15,12 @@
$: tourKey = $store.tourKey
$: tourStepKey = $store.tourStepKey
const initTour = targetKey => {
if (!targetKey) {
const updateTourStep = (targetStepKey, tourKey) => {
if (!tourKey) {
return
}
tourSteps = [...TOURS[targetKey]]
tourStepIdx = 0
tourStep = { ...tourSteps[tourStepIdx] }
}
$: initTour(tourKey)
const updateTourStep = targetStepKey => {
if (!tourSteps?.length) {
return
tourSteps = [...TOURS[tourKey]]
}
tourStepIdx = getCurrentStepIdx(tourSteps, targetStepKey)
lastStep = tourStepIdx + 1 == tourSteps.length
@ -36,7 +28,7 @@
tourStep.onLoad()
}
$: updateTourStep(tourStepKey)
$: updateTourStep(tourStepKey, tourKey)
const showPopover = (tourStep, tourNodes, popover) => {
if (!tourStep) {

View File

@ -15,7 +15,6 @@
if (ready && !registered && tourKey) {
currentTourStep = TOURS[tourKey].find(step => step.id === stepKey)
if (!currentTourStep) {
console.log("Could not find tour step : ", stepKey)
return
}
const elem = document.querySelector(currentTourStep.query)
@ -30,6 +29,7 @@
onMount(() => {
ready = true
})
onDestroy(() => {
if (handler) {
handler.destroy()