Files
i2p.i2p/apps/i2psnark/resources/js/folder.js

118 lines
3.8 KiB
JavaScript

const setupbuttons=()=>{
let sp = document.forms[0].savepri;
if ( sp ) updatesetallbuttons(), sp.disabled = true, sp.className = 'disabled';
var buttons = document.getElementsByClassName("prihigh");
for(index = 0; index < buttons.length; index++)
{
var button = buttons[index];
if (!button.disabled)
addClickHandler(button);
}
buttons = document.getElementsByClassName("prinorm");
for(index = 0; index < buttons.length; index++)
{
var button = buttons[index];
if (!button.disabled)
addClickHandler(button);
}
buttons = document.getElementsByClassName("priskip");
for(index = 0; index < buttons.length; index++)
{
var button = buttons[index];
if (!button.disabled)
addClickHandler(button);
}
var button = document.getElementById('setallhigh');
if (!button.disabled) {
button.addEventListener("click", function() {
setallhigh();
event.preventDefault();
});
}
button = document.getElementById('setallnorm');
if (!button.disabled) {
button.addEventListener("click", function() {
setallnorm();
event.preventDefault();
});
}
button = document.getElementById('setallskip');
if (!button.disabled) {
button.addEventListener("click", function() {
setallskip();
event.preventDefault();
});
}
}
const priorityclicked=()=>{
let sp = document.forms[0].savepri;
if ( sp ) updatesetallbuttons(), sp.disabled = false, sp.className = 'accept';
}
const updatesetallbuttons=()=>{
let notNorm = true, notHigh = true, notSkip = true, i = 0, len, ele, elems = document.forms[0].elements;
for( len = elems.length ; i < len && (notNorm || notHigh || notSkip) ; ) {
ele = elems[i++];
if (ele.type == 'radio' && !ele.checked) {
if (ele.className == 'prinorm') notNorm = false;
else if (ele.className == 'prihigh') notHigh = false;
else notSkip = false;
}
}
document.getElementById('setallnorm').className = notNorm ? 'controld' : 'control';
document.getElementById('setallhigh').className = notHigh ? 'controld' : 'control';
document.getElementById('setallskip').className = notSkip ? 'controld' : 'control';
}
const setallnorm=()=>{
let i = 0, ele, elems, len, form = document.forms[0];
for ( elems = form.elements, len = elems.length ; i < len ; ) {
ele = elems[i++];
if (ele.type == 'radio' && ele.className === 'prinorm') ele.checked = true;
}
document.getElementById('setallnorm').className = 'controld';
document.getElementById('setallhigh').className = 'control';
document.getElementById('setallskip').className = 'control';
form.savepri.disabled = false;
form.savepri.className = 'accept';
}
const setallhigh=()=>{
let i = 0, len, ele, elems, form = document.forms[0];
for( elems = form.elements, len = elems.length; i < len ; ) {
ele = elems[i++];
if (ele.type == 'radio' && ele.className === 'prihigh') ele.checked = true;
}
document.getElementById('setallnorm').className = 'control';
document.getElementById('setallhigh').className = 'controld';
document.getElementById('setallskip').className = 'control';
form.savepri.disabled = false;
form.savepri.className = 'accept';
}
const setallskip=()=>{
let i = 0, len, ele, elems, form = document.forms[0];
for( elems = form.elements, len = elems.length; i < len ; ) {
ele = elems[i++];
if (ele.type == 'radio' && ele.className === 'priskip') ele.checked = true;
}
document.getElementById('setallnorm').className = 'control';
document.getElementById('setallhigh').className = 'control';
document.getElementById('setallskip').className = 'controld';
form.savepri.disabled = false;
form.savepri.className = 'accept';
}
function addClickHandler(elem)
{
elem.addEventListener("click", function() {
priorityclicked();
});
}
document.addEventListener("DOMContentLoaded", function() {
setupbuttons();
}, true);