Load query da disco funzionante, bug selezione contesto risolti
This commit is contained in:
parent
a4b05de3f4
commit
9dfe860b8a
|
@ -1637,6 +1637,15 @@
|
|||
<div class="border bg-light well m-0" id="contextDivN"></div>
|
||||
</div>
|
||||
<!-- FINE TIPO SINTATTICO -->
|
||||
<!-- TIPO METAFORA -->
|
||||
|
||||
<div style="display: none;"
|
||||
class="col-12 tab-pane px-0 bg-white border-top" id="tipometaforaN"
|
||||
role="tabpanel" aria-labelledby="claN-tab"
|
||||
data-claType="Metafora" data-claActive="1">
|
||||
</div>
|
||||
<!-- FINE TIPO METAFORA -->
|
||||
|
||||
<div style="display: none;">
|
||||
<ul>
|
||||
<!-- LI CLAUSOLA -->
|
||||
|
|
132
js/script_3.3.js
132
js/script_3.3.js
|
@ -1,6 +1,5 @@
|
|||
/**
|
||||
*unita' di ricerca:
|
||||
verso discorso periodo frase metafora sintagma lemma forma
|
||||
*
|
||||
*/
|
||||
|
||||
/* necessari per il bundle:
|
||||
|
@ -114,7 +113,7 @@ $(document).ready(function() {
|
|||
handle: ".handle"
|
||||
});
|
||||
|
||||
// Inizializza selectable-xX0 e definisce le funzioni
|
||||
// Inizializza selectable-xX0 e definisce le funzioni
|
||||
$("#selectable-xX0").selectable({
|
||||
filter: ".sel-canto",
|
||||
selected: function(event, ui) {
|
||||
|
@ -180,18 +179,18 @@ $(document).ready(function() {
|
|||
switch (addCC) {
|
||||
case "btnAddCla1":
|
||||
tabID++;
|
||||
addGramCla(1,tabID);
|
||||
addGramCla("#sortable0",1,tabID,1);
|
||||
break;
|
||||
case "btnAddCla2":
|
||||
tabID++;
|
||||
addSyntCla(1,tabID);
|
||||
addSyntCla("#sortable0",1,tabID,1);
|
||||
break;
|
||||
case "btnAddCla3":
|
||||
tabID++;
|
||||
addMetaCla(0,tabID);
|
||||
addMetaCla("#sortable0",0,tabID,0);
|
||||
break;
|
||||
case "btnAddCond":
|
||||
addLogicCond("OR","#sortable0");
|
||||
addLogicCond("#sortable0","OR");
|
||||
break;
|
||||
default:
|
||||
};
|
||||
|
@ -306,6 +305,7 @@ $(document).ready(function() {
|
|||
var tabPaneId = ($(this).closest('.tab-pane').attr("id"));
|
||||
var selectedValue = $(this).val();
|
||||
addCatgramSubcla(tabPaneId,selectedValue);
|
||||
refreshClaList();
|
||||
});
|
||||
|
||||
// Evento: Submit form
|
||||
|
@ -507,8 +507,6 @@ $(document).ready(function() {
|
|||
const defaultCond = '<div id="cla-defaultCond" class="col-12 px-0 pb-1 small font-weight-bold text-muted">Clausole e condizioni in AND di default</div>';
|
||||
const canticheList = ["Inferno","Purgatorio","Paradiso"];
|
||||
const cla0JsonText = '{"queryText": "", "lemma_forma": "lemma", "opzioni_testo": "parola", "TipoClausola": "0", "Attiva": "0"}';
|
||||
const newGramJsonText = '{"queryText": "", "lemma_forma": "forma", "opzioni_testo": "parola", "TipoClausola": "Grammaticale", "Attiva": "1", "typeGramm0": "all"}';
|
||||
const newSyntJsonText = '{"queryText": "", "lemma_forma": "forma", "opzioni_testo": "parola", "TipoClausola": "Sintattico", "Attiva": "1", "typeSyntax0": ".+", "functionSyntax": ".+"}';
|
||||
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';
|
||||
|
@ -532,8 +530,6 @@ $(document).ready(function() {
|
|||
queryJson.Clausola0 = JSON.parse(cla0JsonText);
|
||||
queryJson.Clausola0.contesto = JSON.stringify(contextEmpty);
|
||||
window.context0 = JSON.parse(JSON.stringify(contextEmpty));
|
||||
//const myEngine = new Comunica.QueryEngine();
|
||||
//const sparqlEndpoint = "https://hdnlab1.isti.cnr.it/fuseki/commediaontosintgra/query";
|
||||
const jsonReplacer = (key, value) =>
|
||||
typeof value === 'undefined' ? 0 : value;
|
||||
|
||||
|
@ -612,15 +608,14 @@ $(document).ready(function() {
|
|||
*/
|
||||
|
||||
// Funzione di creazione del tab delle clausole grammaticali
|
||||
function addGramCla(active,tabID){
|
||||
function addGramCla(sortableId,active,tabID,toExpand){
|
||||
if (active > 0) {
|
||||
var checkInsert = ' checked="checked"';
|
||||
} else {
|
||||
var checkInsert = '';
|
||||
};
|
||||
var sortableId = "#sortable0";
|
||||
var claText = "Categoria grammaticale: <br>";
|
||||
addLIitem(sortableId,tabID,claText,checkInsert);
|
||||
addLIitem(sortableId,tabID,claText,checkInsert,toExpand);
|
||||
var claClone = document.getElementById("tipogrammaticaleN").cloneNode(true);
|
||||
claClone.setAttribute("id","cla" + tabID);
|
||||
claClone.setAttribute("data-claActive", active);
|
||||
|
@ -633,7 +628,6 @@ $(document).ready(function() {
|
|||
$('#cla' + tabID + " #queryTextN").attr("id","queryText" + tabID);
|
||||
$('#cla' + tabID + " #opzioni_testoN").attr("id","opzioni_testo" + tabID);
|
||||
$('#cla' + tabID + " #contextDivN").attr("id","contextDiv" + tabID);
|
||||
queryJson["Clausola" + tabID] = JSON.parse(newGramJsonText);
|
||||
addClaContext(tabID);
|
||||
}
|
||||
|
||||
|
@ -688,7 +682,6 @@ $(document).ready(function() {
|
|||
rbfieldset.appendTo(element);
|
||||
var iconR = $(iconReset);
|
||||
iconR.appendTo(element);
|
||||
//element.attr('style', 'display:block');
|
||||
element.appendTo(dettagliBox);
|
||||
break;
|
||||
case 1:
|
||||
|
@ -714,7 +707,6 @@ $(document).ready(function() {
|
|||
label1.appendTo(flexdiv1);
|
||||
flexdiv1.appendTo(rbfieldset);
|
||||
rbfieldset.appendTo(element);
|
||||
//element.attr('style', 'display:block');
|
||||
element.appendTo(dettagliBox);
|
||||
break;
|
||||
default:
|
||||
|
@ -731,7 +723,6 @@ $(document).ready(function() {
|
|||
seloption.appendTo(select);
|
||||
}
|
||||
select.appendTo(element);
|
||||
//element.attr('style', 'display:block');
|
||||
element.appendTo(dettagliBox);
|
||||
}
|
||||
}
|
||||
|
@ -739,20 +730,18 @@ $(document).ready(function() {
|
|||
if (element) {
|
||||
element.attr('style', "display: block;");
|
||||
element.appendTo(dettagliBox);
|
||||
refreshClaList();
|
||||
};
|
||||
}
|
||||
|
||||
// Funzione di creazione del tab delle clausole sintattiche
|
||||
function addSyntCla(active,tabID){
|
||||
function addSyntCla(sortableId,active,tabID,toExpand){
|
||||
if (active > 0) {
|
||||
var checkInsert = ' checked="checked"';
|
||||
} else {
|
||||
var checkInsert = '';
|
||||
};
|
||||
var sortableId = "#sortable0";
|
||||
var claText = "Tipo sintattico: <br>";
|
||||
addLIitem(sortableId,tabID,claText,checkInsert);
|
||||
addLIitem(sortableId,tabID,claText,checkInsert,toExpand);
|
||||
var claClone = document.getElementById("tiposintatticoN").cloneNode(true);
|
||||
claClone.setAttribute("id","cla" + tabID);
|
||||
claClone.setAttribute("data-claActive",active);
|
||||
|
@ -763,21 +752,25 @@ $(document).ready(function() {
|
|||
$('#cla' + tabID + " #queryTextN").attr("id","queryText" + tabID);
|
||||
$('#cla' + tabID + " #opzioni_testoN").attr("id","opzioni_testo" + tabID);
|
||||
$('#cla' + tabID + " #contextDivN").attr("id","contextDiv" + tabID);
|
||||
queryJson["Clausola" + tabID] = JSON.parse(newSyntJsonText);
|
||||
addClaContext(tabID);
|
||||
}
|
||||
|
||||
// Funzione di creazione del tab delle clausole metafore
|
||||
function addMetaCla(active,tabID){
|
||||
function addMetaCla(sortableId,active,tabID,toExpand){
|
||||
var checkInsert = ' disabled';
|
||||
//if (active > 0) {
|
||||
// var checkInsert = '" checked="checked"';
|
||||
//} else {
|
||||
// var checkInsert = '"';
|
||||
//};
|
||||
var sortableId = "#sortable0";
|
||||
var claText = "Clausola Metafore - non ancora implementata";
|
||||
addLIitem(sortableId,tabID,claText,checkInsert);
|
||||
addLIitem(sortableId,tabID,claText,checkInsert,toExpand);
|
||||
var claClone = document.getElementById("tipometaforaN").cloneNode(true);
|
||||
claClone.setAttribute("id","cla" + tabID);
|
||||
claClone.setAttribute("data-claActive",active);
|
||||
claClone.setAttribute("aria-labelledby","cla" + tabID + "-tab");
|
||||
claClone.setAttribute("style", "background-color: #edf9f3 !important;");
|
||||
$('#claBody' + tabID).append(claClone);
|
||||
}
|
||||
|
||||
// Funzione di creazione della parte di definizione del contesto delle clausole
|
||||
|
@ -799,7 +792,7 @@ $(document).ready(function() {
|
|||
};
|
||||
|
||||
// Funzione di creazione del LI delle condizioni logiche
|
||||
function addLogicCond(condtype,sortableId){
|
||||
function addLogicCond(sortableId,condtype){
|
||||
condListLen++;
|
||||
var cloneLI = document.getElementById("condxX4Xx").cloneNode(true);
|
||||
cloneLI.removeAttribute("style");
|
||||
|
@ -828,7 +821,7 @@ $(document).ready(function() {
|
|||
}
|
||||
|
||||
// Funzione di creazione del LI di una clausola nella lista sortable
|
||||
function addLIitem(sortableId,tabID,claText,checkInsert){
|
||||
function addLIitem(sortableId,tabID,claText,checkInsert,toExpand){
|
||||
claListLen++;
|
||||
var cloneLI = document.getElementById("li-claxX1Xx").cloneNode(true);
|
||||
cloneLI.setAttribute("style", "opacity: 0.1;");
|
||||
|
@ -836,8 +829,10 @@ $(document).ready(function() {
|
|||
cloneLI = cloneLI.replace(/xX2Xx/g, claText)
|
||||
cloneLI = cloneLI.replace(/xX3Xx"/g, tabID + '" ' + checkInsert)
|
||||
$(sortableId).append($(cloneLI)[0]);
|
||||
$("#claCollapse" + tabID).focus();
|
||||
$("#claCollapse" + tabID).trigger("click");
|
||||
if (toExpand == 1){
|
||||
$("#claCollapse" + tabID).focus();
|
||||
$("#claCollapse" + tabID).trigger("click");
|
||||
}
|
||||
$("#li-cla" + tabID).fadeTo(1000,1);
|
||||
};
|
||||
|
||||
|
@ -949,7 +944,7 @@ $(document).ready(function() {
|
|||
if ($("#" + claListItemId)[0]) {
|
||||
$("#" + claListItemId + " .clatext").replaceWith('<span class="small clatext">' + claText + '</span>');
|
||||
} else {
|
||||
addLIitem(sortableId,claIdNum,claText,checkInsert);
|
||||
addLIitem(sortableId,claIdNum,claText,checkInsert,0);
|
||||
};
|
||||
queryJson["Clausola" + claIdNum] = JSON.parse(jsonTextToParse + '}');
|
||||
queryJson["Clausola" + claIdNum].contesto = JSON.stringify(window["context" + claIdNum]);
|
||||
|
@ -1027,6 +1022,8 @@ $(document).ready(function() {
|
|||
if ($(placeholderID).length) {
|
||||
$(placeholderID).remove();
|
||||
};
|
||||
$(iconSpan).attr("class","iconClClass NOremoveCond");
|
||||
$(iconDiv).attr("class","p-0 mr-3 mt-1 text-right text-muted");
|
||||
break;
|
||||
default:
|
||||
if ($(placeholderID).length) {
|
||||
|
@ -1125,21 +1122,26 @@ $(document).ready(function() {
|
|||
// -------------------
|
||||
// Pulizia ricerca avanzata:
|
||||
resetAdvGui();
|
||||
console.log(queryJson);
|
||||
// Imposta checkbox:
|
||||
// Imposta checkbox: .attr("checked", true)
|
||||
if (queryJson["QueryAvanzata"] == 1) {
|
||||
$("#cla-Advanced").attr('style', "display: block;");
|
||||
$("#advanSW").prop("checked", true);
|
||||
$("#searchToggle").prop("checked", true);
|
||||
} else {
|
||||
$("#cla-Advanced").attr('style', "display: none;");
|
||||
$("#advanSW").prop("checked", false);
|
||||
$("#searchToggle").prop("checked", false);
|
||||
};
|
||||
// Rigenerazione Clausola0:
|
||||
if (queryJson["Clausola0"].Attiva) {
|
||||
$("#cla0 #lemma_forma").val(queryJson["Clausola0"].lemma_forma);
|
||||
$("#cla0 #queryText").val(queryJson["Clausola0"].queryText);
|
||||
$("#cla0 #opzioni_testo").val(queryJson["Clausola0"].opzioni_testo);
|
||||
$("#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 = "";
|
||||
|
@ -1169,8 +1171,11 @@ $(document).ready(function() {
|
|||
claParent.push([guiLogicString[i].replace("Clausola", ""), treeLevel[treeLevel.length - 1]]);
|
||||
};
|
||||
};
|
||||
$(claParent).each(function(){ // rigenero le clausole nei tab PRIMA, per poter POI ricostruire la lista nel tab principale
|
||||
$(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
|
||||
|
@ -1178,12 +1183,15 @@ $(document).ready(function() {
|
|||
switch (clau2Make) {
|
||||
case "Grammaticale":
|
||||
selectedValue = queryJson["Clausola" + itm].typeGramm0;
|
||||
addGramCla(active,tabID);
|
||||
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") {
|
||||
$("#cla" + tabID + " .catgram").val(selectedValue);
|
||||
$("#grammtypes" + tabID).val(selectedValue);
|
||||
addCatgramSubcla("cla" + tabID, selectedValue);
|
||||
var ks = Object.keys(queryJson["Clausola" + itm]);
|
||||
for (var j = 5; j < ks.length; j++) {
|
||||
for (var j = 6; j < ks.length - 1; j++) {
|
||||
var melID = "cla" + tabID + ks[j];
|
||||
var melement = document.getElementById(melID);
|
||||
switch (melement.type) {
|
||||
|
@ -1198,35 +1206,36 @@ $(document).ready(function() {
|
|||
};
|
||||
};
|
||||
};
|
||||
window["context" + tabID] = JSON.parse(queryJson["Clausola" + itm].contesto);
|
||||
parseContext(tabID);
|
||||
break;
|
||||
case "Sintattico":
|
||||
addSyntCla(active,tabID);
|
||||
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 "Metafore":
|
||||
addMetaCla(active,tabID);
|
||||
case "Metafora":
|
||||
addMetaCla($(this)[1],active,tabID,0);
|
||||
break;
|
||||
default:
|
||||
};
|
||||
};
|
||||
});
|
||||
$(claParent).each(function(){ // rigenero le liste di clausole e condizioni logiche nel tab principale
|
||||
if ($(this)[0] == "OR" || $(this)[0] == "AND") {
|
||||
addLogicCond($(this)[0],$(this)[1]);
|
||||
} else {
|
||||
updateClaListItem($(this)[0], $(this)[1]);
|
||||
refreshSortables();
|
||||
};
|
||||
});
|
||||
refreshClaList();
|
||||
refreshSortables();
|
||||
};
|
||||
|
||||
function resetSimpleGui() {
|
||||
$('#queryText').val("")
|
||||
$('#queryText').val("");
|
||||
setLemmaForma("","forma");
|
||||
$('#opzioni_testo').val("parola");
|
||||
resetContext(0);
|
||||
|
@ -1251,7 +1260,6 @@ $(document).ready(function() {
|
|||
});;
|
||||
$("#contextText-xX" + claIdNum).html("Tutta l'opera");
|
||||
window["context" + claIdNum] = JSON.parse(JSON.stringify(contextEmpty));
|
||||
queryJson["Clausola" + claIdNum].contesto = JSON.stringify(window["context" + claIdNum]);
|
||||
$('#selectable-xX' + claIdNum + " .show").removeClass("show");
|
||||
};
|
||||
|
||||
|
@ -1261,7 +1269,6 @@ $(document).ready(function() {
|
|||
var claIdNum = '';
|
||||
$(tabsContent).each(function(){
|
||||
claIdNum = $(this)[0].id.substring(3);
|
||||
delete queryJson["Clausola" + claIdNum];
|
||||
delete window["context" + claIdNum];
|
||||
$(this).remove();
|
||||
});
|
||||
|
@ -1274,8 +1281,6 @@ $(document).ready(function() {
|
|||
|
||||
function parseContext(claIdNum) {
|
||||
var context = window["context" + claIdNum];
|
||||
var jsonContext = JSON.stringify(context, jsonReplacer);
|
||||
queryJson["Clausola" + claIdNum].contesto = jsonContext;
|
||||
var contextStringParts = ["","",""];
|
||||
var contextString = [];
|
||||
var rangeHolderS = 0;
|
||||
|
@ -1317,13 +1322,12 @@ $(document).ready(function() {
|
|||
contextStringParts[i] = contextStringParts[i] + "]"
|
||||
contextString.push(contextStringParts[i]);
|
||||
}
|
||||
if ((contextString.toString() != "") && (totCan < 100)) {
|
||||
$("#contextText-xX" + claIdNum).html(contextString.toString());
|
||||
} else {
|
||||
resetContext(claIdNum)
|
||||
}
|
||||
};
|
||||
if ((contextString.toString() != "") && (totCan < 100)) {
|
||||
$("#contextText-xX" + claIdNum).html(contextString.toString());
|
||||
} else {
|
||||
resetContext(claIdNum)
|
||||
}
|
||||
};
|
||||
|
||||
});
|
||||
|
||||
|
|
Loading…
Reference in New Issue