@@ -268,606 +377,143 @@ export class FrigateCardEditor extends LitElement implements LovelaceCardEditor
-
-
-
-
${options.basic.name}
-
-
${options.basic.secondary}
-
+ ${this._renderOptionSetHeader('basic')}
${options.basic.show
? html`
-
-
- ${cameraEntities.map((entity) => {
- return html` ${entity} `;
- })}
-
-
+ ${this._renderDropdown(CONF_CAMERA_ENTITY, cameraEntities)}
`
: ''}
-
-
-
-
${options.frigate.name}
-
-
${options.frigate.secondary}
-
+ ${this._renderOptionSetHeader('frigate')}
${options.frigate.show
? html`
-
-
-
-
-
+ ${this._renderStringInput(CONF_FRIGATE_CAMERA_NAME)}
+ ${this._renderStringInput(CONF_FRIGATE_URL)}
+ ${this._renderStringInput(CONF_FRIGATE_LABEL)}
+ ${this._renderStringInput(CONF_FRIGATE_ZONE)}
+ ${this._renderStringInput(CONF_FRIGATE_CLIENT_ID)}
`
: ''}
-
-
-
-
${options.view.name}
-
-
${options.view.secondary}
-
+ ${this._renderOptionSetHeader('view')}
${options.view.show
? html`
-
-
- ${Object.keys(viewModes).map((key) => {
- return html`
- ${viewModes[key]}
- `;
- })}
-
-
-
+ ${this._renderDropdown(CONF_VIEW_DEFAULT, viewModes)}
+ ${this._renderStringInput(CONF_VIEW_TIMEOUT, '[0-9]')}
`
: ''}
-
-
-
-
${options.menu.name}
-
-
${options.menu.secondary}
-
+ ${this._renderOptionSetHeader('menu')}
${options.menu.show
? html`
-
-
- ${Object.keys(menuModes).map((key) => {
- return html`
- ${menuModes[key]}
- `;
- })}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ ${this._renderDropdown(CONF_MENU_MODE, menuModes)}
+ ${this._renderStringInput(CONF_MENU_BUTTON_SIZE)}
+ ${this._renderSwitch(
+ CONF_MENU_BUTTONS_FRIGATE,
+ defaults.menu.buttons.frigate,
+ getShowButtonLabel(CONF_MENU_BUTTONS_FRIGATE),
+ )}
+ ${this._renderSwitch(
+ CONF_MENU_BUTTONS_LIVE,
+ defaults.menu.buttons.live,
+ getShowButtonLabel('view.views.live'),
+ )}
+ ${this._renderSwitch(
+ CONF_MENU_BUTTONS_CLIPS,
+ defaults.menu.buttons.clips,
+ getShowButtonLabel('view.views.clips'),
+ )}
+ ${this._renderSwitch(
+ CONF_MENU_BUTTONS_SNAPSHOTS,
+ defaults.menu.buttons.snapshots,
+ getShowButtonLabel('view.views.snapshots'),
+ )}
+ ${this._renderSwitch(
+ CONF_MENU_BUTTONS_IMAGE,
+ defaults.menu.buttons.image,
+ getShowButtonLabel('view.views.image'),
+ )}
+ ${this._renderSwitch(
+ CONF_MENU_BUTTONS_FRIGATE_DOWNLOAD,
+ defaults.menu.buttons.download,
+ getShowButtonLabel(CONF_MENU_BUTTONS_FRIGATE_DOWNLOAD),
+ )}
+ ${this._renderSwitch(
+ CONF_MENU_BUTTONS_FRIGATE_UI,
+ defaults.menu.buttons.frigate_ui,
+ getShowButtonLabel(CONF_MENU_BUTTONS_FRIGATE_UI),
+ )}
+ ${this._renderSwitch(
+ CONF_MENU_BUTTONS_FRIGATE_FULLSCREEN,
+ defaults.menu.buttons.fullscreen,
+ getShowButtonLabel(CONF_MENU_BUTTONS_FRIGATE_FULLSCREEN),
+ )}
`
: ''}
-
-
-
-
${options.live.name}
-
-
${options.live.secondary}
-
+ ${this._renderOptionSetHeader('live')}
${options.live.show
? html`
-
-
-
-
-
-
- ${Object.keys(liveProviders).map((key) => {
- return html`
- ${liveProviders[key]}
- `;
- })}
-
-
-
-
- ${cameraEntities.map((entity) => {
- return html` ${entity} `;
- })}
-
-
-
-
-
- ${Object.keys(thumbnailModes).map((key) => {
- return html`
-
- ${thumbnailModes[key]}
-
- `;
- })}
-
-
-
-
- ${Object.keys(thumbnailMedias).map((key) => {
- return html`
-
- ${thumbnailMedias[key]}
-
- `;
- })}
-
-
-
+ ${this._renderStringInput(CONF_LIVE_CONTROLS_THUMBNAILS_SIZE)}
`
: ''}
-
-
-
-
${options.event_viewer.name}
-
-
${options.event_viewer.secondary}
-
+ ${this._renderOptionSetHeader('event_viewer')}
${options.event_viewer.show
? html`
-
-
-
-
-
-
-
-
-
-
-
-
- ${Object.keys(eventViewerNextPreviousControlStyles).map((key) => {
- return html`
-
- ${eventViewerNextPreviousControlStyles[key]}
-
- `;
- })}
-
-
-
-
-
- ${Object.keys(thumbnailModes).map((key) => {
- return html`
-
- ${thumbnailModes[key]}
-
- `;
- })}
-
-
-
+ ${this._renderSwitch(
+ CONF_EVENT_VIEWER_AUTOPLAY_CLIP,
+ defaults.event_viewer.autoplay_clip,
+ )}
+ ${this._renderSwitch(
+ CONF_EVENT_VIEWER_DRAGGABLE,
+ defaults.event_viewer.draggable,
+ )}
+ ${this._renderSwitch(
+ CONF_EVENT_VIEWER_LAZY_LOAD,
+ defaults.event_viewer.lazy_load,
+ )}
+ ${this._renderDropdown(
+ CONF_EVENT_VIEWER_CONTROLS_NEXT_PREVIOUS_STYLE,
+ eventViewerNextPreviousControlStyles,
+ )}
+ ${this._renderStringInput(CONF_EVENT_VIEWER_CONTROLS_NEXT_PREVIOUS_SIZE)}
+ ${this._renderDropdown(
+ CONF_EVENT_VIEWER_CONTROLS_THUMBNAILS_MODE,
+ thumbnailModes,
+ )}
+ ${this._renderStringInput(CONF_EVENT_VIEWER_CONTROLS_THUMBNAILS_SIZE)}
`
: ''}
-
-
-
-
${options.image.name}
-
-
${options.image.secondary}
-
+ ${this._renderOptionSetHeader('image')}
${options.image.show
- ? html`
`
+ ? html`
${this._renderStringInput(CONF_IMAGE_SRC)}
`
: ''}
-
-
-
-
${options.dimensions.name}
-
-
${options.dimensions.secondary}
-
+ ${this._renderOptionSetHeader('dimensions')}
${options.dimensions.show
? html`
-
-
- ${Object.keys(aspectRatioModes).map((key) => {
- return html`
- ${aspectRatioModes[key]}
- `;
- })}
-
-
-
+ ${this._renderDropdown(
+ CONF_DIMENSIONS_ASPECT_RATIO_MODE,
+ aspectRatioModes,
+ )}
+ ${this._renderStringInput(CONF_DIMENSIONS_ASPECT_RATIO)}
`
: ''}
diff --git a/src/scss/editor.scss b/src/scss/editor.scss
index 76d0be76..92e45bc4 100644
--- a/src/scss/editor.scss
+++ b/src/scss/editor.scss
@@ -18,7 +18,8 @@
pointer-events: none;
}
.values {
- padding-left: 16px;
+ padding-left: 32px;
+ padding-top: 10px;
background: var(--secondary-background-color);
display: grid;
}