Modal#
Open this notebook in Jupyterlite | Download this notebook from GitHub (right-click to download).
import panel as pn
pn.extension('modal')
The Modal layout provides a dialog windows on top of the layout. It is built on-top of a11y-dialog. It has a list-like API with methods to append, extend, clear, insert, pop, remove and __setitem__, which make it possible to interactively update and modify the layout. Components inside it are laid out like a Column.
Parameters:#
open(boolean): Whether to open the modal.show_close_button(boolean): Whether to show a close button in the modal.background_close(boolean): Whether to enable closing the modal when clicking outside the modal.
Methods:#
show: Show the modal.hide: Hide the modal.toggle: toggle the modal.create_button: Create a button which can either show, hide, or toggle the modal.
A Modal layout can either be instantiated as empty and populated after the fact or using a list of objects provided as positional arguments. If the objects are not already panel components they will each be converted to one using the pn.panel conversion method.
w1 = pn.widgets.TextInput(name='Text:')
w2 = pn.widgets.FloatSlider(name='Slider')
modal = pn.Modal(w1, w2, name='Basic FloatPanel', margin=20)
toggle_button = modal.create_button("toggle", name="Toggle modal")
pn.Column('**Example: Basic `Modal`**', toggle_button, modal)
Controls#
The Modal widget exposes a number of options which can be changed from both Python and Javascript. Try out the effect of these parameters interactively:
modal.controls(jslink=True)
Open this notebook in Jupyterlite | Download this notebook from GitHub (right-click to download).