diff --git a/umap/static/umap/js/modules/slideshow.js b/umap/static/umap/js/modules/slideshow.js index 51b4a523..b6708f2c 100644 --- a/umap/static/umap/js/modules/slideshow.js +++ b/umap/static/umap/js/modules/slideshow.js @@ -18,13 +18,7 @@ export default class Slideshow extends WithTemplate { this.map = map this._id = null this.CLASSNAME = 'umap-slideshow-active' - this.options = Object.assign( - { - delay: 5000, - autoplay: false, - }, - options - ) + this.setOptions(options) this._current = null if (this.options.autoplay) { @@ -60,6 +54,16 @@ export default class Slideshow extends WithTemplate { return this.current.getNext() } + setOptions(options) { + this.options = Object.assign( + { + delay: 5000, + autoplay: false, + }, + options + ) + } + defaultDatalayer() { return this.map.findDataLayer((d) => d.canBrowse()) } diff --git a/umap/static/umap/js/umap.js b/umap/static/umap/js/umap.js index e64789ca..99afe89b 100644 --- a/umap/static/umap/js/umap.js +++ b/umap/static/umap/js/umap.js @@ -1469,12 +1469,8 @@ U.Map = L.Map.extend({ { handler: 'Switch', label: L._('Autostart when map is loaded') }, ], ] - const slideshowHandler = function () { - this.slideshow.setOptions(this.options.slideshow) - } const slideshowBuilder = new U.FormBuilder(this, slideshowFields, { - callback: slideshowHandler, - callbackContext: this, + callback: () => this.slideshow.setOptions(this.options.slideshow), }) slideshow.appendChild(slideshowBuilder.build()) },