class_docstr: Directive for building a table of attribute descriptions.
  
  Usage:
  
  .. altair-object-table:: altair.MarkConfig
class_docstr_tok: ["Directive","for","building","a","table","of","attribute","descriptions",".","Usage",":","..","altair-object-table",":",":","altair.MarkConfig"]
code: def run(self):
      objectname = self.arguments[0]
      modname, classname = objectname.rsplit(".", 1)
      module = importlib.import_module(modname)
      cls = getattr(module, classname)
      schema = cls.resolve_references(cls._schema)
  
      properties = self.options.get("properties", None)
      dont_collapse_table = "dont-collapse-table" in self.options
  
      result = []
      if not dont_collapse_table:
          html = (
              "<details><summary><a>Click to show table</a></summary>"
          )
          raw_html = nodes.raw("", html, format="html")
          result += [raw_html]
      # create the table from the object
      result.append(
          prepare_schema_table(
              schema, cls._rootschema, props=properties
          )
      )
  
      if not dont_collapse_table:
          html = "</details>"
          raw_html = nodes.raw("", html, format="html")
          result += [raw_html]
  
      return result
  
imports: import importlib
  import re
  import sys
  import warnings
  from os.path import abspath, dirname
  from docutils import nodes, utils, frontend
  from docutils.parsers.rst import Directive
  from docutils.parsers.rst.directives import flag
  from myst_parser.docutils_ import Parser
  from sphinx import addnodes
  from tools.schemapi.utils import fix_docstring_issues, SchemaInfo
label_desc: Use image node_id 1 for calling the AltairObjectTableDirective obj's underlying member method code with example usage: obj.run() and returns: result