From 7c7531ec639c2cdd7e1aa0b67db10c29136b59e0 Mon Sep 17 00:00:00 2001 From: cesare Date: Fri, 20 May 2022 18:34:49 +0200 Subject: [PATCH] aggiunto edit clausola sintattica, in progress --- js/guimanager.js | 343 +++++++++++++++++++++++++++-------------------- 1 file changed, 196 insertions(+), 147 deletions(-) diff --git a/js/guimanager.js b/js/guimanager.js index be4453e..953fb94 100644 --- a/js/guimanager.js +++ b/js/guimanager.js @@ -16,7 +16,7 @@ $(document).ready(function() { "Genere": ["Femminile", "Maschile"], "Numero": ["Singolare", "Plurale"], "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"], "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", @@ -38,7 +38,7 @@ $(document).ready(function() { "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", "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 = { @@ -140,9 +140,9 @@ $(document).ready(function() { var condizioniFiltro = {} - - var clausolaVisibile= false //contiene il valore true se una clausola è gia visibile e quindi non se ne può visualizzare una seconda - var tipoClausola='' + + var clausolaVisibile = false //contiene il valore true se una clausola è gia visibile e quindi non se ne può visualizzare una seconda + var tipoClausola = '' $('.tabs__menu-item').on('click', function() { $(this).addClass('bg-white').addClass('red'); @@ -158,23 +158,23 @@ $(document).ready(function() { e.preventDefault(); if (clausolaVisibile) return true; - else{ - clausolaVisibile=true; - tipoClausola='grammaticale' + else { + clausolaVisibile = true; + tipoClausola = 'grammaticale' } showCategoriaGrammaticale(); }); jQuery(document).delegate('a.add-record-sint', 'click', function(e) { e.preventDefault(); - + if (clausolaVisibile) return true; - else{ - clausolaVisibile=true; - tipoClausola='sintattica' + else { + clausolaVisibile = true; + tipoClausola = 'sintattica' } - + var content = jQuery('#tiposintattico >div'), size = jQuery('#condizioni >div').length + 1, element = null, @@ -202,7 +202,7 @@ $(document).ready(function() { //var pare=$(this).parents()[2]; var sbs = ($(this).closest('div')).siblings() - + sbs.find(".set-filter").attr('style', 'display.block') }) @@ -218,7 +218,7 @@ $(document).ready(function() { //var pare=$(this).parents()[2]; var sbs = ($(this).closest('div')).siblings() - + 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(".set-filter").attr('style', 'display.block') - + containerid = 'dettaglio_' + pare.id;//$(this).closest('div').attr('id') sbs.find(".add-details").attr('target', containerid) sbs.find(".set-filter").attr('target', containerid) @@ -368,7 +368,7 @@ $(document).ready(function() { } } - + if (element === undefined) { var test = jQuery('#' + containerid) @@ -382,9 +382,9 @@ $(document).ready(function() { var test = jQuery('#' + containerid) - + test.remove() - + element.appendTo('#dettaglifiltri'); @@ -396,7 +396,7 @@ $(document).ready(function() { detelement.attr('id', 'dettaglifiltri') detelement.appendTo("#query") - + //element.find('.sn').html(size); } @@ -404,11 +404,11 @@ $(document).ready(function() { }); - + jQuery(document).delegate('a.remove-filter', 'click', function(e) { - e.preventDefault(); - + e.preventDefault(); + var didConfirm = confirm("Sei sicuro di voler eliminare la clausola?"); if (didConfirm == true) { @@ -418,7 +418,7 @@ $(document).ready(function() { rmeldetail = jQuery('#' + 'dettaglio_' + targetDiv) jQuery(rmel).remove(); jQuery(rmeldetail).remove(); - clausolaVisibile=false; + clausolaVisibile = false; return true; } else { return false; @@ -437,75 +437,72 @@ $(document).ready(function() { jQuery(document).delegate('a.set-filter', 'click', function(e) { 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'), - 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; + //mostro il filtro nella GUI - element.attr('id', 'filtro-' + filterconditions); - element.find('.delete-written-filter').attr('target', 'filtro-' + filterconditions); - element.find('.edit-written-filter').attr('target', 'filtro-' + filterconditions); + var keys = Object.keys(filtro)//condizioniFiltro) + for (key in keys) { + var dlclass = $('
'), + dtclass = $('
'), + ddclass = $('
'); + //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('&'); - //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 + if (size > 1) { + element.find('.andorconditions').attr('style', 'display.block'); + } - var keys = Object.keys(filtro)//condizioniFiltro) - for (key in keys) { - var dlclass = $('
'), - dtclass = $('
'), - ddclass = $('
'); - //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'); + //$('a.remove-filter').trigger('click'); + var targetDiv = jQuery(this).attr('targetfilter'); - if (size > 1) { - element.find('.andorconditions').attr('style', 'display.block'); - } + rmel = jQuery('#' + targetDiv) + rmeldetail = jQuery('#' + 'dettaglio_' + targetDiv) + jQuery(rmel).remove(); + jQuery(rmeldetail).remove(); + clausolaVisibile = false; - //$('a.remove-filter').trigger('click'); - var targetDiv = jQuery(this).attr('targetfilter'); + //aggiungo il filtro a quelli esistenti - 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 - - + filtro['tipoClausola'] = tipoClausola + condizioniFiltro['filtro-' + filterconditions] = filtro - return true; + + + return true; }) /** @@ -533,7 +530,7 @@ $(document).ready(function() { if (size > 0) { var filtriscr = jQuery('#filtri >div'); filtriscr.first().find('.andorconditions').attr('style', 'display:none'); - }else{ // eliminato l'ultimo filtro + } else { // eliminato l'ultimo filtro jQuery('#filtri').attr('style', "display:none;") } @@ -545,8 +542,8 @@ $(document).ready(function() { }); - - + + /** Il Filtro "scritto" viene editato @@ -556,20 +553,28 @@ $(document).ready(function() { jQuery(document).delegate('a.edit-written-filter', 'click', function(e) { e.preventDefault(); - if (clausolaVisibile) + if (clausolaVisibile) return true; var didConfirm = confirm("Sei sicuro di voler editare il filtro?"); if (didConfirm == true) { var thisfilter = jQuery(this).attr('target'); - tempfiltro=condizioniFiltro[thisfilter] - - if (tempfiltro['tipoClausola'].trim()=='grammaticale'){ - - clausolaVisibile=true; - tipoClausola='grammaticale' + tempfiltro = condizioniFiltro[thisfilter] + + if (tempfiltro['tipoClausola'].trim() == 'grammaticale') { + + clausolaVisibile = true; + tipoClausola = 'grammaticale' showCategoriaGrammaticale(tempfiltro) - - + + + } + if (tempfiltro['tipoClausola'].trim() == 'sintattica') { + + clausolaVisibile = true; + tipoClausola = 'sintattica' + showClausolaSintattica(tempfiltro) + + } } @@ -579,60 +584,104 @@ $(document).ready(function() { }*/ }); -/** - * - * 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()); - + /** + * + * Visualizza Categoria Grammaticale + */ - element.attr('id', 'cg-' + size); - element.find('.remove-filter').attr('target', 'cg-' + size); - element.find('.set-filter').attr('targetfilter', 'cg-' + 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) - } - - + 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); + element.find('.remove-filter').attr('target', 'cg-' + size); + element.find('.set-filter').attr('targetfilter', 'cg-' + 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) } - } - 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;") }