#48 Added types to anilyr enhancements
This commit is contained in:
parent
2059a5d427
commit
30bd7c675d
1 changed files with 12 additions and 13 deletions
|
@ -5,26 +5,27 @@ import * as helper from '../utils/helpers';
|
||||||
const SCREENSHOT_TOOLTIP_ID = 'anilyr-screenshots-tooltip';
|
const SCREENSHOT_TOOLTIP_ID = 'anilyr-screenshots-tooltip';
|
||||||
const PLAYER_ID = 'player';
|
const PLAYER_ID = 'player';
|
||||||
|
|
||||||
export function init() {
|
export function init(): void {
|
||||||
getGlobalConfiguration().getProperty(SETTINGS_playerAutoplayAfterScreenshot, value => {
|
getGlobalConfiguration().getProperty(SETTINGS_playerAutoplayAfterScreenshot, value => {
|
||||||
if (value) {
|
if (value) {
|
||||||
core.registerScript(node => {
|
core.registerScript(node => {
|
||||||
if (helper.isHtmlElement(node) && node.id === SCREENSHOT_TOOLTIP_ID) {
|
let element = node as HTMLElement;
|
||||||
observeScreenshotTooltip(node);
|
if (helper.assigned(element) && element.id === SCREENSHOT_TOOLTIP_ID) {
|
||||||
|
observeScreenshotTooltip(element);
|
||||||
}
|
}
|
||||||
}, "^/anime/[0-9]*/[0-9]*$");
|
}, "^/anime/[0-9]*/[0-9]*$");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function observeScreenshotTooltip(tooltip) {
|
function observeScreenshotTooltip(tooltip: HTMLElement): void {
|
||||||
let observer = new MutationObserver(mutations => {
|
let observer = new MutationObserver(mutations => {
|
||||||
mutations.forEach(mutation => {
|
mutations.forEach(mutation => {
|
||||||
// Switched to invisible
|
// Switched to invisible
|
||||||
if (!mutation.oldValue.includes('display: none') && mutation.target.style.display == 'none') {
|
if (!mutation.oldValue.includes('display: none') && helper.isHtmlElement(mutation.target) && (mutation.target as HTMLElement).style.display == 'none') {
|
||||||
let player = findPlayer();
|
let playerElement = findPlayerElement();
|
||||||
if (helper.assigned(player)) {
|
if (helper.assigned(playerElement)) {
|
||||||
resumePlayer(player);
|
resumePlayer(playerElement);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -37,17 +38,15 @@ function observeScreenshotTooltip(tooltip) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function findPlayer() {
|
function findPlayerElement(): HTMLVideoElement {
|
||||||
const PLAYER_TAG_NAME = 'VIDEO'; // tagName gives UpperCase
|
|
||||||
|
|
||||||
let playerCandidate = document.getElementById(PLAYER_ID);
|
let playerCandidate = document.getElementById(PLAYER_ID);
|
||||||
if (playerCandidate.tagName === PLAYER_TAG_NAME) {
|
if (playerCandidate instanceof HTMLVideoElement) {
|
||||||
return playerCandidate;
|
return playerCandidate;
|
||||||
}
|
}
|
||||||
|
|
||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
function resumePlayer(player) {
|
function resumePlayer(player: HTMLVideoElement) {
|
||||||
player.play();
|
player.play();
|
||||||
}
|
}
|
Loading…
Add table
Reference in a new issue