Using 'in' in python panel_conditional in python for shiny

Let's say I have an input 'state' that can contain multiple values. How do I check if the input state contains 'Alabama'. I assumed I could just use 'in' like this but it doesn't seem to work:

from shiny import ui, App, render



app_ui = ui.page_fluid(
    ui.input_selectize("state", "State", choices = [
    "Alabama", "Alaska", "Arizona", "Arkansas", "California", "Colorado",
    "Connecticut", "Delaware", "Florida", "Georgia", "Hawaii", "Idaho",
    "Illinois", "Indiana", "Iowa", "Kansas", "Kentucky", "Louisiana",
    "Maine", "Maryland", "Massachusetts", "Michigan", "Minnesota",
    "Mississippi", "Missouri", "Montana", "Nebraska", "Nevada",
    "New Hampshire", "New Jersey", "New Mexico", "New York",
    "North Carolina", "North Dakota", "Ohio", "Oklahoma", "Oregon",
    "Pennsylvania", "Rhode Island", "South Carolina", "South Dakota",
    "Tennessee", "Texas", "Utah", "Vermont", "Virginia", "Washington",
    "West Virginia", "Wisconsin", "Wyoming", "Washington D.C."
],  multiple = True),
ui.panel_conditional("'Alabama' in input.state", "TEST")
       
)


def server(input, output, session):
    ...
app = App(app_ui, server)
  

I found out how to do it!

"input.state.some(r => ['Alabama'].includes(r))"

This works:

from shiny import ui, App, render



app_ui = ui.page_fluid(
    ui.input_selectize("state", "State", choices = [
    "Alabama", "Alaska", "Arizona", "Arkansas", "California", "Colorado",
    "Connecticut", "Delaware", "Florida", "Georgia", "Hawaii", "Idaho",
    "Illinois", "Indiana", "Iowa", "Kansas", "Kentucky", "Louisiana",
    "Maine", "Maryland", "Massachusetts", "Michigan", "Minnesota",
    "Mississippi", "Missouri", "Montana", "Nebraska", "Nevada",
    "New Hampshire", "New Jersey", "New Mexico", "New York",
    "North Carolina", "North Dakota", "Ohio", "Oklahoma", "Oregon",
    "Pennsylvania", "Rhode Island", "South Carolina", "South Dakota",
    "Tennessee", "Texas", "Utah", "Vermont", "Virginia", "Washington",
    "West Virginia", "Wisconsin", "Wyoming", "Washington D.C."
],  multiple = True),
ui.panel_conditional("input.state.some(r => ['Alabama'].includes(r))", "TEST"),

)


def server(input, output, session):
    ...
app = App(app_ui, server)

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.

If you have a query related to it or one of the replies, start a new topic and refer back with a link.