Files
manyfold/app/javascript/controllers/basic_tour_controller.ts
T
2025-10-27 15:20:51 +00:00

30 lines
821 B
TypeScript

import { Controller } from '@hotwired/stimulus'
import { driver } from 'driver.js'
// Connects to data-controller="basic-tour"
export default class extends Controller {
driverObject = null
completed = []
connect (): void {
// Find tour elements in page
const tourElements = document.querySelectorAll('[data-tour-title]')
const tourSteps = [...tourElements].map((stepElement: HTMLElement) => (
{
element: '#' + stepElement.id,
popover: {
title: stepElement.dataset.tourTitle,
description: stepElement.dataset.tourDescription
}
}
))
const driverObj = driver({
showProgress: true,
steps: tourSteps
})
console.log(tourSteps);
if ((this.element as HTMLElement).dataset["tourAutostart"])
driverObj.drive();
}
}