diff --git a/js/script_5.1.js b/js/script_5.1.js
index 672a6f1..1c7f449 100644
--- a/js/script_5.1.js
+++ b/js/script_5.1.js
@@ -153,10 +153,12 @@ $(document).ready(function() {
if (claListLen == 0){
tabID++;
addClausola("#sortable0",1,tabID,1);
+ refreshClaList();
};
if (rifListLen == 0){
rifID++;
addRiferimento("#sortableRif0",1,rifID,1);
+ refreshClaList();
};
});
});
@@ -294,10 +296,8 @@ $(document).ready(function() {
// Evento: modifica di un campo clausole
$("form #lemma_forma,#queryText,#opzioni_testo").on('change', function() {
if ($(this)[0].id == "queryText"){
- //var orgSelection = $('#lemma_forma option:selected')[0].value
var qText = $(this)[0].value;
if (qText !== null && qText !== '') {qText = ' "' + qText + '"';}
- //setLemmaForma(qText,orgSelection);
};
refreshClaList();
});
@@ -337,7 +337,7 @@ $(document).ready(function() {
if (queryJson.unitaRicerca == "riferimento") {
condListRifLen--;
if (rifListLen == 0 && condListRifLen == 0) {
- $('#sortableRif0').html(emptyClaList);
+ $('#sortableRif0').html(emptyRifList);
};
} else {
condListLen--;
@@ -494,7 +494,7 @@ $(document).ready(function() {
// Evento: click sul bottone di reset semplice
$('#cleanresult').on('click', function() {
resetResult();
- resetSimpleGui();
+ $('#queryText').val("");
refreshClaList();
});
@@ -502,7 +502,6 @@ $(document).ready(function() {
$('#cleanresult2').on('click', function() {
resetResult();
resetAdvGui();
- refreshClaList();
if (claListLen == 0){
tabID++;
addClausola("#sortable0",1,tabID,1);
@@ -511,6 +510,7 @@ $(document).ready(function() {
rifID++;
addRiferimento("#sortableRif0",1,rifID,1);
};
+ refreshClaList();
});
// Evento: click sull'icona rimuovi nota
@@ -687,13 +687,13 @@ $(document).ready(function() {
';
const iconCloseCond = '
';
const emptyClaList = 'Nessuna clausola aggiunta.';
+ const emptyRifList = 'Nessuna clausola aggiunta.';
const defaultCond = ' Clausole e condizioni in AND di default
';
const defaultRifCond = ' Clausole e condizioni in AND di default
';
const emptyNoteList = 'Nessun commento visualizzato
';
- //const emptyInfo = 'Nessuna struttura visualizzata
';
const canticheList = ["Inferno","Purgatorio","Paradiso"];
- const cla0JsonText = '{"queryText": "", "lemma_forma": "lemma", "opzioni_testo": "parola", "TipoClausola": "0", "Attiva": "0"}';
+ const cla0JsonText = '{"queryText": "", "TipoClausola": "0", "Attiva": "0"}';
const condLIplaceholderText1 = 'Trascina qui almeno 1 clausola o condizione';
const condLIplaceholderText2 = 'Trascina qui almeno 2 clausole o condizioni';
const condLIplaceholderText1d = 'Trascina qui almeno 1 clausola o condizione, oppure attiva le clausole inattive';
@@ -731,7 +731,6 @@ $(document).ready(function() {
};
// Funzioni di gestione del tab Periodo, usate da synthgraph.js
-
fillStructCard = function(lisid){
var cantiche=["Inferno", "Purgatorio","Paradiso"];
var romani = ["I","II","III","IV","V","VI","VII","VIII","IX","X",
@@ -772,7 +771,7 @@ $(document).ready(function() {
$('#cla' + tabID + " #opzioni_testoN").attr("id","opzioni_testo" + tabID);
$('#cla' + tabID + " #contextDivN").attr("id","contextDiv" + tabID);
addClaContext(tabID);
- refreshClaList();
+// refreshClaList();
refreshSortables();
}
@@ -788,7 +787,7 @@ $(document).ready(function() {
$("#rif" + rifID).attr("data-claActive", active);
$("#rif" + rifID).attr("style", "");
addClaContext(rifID);
- refreshClaList();
+// refreshClaList();
refreshSortables();
}
@@ -923,7 +922,7 @@ $(document).ready(function() {
// Funzione di creazione del LI delle condizioni logiche
function addLogicCond(sortableId,condtype){
- if (queryJson.unitaRicerca == "riferimento") {
+ if (~sortableId.indexOf("Rif")) {
condListRifLen++;
var sortableIdNum = "Rif" + condListRifLen;
} else {
@@ -1003,8 +1002,7 @@ $(document).ready(function() {
} else {
var claActive = 1
};
- queryJson.Clausola0 = JSON.parse('{"queryText": "' + qText + '", "lemma_forma": "", "opzioni_testo": "", "TipoClausola": "0", "Attiva": "' + claActive + '"}');
- queryJson.Clausola0.contesto = JSON.stringify(window.context0);
+ queryJson.Clausola0 = JSON.parse('{"queryText": "' + qText + '", "TipoClausola": "0", "Attiva": "' + claActive + '"}');
queryJson.unitaRicerca = $("#unitaRicerca")[0].options[$("#unitaRicerca")[0].selectedIndex].value;
var claLiArray = $("#sortable0").find(".claLI");
var countActCla = 0;
@@ -1076,7 +1074,7 @@ $(document).ready(function() {
};
} else {
if (rifLiArray == 0 && condListRifLen == 0) {
- $('#sortableRif0').html(emptyClaList);
+ $('#sortableRif0').html(emptyRifList);
queryJson.EsprLogicaRif = "";
queryJson.LogicaGuiRif = "";
}
@@ -1108,6 +1106,7 @@ $(document).ready(function() {
var rifListItemId = "li-rif" + rifIdNum;
var rifSubParList = $("#li-rif" + rifIdNum).find("select, input");
var contextText = $("#contextText-xX" + rifIdNum).text();
+ var claType = $("#" + rifId).attr('data-claType');
var claActive = $("#" + rifId).attr('data-claActive');
if (claActive > 0) {
checkInsert = ' checked="checked"';
@@ -1127,7 +1126,7 @@ $(document).ready(function() {
if (!($(this).prop("disabled"))) {
rifText = rifText + $(this)[0].title + ': ' + $(this)[0].options[$(this)[0].selectedIndex].text + '; ';
};
- jsonTextToParse = jsonTextToParse + ', "' + $(this)[0].id.replace(rifIdNum, "") + '": "' + $(this)[0].options[$(this)[0].selectedIndex].value + '"';
+ jsonTextToParse = jsonTextToParse + ', "' + $(this)[0].id.replace(rifIdNum, "") + '": "' + $(this)[0].options[$(this)[0].selectedIndex].value + '", "TipoClausola": "' + claType + '", "Attiva": "' + claActive + '"';
if ($(this)[0].id.startsWith("Tipo_Riferimento")) {
if ($(this)[0][3].selected) {
$('#Tipo_Citazione' + rifIdNum)[0].removeAttribute("style");
@@ -1226,6 +1225,7 @@ $(document).ready(function() {
};
queryJson["Clausola" + claIdNum] = JSON.parse(jsonTextToParse + '}');
queryJson["Clausola" + claIdNum].contesto = JSON.stringify(window["context" + claIdNum]);
+ console.log(queryJson);
};
// Funzione di refresh dei placeholders e attivazione/disattivazione bottoni nelle liste sortable
@@ -1436,6 +1436,7 @@ $(document).ready(function() {
};
function makeUpGui(queryJson) {
+ var domElementsNames = [["#sortable","Clausola",queryJson.LogicaGui],["#sortableRif","Riferimento",queryJson.LogicaGuiRif]]
// 1. verifica json legit --> TO DO
// -------------------
// Pulizia ricerca avanzata:
@@ -1451,21 +1452,91 @@ $(document).ready(function() {
// Rigenerazione Clausola0:
if (queryJson["Clausola0"].Attiva) {
$("#queryText").val(queryJson["Clausola0"].queryText);
- $("#opzioni_testo").val(queryJson["Clausola0"].opzioni_testo);
- var qText = queryJson["Clausola0"].queryText;
- if (qText !== null && qText !== '') {qText = ' "' + qText + '"';}
- setLemmaForma(qText,queryJson["Clausola0"].lemma_forma);
- resetContext(0);
- window.context0 = JSON.parse(queryJson.Clausola0.contesto);
- parseContext(0);
};
$("#unitaRicerca").val(queryJson.unitaRicerca);
- // Generazione lista clausole e condizioni con elementi padre:
- guiLogicString = queryJson.LogicaGui;
- var clau2Make = "";
- var claParent = []; // array di coppie [elemento, elemento padre]
- var treeLevel = []; // pila di elementi padre
+ if (queryJson.unitaRicerca == "riferimento") {
+ $("#collapseLogicRif").collapse('show');
+ } else {
+ $("#collapseLogicCla").collapse('show');
+ };
+ // Generazione lista clausole e condizioni con elementi padre, per clausole e riferimenti:
+ for (var i = 0; i <= 1; i++) {
+ var clau2Make = "";
+ var claParent = []; // array di coppie [elemento, elemento padre]
+ var treeLevel = []; // pila di elementi padre
+ fillStructureArrays(treeLevel, claParent, domElementsNames[i])
+ $(claParent).each(function() {
+ var itm = $(this)[0]
+ if ($(this)[0] == "OR" || $(this)[0] == "AND") {
+ addLogicCond($(this)[1], $(this)[0]);
+ } else {
+ clau2Make = queryJson[domElementsNames[i][1] + itm].TipoClausola;
+ var active = queryJson[domElementsNames[i][1] + itm].Attiva
+ switch (clau2Make) {
+ case "Clausola":
+ tabID++;
+ addClausola($(this)[1], active, tabID, 0);
+ $("#lemma_forma" + tabID).val(queryJson["Clausola" + itm].lemma_forma);
+ $("#queryText" + tabID).val(queryJson["Clausola" + itm].queryText);
+ $("#opzioni_testo" + tabID).val(queryJson["Clausola" + itm].opzioni_testo);
+ var selectedValue = queryJson["Clausola" + itm].typeGramm0;
+ if (selectedValue != "all") {
+ $("#grammtypes" + tabID).val(selectedValue);
+ addCatgramSubcla("cla" + tabID, selectedValue);
+ var ks = Object.keys(queryJson["Clausola" + itm]);
+ for (var j = 6; j < ks.length - 1; j++) {
+ var melID = "cla" + tabID + ks[j];
+ var melement = document.getElementById(melID);
+ if (melement) {
+ switch (melement.type) {
+ case "fieldset":
+ var sval = queryJson["Clausola" + itm][ks[j]]
+ $("#cla" + tabID + sval.replace(/\s/g, '')).attr("checked", true);
+ break;
+ case "select-one":
+ melement.value = ([queryJson["Clausola" + itm][ks[j]]])
+ break;
+ default:
+ };
+ };
+ };
+ };
+ if (queryJson["Clausola" + itm].typeSyntax0 != "all") {
+ $("#cla" + tabID + " #synttypes").val(queryJson["Clausola" + itm].typeSyntax0);
+ }
+ if (queryJson["Clausola" + itm].functionSyntax != "all") {
+ $("#cla" + tabID + " #syntfunc").val(queryJson["Clausola" + itm].functionSyntax);
+ }
+ window["context" + tabID] = JSON.parse(queryJson["Clausola" + itm].contesto);
+ parseContext(tabID);
+ break;
+ case "Riferimento":
+ rifID++;
+ addRiferimento($(this)[1], active, rifID, 0);
+ var ks = Object.keys(queryJson["Riferimento" + itm]);
+ for (var j = 0; j < ks.length - 1; j++) {
+ var melID = ks[j] + rifID;
+ var melement = document.getElementById(melID);
+ if (melement) {
+ melement.value = ([queryJson["Riferimento" + itm][ks[j]]])
+ }
+ };
+ window["context" + rifID] = JSON.parse(queryJson["Riferimento" + itm].contesto);
+ parseContext(rifID);
+ break;
+ default:
+ };
+ };
+ });
+
+ };
+ refreshClaList();
+ refreshSortables();
+ };
+
+ function fillStructureArrays(treeLevel,claParent,domElementsNamesArray) {
var condNum = 0;
+ var guiLogicString = domElementsNamesArray[2];
for (var i=0; i < guiLogicString.length; i++) {
switch (guiLogicString[i]) {
case "(":
@@ -1475,99 +1546,23 @@ $(document).ready(function() {
break;
case "OR":
claParent.push([guiLogicString[i], treeLevel[treeLevel.length - 1]]);
- treeLevel.push("#sortable" + ++condNum);
+ treeLevel.push(domElementsNamesArray[0] + ++condNum);
break;
case "AND":
if (i > 1) {
claParent.push([guiLogicString[i], treeLevel[treeLevel.length - 1]]);
- treeLevel.push("#sortable" + ++condNum);
+ treeLevel.push(domElementsNamesArray[0] + ++condNum);
} else {
- treeLevel.push("#sortable0");
+ treeLevel.push(domElementsNamesArray[0]+"0");
};
break;
default:
- claParent.push([guiLogicString[i].replace("Clausola", ""), treeLevel[treeLevel.length - 1]]);
+ claParent.push([guiLogicString[i].replace(domElementsNamesArray[1], ""), treeLevel[treeLevel.length - 1]]);
};
};
- $(claParent).each(function(){
- var itm = $(this)[0]
- if ($(this)[0] == "OR" || $(this)[0] == "AND") {
- addLogicCond($(this)[1],$(this)[0]);
- }
- if (itm != "OR" && itm != "AND") {
- clau2Make = queryJson["Clausola" + itm].TipoClausola;
- active = queryJson["Clausola" + itm].Attiva
- tabID++;
- switch (clau2Make) {
- case "Grammaticale":
- selectedValue = queryJson["Clausola" + itm].typeGramm0;
- addGramCla($(this)[1],active,tabID,0);
- $("#lemma_forma" + tabID).val(queryJson["Clausola" + itm].lemma_forma);
- $("#queryText" + tabID).val(queryJson["Clausola" + itm].queryText);
- $("#opzioni_testo" + tabID).val(queryJson["Clausola" + itm].opzioni_testo);
- if (selectedValue != "all") {
- $("#grammtypes" + tabID).val(selectedValue);
- addCatgramSubcla("cla" + tabID, selectedValue);
- var ks = Object.keys(queryJson["Clausola" + itm]);
- for (var j = 6; j < ks.length - 1; j++) {
- var melID = "cla" + tabID + ks[j];
- var melement = document.getElementById(melID);
- switch (melement.type) {
- case "fieldset":
- var sval = queryJson["Clausola" + itm][ks[j]]
- $("#cla" + tabID + sval.replace(/\s/g, '')).attr("checked", true);
- break;
- case "select-one":
- melement.value = ([queryJson["Clausola" + itm][ks[j]]])
- break;
- default:
- };
- };
- };
- window["context" + tabID] = JSON.parse(queryJson["Clausola" + itm].contesto);
- parseContext(tabID);
- break;
- case "Sintattico":
- addSyntCla($(this)[1],active,tabID,0);
- $("#lemma_forma" + tabID).val(queryJson["Clausola" + itm].lemma_forma);
- $("#queryText" + tabID).val(queryJson["Clausola" + itm].queryText);
- $("#opzioni_testo" + tabID).val(queryJson["Clausola" + itm].opzioni_testo);
- if (queryJson["Clausola" + itm].typeSyntax0 != ".+") {
- $("#cla" + tabID + " #synttypes").val(queryJson["Clausola" + itm].typeSyntax0);
- }
- if (queryJson["Clausola" + itm].functionSyntax != ".+") {
- $("#cla" + tabID + " #syntfunc").val(queryJson["Clausola" + itm].functionSyntax);
- }
- window["context" + tabID] = JSON.parse(queryJson["Clausola" + itm].contesto);
- parseContext(tabID);
- break;
-// case "Metafora":
-// addMetaCla($(this)[1],active,tabID,0);
-// break;
- default:
- };
- };
- });
- refreshClaList();
- refreshSortables();
};
-
- function resetSimpleGui() {
- $('#queryText').val("");
- setLemmaForma("","forma");
- $('#opzioni_testo').val("parola");
- resetContext(0);
- };
-
- function setLemmaForma(qText,newSelection) {
- var newOptions = {['La forma' + qText]: 'forma', ['Il lemma' + qText]: 'lemma', ['Il testo' + qText]: 'testo'};
- $("#lemma_forma").empty();
- $.each(newOptions, function(key,value) {
- $("#lemma_forma").append($("").attr("value", value).text(key));
- });
- $("#lemma_forma").val(newSelection);
- };
-
+
+
function resetContext(claIdNum) {
$('#selectable-xX' + claIdNum + " .ui-selectee").each(function() {
$(this).attr('style', "line-height: 1.2em");
@@ -1583,6 +1578,7 @@ $(document).ready(function() {
function resetAdvGui() {
for (var i in ["#cla-TabContent","#rif-TabContent"]) {
+ $("#unitaRicerca").val("verso");
var tabsContent=$(i).find(".tab-pane:not(:first)");
if ($(tabsContent).length) {
var claIdNum = '';
@@ -1599,7 +1595,8 @@ $(document).ready(function() {
tabID = 0;
rifID = 100;
$('#sortable0').html(emptyClaList);
- $('#sortableRif0').html(emptyClaList);
+ $('#sortableRif0').html(emptyRifList);
+ $("#collapseLogicCla").collapse('show');
};
};