# WARNING: head commit changed in the meantime

Aggiunto funzioni grafiche per editing del filtro
This commit is contained in:
nicola 2022-05-06 15:05:30 +02:00
parent 0190b204e0
commit e179efa0b4
3 changed files with 1553 additions and 148 deletions

BIN
images/edit.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1003 B

1373
index_work_Nik.html Normal file

File diff suppressed because it is too large Load Diff

View File

@ -5,8 +5,8 @@
$(document).ready(function() { $(document).ready(function() {
grammarconditions = 0 grammarconditions = 0
sintconditions=0 sintconditions = 0
filterconditions=0 filterconditions = 0
@ -121,26 +121,26 @@ $(document).ready(function() {
"citazionevolgare": "filtricitazione" "citazionevolgare": "filtricitazione"
} }
var catGrammsenzaspec=['all', 'interiezionevolgare'] var catGrammsenzaspec = ['all', 'interiezionevolgare']
var subordinazioneJson= { var subordinazioneJson = {
"subordinazione":{ "subordinazione": {
"livello":["Qualsiasi livello di subordinazione","principale","coordinata a una principale","subordinata di I grado", "livello": ["Qualsiasi livello di subordinazione", "principale", "coordinata a una principale", "subordinata di I grado",
"subordinata di II grado","subordinata di III grado","subordinata di IV grado","subordinata di V grado", "subordinata di II grado", "subordinata di III grado", "subordinata di IV grado", "subordinata di V grado",
"subordinata di VI grado","subordinata di VII grado","coordinata a una subordinata di I grado", "subordinata di VI grado", "subordinata di VII grado", "coordinata a una subordinata di I grado",
"coordinata a una subordinata di II grado","coordinata a una subordinata di III grado", "coordinata a una subordinata di II grado", "coordinata a una subordinata di III grado",
"coordinata a una subordinata di IV grado","coordinata a una subordinata di V grado","pseudo-coordinata", "coordinata a una subordinata di IV grado", "coordinata a una subordinata di V grado", "pseudo-coordinata",
"parentetica","coordinata a una parentetica"] "parentetica", "coordinata a una parentetica"]
} }
} }
var categorieJson = $.extend({}, pronomeJson, aggettivoJson, articoloJson, avverbioJson, preposizioneJson, congiunzioneJson, onomasticacitazioneJson); var categorieJson = $.extend({}, pronomeJson, aggettivoJson, articoloJson, avverbioJson, preposizioneJson, congiunzioneJson, onomasticacitazioneJson);
var condizioniFiltro={} var condizioniFiltro = {}
$('.tabs__menu-item').on('click', function() { $('.tabs__menu-item').on('click', function() {
$(this).addClass('bg-white').addClass('red'); $(this).addClass('bg-white').addClass('red');
$(this).siblings().removeClass('bg-white').removeClass('red'); $(this).siblings().removeClass('bg-white').removeClass('red');
@ -148,20 +148,7 @@ $(document).ready(function() {
jQuery(document).delegate('a.add-record', 'click', function(e) { jQuery(document).delegate('a.add-record', 'click', function(e) {
e.preventDefault(); e.preventDefault();
var content = jQuery('#categoriagrammaticale >div'), showCategoriaGrammaticale();
size = jQuery('#condizioni >div').length + 1,
element = null,
element = content.clone();
element.attr('id', 'cg-' + size);
element.find('.remove-filter').attr('target','cg-'+size);
element.find('.set-filter').attr('targetfilter','cg-'+size);
element.appendTo('#condizioni');
element.find('.sn').html(size);
grammarconditions = grammarconditions + 1
if (size == 1)
jQuery('#grammarbutton').attr('style', "display:block;")
}); });
jQuery(document).delegate('a.add-record-sint', 'click', function(e) { jQuery(document).delegate('a.add-record-sint', 'click', function(e) {
@ -171,9 +158,9 @@ $(document).ready(function() {
element = null, element = null,
element = content.clone(); element = content.clone();
element.attr('id', 'ts-' + size); element.attr('id', 'ts-' + size);
element.find('.remove-filter').attr('target','ts-'+size); element.find('.remove-filter').attr('target', 'ts-' + size);
element.find('.set-filter').attr('targetfilter','ts-'+size); element.find('.set-filter').attr('targetfilter', 'ts-' + size);
element.appendTo('#condizioni'); element.appendTo('#condizioni');
element.find('.sn').html(size); element.find('.sn').html(size);
sintconditions = sintconditions + 1 sintconditions = sintconditions + 1
@ -181,65 +168,65 @@ $(document).ready(function() {
jQuery('#grammarbutton').attr('style', "display:block;") jQuery('#grammarbutton').attr('style', "display:block;")
}); });
/** /**
SCELTA TIPO SINTATTICO SCELTA TIPO SINTATTICO
*/ */
jQuery(document).delegate('select.synttype', 'change', function(e) { jQuery(document).delegate('select.synttype', 'change', function(e) {
e.preventDefault(); e.preventDefault();
//alert(($(this).closest('div')).closest('div').attr('id')) //alert(($(this).closest('div')).closest('div').attr('id'))
//var pare=$(this).parents()[2]; //var pare=$(this).parents()[2];
var sbs=($(this).closest('div')).siblings() var sbs = ($(this).closest('div')).siblings()
condizioniFiltro["Tipo Sintattico"]=$(this).val(); condizioniFiltro["Tipo Sintattico"] = $(this).val();
sbs.find(".set-filter").attr('style', 'display.block') sbs.find(".set-filter").attr('style', 'display.block')
}) })
/** SCELTA FUNZIONE SINTATTICA /** SCELTA FUNZIONE SINTATTICA
*/ */
jQuery(document).delegate('select.syntfun', 'change', function(e) { jQuery(document).delegate('select.syntfun', 'change', function(e) {
e.preventDefault(); e.preventDefault();
//alert(($(this).closest('div')).closest('div').attr('id')) //alert(($(this).closest('div')).closest('div').attr('id'))
//var pare=$(this).parents()[2]; //var pare=$(this).parents()[2];
var sbs=($(this).closest('div')).siblings() var sbs = ($(this).closest('div')).siblings()
condizioniFiltro["Funzione Sintattica"]=$(this).val();
sbs.find(".set-filter").attr('style', 'display.block')
})
/** condizioniFiltro["Funzione Sintattica"] = $(this).val();
sbs.find(".set-filter").attr('style', 'display.block')
})
/**
SCELTA CATEGORIA GRAMMATICALE
SCELTA CATEGORIA GRAMMATICALE */
*/
jQuery(document).delegate('select.catgram', 'change', function(e) { jQuery(document).delegate('select.catgram', 'change', function(e) {
e.preventDefault(); e.preventDefault();
//alert(($(this).closest('div')).closest('div').attr('id')) //alert(($(this).closest('div')).closest('div').attr('id'))
var pare=$(this).parents()[2]; var pare = $(this).parents()[2];
var sbs=($(this).closest('div')).siblings() var sbs = ($(this).closest('div')).siblings()
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')
//alert(pare.id) //alert(pare.id)
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)
//if ($('#types').find(":selected").val()=='verbovolgare'){ //if ($('#types').find(":selected").val()=='verbovolgare'){
condizioniFiltro["Categoria Grammaticale"]=$(this).val(); condizioniFiltro["Categoria Grammaticale"] = $(this).val();
if ($(this).val() == 'verbovolgare') { if ($(this).val() == 'verbovolgare') {
var content = jQuery('#categoriaverbo >div'), var content = jQuery('#categoriaverbo >div'),
size = jQuery('#dettaglifiltri').length + 1, size = jQuery('#dettaglifiltri').length + 1,
element = null, element = null,
@ -254,10 +241,10 @@ $(document).ready(function() {
element = content.clone(); element = content.clone();
} }
if (Object.keys(categorie).includes($(this).val())) { if (Object.keys(categorie).includes($(this).val())) {
var filtro = categorie[$(this).val()] var filtro = categorie[$(this).val()]
//var keys = Object.keys(aggettivoJson.filtri); //var keys = Object.keys(aggettivoJson.filtri);
var keys = Object.keys(categorieJson[filtro]) var keys = Object.keys(categorieJson[filtro])
@ -354,9 +341,9 @@ $(document).ready(function() {
} }
select.appendTo(element) select.appendTo(element)
element.attr('style', 'display:none') element.attr('style', 'display:none')
element.appendTo('#dettaglifiltri'); element.appendTo('#dettaglifiltri');
} }
@ -369,12 +356,11 @@ $(document).ready(function() {
sbs.find(".set-filter").attr('style', 'display.none') sbs.find(".set-filter").attr('style', 'display.none')
test.remove() test.remove()
} }
else else {
{
element.attr('style', "display: none;") element.attr('style', "display: none;")
//element.appendTo('#dettaglifiltri'); //element.appendTo('#dettaglifiltri');
var test = jQuery('#' + containerid) var test = jQuery('#' + containerid)
/*if (test.val() !== undefined){ /*if (test.val() !== undefined){
//alert (test) //alert (test)
@ -390,10 +376,10 @@ $(document).ready(function() {
//<legend class="pa0 f5 f4-ns mb3 black-80">Sostantivo</legend> //<legend class="pa0 f5 f4-ns mb3 black-80">Sostantivo</legend>
//var legend=$('<legend class="pa0 f5 f4-ns mb3 black-80">'+$(this).val()+'</legend>'); //var legend=$('<legend class="pa0 f5 f4-ns mb3 black-80">'+$(this).val()+'</legend>');
//var fset=$('<fieldset class="cf bn ma0 pa0">') //var fset=$('<fieldset class="cf bn ma0 pa0">')
element.appendTo('#dettaglifiltri'); element.appendTo('#dettaglifiltri');
var container = jQuery('#dettaglifiltri'); var container = jQuery('#dettaglifiltri');
container.attr('id', containerid); container.attr('id', containerid);
var divdf = jQuery('#divdettaglifiltri >div'), var divdf = jQuery('#divdettaglifiltri >div'),
@ -401,11 +387,11 @@ $(document).ready(function() {
detelement = divdf.clone(); detelement = divdf.clone();
detelement.attr('id', 'dettaglifiltri') detelement.attr('id', 'dettaglifiltri')
detelement.appendTo("#query") detelement.appendTo("#query")
//} //}
element.find('.sn').html(size); element.find('.sn').html(size);
} }
}); });
@ -430,16 +416,16 @@ $(document).ready(function() {
return false; return false;
} }
}); });
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) {
var targetDiv = jQuery(this).attr('target'); var targetDiv = jQuery(this).attr('target');
rmel=jQuery('#'+targetDiv) rmel = jQuery('#' + targetDiv)
rmeldetail=jQuery('#'+'dettaglio_' + targetDiv) rmeldetail = jQuery('#' + 'dettaglio_' + targetDiv)
jQuery(rmel).remove(); jQuery(rmel).remove();
jQuery(rmeldetail).remove(); jQuery(rmeldetail).remove();
@ -448,130 +434,176 @@ $(document).ready(function() {
return false; return false;
} }
}); });
/** /**
Il Filtro viene "scritto" Il Filtro viene "scritto"
*/ */
jQuery(document).delegate('a.set-filter', 'click', function(e) { jQuery(document).delegate('a.set-filter', 'click', function(e) {
e.preventDefault(); e.preventDefault();
var didConfirm = confirm("Sei sicuro di voler definire il filtro?"); var didConfirm = confirm("Sei sicuro di voler definire il filtro?");
if (didConfirm == true) { if (didConfirm == true) {
var content = jQuery('#filtro'), var content = jQuery('#filtro'),
size = jQuery('#filtri >div').length + 1, size = jQuery('#filtri >div').length + 1,
element = null, element = null,
element = content.clone(); element = content.clone();
if (size==1) if (size == 1)
filterconditions=1; filterconditions = 1;
else else
filterconditions=filterconditions+1; filterconditions = filterconditions + 1;
element.attr('id', 'filtro-' + filterconditions); element.attr('id', 'filtro-' + filterconditions);
element.find('.delete-written-filter').attr('target','filtro-'+filterconditions); element.find('.delete-written-filter').attr('target', 'filtro-' + filterconditions);
var keys = Object.keys(condizioniFiltro) var keys = Object.keys(condizioniFiltro)
for (key in keys) { for (key in keys) {
var dlclass = $('<dl class="f6 lh-title mv2" />'), var dlclass = $('<dl class="f6 lh-title mv2" />'),
dtclass = $('<dt class="dib b mainflabel" />'), dtclass = $('<dt class="dib b mainflabel" />'),
ddclass = $('<dd class="dib ml0 gray mainfvalue"/>'); ddclass = $('<dd class="dib ml0 gray mainfvalue"/>');
dtclass.append([keys[key]]); dtclass.append([keys[key]]);
ddclass.append(condizioniFiltro[[keys[key]]]); ddclass.append(condizioniFiltro[[keys[key]]]);
dlclass.append(dtclass); dlclass.append(dtclass);
dlclass.append(ddclass); dlclass.append(ddclass);
element.find('.listacondizioni').append(dlclass); element.find('.listacondizioni').append(dlclass);
} }
//element.find('.listacondizioni').append(dlclass); //element.find('.listacondizioni').append(dlclass);
element.attr('style','display.block'); element.attr('style', 'display.block');
element.appendTo('#filtri'); element.appendTo('#filtri');
if (size>1){ if (size > 1) {
element.find('.andorconditions').attr('style', 'display.block'); element.find('.andorconditions').attr('style', 'display.block');
} }
//$('a.remove-filter').trigger('click'); //$('a.remove-filter').trigger('click');
var targetDiv = jQuery(this).attr('targetfilter'); var targetDiv = jQuery(this).attr('targetfilter');
rmel=jQuery('#'+targetDiv) rmel = jQuery('#' + targetDiv)
rmeldetail=jQuery('#'+'dettaglio_' + targetDiv) rmeldetail = jQuery('#' + 'dettaglio_' + targetDiv)
jQuery(rmel).remove(); jQuery(rmel).remove();
jQuery(rmeldetail).remove(); jQuery(rmeldetail).remove();
condizioniFiltro={} condizioniFiltro = {}
return true; return true;
} else { } else {
return false; return false;
} }
}) })
/** /**
Il Filtro "scritto" viene eliminato Il Filtro "scritto" viene eliminato
*/ */
jQuery(document).delegate('a.delete-written-filter', 'click', function (e) { jQuery(document).delegate('a.delete-written-filter', 'click', function(e) {
e.preventDefault(); e.preventDefault();
var didConfirm = confirm("Sei sicuro di voler cancellare il filtro?"); var didConfirm = confirm("Sei sicuro di voler cancellare il filtro?");
if (didConfirm == true) { if (didConfirm == true) {
var targetDiv = jQuery(this).attr('target'); var targetDiv = jQuery(this).attr('target');
rmel=jQuery('#'+targetDiv) rmel = jQuery('#' + targetDiv)
rmeldetail=jQuery('#' + targetDiv) rmeldetail = jQuery('#' + targetDiv)
jQuery(rmel).remove(); jQuery(rmel).remove();
jQuery(rmeldetail).remove(); jQuery(rmeldetail).remove();
// se c'è un solo filtro, mi assicuro che non sia visibile il dropbox and/or // se c'è un solo filtro, mi assicuro che non sia visibile il dropbox and/or
size = jQuery('#filtri >div').length size = jQuery('#filtri >div').length
//nasconde la condizione logica dal primo della lista dei filtri //nasconde la condizione logica dal primo della lista dei filtri
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');
} }
return true; return true;
} else { } else {
return false; return false;
} }
}); });
/**
jQuery(document).delegate('a.add-details', 'click', function(e) { Il Filtro "scritto" viene editato
*/
jQuery(document).delegate('a.edit-written-filter', 'click', function(e) {
e.preventDefault(); e.preventDefault();
var didConfirm = confirm("Sei sicuro di voler editare il filtro?");
var targetDiv = jQuery(this).attr('target'); if (didConfirm == true) {
rmel=jQuery('#'+targetDiv) showCategoriaGrammaticale()
var curstyle=rmel.attr('view') }
if(curstyle!==undefined && curstyle==='y'){
rmel.children().attr('style','display:none');
rmel.attr('view','n')
}
else{
rmel.attr('view','y')
rmel.children().attr('style','display:block');
}
return true; return true;
/*} else {
return false;
}*/
}); });
/**
*
Visualizza Categoria Grammaticale
*/
function showCategoriaGrammaticale() {
var content = jQuery('#categoriagrammaticale >div'),
size = jQuery('#condizioni >div').length + 1,
element = null,
element = content.clone();
element.attr('id', 'cg-' + size);
element.find('.remove-filter').attr('target', 'cg-' + size);
element.find('.set-filter').attr('targetfilter', 'cg-' + size);
element.appendTo('#condizioni');
element.find('.sn').html(size);
grammarconditions = grammarconditions + 1
if (size == 1)
jQuery('#grammarbutton').attr('style', "display:block;")
}
jQuery(document).delegate('a.add-details', 'click', function(e) {
e.preventDefault();
var targetDiv = jQuery(this).attr('target');
rmel = jQuery('#' + targetDiv)
var curstyle = rmel.attr('view')
if (curstyle !== undefined && curstyle === 'y') {
rmel.children().attr('style', 'display:none');
rmel.attr('view', 'n')
}
else {
rmel.attr('view', 'y')
rmel.children().attr('style', 'display:block');
}
return true;
});
}); });