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

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])