mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 05:07:41 +00:00
Use selector in AndroidTV option flow form (#83761)
This commit is contained in:
parent
2e92fefc0a
commit
93cd73246a
@ -18,6 +18,12 @@ from homeassistant.const import CONF_DEVICE_CLASS, CONF_HOST, CONF_PORT
|
|||||||
from homeassistant.core import callback
|
from homeassistant.core import callback
|
||||||
from homeassistant.data_entry_flow import FlowResult
|
from homeassistant.data_entry_flow import FlowResult
|
||||||
from homeassistant.helpers import config_validation as cv
|
from homeassistant.helpers import config_validation as cv
|
||||||
|
from homeassistant.helpers.selector import (
|
||||||
|
SelectOptionDict,
|
||||||
|
SelectSelector,
|
||||||
|
SelectSelectorConfig,
|
||||||
|
SelectSelectorMode,
|
||||||
|
)
|
||||||
|
|
||||||
from . import async_connect_androidtv, get_androidtv_mac
|
from . import async_connect_androidtv, get_androidtv_mac
|
||||||
from .const import (
|
from .const import (
|
||||||
@ -224,13 +230,17 @@ class OptionsFlowHandler(OptionsFlowWithConfigEntry):
|
|||||||
"""Return initial configuration form."""
|
"""Return initial configuration form."""
|
||||||
|
|
||||||
apps_list = {k: f"{v} ({k})" if v else k for k, v in self._apps.items()}
|
apps_list = {k: f"{v} ({k})" if v else k for k, v in self._apps.items()}
|
||||||
apps = {APPS_NEW_ID: "Add new", **apps_list}
|
apps = [SelectOptionDict(value=APPS_NEW_ID, label="Add new")] + [
|
||||||
|
SelectOptionDict(value=k, label=v) for k, v in apps_list.items()
|
||||||
|
]
|
||||||
rules = [RULES_NEW_ID] + list(self._state_det_rules)
|
rules = [RULES_NEW_ID] + list(self._state_det_rules)
|
||||||
options = self.options
|
options = self.options
|
||||||
|
|
||||||
data_schema = vol.Schema(
|
data_schema = vol.Schema(
|
||||||
{
|
{
|
||||||
vol.Optional(CONF_APPS): vol.In(apps),
|
vol.Optional(CONF_APPS): SelectSelector(
|
||||||
|
SelectSelectorConfig(options=apps, mode=SelectSelectorMode.DROPDOWN)
|
||||||
|
),
|
||||||
vol.Optional(
|
vol.Optional(
|
||||||
CONF_GET_SOURCES,
|
CONF_GET_SOURCES,
|
||||||
default=options.get(CONF_GET_SOURCES, DEFAULT_GET_SOURCES),
|
default=options.get(CONF_GET_SOURCES, DEFAULT_GET_SOURCES),
|
||||||
@ -257,7 +267,11 @@ class OptionsFlowHandler(OptionsFlowWithConfigEntry):
|
|||||||
"suggested_value": options.get(CONF_TURN_ON_COMMAND, "")
|
"suggested_value": options.get(CONF_TURN_ON_COMMAND, "")
|
||||||
},
|
},
|
||||||
): str,
|
): str,
|
||||||
vol.Optional(CONF_STATE_DETECTION_RULES): vol.In(rules),
|
vol.Optional(CONF_STATE_DETECTION_RULES): SelectSelector(
|
||||||
|
SelectSelectorConfig(
|
||||||
|
options=rules, mode=SelectSelectorMode.DROPDOWN
|
||||||
|
)
|
||||||
|
),
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user