Some refactoring in main.js.
This commit is contained in:
parent
4d40896376
commit
3ad3945e7b
@ -24,13 +24,18 @@ let g_current_row = g_back_row;
|
|||||||
if (localStorage.getItem('audio_volume') == null)
|
if (localStorage.getItem('audio_volume') == null)
|
||||||
localStorage['audio_volume'] = 0.5;
|
localStorage['audio_volume'] = 0.5;
|
||||||
|
|
||||||
function overlay_close() {
|
|
||||||
|
function overlayClose() {
|
||||||
overlay_content.firstChild.remove();
|
overlay_content.firstChild.remove();
|
||||||
overlay.style.visibility = "hidden";
|
overlay.style.visibility = "hidden";
|
||||||
g_scale = 1;
|
g_scale = 1;
|
||||||
g_oc_offset = g_oc_translate = [0, 0];
|
g_oc_offset = g_oc_translate = [0, 0];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
overlay.addEventListener("mouseup", e => {
|
||||||
|
if (e.target.tagName === "DIV" && e.button === 0) overlayClose(); });
|
||||||
|
|
||||||
overlay_content.addEventListener("wheel", e => {
|
overlay_content.addEventListener("wheel", e => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
g_scale = Math.min(Math.max(0.25, g_scale + (e.deltaY * -0.001)), 4);
|
g_scale = Math.min(Math.max(0.25, g_scale + (e.deltaY * -0.001)), 4);
|
||||||
@ -38,9 +43,6 @@ overlay_content.addEventListener("wheel", e => {
|
|||||||
`translate(${g_oc_translate[0]}px, ${g_oc_translate[1]}px) scale(${g_scale})`;
|
`translate(${g_oc_translate[0]}px, ${g_oc_translate[1]}px) scale(${g_scale})`;
|
||||||
});
|
});
|
||||||
|
|
||||||
overlay.addEventListener("mouseup", e => {
|
|
||||||
if (e.target.tagName === "DIV" && e.button === 0) overlay_close(); });
|
|
||||||
|
|
||||||
overlay_content.addEventListener("mousedown", e => {
|
overlay_content.addEventListener("mousedown", e => {
|
||||||
if (e.buttons !== 1) return;
|
if (e.buttons !== 1) return;
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
@ -52,24 +54,12 @@ overlay_content.addEventListener("mousemove", e => {
|
|||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
g_oc_translate[0] = e.clientX - e.target.x - g_oc_offset[0];
|
g_oc_translate[0] = e.clientX - e.target.x - g_oc_offset[0];
|
||||||
g_oc_translate[1] = e.clientY - e.target.y - g_oc_offset[1];
|
g_oc_translate[1] = e.clientY - e.target.y - g_oc_offset[1];
|
||||||
e.target.style.transform = `translate(${g_oc_translate[0]}px, ${g_oc_translate[1]}px) scale(${g_scale})`;
|
e.target.style.transform =
|
||||||
});
|
`translate(${g_oc_translate[0]}px, ${g_oc_translate[1]}px) scale(${g_scale})`;
|
||||||
|
|
||||||
overlay_autoplay = document.getElementsByName("autoplay")[0];
|
|
||||||
|
|
||||||
if (localStorage.getItem('autoplay') == null)
|
|
||||||
localStorage['autoplay'] = overlay_autoplay.checked = false;
|
|
||||||
|
|
||||||
overlay_autoplay.addEventListener("change", e => {
|
|
||||||
localStorage['autoplay'] = e.target.checked;
|
|
||||||
if (e.target.checked && overlay_content.firstChild !== undefined)
|
|
||||||
if (overlay_content.firstChild.tagName === "AUDIO" || overlay_content.firstChild.tagName === "VIDEO")
|
|
||||||
if (overlay_content.firstChild.ended)
|
|
||||||
b_next.click();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
function determine_media_element(path) {
|
function determineMediaElement(path) {
|
||||||
path = path.toLowerCase();
|
path = path.toLowerCase();
|
||||||
if (video_formats.some(ext => path.endsWith(ext)))
|
if (video_formats.some(ext => path.endsWith(ext)))
|
||||||
return "video";
|
return "video";
|
||||||
@ -80,7 +70,7 @@ function determine_media_element(path) {
|
|||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
function send_to_overlay(pathname, media_type_element) {
|
function overlaySet(pathname, media_type_element) {
|
||||||
if (media_type_element === undefined)
|
if (media_type_element === undefined)
|
||||||
return false;
|
return false;
|
||||||
if (overlay_content.children.length != 0) {
|
if (overlay_content.children.length != 0) {
|
||||||
@ -120,14 +110,15 @@ function getSibling(isNext = true, upDown = false) {
|
|||||||
return g_current_row;
|
return g_current_row;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const [b_prev, b_next] = overlay.getElementsByTagName("button");
|
const [b_prev, b_next] = overlay.getElementsByTagName("button");
|
||||||
|
|
||||||
b_prev.addEventListener("click", e => {
|
b_prev.addEventListener("click", e => {
|
||||||
do {
|
do {
|
||||||
getSibling(false, false);
|
getSibling(false, false);
|
||||||
} while (g_current_row.classList.contains("hidden")
|
} while (g_current_row.classList.contains("hidden")
|
||||||
|| !send_to_overlay(g_current_row.firstChild.firstChild.pathname,
|
|| !overlaySet(g_current_row.firstChild.firstChild.pathname,
|
||||||
determine_media_element(g_current_row.firstChild.firstChild.pathname)));
|
determineMediaElement(g_current_row.firstChild.firstChild.pathname)));
|
||||||
g_current_row.firstChild.firstChild.focus();
|
g_current_row.firstChild.firstChild.focus();
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
});
|
});
|
||||||
@ -136,22 +127,38 @@ b_next.addEventListener("click", e => {
|
|||||||
do {
|
do {
|
||||||
getSibling(true, false);
|
getSibling(true, false);
|
||||||
} while (g_current_row.classList.contains("hidden")
|
} while (g_current_row.classList.contains("hidden")
|
||||||
|| !send_to_overlay(g_current_row.firstChild.firstChild.pathname,
|
|| !overlaySet(g_current_row.firstChild.firstChild.pathname,
|
||||||
determine_media_element(g_current_row.firstChild.firstChild.pathname)));
|
determineMediaElement(g_current_row.firstChild.firstChild.pathname)));
|
||||||
g_current_row.firstChild.firstChild.focus();
|
g_current_row.firstChild.firstChild.focus();
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
Array.from(g_tbody.children)
|
Array.from(g_tbody.children)
|
||||||
.forEach(v => {
|
.forEach(v => {
|
||||||
if (v.lastChild.innerHTML === "DIR") return;
|
if (v.lastChild.innerHTML === "DIR") return;
|
||||||
v.firstChild.firstChild.addEventListener("click", e => {
|
v.firstChild.firstChild.addEventListener("click", e => {
|
||||||
g_current_row = e.target.parentNode.parentNode;
|
g_current_row = e.target.parentNode.parentNode;
|
||||||
if (send_to_overlay(e.target.pathname, determine_media_element(e.target.pathname)))
|
if (overlaySet(e.target.pathname, determineMediaElement(e.target.pathname)))
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
overlay_autoplay = document.getElementsByName("autoplay")[0];
|
||||||
|
|
||||||
|
if (localStorage.getItem('autoplay') == null)
|
||||||
|
localStorage['autoplay'] = overlay_autoplay.checked = false;
|
||||||
|
|
||||||
|
overlay_autoplay.addEventListener("change", e => {
|
||||||
|
localStorage['autoplay'] = e.target.checked;
|
||||||
|
const media_element = overlay_content.firstChild
|
||||||
|
if (e.target.checked && media_element !== undefined)
|
||||||
|
if (media_element.tagName === "AUDIO" || media_element.tagName === "VIDEO")
|
||||||
|
if (media_element.ended)
|
||||||
|
b_next.click();
|
||||||
|
});
|
||||||
|
|
||||||
//// KEYBOARD HANDLING
|
//// KEYBOARD HANDLING
|
||||||
|
|
||||||
window.addEventListener("keydown", e => {
|
window.addEventListener("keydown", e => {
|
||||||
@ -190,7 +197,7 @@ window.addEventListener("keydown", e => {
|
|||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
b_next.click();
|
b_next.click();
|
||||||
break;
|
break;
|
||||||
case "Escape": overlay_close(); break;
|
case "Escape": overlayClose(); break;
|
||||||
case "Space":
|
case "Space":
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
const el = overlay_content.firstChild;
|
const el = overlay_content.firstChild;
|
||||||
@ -203,6 +210,7 @@ window.addEventListener("keydown", e => {
|
|||||||
|
|
||||||
|
|
||||||
document.getElementsByName("filter")[0].classList.remove("hidden");
|
document.getElementsByName("filter")[0].classList.remove("hidden");
|
||||||
|
|
||||||
function filter(sub) {
|
function filter(sub) {
|
||||||
const table = g_tbody.children;
|
const table = g_tbody.children;
|
||||||
for (let j = 0; j < table.length; ++j)
|
for (let j = 0; j < table.length; ++j)
|
||||||
|
Loading…
Reference in New Issue
Block a user