holoviz / param

Param: Make your Python code clearer and more reliable by declaring Parameters
https://param.holoviz.org
BSD 3-Clause "New" or "Revised" License
427 stars 73 forks source link

Fix HTML repr for Parameterized subobjects #831

Closed maximlt closed 1 year ago

maximlt commented 1 year ago

Fixes https://github.com/holoviz/param/issues/822

This regression was due to having moved _repr_html_ from Parameterized to Parameters. I've added a basic test what would have caught it (cherry picked https://github.com/holoviz/param/pull/821/commits/bcb8a4c4a6479dcd70e59778ef3d7045b806adae to avoid some warnings).

image image
import param

class Sub(param.Parameterized):
    xsub = param.Parameter()

class P(param.Parameterized):
    constant = param.Parameter(constant=True)
    readonly = param.Parameter(readonly=True)
    allow_None = param.Parameter(1, allow_None=False)
    bounds = param.Number(bounds=(-10, 10))
    objects_list = param.Selector(objects=[1, 2])
    objects_dict = param.Selector(objects=dict(a=1, b=2))
    sub = param.ClassSelector(default=Sub(xsub=1), class_=Sub)

P().param