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 = {
@ -141,8 +141,8 @@ $(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,9 +158,9 @@ $(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();
}); });
@ -170,9 +170,9 @@ $(document).ready(function() {
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'),
@ -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', ' ')
}
//mostro il filtro nella GUI
var keys = Object.keys(filtro)//condizioniFiltro)
for (key in keys) {
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) {
element.find('.andorconditions').attr('style', 'display.block');
}
//$('a.remove-filter').trigger('click');
var targetDiv = jQuery(this).attr('targetfilter');
rmel = jQuery('#' + targetDiv)
rmeldetail = jQuery('#' + 'dettaglio_' + targetDiv)
jQuery(rmel).remove();
jQuery(rmeldetail).remove();
clausolaVisibile = false;
//aggiungo il filtro a quelli esistenti
filtro['tipoClausola'] = tipoClausola
condizioniFiltro['filtro-' + filterconditions] = filtro
var content = jQuery('#filtro'), return true;
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', ' ')
}
//mostro il filtro nella GUI
var keys = Object.keys(filtro)//condizioniFiltro)
for (key in keys) {
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) {
element.find('.andorconditions').attr('style', 'display.block');
}
//$('a.remove-filter').trigger('click');
var targetDiv = jQuery(this).attr('targetfilter');
rmel = jQuery('#' + targetDiv)
rmeldetail = jQuery('#' + 'dettaglio_' + targetDiv)
jQuery(rmel).remove();
jQuery(rmeldetail).remove();
clausolaVisibile=false;
//aggiungo il filtro a quelli esistenti
filtro['tipoClausola']=tipoClausola
condizioniFiltro['filtro-' + filterconditions]=filtro
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;")
} }
@ -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={}) { function showCategoriaGrammaticale(valoriFiltro = {}) {
var content = jQuery('#categoriagrammaticale >div'), var content = jQuery('#categoriagrammaticale >div'),
size = jQuery('#condizioni >div').length + 1, size = jQuery('#condizioni >div').length + 1,
element = null, element = null,
element = content.clone(); element = content.clone();
//alert("Value: " + $("#types").val()); //alert("Value: " + $("#types").val());
element.attr('id', 'cg-' + size); element.attr('id', 'cg-' + size);
element.find('.remove-filter').attr('target', 'cg-' + size); element.find('.remove-filter').attr('target', 'cg-' + size);
element.find('.set-filter').attr('targetfilter', 'cg-' + size); element.find('.set-filter').attr('targetfilter', 'cg-' + size);
element.appendTo('#condizioni'); element.appendTo('#condizioni');
if (!jQuery.isEmptyObject(valoriFiltro)){ // sto facendo l'edit di un filtro 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)
}
$("#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)
} }
}
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;")
} }