Trigger changes even if videoid doesn't change if video element changes

This commit is contained in:
Ajay
2021-12-28 12:17:08 -05:00
committed by Michael C
parent aca52abefc
commit 7f374f0f86
3 changed files with 19 additions and 11 deletions

View File

@@ -20,12 +20,20 @@ export function getControls(): HTMLElement | false {
}
export function isVisible(element: HTMLElement): boolean {
return element.offsetWidth > 0 && element.offsetHeight > 0;
return element && element.offsetWidth > 0 && element.offsetHeight > 0;
}
export function findValidElement(selectors: string[]): HTMLElement {
for (const selector of selectors) {
const element = document.querySelector(selector) as HTMLElement;
export function findValidElementFromSelector(selectors: string[]): HTMLElement {
return findValidElementFromGenerator(selectors, (selector) => document.querySelector(selector));
}
export function findValidElement(elements: HTMLElement[] | NodeListOf<HTMLElement>): HTMLElement {
return findValidElementFromGenerator(elements);
}
function findValidElementFromGenerator<T>(objects: T[] | NodeListOf<HTMLElement>, generator?: (obj: T) => HTMLElement): HTMLElement {
for (const obj of objects) {
const element = generator ? generator(obj as T) : obj as HTMLElement;
if (element && isVisible(element)) {
return element;
}