Require title, separate show sidebar option (#32479)

* Require title, separate show sidebar option

* Fix list command not updating

* Some more test checks
This commit is contained in:
Paulus Schoutsen 2020-03-05 11:52:12 -08:00 committed by GitHub
parent d885853b35
commit 7c51318861
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 73 additions and 37 deletions

View file

@ -11,6 +11,8 @@ from homeassistant.util import slugify
DOMAIN = "lovelace"
EVENT_LOVELACE_UPDATED = "lovelace_updated"
DEFAULT_ICON = "hass:view-dashboard"
CONF_MODE = "mode"
MODE_YAML = "yaml"
MODE_STORAGE = "storage"
@ -39,24 +41,23 @@ RESOURCE_UPDATE_FIELDS = {
vol.Optional(CONF_URL): cv.string,
}
CONF_SIDEBAR = "sidebar"
CONF_TITLE = "title"
CONF_REQUIRE_ADMIN = "require_admin"
SIDEBAR_FIELDS = {
vol.Required(CONF_ICON): cv.icon,
vol.Required(CONF_TITLE): cv.string,
}
CONF_SHOW_IN_SIDEBAR = "show_in_sidebar"
DASHBOARD_BASE_CREATE_FIELDS = {
vol.Optional(CONF_REQUIRE_ADMIN, default=False): cv.boolean,
vol.Optional(CONF_SIDEBAR): SIDEBAR_FIELDS,
vol.Optional(CONF_ICON): cv.icon,
vol.Required(CONF_TITLE): cv.string,
vol.Optional(CONF_SHOW_IN_SIDEBAR, default=True): cv.boolean,
}
DASHBOARD_BASE_UPDATE_FIELDS = {
vol.Optional(CONF_REQUIRE_ADMIN): cv.boolean,
vol.Optional(CONF_SIDEBAR): vol.Any(None, SIDEBAR_FIELDS),
vol.Optional(CONF_ICON): vol.Any(cv.icon, None),
vol.Optional(CONF_TITLE): cv.string,
vol.Optional(CONF_SHOW_IN_SIDEBAR): cv.boolean,
}
@ -68,9 +69,7 @@ STORAGE_DASHBOARD_CREATE_FIELDS = {
vol.Optional(CONF_MODE, default=MODE_STORAGE): MODE_STORAGE,
}
STORAGE_DASHBOARD_UPDATE_FIELDS = {
**DASHBOARD_BASE_UPDATE_FIELDS,
}
STORAGE_DASHBOARD_UPDATE_FIELDS = DASHBOARD_BASE_UPDATE_FIELDS
def url_slug(value: Any) -> str: