summaryrefslogtreecommitdiff
path: root/lfpe.js
diff options
context:
space:
mode:
authorPatrick Simianer <p@simianer.de>2015-10-28 13:43:08 +0100
committerPatrick Simianer <p@simianer.de>2015-10-28 13:43:08 +0100
commit04563ca60c3ffb2c02edf5e09582528d837aa925 (patch)
treef78c3fa38a9bca1bb798b193cd20b629925dc6d8 /lfpe.js
parent000cd92db93f8c6655e150b07deed690b6b4db11 (diff)
mv
Diffstat (limited to 'lfpe.js')
-rw-r--r--lfpe.js357
1 files changed, 0 insertions, 357 deletions
diff --git a/lfpe.js b/lfpe.js
deleted file mode 100644
index 1cf88bf..0000000
--- a/lfpe.js
+++ /dev/null
@@ -1,357 +0,0 @@
-/*
- * Timer
- *
- */
-var Timer = {
- start_t: 0,
- pause_start_t: 0,
- pause_acc_t: 0,
- paused: false,
-
- start: function() {
- this.start_t = Date.now();
- this.pause_start_t = 0;
- this.pause_acc_t = 0;
- this.paused = false;
- },
- pause: function() {
- this.paused = true;
- this.pause_start_t = Date.now();
- },
- unpause: function() {
- this.paused = false;
- this.pause_acc_t += Date.now()-this.pause_start_t;
- this.pause_start_t = 0;
- },
- get: function() {
- return (Date.now()-this.start_t)-this.pause_acc_t;
- }
-}
-
-/*
- * pause/unpause timer
- *
- */
-function pause()
-{
- var paused = document.getElementById("paused");
- var button = document.getElementById("pause_button");
- var next_button = document.getElementById("next");
- var target_textarea = document.getElementById("target_textarea")
- var initialized = document.getElementById("init");
-
- if (paused.value == 0) {
- button.innerHTML = "Unpause";
- paused.value = 1;
- next.setAttribute("disabled", "disabled");
- target_textarea.setAttribute("disabled", "disabled");
- Timer.pause();
- } else {
- button.innerHTML = "Pause";
- paused.value = 0;
- next.removeAttribute("disabled");
- if (initialized.value != "") {
- target_textarea.removeAttribute("disabled");
- }
- Timer.unpause();
- }
-}
-
-/*
- * no newline on return in textarea
- *
- */
-function catch_return(e)
-{
- if (e.keyCode == 13) {
- e.preventDefault();
- Next();
- }
-
- return false;
-}
-
-/*
- *
- *
- */
-function working()
-{
- // elements
- var button = document.getElementById("next");
- var pause_button = document.getElementById("pause_button");
- var target_textarea = document.getElementById("target_textarea")
- var raw_source_textarea = document.getElementById("raw_source_textarea");
- var current_seg_id = document.getElementById("current_seg_id");
- var source = document.getElementById("source");
- var status = document.getElementById("status");
- var oov_correct = document.getElementById("oov_correct");
- var last_post_edit = document.getElementById("last_post_edit");
-
- // show 'working' message
- status.style.display = "block";
-
- // disable button and textarea
- button.setAttribute("disabled", "disabled");
- pause_button.setAttribute("disabled", "disabled");
- target_textarea.setAttribute("disabled", "disabled");
-}
-
-/*
- *
- *
- */
-function not_working()
-{
- // elements
- var button = document.getElementById("next");
- var pause_button = document.getElementById("pause_button");
- var target_textarea = document.getElementById("target_textarea")
- var raw_source_textarea = document.getElementById("raw_source_textarea");
- var current_seg_id = document.getElementById("current_seg_id");
- var source = document.getElementById("source");
- var status = document.getElementById("status");
- var oov_correct = document.getElementById("oov_correct");
- var last_post_edit = document.getElementById("last_post_edit");
-
- // hide 'working' message
- status.style.display = "none";
-
- // enable buttons
- document.getElementById("next").removeAttribute("disabled");
- document.getElementById("pause_button").removeAttribute("disabled");
-}
-
-/*
- * next button
- *
- */
-function Next()
-{
- // elements
- var button = document.getElementById("next");
- var pause_button = document.getElementById("pause_button");
- var target_textarea = document.getElementById("target_textarea")
- var raw_source_textarea = document.getElementById("raw_source_textarea");
- var current_seg_id = document.getElementById("current_seg_id");
- var source = document.getElementById("source");
- var status = document.getElementById("status");
- var oov_correct = document.getElementById("oov_correct");
- var last_post_edit = document.getElementById("last_post_edit");
-
- working();
-
- // get metadata stored in DOM
- var base_url = "http://coltrane.cl.uni-heidelberg.de";
- var port = document.getElementById("port").value;
- var key = document.getElementById("key").value;
-
- // url
- next_url = base_url+":"+port+"/next?key="+key;
-
- // post edit
- var post_edit = '';
-
- // extract data from interfaces
- if (ui_type == 'g') {
- post_edit = JSON.parse(DE_extract_data())["target"].join(" ")
- } else {
- post_edit = trim(target_textarea.value);
- }
-
- // send data
- // ???
- if (oov_correct.value=="false" && post_edit != "") {
- // compose request
- next_url += "&example="+encodeURIComponent(source.value)+"%20%7C%7C%7C%20"+encodeURIComponent(post_edit)+"&duration="+Timer.get();
- // no change?
- if (post_edit == last_post_edit.value) {
- next_url += "&nochange=1";
- }
- // update document overview
- document.getElementById("seg_"+(current_seg_id.value)+"_t").innerHTML=post_edit;
- // OOV correction mode
- } else if (oov_correct.value=="true") {
- var l = document.getElementById("oov_fields").children.length;
- var src = [];
- var tgt = [];
- for (var i=0; i<l/2; i++) {
- src.push(trim(document.getElementById("oov_src"+i).value));
- tgt.push(trim(document.getElementById("oov_tgt"+i).value));
- if (tgt[tgt.length-1] == "") { // empty correction
- alert("Please provide translations for all OOV words.");
- not_working();
-
- return;
- }
- }
- var l = document.getElementById("oov_fields").children.length;
- for (var i=0; i<l; i++)
- { document.getElementById("oov_fields").children[0].remove(); }
- $("#oov_form").css("display", "none");
- next_url += "&correct="+encodeURIComponent(src.join("\t"))
- +"%20%7C%7C%7C%20"+encodeURIComponent(tgt.join("\t"))
- // ???
- } else {
- if (source.value != "") {
- alert("Please provide a post-edit.");
- target_textarea.removeAttribute("disabled", "disabled");
- pause_button.removeAttribute("disabled", "disabled");
- button.removeAttribute("disabled", "disabled");
- return;
- }
- }
-
- // confirm to server
- if (document.getElementById("init").value != "") {
- var xhr_confirm = CreateCORSRequest('get', base_url+":"+port+"/confirm");
- xhr_confirm.send(); // FIXME: handle errors
- }
-
- // build request
- var xhr = CreateCORSRequest('get', next_url);
- if (!xhr) {
- alert("Error: 2"); // FIXME: do something reasonable
- }
-
- // 'next' request's callbacks
- xhr.onload = function() {
- document.getElementById("init").value = 1; // for pause()
- // translation system is currently handling a request
- // FIXME: maybe poll server for result?
- if (xhr.responseText == "locked") {
- alert("Translation system is locked, try again in a moment (reload page and click 'Start/Continue' again).");
- not_working();
-
- return;
- }
-
- data = JSON.parse(xhr.responseText)
- document.getElementById("data").value = xhr.responseText;
-
- // done, disable interface
- if (data["fin"]) {
- raw_source_textarea.setAttribute("disabled", "disabled");
- target_textarea.setAttribute("disabled", "disabled");
- status.style.display = "none";
- button.innerHTML = "Session finished, thank you!";
- button.setAttribute("disabled", "disabled");
- pause_button.setAttribute("disabled", "disabled");
- if (current_seg_id.value)
- removeClass(document.getElementById("seg_"+current_seg_id.value), "bold");
-
- return;
-
- // enter OOV correct mode
- } else if (data["oovs"]) {
- var append_to = document.getElementById("oov_fields");
- for (var i=0; i<data["oovs"].length; i++) {
- var node_src = document.createElement("input");
- var node_tgt = document.createElement("input");
- node_src.type = "text";
- node_tgt.type = "text";
- node_src.id = "oov_src"+i;
- node_tgt.id = "oov_tgt"+i;
- node_src.value = data["oovs"][i];
- node_src.setAttribute("disabled", "disabled");
- append_to.appendChild(node_src);
- append_to.appendChild(node_tgt);
- }
- oov_correct.value = true;
-
- $("#oov_form").css("display", "block");
- not_working();
-
- // translation mode
- } else {
- var id = data["progress"];
- var src = data["source"];
- var translation = data["transl_detok"];
- var raw_source = data["raw_source"];
-
- // update interface
- oov_correct.value = false;
- status.style.display = "none";
- target_textarea.value = translation;
- raw_source_textarea.value = raw_source;
- button.innerHTML = "Next";
- button.removeAttribute("disabled");
- target_textarea.removeAttribute("disabled", "disabled");
- pause_button.removeAttribute("disabled", "disabled");
- document.getElementById("seg_"+id).className += " bold";
- if (id > 0) {
- removeClass(document.getElementById("seg_"+(id-1)), "bold");
- }
- target_textarea.rows = Math.round(translation.length/80)+1;
- raw_source_textarea.rows = Math.round(raw_source.length/80)+1;
- target_textarea.focus();
- target_textarea.selectionStart = 0;
- target_textarea.selectionEnd = 0;
-
- // remember aux data in DOM
- current_seg_id.value = id;
- source.value = src;
- last_post_edit.value = translation;
-
- // confirm to server
- var xhr_confirm = CreateCORSRequest('get', base_url+":"+port+"/confirm");
- xhr_confirm.send(); // FIXME: handle errors
-
- // load data into graphical UI
- if (ui_type == "g") {
- DE_init();
- }
-
- // start timer
- Timer.start();
- }
- };
-
- xhr.onerror = function() {}; // FIXME: do something reasonable
-
- xhr.send(); // send 'next' request
-
- return;
-}
-
-/*
- * init text interface
- *
- */
-function init_text_editor()
-{
- document.getElementById("target_textarea").value = "";
- document.getElementById("raw_source_textarea").value = "";
- document.getElementById("target_textarea").setAttribute("disabled", "disabled");
-
- return false;
-}
-
-/*
- * init site
- *
- */
-window.onload = function ()
-{
- // reset vars
- document.getElementById("source").value = "";
- document.getElementById("current_seg_id").value = "";
- document.getElementById("paused").value = "";
- document.getElementById("oov_correct").value = false;
- document.getElementById("displayed_oov_hint").value = false;
- document.getElementById("init").value = "";
-
- not_working();
-
- ui_type = document.getElementById("ui_type").value;
-
- // graphical derivation editor
- if (ui_type == "g") {
- document.getElementById("derivation_editor").style.display = "block";
- // text based editor
- } else {
- init_text_editor();
- document.getElementById("textboxes").style.display = "block";
- }
-};
-