mirror of
https://github.com/astefanutti/decktape.git
synced 2024-11-30 10:34:30 +03:00
35 lines
715 B
JavaScript
35 lines
715 B
JavaScript
exports.create = page => new DZSlides(page);
|
|
|
|
class DZSlides {
|
|
|
|
constructor(page) {
|
|
this.page = page;
|
|
}
|
|
|
|
getName() {
|
|
return 'DZ Slides';
|
|
}
|
|
|
|
isActive() {
|
|
return this.page.evaluate(_ => typeof Dz !== 'undefined');
|
|
}
|
|
|
|
slideCount() {
|
|
return this.page.evaluate(_ =>
|
|
Dz.slides.reduce((count, slide) => count + slide.$$('.incremental > *').length + 1, 0));
|
|
}
|
|
|
|
hasNextSlide() {
|
|
return this.page.evaluate(_ => !(Dz.idx == Dz.slides.length
|
|
&& Dz.step == Dz.slides[Dz.idx - 1].$$('.incremental > *').length));
|
|
}
|
|
|
|
nextSlide() {
|
|
return this.page.evaluate(_ => Dz.forward());
|
|
}
|
|
|
|
currentSlideIndex() {
|
|
return this.page.evaluate(_ => Dz.idx + '.' + Dz.step);
|
|
}
|
|
}
|