{ "cells": [ { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import panel as pn\n", "\n", "pn.extension()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `CrossSelector` widget allows selecting multiple values from a list of options by moving items between two lists. It falls into the broad category of multi-option selection widgets that provide a compatible API and include the [`MultiSelect`](MultiSelect.ipynb), [`CheckBoxGroup`](CheckBoxGroup.ipynb) and [`CheckButtonGroup`](CheckButtonGroup.ipynb) widgets.\n", "\n", "Discover more on using widgets to add interactivity to your applications in the [how-to guides on interactivity](../how_to/interactivity/index.md). Alternatively, learn [how to set up callbacks and (JS-)links between parameters](../../how_to/links/index.md) or [how to use them as part of declarative UIs with Param](../../how_to/param/index.html).\n", "\n", "#### Parameters:\n", "\n", "For details on other options for customizing the component see the [layout](../../how_to/layout/index.md) and [styling](../../how_to/styling/index.md) how-to guides.\n", "\n", "##### Core\n", "\n", "* **`definition_order`** (boolean, default=True): Whether to preserve definition order after filtering. Disable to allow the order of selection to define the order of the selected list.\n", "* **`filter_fn`** (function): The function used for filtering the options when searching using the text fields. The supplied function must allow two arguments; the user supplied search pattern and the label from the list of supplied `options`. The default is [`re.search`](https://docs.python.org/3/library/re.html#re.search), which matches options using a standard regular expression.\n", "* **`options`** (list or dict): List or dictionary of available options\n", "* **`value`** (list): Currently selected options\n", "\n", "##### Display\n", "\n", "* **`disabled`** (boolean): Whether the widget is editable\n", "* **`name`** (str): The title of the widget\n", "\n", "___" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `CrossSelector` is made up of a number of components:\n", " \n", "* Two lists for the unselected (left) and selected (right) option values\n", "* Filter boxes that allow using a regex to match options in the list of values below\n", "* Buttons to move values from the unselected to the selected list (`>>`) and vice versa (`<<`)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "cross_selector = pn.widgets.CrossSelector(name='Fruits', value=['Apple', 'Pear'], \n", " options=['Apple', 'Banana', 'Pear', 'Strawberry'])\n", "\n", "cross_selector" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`CrossSelector.value` returns a list of the currently selected options:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "cross_selector.value" ] } ], "metadata": { "language_info": { "name": "python", "pygments_lexer": "ipython3" } }, "nbformat": 4, "nbformat_minor": 2 }