Fix issue causing first thumbnail to be empty.

This commit is contained in:
Dermot Duffy
2022-04-02 14:28:18 -07:00
parent 5b66c6cad6
commit f98d749d07
4 changed files with 27 additions and 21 deletions
+8 -8
View File
@@ -101,6 +101,14 @@ export class FrigateCardSurround extends LitElement {
}); });
} }
}} }}
>
${this.config?.mode !== 'none'
? html` <frigate-card-thumbnail-carousel
slot=${this.config.mode}
.config=${this.config}
.view=${this.view}
.target=${this.view.target}
.selected=${this.view.childIndex ?? null}
@frigate-card:change-view=${(ev) => { @frigate-card:change-view=${(ev) => {
// Close the drawer if the carousel or thumbnail requests a view change // Close the drawer if the carousel or thumbnail requests a view change
// (e.g. playing the clip, or viewing something on the timeline). // (e.g. playing the clip, or viewing something on the timeline).
@@ -110,14 +118,6 @@ export class FrigateCardSurround extends LitElement {
}); });
} }
}} }}
>
${this.config?.mode !== 'none'
? html` <frigate-card-thumbnail-carousel
slot=${this.config.mode}
.config=${this.config}
.view=${this.view}
.target=${this.view.target}
.selected=${this.view.childIndex ?? null}
@frigate-card:carousel:tap=${(ev: CustomEvent<ThumbnailCarouselTap>) => { @frigate-card:carousel:tap=${(ev: CustomEvent<ThumbnailCarouselTap>) => {
this.view this.view
?.evolve({ ?.evolve({
+2
View File
@@ -102,6 +102,7 @@ export class FrigateCardThumbnailCarousel extends FrigateCardCarousel {
return { return {
containScroll: 'keepSnaps', containScroll: 'keepSnaps',
dragFree: true, dragFree: true,
startIndex: this._selected ?? 0,
}; };
} }
@@ -138,6 +139,7 @@ export class FrigateCardThumbnailCarousel extends FrigateCardCarousel {
this.updateComplete.then(() => { this.updateComplete.then(() => {
if (this._carousel) { if (this._carousel) {
if (this._selected !== undefined && this._selected !== null) { if (this._selected !== undefined && this._selected !== null) {
console.info('thumbnail carousel scroll to')
this.carouselScrollTo(this._selected); this.carouselScrollTo(this._selected);
} }
} }
+1 -1
View File
@@ -37,7 +37,7 @@ export class FrigateCardThumbnail extends LitElement {
* @returns A template to display to the user. * @returns A template to display to the user.
*/ */
protected render(): TemplateResult | void { protected render(): TemplateResult | void {
if (!this.target || !this.target.children || !this.childIndex) { if (!this.target || !this.target.children || this.childIndex === undefined) {
return; return;
} }
const media = this.target.children[this.childIndex]; const media = this.target.children[this.childIndex];
+8 -4
View File
@@ -164,12 +164,12 @@ class TimelineEventManager {
start: Date, start: Date,
end: Date, end: Date,
): Promise<boolean> { ): Promise<boolean> {
if (!this.hasCoverage(start, end)) { if (this.hasCoverage(start, end)) {
return false;
}
await this._fetchEvents(element, hass, cameras, start, end); await this._fetchEvents(element, hass, cameras, start, end);
return true; return true;
} }
return false;
}
/** /**
* Fetch events for the timeline. * Fetch events for the timeline.
@@ -580,13 +580,17 @@ export class FrigateCardTimelineCore extends LitElement {
} }
const [eventWindowStart, eventWindowEnd] = this._getStartEndFromEvent(event); const [eventWindowStart, eventWindowEnd] = this._getStartEndFromEvent(event);
if (
await this._events.fetchEventsIfNecessary( await this._events.fetchEventsIfNecessary(
this, this,
this.hass, this.hass,
this.cameras, this.cameras,
eventWindowStart, eventWindowStart,
eventWindowEnd, eventWindowEnd,
); )
) {
this._generateThumbnails();
}
const eventStart = new Date(event.start_time * 1000); const eventStart = new Date(event.start_time * 1000);
const eventEnd = event.end_time ? new Date(event.end_time * 1000) : 0; const eventEnd = event.end_time ? new Date(event.end_time * 1000) : 0;