|
|
|
|
|
|
|
|
|
|
|
async function get_grammar(keyboard_file) { |
|
|
|
|
|
if (!keyboard_file) { |
|
|
alert("Error: No file is listed for the language"); |
|
|
return; |
|
|
} |
|
|
|
|
|
var chars = await get(keyboard_file); |
|
|
chars = chars.split(","); |
|
|
|
|
|
return chars; |
|
|
} |
|
|
|
|
|
|
|
|
var orthography = []; |
|
|
|
|
|
|
|
|
async function make_keyboard(language_keyboard) { |
|
|
|
|
|
document.getElementById("load").style.display = "none"; |
|
|
|
|
|
orthography = await get_grammar(language_keyboard); |
|
|
document.getElementById("keyboard").style.display = "inline-block"; |
|
|
var keyboard = document.getElementById("keyboard"); |
|
|
|
|
|
for (letter in orthography) { |
|
|
|
|
|
var key = document.createElement("div"); |
|
|
key.id = letter; |
|
|
key.innerHTML = orthography[letter]; |
|
|
key.onclick = temp_keyboard; |
|
|
key.className = "kb"; |
|
|
|
|
|
keyboard.appendChild(key); |
|
|
} |
|
|
|
|
|
document.getElementById("msg1").style.display = "flex"; |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function temp_keyboard() { |
|
|
letter = this.id; |
|
|
wchar = orthography[letter]; |
|
|
|
|
|
my_textarea = document.getElementById("in1"); |
|
|
my_value = wchar; |
|
|
|
|
|
|
|
|
if (my_textarea.selectionStart || my_textarea.selectionStart == '0') { |
|
|
var start = my_textarea.selectionStart; |
|
|
var end = my_textarea.selectionEnd; |
|
|
my_textarea.value = my_textarea.value.substring(0, start) |
|
|
+ my_value |
|
|
+ my_textarea.value.substring(end, my_textarea.value.length); |
|
|
my_textarea.selectionStart = start + my_value.length; |
|
|
my_textarea.selectionEnd = start + my_value.length; |
|
|
} |
|
|
else { |
|
|
my_textarea.value += my_value; |
|
|
} |
|
|
} |
|
|
|