moving more of the logic to slide_model
With more of the logic coming to the rust models, I can start to make compile time guarantees.
This commit is contained in:
parent
8c7f2d794f
commit
8463af6ad9
3 changed files with 21 additions and 34 deletions
|
@ -249,22 +249,6 @@ Controls.Page {
|
||||||
console.log("text: " + item.text);
|
console.log("text: " + item.text);
|
||||||
console.log("slide_index: " + item.slideIndex);
|
console.log("slide_index: " + item.slideIndex);
|
||||||
console.log("slide_count: " + item.imageCount);
|
console.log("slide_count: " + item.imageCount);
|
||||||
/* if (item.html) { */
|
|
||||||
/* let index = item.slideIndex; */
|
|
||||||
/* let count = item.imageCount; */
|
|
||||||
/* if (index > 0 && index < count - 1) { */
|
|
||||||
/* console.log("I should advance revealy"); */
|
|
||||||
/* if (isMoveDown) */
|
|
||||||
/* presentation.revealNext() */
|
|
||||||
/* else */
|
|
||||||
/* presentation.revealPrev() */
|
|
||||||
/* return */
|
|
||||||
/* } */
|
|
||||||
/* } */
|
|
||||||
|
|
||||||
/* presentation.stopVideo(); */
|
|
||||||
/* pWindow.stopVideo(); */
|
|
||||||
/* presentation.itemType = item.type; */
|
|
||||||
console.log("Time to start changing");
|
console.log("Time to start changing");
|
||||||
|
|
||||||
ServiceItemModel.activate(currentServiceItem);
|
ServiceItemModel.activate(currentServiceItem);
|
||||||
|
|
|
@ -481,9 +481,7 @@ FocusScope {
|
||||||
|
|
||||||
function nextSlideAction() {
|
function nextSlideAction() {
|
||||||
keyHandler.forceActiveFocus();
|
keyHandler.forceActiveFocus();
|
||||||
if (SlideModel.next()) {
|
SlideModel.next()
|
||||||
console.log("VICTORY")
|
|
||||||
}
|
|
||||||
/* const nextSlideIdx = SlideObject.html && (SlideObject.innerSlideIndex + 1 < SlideObject.slideSize) ? currentSlide : currentSlide + 1; */
|
/* const nextSlideIdx = SlideObject.html && (SlideObject.innerSlideIndex + 1 < SlideObject.slideSize) ? currentSlide : currentSlide + 1; */
|
||||||
/* const nextSlide = SlideModel.getItem(nextSlideIdx); */
|
/* const nextSlide = SlideModel.getItem(nextSlideIdx); */
|
||||||
/* if (nextSlideIdx > totalSlides || nextSlideIdx < 0) */
|
/* if (nextSlideIdx > totalSlides || nextSlideIdx < 0) */
|
||||||
|
@ -508,19 +506,7 @@ FocusScope {
|
||||||
|
|
||||||
function previousSlideAction() {
|
function previousSlideAction() {
|
||||||
keyHandler.forceActiveFocus();
|
keyHandler.forceActiveFocus();
|
||||||
const prevSlideIdx = currentSlide - 1;
|
SlideModel.prev()
|
||||||
const prevSlide = SlideModel.getItem(prevSlideIdx);
|
|
||||||
if (prevSlideIdx > totalSlides || prevSlideIdx < 0)
|
|
||||||
return;
|
|
||||||
console.log("currentServiceItem " + currentServiceItem);
|
|
||||||
console.log("totalSlides " + totalSlides);
|
|
||||||
console.log("currentSlide " + currentSlide);
|
|
||||||
console.log("prevSlideIdx " + prevSlideIdx);
|
|
||||||
/* changeSlide(prevSlideIdx); */
|
|
||||||
if (SlideObject.previous(prevSlide)) {
|
|
||||||
currentSlide = prevSlideIdx;
|
|
||||||
currentServiceItem = prevSlide.serviceItemId;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function previousSlide() {
|
function previousSlide() {
|
||||||
|
|
|
@ -1122,9 +1122,26 @@ impl slide_model::SlideModel {
|
||||||
pub fn next(mut self: Pin<&mut Self>) -> bool {
|
pub fn next(mut self: Pin<&mut Self>) -> bool {
|
||||||
if let Some(object) = unsafe { self.slide_object.as_mut() } {
|
if let Some(object) = unsafe { self.slide_object.as_mut() } {
|
||||||
let object = unsafe { Pin::new_unchecked(object) };
|
let object = unsafe { Pin::new_unchecked(object) };
|
||||||
if let Some(slide) = self.rust().slides.get(self.id as usize + 1) {
|
|
||||||
object.set_slide(slide);
|
|
||||||
let id = self.as_ref().id + 1;
|
let id = self.as_ref().id + 1;
|
||||||
|
if let Some(slide) = self.rust().slides.get(id as usize) {
|
||||||
|
object.set_slide(slide);
|
||||||
|
self.as_mut().activate(id);
|
||||||
|
self.as_mut().rust_mut().id = id;
|
||||||
|
true
|
||||||
|
} else {
|
||||||
|
false
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn prev(mut self: Pin<&mut Self>) -> bool {
|
||||||
|
if let Some(object) = unsafe { self.slide_object.as_mut() } {
|
||||||
|
let object = unsafe { Pin::new_unchecked(object) };
|
||||||
|
let id = self.as_ref().id - 1;
|
||||||
|
if let Some(slide) = self.rust().slides.get(id as usize) {
|
||||||
|
object.set_slide(slide);
|
||||||
self.as_mut().activate(id);
|
self.as_mut().activate(id);
|
||||||
self.as_mut().rust_mut().id = id;
|
self.as_mut().rust_mut().id = id;
|
||||||
true
|
true
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue