All notable changes to this project will be documented in this file.
- Fix issue with
TileLayer
component on non-integer zoom update #236 - Fix issue with extra Dash props making it into
WMSTileLayer
component #225
- Propagate pane information to
GeoJSON
object, thereby fixing #221
- Viewport tracking logic changed to use delta updates, which combined with a delay fixes #211
- Re-enable the ability to set
zoom
/center
props (due to many user requests)
- Bugfix in
GeoJSON
component correcting wrong behavior when changing clustered data dynamically - Correct
GeoJSON
component data type definition (remove string as allowed type)
- Publishing to npm added to CICD pipeline
- Extend
viewport
property to supportbounds
manipulation
- Add
viewport
property for theMap
component to enable easy manipulation of the viewport (i.e. zoom/center)
- Add support for
flatgeobuf
file format, including bounding box filtering - Add extra optional options (
svg
,geobuf
,all
)
- Restored support for
geobuf
file format
- When clustering is enabled, the
GeoJSON
component now performs delta updates, i.e. features that remain within the viewport are no longer redraw on pan/zoom. Fixes #180 - The map viewport is now tracked (through the
zoom
,center
, andbounds
properties) unlesstrackViewport
it set toFalse
. Fixes #194
- Add option to specify custom units in the
MeasureControl
. Fixes #130 - Add
invalidateSize
option to the map component. Fixes #73
- The
GeoJSON
component now supports single features (in addition to feature collections). Fixes #160
- New event handling system, allowing much greater flexibility
- Basic unit tests for all components (rendering or better)
- Added (separate)
Attribution
component
- Library completely rewritten in TypeScript based on React Leaflet v4
- Dependencies updated (incl. React version bump), npm now reports 0 vulnerabilities
- Various fixes, incl. but not limited to #193, #192, #189, #184, #178
- The
GeoJSON
component is now loaded async, bringing the main asset < 300 kB
- Dropped
Minichart
component. The underlying library is not maintained, and the current version in incompatible with newer versions of Leaflet - Dropped
MarkerClusterGroup
component due to performance issues. Please use theGeoJSON
instead - Dropped
GeoTIFFOverlay
component. This (highly custom) component has long been deprecated, and I decided now was the time to drop it completely
- Added leaflet source maps
- Modified ImageOverlay
loaded
property to include more information
- Added ImageOverlay
loaded
property, which is set totrue
when the image has finished loading
- Leaflet and react-leaflet are now bundled with dash-leaflet. This structure enables development of plugins as external packages.
- Various dependency updates.
- Changed loading of js chunks so that a chunk is only loaded when actually needed.
- Added
Minichart component
.
- The following components are now loaded async:
EditControl
,GeoTIFFOverlay
,LocateControl
,MeasureControl
,MarkerClusterGroup
. As a result, the main bundle size has been reduced to about half (< 500 kB). - Update to Dash 2.0.
- Prop validation of
GeoJSON
componenthideout
prop relaxed. - Prop validation of
Polygon
componentpositions
prop relaxed.
- Added
drawToolbar
andeditToolbar
props toEditControl
component.
- Polygons collected into the
geojson
prop of theEditControl
component are now closed.
- New
FeatureGroup
component.
- Fixed bug in
GeoJSON
component arising when all features are filtered out andzoomToBounds=True
.
- Dropped bundled js functions (previously located in
express.js
).
- Added
extraProps
prop toWMSTileLayer
component as per request.
- Added
layers
prop toLayersControl
component. - Added
FullscreenControl
as per request.
- Regression (bounds passed from Dash not applied) due to fix in 0.1.11 fixed
- New attempt at fixing a bug typically seen with multiple maps in multiple tabs.
- Breaking syntax changes in functional properties.
- Fixed a bug typically seen with multiple maps in multiple tabs.
- Added MeasureControl.
- Added EasyButton component.
- Added tracking of map bounds.
- The LayersControl has (finally) been added.
- Minor changes to GeoJSON standard functions adding support for discrete/continuous color scales for both scatter and choropleth
- The map now supports different CRS.
- The GeoJSON component now supports custom panes.
- The GeoJSON now supports changing style dynamically.
- The MarkerClusterGroup is again included for backwards compatibility
- Per default, the GeoJSON now renders tooltip/popup if a
tooltip
/popup
property is available on the feature - The GeoJSON example functions (scatter, choropleth) have been moved from Python to JavaScript thus eliminating the dash-transcrypt dependency
- New geojson subpackage. It contains modules with examples of python function definitions to ease the transition to functional props
- The GeoJSON has been completely rewritten to support a wider range of use cases. It now uses functional props
- The SuperCluster component has been removed. The GeoJSON component now handles marker clustering
- Supercluster: spiderfy bug fixed, added automatic maxZoom detection
- Added Supercluter component.
- Added tracking of map zoom and center.
- Added tracking marker position.
- Added build instructions to readme.
- Added some build automation (github actions).
- Fix of bug in Polygon prop validation.
- Added DivMarker component.
- Pane component bug fixed.
- Verification of scrollWheelZoom type corrected.
- Pane component added.
- PolylineDecorator component properties "positions" and "children" changed to dynamic.
- PolylineDecorator component added.
- Options property added to MarkerClusterGroup.
- Property added to GeoJSON object (n_click).
- Link added to heroku documentation.
- GeoJSON object added.
- Support of multiple urls for VideoOverlay
- ScaleControl object added.
- Property added to Map to signal location change (location_lat_lon_acc)
- CircleMarker changed to use n_clicks like Marker
- New options added to LocateControl
- LocationControl object added.
- MarkerClusterGroup object added.
- Click event for Marker object change from yielding (lat, lon) to n_clicks to ensure that the event fires on each click.
- Click event for Marker object added.