added editing values, moved add language button
This commit is contained in:
parent
dfbfda7267
commit
bf43372d50
@ -338,7 +338,7 @@ a {
|
|||||||
grid-row: 1;
|
grid-row: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
#addData {
|
#editData {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: 70% 30%;
|
grid-template-columns: 70% 30%;
|
||||||
grid-template-rows: 100%;
|
grid-template-rows: 100%;
|
||||||
@ -349,17 +349,17 @@ a {
|
|||||||
font-size: 2vh;
|
font-size: 2vh;
|
||||||
}
|
}
|
||||||
|
|
||||||
#addData p, #addData i {
|
#editData p, #editData i {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
margin: auto;
|
margin: auto;
|
||||||
grid-row: 1;
|
grid-row: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
#addData:hover {
|
#editData:hover {
|
||||||
background-color: rgba(0, 0, 0, 0.05);
|
background-color: rgba(0, 0, 0, 0.05);
|
||||||
}
|
}
|
||||||
|
|
||||||
#newLanguage {
|
#newLanguage, #editLanguage {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
@ -368,7 +368,7 @@ a {
|
|||||||
background-color: rgba(0,0,0,0.4);
|
background-color: rgba(0,0,0,0.4);
|
||||||
}
|
}
|
||||||
|
|
||||||
#newLanguage > div {
|
#newLanguage > div, #editLanguage > div {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
width: 20%;
|
width: 20%;
|
||||||
height: 60%;
|
height: 60%;
|
||||||
@ -378,31 +378,31 @@ a {
|
|||||||
grid-template-rows: 6vh 5% 70% auto;
|
grid-template-rows: 6vh 5% 70% auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
#newLanguageName {
|
#newLanguageName, #editLanguageName {
|
||||||
grid-row: 2;
|
grid-row: 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
#newLanguageName p {
|
#newLanguageName p, #editLanguageName p {
|
||||||
display: inline;
|
display: inline;
|
||||||
margin-left: 5%;
|
margin-left: 5%;
|
||||||
grid-row: 1;
|
grid-row: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
#newLanguageName input {
|
#newLanguageName input, #editLanguageName input {
|
||||||
margin: auto 0 auto 0;
|
margin: auto 0 auto 0;
|
||||||
width: 50%;
|
width: 50%;
|
||||||
grid-row: 1;
|
grid-row: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
#newLanguagePhonemes {
|
#newLanguagePhonemes, #editLanguagePhonemes {
|
||||||
grid-row: 3;
|
grid-row: 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
#newLanguagePhonemes p {
|
#newLanguagePhonemes p, #editLanguagePhonemes p {
|
||||||
margin-left: 5%;
|
margin-left: 5%;
|
||||||
}
|
}
|
||||||
|
|
||||||
#newLanguagePhonemes textarea {
|
#newLanguagePhonemes textarea, #editLanguagePhonemes textarea {
|
||||||
width: 90%;
|
width: 90%;
|
||||||
margin-left: 5%;
|
margin-left: 5%;
|
||||||
height: 90%;
|
height: 90%;
|
||||||
@ -411,12 +411,12 @@ a {
|
|||||||
font-size: 1.5vh;
|
font-size: 1.5vh;
|
||||||
}
|
}
|
||||||
|
|
||||||
#newLanguageSubmit {
|
#newLanguageSubmit, #editLanguageSubmit {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-row: 4;
|
grid-row: 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
#newLanguageSubmit p {
|
#newLanguageSubmit p, #editLanguageSubmit p {
|
||||||
display: block;
|
display: block;
|
||||||
font-size: 3vh;
|
font-size: 3vh;
|
||||||
margin: auto 10% auto;
|
margin: auto 10% auto;
|
||||||
|
|||||||
@ -93,7 +93,7 @@ function updateNav(op) { // Updates the sidebar navigation.
|
|||||||
newNav.style.color = "#F47922";
|
newNav.style.color = "#F47922";
|
||||||
}
|
}
|
||||||
|
|
||||||
function getData() {
|
function getData(updatePage) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: serverURL + '/server',
|
url: serverURL + '/server',
|
||||||
type: 'GET'
|
type: 'GET'
|
||||||
@ -103,6 +103,8 @@ function getData() {
|
|||||||
data = incoming;
|
data = incoming;
|
||||||
generateDropOp();
|
generateDropOp();
|
||||||
createDrop();
|
createDrop();
|
||||||
|
if(updatePage) dropOpUpdate("langSelect");
|
||||||
|
|
||||||
},
|
},
|
||||||
function error(e) {
|
function error(e) {
|
||||||
console.log(e);
|
console.log(e);
|
||||||
@ -196,19 +198,6 @@ function generateDropOp() { // For options that change based on data.
|
|||||||
}
|
}
|
||||||
p1.appendChild(document.createTextNode(phonemes[i]));
|
p1.appendChild(document.createTextNode(phonemes[i]));
|
||||||
p2.appendChild(document.createTextNode(langInfo.phonemes[phonemes[i]]));
|
p2.appendChild(document.createTextNode(langInfo.phonemes[phonemes[i]]));
|
||||||
/*p2.className = "dataEdit"; Editing individual data
|
|
||||||
p2.onclick = function(event) {
|
|
||||||
if(this === event.target) return;
|
|
||||||
closeEditInput();
|
|
||||||
dataOpen = true;
|
|
||||||
var input = document.createElement("input");
|
|
||||||
var value = this.childNodes[0].nodeValue;
|
|
||||||
this.removeChild(this.childNodes[0]);
|
|
||||||
this.appendChild(input);
|
|
||||||
input.value = value;
|
|
||||||
input.id = "dataOpen";
|
|
||||||
input.focus();
|
|
||||||
}*/
|
|
||||||
dataBox.children[tableNum].appendChild(p1);
|
dataBox.children[tableNum].appendChild(p1);
|
||||||
dataBox.children[tableNum].appendChild(p2);
|
dataBox.children[tableNum].appendChild(p2);
|
||||||
}
|
}
|
||||||
@ -230,104 +219,7 @@ function generateDropOp() { // For options that change based on data.
|
|||||||
dataBox.style.opacity = "1";
|
dataBox.style.opacity = "1";
|
||||||
graph.style.opacity = "1";
|
graph.style.opacity = "1";
|
||||||
}, 300);
|
}, 300);
|
||||||
}].concat(["Select language..."].concat(data.languages));
|
}].concat(["Select language..."].concat(data.languages))
|
||||||
|
|
||||||
/* dropOp["phonemeSelect"] = [function() {
|
|
||||||
// Generate info box material.
|
|
||||||
var langInfo = language(dropOpStore["langSelect"]);
|
|
||||||
var info = document.getElementById("langInfoCont");
|
|
||||||
var dataBox = document.getElementById("dataTableCont");
|
|
||||||
var graph = document.querySelectorAll("#langGraph > canvas")[0];
|
|
||||||
info.style.opacity = "0";
|
|
||||||
dataBox.style.opacity = "0";
|
|
||||||
graph.style.opacity = "0";
|
|
||||||
setTimeout(function() {
|
|
||||||
while (info.firstChild) {
|
|
||||||
info.removeChild(info.firstChild);
|
|
||||||
}
|
|
||||||
var p = document.createElement("p");
|
|
||||||
var p2 = document.createElement("p");
|
|
||||||
var a = document.createElement("a");
|
|
||||||
p.appendChild(document.createTextNode("Type: " + (langInfo.type || "N/A")));
|
|
||||||
p2.appendChild(document.createTextNode("Source: "));
|
|
||||||
if(langInfo.source === null) {
|
|
||||||
p2.appendChild(document.createTextNode("N/A"));
|
|
||||||
} else if(langInfo.source.length > 0) {
|
|
||||||
a.href = langInfo.source;
|
|
||||||
srcText = (langInfo.source.length > 60) ? langInfo.source.substring(0, 57) + "..." : langInfo.source;
|
|
||||||
a.appendChild(document.createTextNode(srcText));
|
|
||||||
p2.appendChild(a);
|
|
||||||
}
|
|
||||||
info.appendChild(p);
|
|
||||||
info.appendChild(p2);
|
|
||||||
|
|
||||||
// Generate data box material.
|
|
||||||
|
|
||||||
var phonemes = Object.keys(langInfo.phonemes);
|
|
||||||
|
|
||||||
while (dataBox.firstChild) {
|
|
||||||
dataBox.removeChild(dataBox.firstChild);
|
|
||||||
}
|
|
||||||
dataBox.style.gridTemplateColumns = "repeat("+Math.ceil(phonemes.length/6).toString() + ", 1fr)";
|
|
||||||
for(var i = 0; i < 9; i++) dataBox.appendChild(document.createElement("div")); // Extra divs will be filled if necessary.
|
|
||||||
for(i = 0; i < phonemes.length; i++) {
|
|
||||||
var tableNum = Math.floor(i/6);
|
|
||||||
var row = i+2-tableNum*7;
|
|
||||||
var p1 = document.createElement("p");
|
|
||||||
var p2 = document.createElement("p");
|
|
||||||
p1.style.textAlign = "right";
|
|
||||||
p2.style.textAlign = "left";
|
|
||||||
p1.style.borderRight = "1px solid #D5D5D5";
|
|
||||||
if(i%6 === 0) {
|
|
||||||
var pT1 = document.createElement("p");
|
|
||||||
var pT2 = document.createElement("p");
|
|
||||||
pT1.style.textAlign = "right";
|
|
||||||
pT2.style.textAlign = "left";
|
|
||||||
pT1.style.borderRight = "1px solid #D5D5D5";
|
|
||||||
pT1.style.borderBottom = "1px solid #D5D5D5";
|
|
||||||
pT2.style.borderBottom = "1px solid #D5D5D5";
|
|
||||||
pT1.appendChild(document.createTextNode("Phoneme"));
|
|
||||||
pT2.appendChild(document.createTextNode("Percent"));
|
|
||||||
dataBox.children[tableNum].appendChild(pT1);
|
|
||||||
dataBox.children[tableNum].appendChild(pT2);
|
|
||||||
}
|
|
||||||
p1.appendChild(document.createTextNode(phonemes[i]));
|
|
||||||
p2.appendChild(document.createTextNode(langInfo.phonemes[phonemes[i]]));
|
|
||||||
p2.className = "dataEdit";
|
|
||||||
p2.onclick = function(event) {
|
|
||||||
if(this === event.target) return;
|
|
||||||
closeEditInput();
|
|
||||||
dataOpen = true;
|
|
||||||
var input = document.createElement("input");
|
|
||||||
var value = this.childNodes[0].nodeValue;
|
|
||||||
this.removeChild(this.childNodes[0]);
|
|
||||||
this.appendChild(input);
|
|
||||||
input.value = value;
|
|
||||||
input.id = "dataOpen";
|
|
||||||
input.focus();
|
|
||||||
}
|
|
||||||
dataBox.children[tableNum].appendChild(p1);
|
|
||||||
dataBox.children[tableNum].appendChild(p2);
|
|
||||||
}
|
|
||||||
var graphData = Object.entries(langInfo.phonemes).sort(function(a,b) {
|
|
||||||
return b[1] - a[1];
|
|
||||||
});
|
|
||||||
graphData = [graphData.map(function(a,b) {
|
|
||||||
return a[0];
|
|
||||||
}), graphData.map(function(a,b) {
|
|
||||||
return a[1];
|
|
||||||
})];
|
|
||||||
// Generate graphs.
|
|
||||||
var ctx = graph.getContext("2d");
|
|
||||||
try {
|
|
||||||
languageChart.destroy();
|
|
||||||
} catch(err) {}
|
|
||||||
languageChart = new Chart(ctx, chartOptions(graphData));
|
|
||||||
info.style.opacity = "1";
|
|
||||||
dataBox.style.opacity = "1";
|
|
||||||
graph.style.opacity = "1";
|
|
||||||
}, 300);
|
|
||||||
}]*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function closeEditInput() {
|
function closeEditInput() {
|
||||||
@ -362,12 +254,6 @@ function closeEditInput() {
|
|||||||
} catch(err) {}
|
} catch(err) {}
|
||||||
}
|
}
|
||||||
|
|
||||||
document.addEventListener("click", function(event) {
|
|
||||||
if(event.target.className !== "dataEdit") {
|
|
||||||
closeEditInput();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
function createDrop() {
|
function createDrop() {
|
||||||
var dropButtons = document.getElementsByClassName("dropdown");
|
var dropButtons = document.getElementsByClassName("dropdown");
|
||||||
for(var i = 0; i < dropButtons.length; i++) {
|
for(var i = 0; i < dropButtons.length; i++) {
|
||||||
@ -386,6 +272,18 @@ function createDrop() {
|
|||||||
div.appendChild(ic);
|
div.appendChild(ic);
|
||||||
var div2 = document.createElement("div");
|
var div2 = document.createElement("div");
|
||||||
div2.className = "opCont transition";
|
div2.className = "opCont transition";
|
||||||
|
|
||||||
|
var p3 = document.createElement("p");
|
||||||
|
p3.className = "transition";
|
||||||
|
p3.onclick = function() { // Open add language.
|
||||||
|
document.getElementById("newLanguage").style.display = "block";
|
||||||
|
setTimeout(function() {
|
||||||
|
document.getElementById("newLanguage").style.opacity = "1";
|
||||||
|
}, 10);
|
||||||
|
}
|
||||||
|
p3.appendChild(document.createTextNode("Add language..."));
|
||||||
|
div2.appendChild(p3);
|
||||||
|
|
||||||
for (var j = 2; j < dropOp[op].length; j++) {
|
for (var j = 2; j < dropOp[op].length; j++) {
|
||||||
var p2 = document.createElement("p");
|
var p2 = document.createElement("p");
|
||||||
p2.className = "transition";
|
p2.className = "transition";
|
||||||
@ -402,6 +300,7 @@ function createDrop() {
|
|||||||
p2.appendChild(document.createTextNode(dropOp[op][j]));
|
p2.appendChild(document.createTextNode(dropOp[op][j]));
|
||||||
div2.appendChild(p2);
|
div2.appendChild(p2);
|
||||||
}
|
}
|
||||||
|
|
||||||
div.onclick = function(e) {
|
div.onclick = function(e) {
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
let opCont = this.nextElementSibling;
|
let opCont = this.nextElementSibling;
|
||||||
@ -531,35 +430,50 @@ function chartOptions(graphData) {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
document.getElementById("addData").onclick = function() { // Open add language.
|
|
||||||
document.getElementById("newLanguage").style.display = "block";
|
|
||||||
setTimeout(function() {
|
|
||||||
document.getElementById("newLanguage").style.opacity = "1";
|
|
||||||
}, 10);
|
|
||||||
}
|
|
||||||
|
|
||||||
document.getElementById("newLanguage").onclick = function(event) { // Close add language.
|
document.getElementById("newLanguage").onclick = function(event) { // Close add language.
|
||||||
document.getElementById("newLanguage").style.opacity = "0";
|
document.getElementById("newLanguage").style.opacity = "0";
|
||||||
setTimeout(function() {
|
setTimeout(function() {
|
||||||
document.getElementById("newLanguage").style.display = "none";
|
document.getElementById("newLanguage").style.display = "none";
|
||||||
}, 300);
|
}, 300);
|
||||||
|
document.getElementById("editLanguage").style.opacity = "0";
|
||||||
|
setTimeout(function() {
|
||||||
|
document.getElementById("editLanguage").style.display = "none";
|
||||||
|
}, 300);
|
||||||
}
|
}
|
||||||
|
|
||||||
document.querySelectorAll("#newLanguage > div")[0].onclick = function(event) {
|
document.querySelectorAll("#newLanguage > div")[0].onclick = function(event) {
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
document.getElementById("editData").onclick = function() { // Open edit language.
|
||||||
|
var langInfo = language(dropOpStore["langSelect"]);
|
||||||
|
document.querySelectorAll("#editLanguageName input")[0].value = langInfo.name;
|
||||||
|
var k = Object.keys(langInfo.phonemes);
|
||||||
|
var v = Object.values(langInfo.phonemes);
|
||||||
|
var str = "";
|
||||||
|
for(var i = 0; i < k.length; i++) {
|
||||||
|
str += k[i] + " " + v[i] + ((i === k.length-1) ? "" : "\n");
|
||||||
|
}
|
||||||
|
document.querySelectorAll("#editLanguagePhonemes textarea")[0].value = str;
|
||||||
|
document.getElementById("editLanguage").style.display = "block";
|
||||||
|
setTimeout(function() {
|
||||||
|
document.getElementById("editLanguage").style.opacity = "1";
|
||||||
|
}, 10);
|
||||||
|
}
|
||||||
|
|
||||||
document.querySelectorAll("#newLanguageSubmit p")[0].onclick = function() {
|
document.querySelectorAll("#newLanguageSubmit p")[0].onclick = function() {
|
||||||
if(!submittable) return;
|
if(!submittable) return;
|
||||||
submittable = false;
|
submittable = false;
|
||||||
var name = document.querySelectorAll("#newLanguageName input")[0].value;
|
var name = document.querySelectorAll("#newLanguageName input")[0].value;
|
||||||
if(name === "") {
|
if(name === "") {
|
||||||
alert("Please enter in the name for language!");
|
alert("Please enter in the name for language!");
|
||||||
|
submittable = true;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var info = document.querySelectorAll("#newLanguagePhonemes textarea")[0].value;
|
var info = document.querySelectorAll("#newLanguagePhonemes textarea")[0].value;
|
||||||
if(info === "") {
|
if(info === "") {
|
||||||
alert("Please enter in the values for phonemes!");
|
alert("Please enter in the values for phonemes!");
|
||||||
|
submittable = true;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
info = info.split("\n");
|
info = info.split("\n");
|
||||||
@ -569,6 +483,7 @@ document.querySelectorAll("#newLanguageSubmit p")[0].onclick = function() {
|
|||||||
var num = parseFloat(info[i][1]);
|
var num = parseFloat(info[i][1]);
|
||||||
if(isNaN(num)) {
|
if(isNaN(num)) {
|
||||||
alert("Value for " + info[i][0] + " is not a number or does not exist!");
|
alert("Value for " + info[i][0] + " is not a number or does not exist!");
|
||||||
|
submittable = true;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
phonemes[info[i][0]] = num;
|
phonemes[info[i][0]] = num;
|
||||||
@ -578,7 +493,7 @@ document.querySelectorAll("#newLanguageSubmit p")[0].onclick = function() {
|
|||||||
source: null,
|
source: null,
|
||||||
phonemes: phonemes
|
phonemes: phonemes
|
||||||
};
|
};
|
||||||
console.log(newLanguage);
|
|
||||||
this.innerText = "Processing...";
|
this.innerText = "Processing...";
|
||||||
this.style.backgroundColor = "rgba(0,0,0,0.2)";
|
this.style.backgroundColor = "rgba(0,0,0,0.2)";
|
||||||
var p = this;
|
var p = this;
|
||||||
@ -600,14 +515,198 @@ document.querySelectorAll("#newLanguageSubmit p")[0].onclick = function() {
|
|||||||
document.querySelectorAll("#newLanguageName input")[0].value = "";
|
document.querySelectorAll("#newLanguageName input")[0].value = "";
|
||||||
document.querySelectorAll("#newLanguagePhonemes textarea")[0].value = "";
|
document.querySelectorAll("#newLanguagePhonemes textarea")[0].value = "";
|
||||||
}, 300);
|
}, 300);
|
||||||
getData();
|
getData(true);
|
||||||
},
|
},
|
||||||
function error(e) {
|
function error(e) {
|
||||||
alert("There was an error adding a language");
|
alert("There was an error adding a language.");
|
||||||
console.log(e);
|
console.log(e);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
document.querySelectorAll("#editLanguageSubmit p")[0].onclick = function() {
|
||||||
|
if(!submittable) return;
|
||||||
|
var langInfo = language(dropOpStore["langSelect"]);
|
||||||
|
submittable = false;
|
||||||
|
var name = document.querySelectorAll("#editLanguageName input")[0].value;
|
||||||
|
if(name === "") {
|
||||||
|
alert("Please enter in the name for language!");
|
||||||
|
submittable = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var info = document.querySelectorAll("#editLanguagePhonemes textarea")[0].value;
|
||||||
|
if(info === "") {
|
||||||
|
alert("Please enter in the values for phonemes!");
|
||||||
|
submittable = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
info = info.split("\n");
|
||||||
|
var newPhonemes = {};
|
||||||
|
for(var i = 0; i < info.length; i++) {
|
||||||
|
info[i] = info[i].split(/[ ,]+/);
|
||||||
|
var num = parseFloat(info[i][1]);
|
||||||
|
if(isNaN(num)) {
|
||||||
|
alert("Value for " + info[i][0] + " is not a number or does not exist!");
|
||||||
|
submittable = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
newPhonemes[info[i][0]] = num;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.innerText = "Processing...";
|
||||||
|
this.style.backgroundColor = "rgba(0,0,0,0.2)";
|
||||||
|
var p = this;
|
||||||
|
|
||||||
|
var diffChange = [];
|
||||||
|
var diffRemove = [];
|
||||||
|
var phoKeys = Object.keys(langInfo.phonemes);
|
||||||
|
for(var i = 0; i < phoKeys.length; i++) {
|
||||||
|
if(newPhonemes[phoKeys[i]] === undefined) {
|
||||||
|
diffRemove.push(phoKeys[i]);
|
||||||
|
} else if(langInfo.phonemes[phoKeys[i]] !== newPhonemes[phoKeys[i]]) {
|
||||||
|
diffChange.push(phoKeys[i]);
|
||||||
|
} else {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var todo = {
|
||||||
|
name: newLanguage.name !== langInfo.name,
|
||||||
|
add: diffChange.length > 0,
|
||||||
|
remove: diffRemove.length > 0
|
||||||
|
}
|
||||||
|
|
||||||
|
var error = false;
|
||||||
|
|
||||||
|
if(todo.name) { // Ajax requests for changing name.
|
||||||
|
$.ajax({
|
||||||
|
url: serverURL + '/server',
|
||||||
|
type: 'PATCH',
|
||||||
|
dataType: "json",
|
||||||
|
contentType: 'application/json;charset=UTF-8',
|
||||||
|
data: JSON.stringify({
|
||||||
|
action: "language_name_edit",
|
||||||
|
data: {
|
||||||
|
language_id: langInfo.id,
|
||||||
|
language_name: name
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
.then(
|
||||||
|
function success(incoming) {
|
||||||
|
if(todo.name && !todo.add && !todo.remove) {
|
||||||
|
document.getElementById("editLanguage").style.opacity = "0";
|
||||||
|
setTimeout(function() {
|
||||||
|
document.getElementById("editLanguage").style.display = "none";
|
||||||
|
submittable = true;
|
||||||
|
p.innerText = "Submit!";
|
||||||
|
p.style.backgroundColor = "#FEFEFE";
|
||||||
|
document.querySelectorAll("#editLanguageName input")[0].value = "";
|
||||||
|
document.querySelectorAll("#editLanguagePhonemes textarea")[0].value = "";
|
||||||
|
}, 300);
|
||||||
|
getData(true);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
function error(e) {
|
||||||
|
error = true;
|
||||||
|
alert("There was an error change the language name.");
|
||||||
|
console.log(e);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(error) return;
|
||||||
|
|
||||||
|
for(var i = 0; i < diffChange.length; i++) { // Ajax requests for adding or editing phonemes.
|
||||||
|
$.ajax({
|
||||||
|
url: serverURL + '/server',
|
||||||
|
type: 'PATCH',
|
||||||
|
dataType: "json",
|
||||||
|
contentType: 'application/json;charset=UTF-8',
|
||||||
|
context: {counter: i},
|
||||||
|
data: JSON.stringify({
|
||||||
|
action: "phoneme_add",
|
||||||
|
data: {
|
||||||
|
language_id: langInfo.id,
|
||||||
|
phoneme: diffChange[i],
|
||||||
|
value: newPhonemes[diffChange[i]]
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
.then(
|
||||||
|
function success(incoming) {
|
||||||
|
if(todo.add && !todo.remove && this.counter === diffChange.length-1) {
|
||||||
|
document.getElementById("editLanguage").style.opacity = "0";
|
||||||
|
setTimeout(function() {
|
||||||
|
document.getElementById("editLanguage").style.display = "none";
|
||||||
|
submittable = true;
|
||||||
|
p.innerText = "Submit!";
|
||||||
|
p.style.backgroundColor = "#FEFEFE";
|
||||||
|
document.querySelectorAll("#editLanguageName input")[0].value = "";
|
||||||
|
document.querySelectorAll("#editLanguagePhonemes textarea")[0].value = "";
|
||||||
|
}, 300);
|
||||||
|
getData(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
function error(e) {
|
||||||
|
error = true;
|
||||||
|
alert("There was an error change the phoneme values.");
|
||||||
|
console.log(e);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(error) return;
|
||||||
|
|
||||||
|
console.log({
|
||||||
|
action: "phoneme_remove",
|
||||||
|
data: {
|
||||||
|
language_id: langInfo.id,
|
||||||
|
phoneme_id: diffRemove[i]
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
for(var i = 0; i < diffRemove.length; i++) { // Ajax requests for removing phoneme values.
|
||||||
|
$.ajax({
|
||||||
|
url: serverURL + '/server',
|
||||||
|
type: 'PATCH',
|
||||||
|
dataType: "json",
|
||||||
|
contentType: 'application/json;charset=UTF-8',
|
||||||
|
context: {counter: i},
|
||||||
|
data: JSON.stringify({
|
||||||
|
action: "phoneme_remove",
|
||||||
|
data: {
|
||||||
|
language_id: langInfo.id,
|
||||||
|
phoneme_id: diffRemove[i]
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
.then(
|
||||||
|
function success(incoming) {
|
||||||
|
if(this.counter === diffRemove.length-1) {
|
||||||
|
document.getElementById("editLanguage").style.opacity = "0";
|
||||||
|
setTimeout(function() {
|
||||||
|
document.getElementById("editLanguage").style.display = "none";
|
||||||
|
submittable = true;
|
||||||
|
p.innerText = "Submit!";
|
||||||
|
p.style.backgroundColor = "#FEFEFE";
|
||||||
|
document.querySelectorAll("#editLanguageName input")[0].value = "";
|
||||||
|
document.querySelectorAll("#editLanguagePhonemes textarea")[0].value = "";
|
||||||
|
}, 300);
|
||||||
|
getData(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
function error(e) {
|
||||||
|
error = true;
|
||||||
|
alert("There was an error removing phoneme values.");
|
||||||
|
console.log(e);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*function getTrelloCards() {
|
/*function getTrelloCards() {
|
||||||
Trello.authorize();
|
Trello.authorize();
|
||||||
var cardArr, listArr, lists;
|
var cardArr, listArr, lists;
|
||||||
|
|||||||
@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
<body>
|
<body>
|
||||||
<div id="header1" class="transition">
|
<div id="header1" class="transition">
|
||||||
<h1>/smirkär/</h1>
|
<h1>/'smi:ɹ̠ka:ɹ̠/</h1>
|
||||||
</div>
|
</div>
|
||||||
<div id="header2">
|
<div id="header2">
|
||||||
</div>
|
</div>
|
||||||
@ -45,9 +45,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<div id="dataTable" class="card">
|
<div id="dataTable" class="card">
|
||||||
<h2>Data</h2>
|
<h2>Data</h2>
|
||||||
<div id="addData" class="transition">
|
<div id="editData" class="transition">
|
||||||
<p>Add Language</p>
|
<p>Edit Language</p>
|
||||||
<i class="fa fa-plus"></i>
|
<i class="fa fa-edit"></i>
|
||||||
</div>
|
</div>
|
||||||
<div id="dataTableCont" class="transition">
|
<div id="dataTableCont" class="transition">
|
||||||
</div>
|
</div>
|
||||||
@ -109,6 +109,22 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div id="editLanguage" class="transition">
|
||||||
|
<div class="card transition">
|
||||||
|
<h2>Edit Language</h2>
|
||||||
|
<div id="editLanguageName">
|
||||||
|
<p>Name:</p>
|
||||||
|
<input>
|
||||||
|
</div>
|
||||||
|
<div id="editLanguagePhonemes">
|
||||||
|
<p>Phonemes:</p>
|
||||||
|
<textarea></textarea>
|
||||||
|
</div>
|
||||||
|
<div id="editLanguageSubmit">
|
||||||
|
<p class="card">Submit!</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</body>
|
</body>
|
||||||
<script src="{{ url_for('static', filename='index.js') }}"></script>
|
<script src="{{ url_for('static', filename='index.js') }}"></script>
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user