aggiunto edit clausola sintattica, in progress

This commit is contained in:
cesare 2022-05-20 18:34:49 +02:00
parent aee0dc1beb
commit 7c7531ec63
1 changed files with 196 additions and 147 deletions

View File

@ -16,7 +16,7 @@ $(document).ready(function() {
"Genere": ["Femminile", "Maschile"], "Genere": ["Femminile", "Maschile"],
"Numero": ["Singolare", "Plurale"], "Numero": ["Singolare", "Plurale"],
"Con oggetto indiretto": ["Con oggetto indiretto"], "Con oggetto indiretto": ["Con oggetto indiretto"],
"Tipo aggettivo": ["Tipo aggettivo","Qualificativo", "Indefinito", "Interrogativo", "Esclamativo", "Numerale", "Dimostrativo", "Relativo", "Possessivo", "In locuzione"], "Tipo aggettivo": ["Tipo aggettivo", "Qualificativo", "Indefinito", "Interrogativo", "Esclamativo", "Numerale", "Dimostrativo", "Relativo", "Possessivo", "In locuzione"],
"Grado": ["Grado", "Comparativo di maggioranza", "Comparativo di minoranza", "Comparativo di uguaglianza", "Superlativo relativo", "Superlativo assoluto"], "Grado": ["Grado", "Comparativo di maggioranza", "Comparativo di minoranza", "Comparativo di uguaglianza", "Superlativo relativo", "Superlativo assoluto"],
"Tipo di Complemento": ["Tipo di Complemento", "Introdotto da A", "Introdotto da CON", "Introdotto da CONTRO", "Introdotto da DA", "Introdotto da DI", "Introdotto da IN", "Tipo di Complemento": ["Tipo di Complemento", "Introdotto da A", "Introdotto da CON", "Introdotto da CONTRO", "Introdotto da DA", "Introdotto da DI", "Introdotto da IN",
"Introdotto da PER", "Introdotto da SU", "Introdotto da TRA", "Introdotto da VERSO", "Introdotto da SOPRA", "Introdotto da PER", "Introdotto da SU", "Introdotto da TRA", "Introdotto da VERSO", "Introdotto da SOPRA",
@ -38,7 +38,7 @@ $(document).ready(function() {
"Forma (Personali/Riflessivi)": ["Forma (Personali/Riflessivi)", "Libero", "Libero in Composizione", "Proclitico", "Enclitico"], "Forma (Personali/Riflessivi)": ["Forma (Personali/Riflessivi)", "Libero", "Libero in Composizione", "Proclitico", "Enclitico"],
"Funzione (Personali)": ["Funzione (Personali)", "Libero - soggetto", "Libero - soggetto impersonale", "Libero - complemento", "Libero - rafforzativo", "Funzione (Personali)": ["Funzione (Personali)", "Libero - soggetto", "Libero - soggetto impersonale", "Libero - complemento", "Libero - rafforzativo",
"Clitico - accusativo", "Clitico - dativo", "Clitico - partitivo"], "Clitico - accusativo", "Clitico - dativo", "Clitico - partitivo"],
"Tipo (Riflessivi)": ["Tipo (Riflessivi)","Proprio", "Lessicalizzato", "Impersonale", "Passivo", "Reciproco"] "Tipo (Riflessivi)": ["Tipo (Riflessivi)", "Proprio", "Lessicalizzato", "Impersonale", "Passivo", "Reciproco"]
} }
} }
var articoloJson = { var articoloJson = {
@ -140,9 +140,9 @@ $(document).ready(function() {
var condizioniFiltro = {} var condizioniFiltro = {}
var clausolaVisibile= false //contiene il valore true se una clausola è gia visibile e quindi non se ne può visualizzare una seconda var clausolaVisibile = false //contiene il valore true se una clausola è gia visibile e quindi non se ne può visualizzare una seconda
var tipoClausola='' var tipoClausola = ''
$('.tabs__menu-item').on('click', function() { $('.tabs__menu-item').on('click', function() {
$(this).addClass('bg-white').addClass('red'); $(this).addClass('bg-white').addClass('red');
@ -158,23 +158,23 @@ $(document).ready(function() {
e.preventDefault(); e.preventDefault();
if (clausolaVisibile) if (clausolaVisibile)
return true; return true;
else{ else {
clausolaVisibile=true; clausolaVisibile = true;
tipoClausola='grammaticale' tipoClausola = 'grammaticale'
} }
showCategoriaGrammaticale(); showCategoriaGrammaticale();
}); });
jQuery(document).delegate('a.add-record-sint', 'click', function(e) { jQuery(document).delegate('a.add-record-sint', 'click', function(e) {
e.preventDefault(); e.preventDefault();
if (clausolaVisibile) if (clausolaVisibile)
return true; return true;
else{ else {
clausolaVisibile=true; clausolaVisibile = true;
tipoClausola='sintattica' tipoClausola = 'sintattica'
} }
var content = jQuery('#tiposintattico >div'), var content = jQuery('#tiposintattico >div'),
size = jQuery('#condizioni >div').length + 1, size = jQuery('#condizioni >div').length + 1,
element = null, element = null,
@ -202,7 +202,7 @@ $(document).ready(function() {
//var pare=$(this).parents()[2]; //var pare=$(this).parents()[2];
var sbs = ($(this).closest('div')).siblings() var sbs = ($(this).closest('div')).siblings()
sbs.find(".set-filter").attr('style', 'display.block') sbs.find(".set-filter").attr('style', 'display.block')
}) })
@ -218,7 +218,7 @@ $(document).ready(function() {
//var pare=$(this).parents()[2]; //var pare=$(this).parents()[2];
var sbs = ($(this).closest('div')).siblings() var sbs = ($(this).closest('div')).siblings()
sbs.find(".set-filter").attr('style', 'display.block') sbs.find(".set-filter").attr('style', 'display.block')
}) })
@ -238,7 +238,7 @@ $(document).ready(function() {
sbs.find(".add-details").attr('style', 'display.block') sbs.find(".add-details").attr('style', 'display.block')
sbs.find(".set-filter").attr('style', 'display.block') sbs.find(".set-filter").attr('style', 'display.block')
containerid = 'dettaglio_' + pare.id;//$(this).closest('div').attr('id') containerid = 'dettaglio_' + pare.id;//$(this).closest('div').attr('id')
sbs.find(".add-details").attr('target', containerid) sbs.find(".add-details").attr('target', containerid)
sbs.find(".set-filter").attr('target', containerid) sbs.find(".set-filter").attr('target', containerid)
@ -368,7 +368,7 @@ $(document).ready(function() {
} }
} }
if (element === undefined) { if (element === undefined) {
var test = jQuery('#' + containerid) var test = jQuery('#' + containerid)
@ -382,9 +382,9 @@ $(document).ready(function() {
var test = jQuery('#' + containerid) var test = jQuery('#' + containerid)
test.remove() test.remove()
element.appendTo('#dettaglifiltri'); element.appendTo('#dettaglifiltri');
@ -396,7 +396,7 @@ $(document).ready(function() {
detelement.attr('id', 'dettaglifiltri') detelement.attr('id', 'dettaglifiltri')
detelement.appendTo("#query") detelement.appendTo("#query")
//element.find('.sn').html(size); //element.find('.sn').html(size);
} }
@ -404,11 +404,11 @@ $(document).ready(function() {
}); });
jQuery(document).delegate('a.remove-filter', 'click', function(e) { jQuery(document).delegate('a.remove-filter', 'click', function(e) {
e.preventDefault(); e.preventDefault();
var didConfirm = confirm("Sei sicuro di voler eliminare la clausola?"); var didConfirm = confirm("Sei sicuro di voler eliminare la clausola?");
if (didConfirm == true) { if (didConfirm == true) {
@ -418,7 +418,7 @@ $(document).ready(function() {
rmeldetail = jQuery('#' + 'dettaglio_' + targetDiv) rmeldetail = jQuery('#' + 'dettaglio_' + targetDiv)
jQuery(rmel).remove(); jQuery(rmel).remove();
jQuery(rmeldetail).remove(); jQuery(rmeldetail).remove();
clausolaVisibile=false; clausolaVisibile = false;
return true; return true;
} else { } else {
return false; return false;
@ -437,75 +437,72 @@ $(document).ready(function() {
jQuery(document).delegate('a.set-filter', 'click', function(e) { jQuery(document).delegate('a.set-filter', 'click', function(e) {
e.preventDefault(); e.preventDefault();
var content = jQuery('#filtro'),
size = jQuery('#filtri >div').length + 1,
element = null,
element = content.clone();
if (size == 1) {
filterconditions = 1;
jQuery('#filtri').attr('style', "display:block;")
}
else
filterconditions = filterconditions + 1;
element.attr('id', 'filtro-' + filterconditions);
element.find('.delete-written-filter').attr('target', 'filtro-' + filterconditions);
element.find('.edit-written-filter').attr('target', 'filtro-' + filterconditions);
var condizioni = $("#filterform").serialize().split('&');
alert (condizioni)
//trasformo il filtro in un oggetto JSON
filtro = {}
for (cond in condizioni) {
liscond = condizioni[cond].split('=')
if (liscond[1].trim() != '' & liscond[1].trim() != liscond[0].trim())
filtro[liscond[0]] = liscond[1].replaceAll('%20', ' ')
}
var content = jQuery('#filtro'), //mostro il filtro nella GUI
size = jQuery('#filtri >div').length + 1,
element = null,
element = content.clone();
if (size == 1){
filterconditions = 1;
jQuery('#filtri').attr('style', "display:block;")
}
else
filterconditions = filterconditions + 1;
element.attr('id', 'filtro-' + filterconditions); var keys = Object.keys(filtro)//condizioniFiltro)
element.find('.delete-written-filter').attr('target', 'filtro-' + filterconditions); for (key in keys) {
element.find('.edit-written-filter').attr('target', 'filtro-' + filterconditions); var dlclass = $('<dl class="f6 lh-title mv2" />'),
dtclass = $('<dt class="dib b mainflabel" />'),
ddclass = $('<dd class="dib ml0 gray mainfvalue"/>');
//dtclass.append([keys[key]]);
ddclass.append(filtro[[keys[key]]]);
dlclass.append(dtclass);
dlclass.append(ddclass);
element.find('.listacondizioni').append(dlclass);
}
//element.find('.listacondizioni').append(dlclass);
element.attr('style', 'display.block');
element.appendTo('#filtri');
var condizioni = $("#filterform").serialize().split('&'); if (size > 1) {
//alert (condizioni) element.find('.andorconditions').attr('style', 'display.block');
//trasformo il filtro in un oggetto JSON }
filtro={}
for (cond in condizioni){
liscond=condizioni[cond].split('=')
if (liscond[1].trim()!='' & liscond[1].trim()!=liscond[0].trim())
filtro[liscond[0]]=liscond[1].replaceAll('%20', ' ')
}
//mostro il filtro nella GUI
var keys = Object.keys(filtro)//condizioniFiltro) //$('a.remove-filter').trigger('click');
for (key in keys) { var targetDiv = jQuery(this).attr('targetfilter');
var dlclass = $('<dl class="f6 lh-title mv2" />'),
dtclass = $('<dt class="dib b mainflabel" />'),
ddclass = $('<dd class="dib ml0 gray mainfvalue"/>');
//dtclass.append([keys[key]]);
ddclass.append(filtro[[keys[key]]]);
dlclass.append(dtclass);
dlclass.append(ddclass);
element.find('.listacondizioni').append(dlclass);
}
//element.find('.listacondizioni').append(dlclass);
element.attr('style', 'display.block');
element.appendTo('#filtri');
if (size > 1) { rmel = jQuery('#' + targetDiv)
element.find('.andorconditions').attr('style', 'display.block'); rmeldetail = jQuery('#' + 'dettaglio_' + targetDiv)
} jQuery(rmel).remove();
jQuery(rmeldetail).remove();
clausolaVisibile = false;
//$('a.remove-filter').trigger('click'); //aggiungo il filtro a quelli esistenti
var targetDiv = jQuery(this).attr('targetfilter');
rmel = jQuery('#' + targetDiv) filtro['tipoClausola'] = tipoClausola
rmeldetail = jQuery('#' + 'dettaglio_' + targetDiv) condizioniFiltro['filtro-' + filterconditions] = filtro
jQuery(rmel).remove();
jQuery(rmeldetail).remove();
clausolaVisibile=false;
//aggiungo il filtro a quelli esistenti
filtro['tipoClausola']=tipoClausola
condizioniFiltro['filtro-' + filterconditions]=filtro
return true;
return true;
}) })
/** /**
@ -533,7 +530,7 @@ $(document).ready(function() {
if (size > 0) { if (size > 0) {
var filtriscr = jQuery('#filtri >div'); var filtriscr = jQuery('#filtri >div');
filtriscr.first().find('.andorconditions').attr('style', 'display:none'); filtriscr.first().find('.andorconditions').attr('style', 'display:none');
}else{ // eliminato l'ultimo filtro } else { // eliminato l'ultimo filtro
jQuery('#filtri').attr('style', "display:none;") jQuery('#filtri').attr('style', "display:none;")
} }
@ -545,8 +542,8 @@ $(document).ready(function() {
}); });
/** /**
Il Filtro "scritto" viene editato Il Filtro "scritto" viene editato
@ -556,20 +553,28 @@ $(document).ready(function() {
jQuery(document).delegate('a.edit-written-filter', 'click', function(e) { jQuery(document).delegate('a.edit-written-filter', 'click', function(e) {
e.preventDefault(); e.preventDefault();
if (clausolaVisibile) if (clausolaVisibile)
return true; return true;
var didConfirm = confirm("Sei sicuro di voler editare il filtro?"); var didConfirm = confirm("Sei sicuro di voler editare il filtro?");
if (didConfirm == true) { if (didConfirm == true) {
var thisfilter = jQuery(this).attr('target'); var thisfilter = jQuery(this).attr('target');
tempfiltro=condizioniFiltro[thisfilter] tempfiltro = condizioniFiltro[thisfilter]
if (tempfiltro['tipoClausola'].trim()=='grammaticale'){ if (tempfiltro['tipoClausola'].trim() == 'grammaticale') {
clausolaVisibile=true; clausolaVisibile = true;
tipoClausola='grammaticale' tipoClausola = 'grammaticale'
showCategoriaGrammaticale(tempfiltro) showCategoriaGrammaticale(tempfiltro)
}
if (tempfiltro['tipoClausola'].trim() == 'sintattica') {
clausolaVisibile = true;
tipoClausola = 'sintattica'
showClausolaSintattica(tempfiltro)
} }
} }
@ -579,60 +584,104 @@ $(document).ready(function() {
}*/ }*/
}); });
/** /**
* *
* Visualizza Categoria Grammaticale * Visualizza Categoria Grammaticale
*/ */
function showCategoriaGrammaticale(valoriFiltro={}) {
var content = jQuery('#categoriagrammaticale >div'),
size = jQuery('#condizioni >div').length + 1,
element = null,
element = content.clone();
//alert("Value: " + $("#types").val());
element.attr('id', 'cg-' + size); function showCategoriaGrammaticale(valoriFiltro = {}) {
element.find('.remove-filter').attr('target', 'cg-' + size);
element.find('.set-filter').attr('targetfilter', 'cg-' + size);
element.appendTo('#condizioni'); var content = jQuery('#categoriagrammaticale >div'),
size = jQuery('#condizioni >div').length + 1,
element = null,
element = content.clone();
//alert("Value: " + $("#types").val());
if (!jQuery.isEmptyObject(valoriFiltro)){ // sto facendo l'edit di un filtro
$("#types").val(valoriFiltro['categoria']).trigger("change"); element.attr('id', 'cg-' + size);
var keys = Object.keys(valoriFiltro)//condizioniFiltro) element.find('.remove-filter').attr('target', 'cg-' + size);
for (key in keys) { element.find('.set-filter').attr('targetfilter', 'cg-' + size);
myname=keys[key] element.appendTo('#condizioni');
myval=valoriFiltro[keys[key]]
var edelement=$("[name='"+myname+"'");
var edeltype=edelement.attr('type')
alert (edeltype) if (!jQuery.isEmptyObject(valoriFiltro)) { // sto facendo l'edit di un filtro
if(edeltype !== undefined & (edeltype =='radio' | edeltype =='checkbox')){
$('[value="'+ myval +'"]').prop('checked', true); $("#types").val(valoriFiltro['categoria']).trigger("change");
} var keys = Object.keys(valoriFiltro)//condizioniFiltro)
else{ for (key in keys) {
$("[name='"+myname+"'").val(myval) myname = keys[key]
} myval = valoriFiltro[keys[key]]
var edelement = $("[name='" + myname + "'");
var edeltype = edelement.attr('type')
//alert(edeltype)
if (edeltype !== undefined & (edeltype == 'radio' | edeltype == 'checkbox')) {
$('[value="' + myval + '"]').prop('checked', true);
}
else {
$("[name='" + myname + "'").val(myval)
} }
}
else{ //sto creando una clausola grammaticale nuova, setto il valore di default
$("#types").val("verbovolgare").trigger("change");
}
valoriFiltro={}
element.find('.sn').html(size);
grammarconditions = grammarconditions + 1
if (size == 1)
jQuery('#grammarbutton').attr('style', "display:block;") }
}
else { //sto creando una clausola grammaticale nuova, setto il valore di default
$("#types").val("verbovolgare").trigger("change");
}
valoriFiltro = {}
element.find('.sn').html(size);
grammarconditions = grammarconditions + 1
if (size == 1)
jQuery('#grammarbutton').attr('style', "display:block;")
}
/**
Visualizza Clausola Sintattica
*/
function showClausolaSintattica(valoriFiltro = {}) {
var content = jQuery('#tiposintattico >div'),
size = jQuery('#condizioni >div').length + 1,
element = null,
element = content.clone();
element.attr('id', 'ts-' + size);
element.find('.remove-filter').attr('target', 'ts-' + size);
element.find('.set-filter').attr('targetfilter', 'ts-' + size);
element.appendTo('#condizioni');
if (!jQuery.isEmptyObject(valoriFiltro)) { // sto facendo l'edit di un filtro
$("#types").val(valoriFiltro['categoria']).trigger("change");
var keys = Object.keys(valoriFiltro)//condizioniFiltro)
for (key in keys) {
myname = keys[key]
myval = valoriFiltro[keys[key]]
var edelement = $("[name='" + myname + "'");
var edeltype = edelement.attr('type')
//alert(edeltype)
if (edeltype !== undefined & (edeltype == 'radio' | edeltype == 'checkbox')) {
$('[value="' + myval + '"]').prop('checked', true);
}
else {
$("[name='" + myname + "'").val(myval)
}
}
}
element.find('.sn').html(size);
sintconditions = sintconditions + 1
if (size == 1)
jQuery('#grammarbutton').attr('style', "display:block;")
} }