code: def init_callbacks(dash_app):
      @dash_app.callback(
          [
              Output("output-geojson-upload", "children"),
              Output("geojson-dropdown", "options"),
          ],
          [Input("upload-geojson", "contents")],
          [State("upload-geojson", "filename")],
      )
      def update_geojson(contents, filename):
          if filename is None:
              raise DtalePreventUpdate
          geojson_options = [
              build_option(ct["key"]) for ct in get_custom_geojson()
          ]
          try:
              geojson_key = load_geojson(contents, filename)
              geojson_options.append(build_option(geojson_key))
              return (
                  "{} {}!".format(geojson_key, text("uploaded")),
                  geojson_options,
              )
          except BaseException as ex:
              return str(ex), geojson_options
  
      @dash_app.callback(
          [
              Output("featureidkey-dropdown", "options"),
              Output("featureidkey-dropdown", "disabled"),
              Output("featureidkey-dropdown", "placeholder"),
          ],
          [Input("geojson-dropdown", "value")],
      )
      def update_featureidkey_options(geojson):
          geojson_data = get_custom_geojson(geojson)
          placeholder = text("Select Uploaded Data")
          if geojson_data is None or isinstance(geojson_data, list):
              return [], False, placeholder
          disabled = geojson_data["type"] != "FeatureCollection"
          placeholder = "id" if disabled else placeholder
          if geojson_data and not disabled:
              return (
                  [
                      build_option(p)
                      for p in geojson_data.get("properties", [])
                  ],
                  disabled,
                  placeholder,
              )
          return [], disabled, placeholder
  
      @dash_app.callback(
          Output("geojson-modal", "is_open"),
          [
              Input("open-geojson-modal", "n_clicks"),
              Input("close-geojson-modal", "n_clicks"),
          ],
          [State("geojson-modal", "is_open")],
      )
      def toggle_modal(n1, n2, is_open):
          if n1 or n2:
              return not is_open
          return is_open
  
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 6 for calling a global function with example usage: init_callbacks(dash_app) and returns: list,  disabled,  placeholder, is_open, str,  geojson_options, list,  False,  placeholder, unknown,  disabled,  placeholder, unknown, str,  geojson_options