# HG changeset patch # User Goffi # Date 1598302164 -7200 # Node ID a8bc1ee455aedd6c71e2222c829678f20d9a774a # Parent d5f6793dc17cacc2f3ddc5b09acb5cac0d42533b browser (slideshow): use standard click/dblclick instead of swiper equivalents: using swiper events cause troubles will managing event propagation (notably with media player) diff -r d5f6793dc17c -r a8bc1ee455ae libervia/pages/_browser/slideshow.py --- a/libervia/pages/_browser/slideshow.py Mon Aug 24 22:47:51 2020 +0200 +++ b/libervia/pages/_browser/slideshow.py Mon Aug 24 22:49:24 2020 +0200 @@ -84,9 +84,12 @@ window.addEventListener("keydown", self.on_key_down, True) self.slideshow_elt.select_one(".click_to_close").bind("click", self.on_close) self.slideshow_elt.select_one(".click_to_comment").bind("click", self.on_comment) + # we don't use swiper.on for "click" and "dblclick" (or "doubleTap" in swiper + # terms) because it breaks event propagation management, which cause trouble with + # media player + self.slideshow_elt.bind("click", self.on_click) + self.slideshow_elt.bind("dblclick", self.on_dblclick) self.swiper.on("slideChange", self.on_slide_change) - self.swiper.on("click", self.on_click) - self.swiper.on("doubleTap", self.on_double_tap) self.on_slide_change(self.swiper) self.fullscreen(True) @@ -156,14 +159,16 @@ elt.style.display = '' if self.control_hidden else 'none' self.control_hidden = not self.control_hidden - def on_click(self, swiper, evt): + def on_click(self, evt): + evt.stopPropagation() + evt.preventDefault() # we use a timer so double tap can cancel the click # this avoid double tap side effect if self.click_timer is None: self.click_timer = timer.set_timeout( lambda: self.toggle_hide_controls(evt), 300) - def on_double_tap(self, swiper, evt): + def on_dblclick(self, evt): evt.stopPropagation() evt.preventDefault() if self.click_timer is not None: