code: def generate_html_detail(dataframe_report):
      # Need to generate final data for numeric and categorical
      all_detail = list(dataframe_report._features.values())
      if dataframe_report._target is not None:
          all_detail.append(dataframe_report._target)
  
      for feature in all_detail:
          compare_dict = feature.get("compare")
          if (
              feature["type"] == FeatureType.TYPE_CAT
              or feature["type"] == FeatureType.TYPE_BOOL
          ):
              feature["html_detail"] = generate_html_detail_cat(
                  feature, compare_dict, dataframe_report
              )
          elif feature["type"] == FeatureType.TYPE_NUM:
              feature["html_detail"] = generate_html_detail_numeric(
                  feature, compare_dict, dataframe_report
              )
          elif feature["type"] == FeatureType.TYPE_TEXT:
              feature["html_detail"] = generate_html_detail_text(
                  feature, compare_dict, dataframe_report
              )
  
imports: import numpy
  import html
  from operator import itemgetter
  from jinja2 import Environment, PackageLoader
  import sweetviz.sv_html_formatters
  from sweetviz.config import config
  from sweetviz.sv_types import NumWithPercent, FeatureType, OTHERS_GROUPED
  from sweetviz.graph_associations import CORRELATION_ERROR
  from sweetviz.graph_associations import CORRELATION_IDENTICAL
  from functools import cmp_to_key
label_desc: Use image node_id 3 for calling a global function with example usage: generate_html_detail(dataframe_report) without return types