implementazione edit filter, in progress

This commit is contained in:
cesare 2022-05-19 18:28:37 +02:00
parent bfc6f1bde0
commit caa3b597ee
2 changed files with 121 additions and 66 deletions

View File

@ -1141,11 +1141,11 @@
class="w-100 db h2 f6 bg-near-white ba b--sliver gray"
name="coniugazione" onchange="" title="Coniugazione">
<option value="">Qualsiasi coniugazione</option>
<option value="pc">Prima</option>
<option value="sc">Seconda</option>
<option value="tc">Terza</option>
<option value="ec">Essere</option>
<option value="ac">Avere</option>
<option value="Prima coniugazione">Prima</option>
<option value="Seconda coniugazione">Seconda</option>
<option value="Terza coniugazione">Terza</option>
<option value="Essere">Essere</option>
<option value="Avere">Avere</option>
</select>
@ -1155,27 +1155,27 @@
class="w-100 db h2 f6 bg-near-white ba b--sliver gray"
name="categoria" onchange="" title="Macro categoria">
<option value="">Qualsiasi tempo verbale</option>
<option value="ip">Indicativo presente</option>
<option value="ib">Indicativo passato prossimo</option>
<option value="ii">Indicativo imperfetto</option>
<option value="ir">Indicativo passato remoto</option>
<option value="is">Indicativo trapassato prossimo</option>
<option value="it">Indicativo trapassato remoto</option>
<option value="if">Indicativo futuro semplice</option>
<option value="ia">Indicativo futuro anteriore</option>
<option value="cp">Congiuntivo presente</option>
<option value="ci">Congiuntivo imperfetto</option>
<option value="cr">Congiuntivo passato</option>
<option value="ct">Congiuntivo trapassato</option>
<option value="dp">Condizionale presente</option>
<option value="dr">Condizionale passato</option>
<option value="mp">Imperativo presente</option>
<option value="fp">Infinito presente</option>
<option value="fr">Infinito passato</option>
<option value="pp">Participio presente</option>
<option value="pr">Participio passato</option>
<option value="gp">Gerundio presente</option>
<option value="gr">Gerundio passato</option>
<option value="Indicativo presente">Indicativo presente</option>
<option value="Indicativo passato prossimo">Indicativo passato prossimo</option>
<option value="Indicativo imperfetto">Indicativo imperfetto</option>
<option value="Indicativo passato remoto">Indicativo passato remoto</option>
<option value="Indicativo trapassato prossimo">Indicativo trapassato prossimo</option>
<option value="Indicativo trapassato remoto">Indicativo trapassato remoto</option>
<option value="Indicativo futuro semplice">Indicativo futuro semplice</option>
<option value="Indicativo futuro anteriore">Indicativo futuro anteriore</option>
<option value="Congiuntivo presente">Congiuntivo presente</option>
<option value="Congiuntivo imperfetto">Congiuntivo imperfetto</option>
<option value="Congiuntivo passato">Congiuntivo passato</option>
<option value="Congiuntivo trapassato">Congiuntivo trapassato</option>
<option value="Condizionale presente">Condizionale presente</option>
<option value="Condizionale passato">Condizionale passato</option>
<option value="Imperativo presente">Imperativo presente</option>
<option value="Infinito presente">Infinito presente</option>
<option value="Infinito passato">Infinito passato</option>
<option value="Participio presente">Participio presente</option>
<option value="Participio passato">Participio passato</option>
<option value="Gerundio presente">Gerundio presente</option>
<option value="Gerundio passato">Gerundio passato</option>
</select>
</div>
@ -1185,12 +1185,12 @@
name="persona" onchange="" title="Macro categoria">
<option value="">Qualsiasi persona</option>
<option value="s1">1ª singolare</option>
<option value="s2">2ª singolare</option>
<option value="s3">3ª singolare</option>
<option value="p1">1ª plurale</option>
<option value="p2">2ª plurale</option>
<option value="p3">3ª plurale</option>
<option value="Prima pers s">1ª singolare</option>
<option value="Seconda pers s">2ª singolare</option>
<option value="Terza pers s">3ª singolare</option>
<option value="Prima pers p">1ª plurale</option>
<option value="Prima pers p">2ª plurale</option>
<option value="Prima pers p">3ª plurale</option>
</select>
</div>
<div class=" w-15 pa2 mr2">
@ -1198,9 +1198,9 @@
class="w-100 db h2 f6 bg-near-white ba b--sliver gray"
name="funzione" onchange="" title="Funzione">
<option value="">Tutte le funzioni</option>
<option value="ag">Aggettivo</option>
<option value="sm">Sostantivo maschile</option>
<option value="sf">Sostantivo femminile</option>
<option value="Funz aggettivo">Aggettivo</option>
<option value="Funz sostantivo maschile">Sostantivo maschile</option>
<option value="Funz sostantivo femminile">Sostantivo femminile</option>
</select>
</div>
<div class=" w-15 pa2 mr2">
@ -1208,9 +1208,9 @@
class="w-100 db h2 f6 bg-near-white ba b--sliver gray"
name="declinazione" onchange="" title="Declinazione">
<option value="">Tutte le declinazioni</option>
<option value="prd">Prima</option>
<option value="sed">Seconda</option>
<option value="ted">Terza</option>
<option value="Prima decl">Prima</option>
<option value="Seconda decl">Seconda</option>
<option value="Terza decl">Terza</option>
</select>
</div>

View File

@ -140,22 +140,41 @@ $(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=''
$('.tabs__menu-item').on('click', function() {
$(this).addClass('bg-white').addClass('red');
$(this).siblings().removeClass('bg-white').removeClass('red');
});
/*
Funzioni per visualizzare le clausole
*/
jQuery(document).delegate('a.add-record-sint', 'click', function(e) {
jQuery(document).delegate('a.add-record', 'click', function(e) {
e.preventDefault();
if (clausolaVisibile)
return true;
else
clausolaVisibile=true
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'
}
var content = jQuery('#tiposintattico >div'),
size = jQuery('#condizioni >div').length + 1,
element = null,
@ -183,7 +202,7 @@ $(document).ready(function() {
//var pare=$(this).parents()[2];
var sbs = ($(this).closest('div')).siblings()
condizioniFiltro["Tipo Sintattico"] = $(this).val();
sbs.find(".set-filter").attr('style', 'display.block')
})
@ -199,7 +218,7 @@ $(document).ready(function() {
//var pare=$(this).parents()[2];
var sbs = ($(this).closest('div')).siblings()
condizioniFiltro["Funzione Sintattica"] = $(this).val();
sbs.find(".set-filter").attr('style', 'display.block')
})
@ -224,7 +243,7 @@ $(document).ready(function() {
sbs.find(".add-details").attr('target', containerid)
sbs.find(".set-filter").attr('target', containerid)
condizioniFiltro["Categoria Grammaticale"] = $(this).val();
//condizioniFiltro["Categoria Grammaticale"] = $(this).val();
if ($(this).val() == 'verbovolgare') {
var content = jQuery('#categoriaverbo >div'),
@ -410,7 +429,7 @@ $(document).ready(function() {
/**
Il Filtro viene "scritto"
Scrittura del filtro
*/
@ -434,17 +453,30 @@ $(document).ready(function() {
element.attr('id', 'filtro-' + filterconditions);
element.find('.delete-written-filter').attr('target', 'filtro-' + filterconditions);
element.find('.edit-written-filter').attr('target', 'filtro-' + filterconditions);
var datastring = $("#filterform").serialize();
alert(datastring);
var condizioni = $("#filterform").serialize().split('&');
//trasformo il filtro in un oggetto JSON
filtro={}
//alert (condizioni)
for (cond in condizioni){
liscond=condizioni[cond].split('=')
if (liscond[1].trim()!='' & liscond[1].trim()!=liscond[0].trim())
filtro[liscond[0]]=liscond[1]
}
//mostro il filtro nella GUI
var keys = Object.keys(condizioniFiltro)
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(condizioniFiltro[[keys[key]]]);
//dtclass.append([keys[key]]);
ddclass.append(filtro[[keys[key]]]);
dlclass.append(dtclass);
dlclass.append(ddclass);
element.find('.listacondizioni').append(dlclass);
@ -465,7 +497,13 @@ $(document).ready(function() {
jQuery(rmel).remove();
jQuery(rmeldetail).remove();
clausolaVisibile=false;
condizioniFiltro = {}
//aggiungo il filtro a quelli esistenti
filtro['tipoClausola']=tipoClausola
condizioniFiltro['filtro-' + filterconditions]=filtro
return true;
})
@ -507,14 +545,7 @@ $(document).ready(function() {
});
jQuery(document).delegate('a.add-record', 'click', function(e) {
e.preventDefault();
if (clausolaVisibile)
return true;
else
clausolaVisibile=true;
showCategoriaGrammaticale();
});
/**
@ -525,10 +556,21 @@ $(document).ready(function() {
jQuery(document).delegate('a.edit-written-filter', 'click', function(e) {
e.preventDefault();
if (clausolaVisibile)
return true;
var didConfirm = confirm("Sei sicuro di voler editare il filtro?");
if (didConfirm == true) {
showCategoriaGrammaticale()
var thisfilter = jQuery(this).attr('target');
tempfiltro=condizioniFiltro[thisfilter]
if (tempfiltro['tipoClausola'].trim()=='grammaticale'){
clausolaVisibile=true;
tipoClausola='grammaticale'
showCategoriaGrammaticale(tempfiltro)
}
}
return true;
@ -542,7 +584,7 @@ $(document).ready(function() {
* Visualizza Categoria Grammaticale
*/
function showCategoriaGrammaticale() {
function showCategoriaGrammaticale(valoriFiltro={}) {
var content = jQuery('#categoriagrammaticale >div'),
@ -557,9 +599,22 @@ $(document).ready(function() {
element.find('.set-filter').attr('targetfilter', 'cg-' + size);
element.appendTo('#condizioni');
//per NICOLA: il cambiamento va fatto dopo che l'elemento è stato aggiunto al DOM
$("#types").val("verbovolgare").trigger("change");
//$("categoria").val("verbovolgare").trigger("change");
if (!jQuery.isEmptyObject(valoriFiltro)){
$("#types").val(valoriFiltro['categoria']).trigger("change");
var keys = Object.keys(valoriFiltro)//condizioniFiltro)
for (key in keys) {
myname=keys[key]
$("[name='"+myname+"'").val(valoriFiltro[keys[key]])
}
}
else{
$("#types").val("verbovolgare").trigger("change");
}
element.find('.sn').html(size);
grammarconditions = grammarconditions + 1