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"],
"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 = $('<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('&');
//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 = $('<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');
//$('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;")
}