var changed_values = new Map();
function send(source, value, data_type) {
var label_element = document.getElementById(source + '_label');
if (label_element) {
label_element.innerHTML = value;
}
fetch('/set/' + data_type, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({key: source, value: value})
}).catch(err => {
document.getElementById('status').textContent = 'HTTP Error: ' + err;
});
changed_value(source, value, data_type)
}
function split_name(source) {
var split = source.split("::");
var variable = split.pop();
var module = split.join("::");
return {
variable: variable,
module: module
}
}
function changed_value(source, value, data_type) {
let names = split_name(source);
var line;
if (data_type == "string") {
line = "const " + names.variable + ": &str = \"" + value + "\";"
} else {
line = "const " + names.variable + ": " + data_type + " = " + value + ";"
}
changed_values.set(source, line);
let output = "";
for (let [map_source, line] of changed_values) {
if (names.module == split_name(map_source).module) {
output += line + "\n";
}
}
var output_text = document.getElementById(names.module.replace("::", "_") + "_output");
output_text.value = output;
}
function copy_text(source) {
var output_text = document.getElementById(source + "_output");
output_text.select();
output_text.setSelectionRange(0, 99999);
document.execCommand("copy");
}
function poll() {
fetch('/should_refresh')
.then(response => response.text())
.then(body => {
if (body == "refresh") {
console.log("Reloading page");
location.reload();
}
})
.catch(err => {
document.getElementById('status').textContent = 'HTTP Error: ' + err;
});
}
setInterval(poll, 3000);