code: def component_callbacks(self, app):
      @app.callback(
          Output("interaction-summary-index-" + self.name, "value"),
          [
              Input(
                  "interaction-summary-graph-" + self.name, "clickData"
              )
          ],
      )
      def display_scatter_click_data(clickdata):
          if (
              clickdata is not None
              and clickdata["points"][0] is not None
          ):
              if isinstance(
                  clickdata["points"][0]["y"], float
              ):  # detailed
                  index = (
                      clickdata["points"][0]["text"]
                      .split("=")[1]
                      .split("<br>")[0]
                  )
                  return index
          raise PreventUpdate
  
      @app.callback(
          [
              Output(
                  "interaction-summary-graph-" + self.name, "figure"
              ),
              Output(
                  "interaction-summary-index-col-" + self.name, "style"
              ),
          ],
          [
              Input("interaction-summary-col-" + self.name, "value"),
              Input("interaction-summary-depth-" + self.name, "value"),
              Input("interaction-summary-type-" + self.name, "value"),
              Input("interaction-summary-index-" + self.name, "value"),
              Input("pos-label-" + self.name, "value"),
          ],
      )
      def update_interaction_scatter_graph(
          col, depth, summary_type, index, pos_label
      ):
          if col is not None:
              depth = None if depth is None else int(depth)
              if summary_type == "aggregate":
                  plot = self.explainer.plot_interactions_importance(
                      col, topx=depth, pos_label=pos_label
                  )
                  return plot, dict(display="none")
              elif summary_type == "detailed":
                  plot = self.explainer.plot_interactions_detailed(
                      col,
                      topx=depth,
                      pos_label=pos_label,
                      highlight_index=index,
                      max_cat_colors=self.max_cat_colors,
                      plot_sample=self.plot_sample,
                  )
              return plot, {}
          raise PreventUpdate
  
imports: import dash
  from dash import html, dcc, Input, Output, State
  from dash.exceptions import PreventUpdate
  import dash_bootstrap_components
  from ..dashboard_methods import *
  from ..None import to_html
label_desc: Use image node_id 4 for calling the InteractionSummaryComponent obj's underlying member method code with example usage: obj.component_callbacks(app) and returns: plot,  dict, index, plot,  dict