From 2fce73648d3cf9fe7c1a4f67e5d5ecd5d8075462 Mon Sep 17 00:00:00 2001 From: Chris Cochrun Date: Tue, 17 Dec 2024 13:13:34 -0600 Subject: [PATCH] slides have a proper id from lisp items --- src/core/service_items.rs | 10 ++++++++-- src/core/slide.rs | 4 ++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/core/service_items.rs b/src/core/service_items.rs index e60267a..1183a92 100644 --- a/src/core/service_items.rs +++ b/src/core/service_items.rs @@ -212,7 +212,7 @@ impl ServiceItemModel { } pub fn to_slides(&self) -> Result> { - Ok(self + let slides = self .items .iter() .filter_map(|item| { @@ -221,7 +221,13 @@ impl ServiceItemModel { slides }) .flatten() - .collect::>()) + .collect::>(); + let mut final_slides = vec![]; + for (index, mut slide) in slides.into_iter().enumerate() { + slide.set_index(index as i32); + final_slides.push(slide); + } + Ok(final_slides) } } diff --git a/src/core/slide.rs b/src/core/slide.rs index 3986dd4..5511105 100644 --- a/src/core/slide.rs +++ b/src/core/slide.rs @@ -245,6 +245,10 @@ impl Slide { Ok(slides) } + pub(crate) fn set_index(&mut self, index: i32) { + self.id = index; + } + // pub fn slides_from_item(item: &ServiceItem) -> Result> { // todo!() // }