Skip to content

Commit 0e23e9e

Browse files
committed
Add a "Back" button to Shepherd website tours
1 parent ef9e3e5 commit 0e23e9e

File tree

1 file changed

+28
-2
lines changed

1 file changed

+28
-2
lines changed

seleniumbase/fixtures/base_case.py

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -826,7 +826,27 @@ def create_shepherd_tour(self, name=None, theme=None):
826826
classes: '%s',
827827
scrollTo: true
828828
}
829-
});""" % shepherd_theme)
829+
});
830+
var allButtons = {
831+
skip: {
832+
text: "Skip",
833+
action: tour.cancel,
834+
classes: 'shepherd-button-secondary tour-button-left'
835+
},
836+
back: {
837+
text: "Back",
838+
action: tour.back,
839+
classes: 'shepherd-button-secondary'
840+
},
841+
next: {
842+
text: "Next",
843+
action: tour.next,
844+
classes: 'shepherd-button-primary tour-button-right'
845+
},
846+
};
847+
var firstStepButtons = [allButtons.skip, allButtons.next];
848+
var midTourButtons = [allButtons.back, allButtons.next];
849+
""" % shepherd_theme)
830850

831851
self._tour_steps[name] = []
832852
self._tour_steps[name].append(new_tour)
@@ -990,15 +1010,21 @@ def __add_shepherd_tour_step(self, message, selector=None, name=None,
9901010
shepherd_classes = shepherd_theme
9911011
if selector == "html":
9921012
shepherd_classes += " shepherd-orphan"
1013+
buttons = "firstStepButtons"
1014+
if len(self._tour_steps[name]) > 1:
1015+
buttons = "midTourButtons"
1016+
9931017
step = ("""
9941018
tour.addStep('%s', {
9951019
title: '%s',
9961020
classes: '%s',
9971021
text: '%s',
9981022
attachTo: {element: '%s', on: '%s'},
1023+
buttons: %s,
9991024
advanceOn: '.docs-link click'
10001025
});""" % (
1001-
name, title, shepherd_classes, message, selector, alignment))
1026+
name, title, shepherd_classes, message, selector, alignment,
1027+
buttons))
10021028

10031029
self._tour_steps[name].append(step)
10041030

0 commit comments

Comments
 (0)