Skip to content

Geojsonpopup change when cell is empty #1989

Closed
@jrjdavidson

Description

@jrjdavidson

Describe the bug
Very small bug, but there has been a small change in how empty values are handled and updating to the latest folium has affected how popups are displayed.
When creating a geojsonpopup using the fields keywords and a geodataframe, if a cell was empty the the content used to be empty. This allowed me to use simple css to hide row when empty:

    .leaflet-popup-pane tr:has(td:empty){
    display: none;
}

This behaviour was useful, as it was a simple way to add large amounts of data if present, but also simplify the output when no data available.
Since updating, the empty cells now have the string 'null' inside, breaking the styling. See example image:
image
Related to #1858 ?

To Reproduce
update to latest version of folium

m = Map()
gdf= gpd.read_file(geopackagePath, layer='groupedData')
data = gdf.drop('geometry', axis=1)
popup = folium.GeoJsonPopup(fields=data.columns.tolist(), labels=True, class_name="mystyle")
mapDataFrame= gdf.copy()
mapDataFrame['index'] = mapCopy.index
geojson = folium.GeoJson(data=mapDataFrame, popup=popup)
m.add_child(geojson)
[ Include a data sample or link to your data if necessary to run the code ]

Expected behavior
Empty cell should be empty in the popup

Environment (please complete the following information):

  • Browser chrome, firefox
  • html files
  • Python version sys.version_info(major=3, minor=11, micro=9, releaselevel='final', serial=0)
  • folium version: 0.17.0
  • branca version:0.7.2

Possible solutions
I haven't found a simple solution yet. I had a look at the source, but not sure where the actual change occurred.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugAn issue describing unexpected or malicious behaviour

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions