word edit: translation entry in referrer form
[sheet.git] / writer.js
index e00f99e2b888cc9d0fad050d4150f7c25551997b..714884d242525d16591ce767952d38a32ead77c4 100644 (file)
--- a/writer.js
+++ b/writer.js
@@ -44,4 +44,30 @@ document.addEventListener('DOMContentLoaded', () => {
                        imgpreview.hidden = !imgpreview.hidden;
                };
        }
+
+       let translist = document.getElementById('trans');
+       if (translist) {
+               let transadd = translist.appendChild(document.createElement('li'));
+               let transselect = transadd.appendChild(document.createElement('select'));
+               transselect.appendChild(document.createElement('option'));
+               for (let langoption of document.getElementById('lang').options) {
+                       if (document.getElementById('trans-'+langoption.value)) continue;
+                       let transoption = document.createElement('option');
+                       transoption.value = langoption.value;
+                       transoption.append(langoption.label);
+                       transselect.appendChild(transoption);
+               }
+               transselect.onchange = e => {
+                       let inputlang = e.target.selectedOptions[0];
+                       let transadded = translist.insertBefore(document.createElement('li'), transadd);
+                       let translabel = transadded.appendChild(document.createElement('label'));
+                       translabel.append(inputlang.label.replace(/ (.+)/, ' ')); //TODO title = $1
+                       let transinput = transadded.appendChild(document.createElement('input'));
+                       transinput.name = 'trans-'+inputlang.value;
+                       translabel.setAttribute('for', transinput.id = transinput.name);
+                       inputlang.remove();
+                       if (e.target.length <= 1) e.target.remove();
+                       transinput.focus();
+               };
+       }
 });