29 lines
844 B
JavaScript
29 lines
844 B
JavaScript
//= require js-cookie/src/js.cookie
|
|
//= require shepherd.js/dist/js/shepherd
|
|
|
|
var Walter = new Object();
|
|
|
|
Walter.tours = {};
|
|
Walter.incompleteTours = [];
|
|
Walter.startTour = function(tourName) {
|
|
if (!Shepherd.activeTour) {
|
|
Walter.tours[tourName].start();
|
|
}
|
|
};
|
|
Walter.startNextIncompleteTour = function() {
|
|
if (Walter.incompleteTours.length) {
|
|
Walter.tours[Walter.incompleteTours[0]].checkAndStart();
|
|
}
|
|
};
|
|
|
|
document.addEventListener("DOMContentLoaded", Walter.startNextIncompleteTour);
|
|
document.addEventListener("turbolinks:load", Walter.startNextIncompleteTour);
|
|
|
|
document.addEventListener('turbolinks:before-cache', function() {
|
|
// Remove visible product tours
|
|
document.querySelectorAll(".shepherd-element").forEach(function(el) { el.remove() });
|
|
// Clear Walter data
|
|
Walter.tours = {};
|
|
Walter.incompleteTours = [];
|
|
});
|