Module pandas_profiling.report.presentation.flavours.widget.collapse
Expand source code
from ipywidgets import widgets, Box, HTML
from pandas_profiling.report.presentation.core import Collapse
class WidgetCollapse(Collapse):
def render(self):
if self.content["button"].anchor_id == "toggle-correlation-description":
collapse = "correlation"
else:
collapse = "variable"
toggle = self.content["button"].render()
item = self.content["item"].render()
if collapse == "correlation":
def toggle_func(widg):
if widg["new"]:
display = ""
grid = "50% 50%"
else:
display = "none"
grid = ""
for c in item.children:
if isinstance(c, Box):
c.children[1].layout.display = display
c.layout.grid_template_columns = grid
else:
def toggle_func(widg):
if widg["new"]:
display = ""
else:
display = "none"
item.layout.display = display
toggle_func({"new": False})
toggle.children[0].observe(toggle_func, names=["value"])
return widgets.VBox([toggle, item])
Classes
class WidgetCollapse (button, item, **kwargs)
-
Helper class that provides a standard way to create an ABC using inheritance.
Expand source code
class WidgetCollapse(Collapse): def render(self): if self.content["button"].anchor_id == "toggle-correlation-description": collapse = "correlation" else: collapse = "variable" toggle = self.content["button"].render() item = self.content["item"].render() if collapse == "correlation": def toggle_func(widg): if widg["new"]: display = "" grid = "50% 50%" else: display = "none" grid = "" for c in item.children: if isinstance(c, Box): c.children[1].layout.display = display c.layout.grid_template_columns = grid else: def toggle_func(widg): if widg["new"]: display = "" else: display = "none" item.layout.display = display toggle_func({"new": False}) toggle.children[0].observe(toggle_func, names=["value"]) return widgets.VBox([toggle, item])
Ancestors
- Collapse
- ItemRenderer
- Renderable
- abc.ABC
Methods
def render(self)
-
Expand source code
def render(self): if self.content["button"].anchor_id == "toggle-correlation-description": collapse = "correlation" else: collapse = "variable" toggle = self.content["button"].render() item = self.content["item"].render() if collapse == "correlation": def toggle_func(widg): if widg["new"]: display = "" grid = "50% 50%" else: display = "none" grid = "" for c in item.children: if isinstance(c, Box): c.children[1].layout.display = display c.layout.grid_template_columns = grid else: def toggle_func(widg): if widg["new"]: display = "" else: display = "none" item.layout.display = display toggle_func({"new": False}) toggle.children[0].observe(toggle_func, names=["value"]) return widgets.VBox([toggle, item])