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
+9 -9
View File
@@ -101,15 +101,6 @@ export class FrigateCardSurround extends LitElement {
});
}
}}
@frigate-card:change-view=${(ev) => {
// Close the drawer if the carousel or thumbnail requests a view change
// (e.g. playing the clip, or viewing something on the timeline).
if (this.config && ['left', 'right'].includes(this.config.mode)) {
dispatchFrigateCardEvent(ev.composedPath()[0], 'drawer:close', {
drawer: this.config.mode,
});
}
}}
>
${this.config?.mode !== 'none'
? html` <frigate-card-thumbnail-carousel
@@ -118,6 +109,15 @@ export class FrigateCardSurround extends LitElement {
.view=${this.view}
.target=${this.view.target}
.selected=${this.view.childIndex ?? null}
@frigate-card:change-view=${(ev) => {
// Close the drawer if the carousel or thumbnail requests a view change
// (e.g. playing the clip, or viewing something on the timeline).
if (this.config && ['left', 'right'].includes(this.config.mode)) {
dispatchFrigateCardEvent(ev.composedPath()[0], 'drawer:close', {
drawer: this.config.mode,
});
}
}}
@frigate-card:carousel:tap=${(ev: CustomEvent<ThumbnailCarouselTap>) => {
this.view
?.evolve({
+2
View File
@@ -102,6 +102,7 @@ export class FrigateCardThumbnailCarousel extends FrigateCardCarousel {
return {
containScroll: 'keepSnaps',
dragFree: true,
startIndex: this._selected ?? 0,
};
}
@@ -138,6 +139,7 @@ export class FrigateCardThumbnailCarousel extends FrigateCardCarousel {
this.updateComplete.then(() => {
if (this._carousel) {
if (this._selected !== undefined && this._selected !== null) {
console.info('thumbnail carousel scroll to')
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.
*/
protected render(): TemplateResult | void {
if (!this.target || !this.target.children || !this.childIndex) {
if (!this.target || !this.target.children || this.childIndex === undefined) {
return;
}
const media = this.target.children[this.childIndex];
+15 -11
View File
@@ -164,11 +164,11 @@ class TimelineEventManager {
start: Date,
end: Date,
): Promise<boolean> {
if (!this.hasCoverage(start, end)) {
await this._fetchEvents(element, hass, cameras, start, end);
return true;
if (this.hasCoverage(start, end)) {
return false;
}
return false;
await this._fetchEvents(element, hass, cameras, start, end);
return true;
}
/**
@@ -580,13 +580,17 @@ export class FrigateCardTimelineCore extends LitElement {
}
const [eventWindowStart, eventWindowEnd] = this._getStartEndFromEvent(event);
await this._events.fetchEventsIfNecessary(
this,
this.hass,
this.cameras,
eventWindowStart,
eventWindowEnd,
);
if (
await this._events.fetchEventsIfNecessary(
this,
this.hass,
this.cameras,
eventWindowStart,
eventWindowEnd,
)
) {
this._generateThumbnails();
}
const eventStart = new Date(event.start_time * 1000);
const eventEnd = event.end_time ? new Date(event.end_time * 1000) : 0;