From 45de1503ad0ac6e1f302e94ba73c0f98a530213b Mon Sep 17 00:00:00 2001 From: Zack Arnett Date: Mon, 17 Feb 2020 15:21:49 -0500 Subject: [PATCH 1/2] Seek function --- .../lovelace/cards/hui-media-control-card.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/panels/lovelace/cards/hui-media-control-card.ts b/src/panels/lovelace/cards/hui-media-control-card.ts index 6a319b4122..19c6ea42e7 100644 --- a/src/panels/lovelace/cards/hui-media-control-card.ts +++ b/src/panels/lovelace/cards/hui-media-control-card.ts @@ -119,6 +119,7 @@ export class HuiMediaControlCard extends LitElement implements LovelaceCard { .max="${stateObj.attributes.media_duration}" .value="${stateObj.attributes.media_position}" class="progress" + @click=${this._handleSeek} > `}
@@ -273,6 +274,16 @@ export class HuiMediaControlCard extends LitElement implements LovelaceCard { }); } + private _handleSeek(e: MouseEvent): void { + const percent = (e.offsetX * 1) / this.offsetWidth; + const position = (e.currentTarget! as any).max * percent; + + this.hass!.callService("media_player", "media_seek", { + entity_id: this._config!.entity, + seek_position: position, + }); + } + static get styles(): CSSResult { return css` .ratio { @@ -383,6 +394,10 @@ export class HuiMediaControlCard extends LitElement implements LovelaceCard { --paper-progress-active-color: var(--accent-color); --paper-progress-container-color: rgba(200, 200, 200, 0.5); } + + .progress:hover { + --paper-progress-height: 8px; + } `; } } From 9326d7d477e1227f8c3649338b7739788cbc7090 Mon Sep 17 00:00:00 2001 From: Zack Arnett Date: Mon, 17 Feb 2020 15:28:39 -0500 Subject: [PATCH 2/2] Remove a testing section --- src/panels/lovelace/cards/hui-media-control-card.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/panels/lovelace/cards/hui-media-control-card.ts b/src/panels/lovelace/cards/hui-media-control-card.ts index 19c6ea42e7..840a67108c 100644 --- a/src/panels/lovelace/cards/hui-media-control-card.ts +++ b/src/panels/lovelace/cards/hui-media-control-card.ts @@ -275,7 +275,7 @@ export class HuiMediaControlCard extends LitElement implements LovelaceCard { } private _handleSeek(e: MouseEvent): void { - const percent = (e.offsetX * 1) / this.offsetWidth; + const percent = e.offsetX / this.offsetWidth; const position = (e.currentTarget! as any).max * percent; this.hass!.callService("media_player", "media_seek", {