57 lines
1.7 KiB
Haxe
57 lines
1.7 KiB
Haxe
import js.html.AnchorElement;
|
|
import js.html.XMLHttpRequest;
|
|
import js.Browser;
|
|
|
|
function main():Void {
|
|
Elements.enqueue_form.addEventListener("submit", onEnqSubmit);
|
|
|
|
for (del_btn in Browser.document.getElementsByClassName("vid_del_btn")) {
|
|
del_btn.onclick = () -> {
|
|
var href = cast(del_btn.parentElement.getElementsByTagName("a")[0], AnchorElement).href;
|
|
|
|
var xhr = new XMLHttpRequest();
|
|
xhr.open("DELETE", href);
|
|
xhr.send();
|
|
|
|
del_btn.parentElement.remove();
|
|
};
|
|
}
|
|
|
|
Elements.pause_btn.onclick = PauseButton.onClick;
|
|
Elements.clear_btn.onclick = onClearButtonClick;
|
|
|
|
PauseButton.updateDisplay();
|
|
}
|
|
|
|
function onEnqSubmit(e:Dynamic):Void {
|
|
e.preventDefault();
|
|
|
|
if (Elements.url_inp.value.length == 0) {
|
|
Browser.alert("Empty URL not allowed!");
|
|
return;
|
|
}
|
|
|
|
new EnqueueTask(
|
|
Elements.url_inp.value,
|
|
Elements.outname_inp.value.length == 0 ? null : Elements.outname_inp.value,
|
|
Std.parseInt(Elements.priority_num.value),
|
|
Elements.description_switch.checked,
|
|
Elements.audio_only_switch.checked
|
|
).send();
|
|
|
|
Elements.outname_inp.value = nextOutnameVal(Elements.outname_inp.value);
|
|
Elements.url_inp.value = "";
|
|
}
|
|
|
|
function nextOutnameVal(cur:String):String {
|
|
var inc = ~/[0-9]+$/.map(cur, (reg) -> Std.string(Std.parseInt(reg.matched(0)) + 1));
|
|
return inc == cur ? "" : inc;
|
|
}
|
|
|
|
function onClearButtonClick():Void {
|
|
Elements.audio_only_switch.checked = false;
|
|
Elements.description_switch.checked = false;
|
|
Elements.outname_inp.value = "";
|
|
Elements.priority_num.value = "0";
|
|
Elements.url_inp.value = "";
|
|
}
|