class_docstr: Bridge pattern decoupling the application part from SmartExplainer and SmartPlotter.
  Attributes
  ----------
  explainer: object
      SmartExplainer instance to point to.
class_docstr_tok: ["Bridge","pattern","decoupling","the","application","part","from","SmartExplainer","and","SmartPlotter",".","Attributes","--","--","--","--","--","explainer",":","object","SmartExplainer","instance","to","point","to","."]
code: def init_callback_settings(self):
      app = self.app
      self.components["settings"]["input_rows"][
          "rows"
      ].value = self.settings["rows"]
      self.components["settings"]["input_points"][
          "points"
      ].value = self.settings["points"]
      self.components["settings"]["input_features"][
          "features"
      ].value = self.settings["features"]
      self.components["settings"]["input_violin"][
          "violin"
      ].value = self.settings["violin"]
  
      for id in self.settings.keys():
  
          @app.callback(
              [Output(f"{id}", "valid"), Output(f"{id}", "invalid")],
              [Input(f"{id}", "value")],
          )
          def update_valid(value):
              """
              actualise valid and invalid icon in input component
              Parameters
              ----------
              value : int
                  value of input component
              Returns
              -------
                  tuple of boolean
              """
              patt = re.compile("^[0-9]*[1-9][0-9]*$")
              if patt.match(str(value)):
                  return True, False
              else:
                  return False, True
  
      @app.callback(
          Output("modal", "is_open"),
          [Input("settings", "n_clicks"), Input("apply", "n_clicks")],
          [
              State("rows", "valid"),
              State("points", "valid"),
              State("features", "valid"),
              State("violin", "valid"),
          ],
      )
      def toggle_modal(n1, n2, rows, points, features, violin):
          """
          open modal /close modal (only if all input are valid)
          """
          ctx = dash.callback_context
          if ctx.triggered[0]["prop_id"] == "settings.n_clicks":
              if n1 is not None:
                  return True
          else:
              if n2 is not None:
                  if all([rows, points, features, violin]):
                      return False
                  else:
                      return True
          return False
  
imports: import copy
  import dash
  from dash import dash_table
  import dash_daq
  from dash import no_update
  from dash.exceptions import PreventUpdate
  import dash_bootstrap_components
  from dash import dcc
  from dash import html
  from dash import MATCH, ALL
  from dash.dependencies import Output, Input, State
  from flask import Flask
  import pandas
  import plotly.graph_objs
  import random
  import re
  from math import log10
  from shapash.webapp.utils.utils import check_row, get_index_type, round_to_k
  from shapash.webapp.utils.MyGraph import MyGraph
  from shapash.utils.utils import truncate_str
  from shapash.webapp.utils.explanations import Explanations
  from shapash.webapp.utils.callbacks import select_data_from_prediction_picking, select_data_from_str_filters, select_data_from_bool_filters, select_data_from_numeric_filters, select_data_from_date_filters, get_feature_from_clicked_data, get_feature_from_features_groups, get_group_name, get_indexes_from_datatable, update_click_data_on_subset_changes, get_figure_zoom, get_feature_contributions_sign_to_show, update_features_to_display, get_id_card_features, get_id_card_contrib, create_id_card_data, create_id_card_layout, get_feature_filter_options, create_dropdown_feature_filter, create_filter_modalities_selection
label_desc: Use image node_id 11 for calling the SmartApp obj's underlying member method code with example usage: obj.init_callback_settings() and returns: False, True,  False, False,  True, True, False, True