From 61cf2ed71b35d4d42eb5ff5f75712246f677b13d Mon Sep 17 00:00:00 2001 From: Oliver Lopez Date: Sun, 18 Aug 2024 13:57:02 +0300 Subject: [PATCH 1/2] Add scrollWheelZoom.enable() and disable() --- python/jupyter_leaflet/src/Map.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/python/jupyter_leaflet/src/Map.ts b/python/jupyter_leaflet/src/Map.ts index b68fd7de..c8198e50 100644 --- a/python/jupyter_leaflet/src/Map.ts +++ b/python/jupyter_leaflet/src/Map.ts @@ -423,6 +423,14 @@ export class LeafletMapView extends LeafletDOMWidgetView { this.obj.toggleFullscreen(); } }); + this.listenTo(this.model, 'change:scroll_wheel_zoom', () => { + const scrollWheelZoom = this.model.get('scroll_wheel_zoom'); + if (scrollWheelZoom) { + this.obj.scrollWheelZoom.enable(); + } else { + this.obj.scrollWheelZoom.disable(); + } + }); } processPhosphorMessage(msg: Message) { From 6e0c2a0d44ac3eef6bee798af8bc0d582c30dd88 Mon Sep 17 00:00:00 2001 From: Oliver Lopez Date: Wed, 21 Aug 2024 09:40:10 +0300 Subject: [PATCH 2/2] Enable and disable other types of zoom (double click, touch, box) --- python/jupyter_leaflet/src/Map.ts | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/python/jupyter_leaflet/src/Map.ts b/python/jupyter_leaflet/src/Map.ts index c8198e50..32f442df 100644 --- a/python/jupyter_leaflet/src/Map.ts +++ b/python/jupyter_leaflet/src/Map.ts @@ -431,6 +431,30 @@ export class LeafletMapView extends LeafletDOMWidgetView { this.obj.scrollWheelZoom.disable(); } }); + this.listenTo(this.model, 'change:double_click_zoom', () => { + const doubleClickZoom = this.model.get('double_click_zoom'); + if (doubleClickZoom) { + this.obj.doubleClickZoom.enable(); + } else { + this.obj.doubleClickZoom.disable(); + } + }); + this.listenTo(this.model, 'change:touch_zoom', () => { + const touchZoom = this.model.get('touch_zoom'); + if (touchZoom) { + this.obj.touchZoom.enable(); + } else { + this.obj.touchZoom.disable(); + } + }); + this.listenTo(this.model, 'change:box_zoom', () => { + const boxZoom = this.model.get('box_zoom'); + if (boxZoom) { + this.obj.boxZoom.enable(); + } else { + this.obj.boxZoom.disable(); + } + }); } processPhosphorMessage(msg: Message) {