code: def load_geojson(contents, filename):
      if contents is None and filename is None:
          return None
      if not filename.endswith(".json"):
          raise Exception(text("geojson files must be JSON!"))
      _, content_string = contents.split(",")
      decoded = base64.b64decode(content_string)
      geojson = json.loads(decoded.decode("utf-8"))
      geojson_key = "".join(filename.split(".")[:-1])
  
      # get properties available to use for featureidkey
      data = dict(
          data=geojson,
          filename=filename,
          time=pd.Timestamp("now"),
          type=geojson["type"],
      )
      if data["type"] == "FeatureCollection":
          data["properties"] = sorted(
              geojson["features"][0]["properties"].keys()
          )
  
      geojson_key = add_custom_geojson(geojson_key, data)
      return geojson_key
  
file_path: dtale/dtale/dash_application/custom_geojson.py
imports: import base64
  import json
  import pandas
  import dash_bootstrap_components
  from dash.dependencies import Input, Output, State
  from dtale.dash_application import dcc, html
  from dtale.dash_application.exceptions import DtalePreventUpdate
  from dtale.dash_application.layout.utils import build_input, build_option
  from dtale.translations import text
label_desc: Use image node_id 3 for calling a global function with example usage: load_geojson(contents, filename) and returns: geojson_key, None