sistemata dimensione finestra "Grammaticale" dopo editing filtro

This commit is contained in:
nicola 2022-06-18 17:31:11 +02:00
parent 603646a242
commit 7e6f66c72a
2 changed files with 279 additions and 210 deletions

View File

@ -273,13 +273,9 @@
<a class="link dim gray f6 f2-ns dib mr0 update-filter" href="#" <a class="link dim gray f6 f2-ns dib mr0 update-filter" href="#"
title="Update" style="display:none"><img title="Update" style="display:none"><img
src="./images/smalldone.png" style="width: 22px; height: 20px;"></a> src="./images/smalldone.png" style="width: 22px; height: 20px;"></a>
<a class="link dim gray f6 f2-ns dib mr0 set-filter" href="#" <a class="link dim gray f6 f2-ns dib mr0 set-filter" href="#"
title="Set" style="display:none"><img title="Set" style="display:none"><img
src="./images/smalldone.png" style="width: 22px; height: 20px;"></a> src="./images/smalldone.png" style="width: 22px; height: 20px;"></a>
</nav> </nav>

View File

@ -8,7 +8,7 @@ $(document).ready(function() {
sintconditions = 0 sintconditions = 0
filterconditions = 0 filterconditions = 0
let filterToEdit = "";
var aggettivoJson = { var aggettivoJson = {
"filtriaggettivo": { "filtriaggettivo": {
@ -475,7 +475,7 @@ $(document).ready(function() {
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]]);
tuttiFiltri = tuttiFiltri+filtro[[keys[key]]]+", "; tuttiFiltri = tuttiFiltri + filtro[[keys[key]]] + ", ";
/*ddclass.append(filtro[[keys[key]]]); /*ddclass.append(filtro[[keys[key]]]);
dlclass.append(dtclass); dlclass.append(dtclass);
dlclass.append(ddclass); dlclass.append(ddclass);
@ -483,9 +483,9 @@ $(document).ready(function() {
} }
//element.find('.listacondizioni').append(dlclass); //element.find('.listacondizioni').append(dlclass);
let virgola = tuttiFiltri.lastIndexOf(','); let virgola = tuttiFiltri.lastIndexOf(',');
tuttiFiltri = tuttiFiltri.substring(0,virgola); tuttiFiltri = tuttiFiltri.substring(0, virgola);
let txtAreaFiltri = '<textarea readonly style="resize:none" class="bg-washed-blue bn" rows="2" cols="20" name="usrtxt" wrap="hard">'+ let txtAreaFiltri = '<textarea readonly style="resize:none" class="bg-washed-blue bn" rows="2" cols="20" name="usrtxt" wrap="hard">' +
tuttiFiltri+"</textarea>" tuttiFiltri + "</textarea>"
ddclass.append(txtAreaFiltri); ddclass.append(txtAreaFiltri);
dlclass.append(dtclass); dlclass.append(dtclass);
dlclass.append(ddclass); dlclass.append(ddclass);
@ -526,19 +526,90 @@ $(document).ready(function() {
jQuery(document).delegate('a.update-filter', 'click', function(e) { jQuery(document).delegate('a.update-filter', 'click', function(e) {
alert ('Update not yet implemented, in progress...') //alert('Update not yet implemented, in progress...' + filterToEdit)
AggiornaFiltro(filterToEdit);
return true
} }
) )
function AggiornaFiltro(filtroId) {
//e.preventDefault();
/** var content = jQuery('#filtro'),
size = jQuery('#filtri >div').length + 1,
element = null,
element = content.clone();
element.attr('id', filtroId);
element.find('.delete-written-filter').attr('target', filtroId);
element.find('.edit-written-filter').attr('target', filtroId);
//trasformo il filtro espresso nella clausola in un oggetto JSON
var condizioni = $("#filterform").serialize().split('&');
//alert (condizioni)
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
let tuttiFiltri = "";
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"/>');
tuttiFiltri = tuttiFiltri + filtro[[keys[key]]] + ", ";
}
let virgola = tuttiFiltri.lastIndexOf(',');
tuttiFiltri = tuttiFiltri.substring(0, virgola);
let txtAreaFiltri = '<textarea readonly style="resize:none" class="bg-washed-blue bn" rows="2" cols="20" name="usrtxt" wrap="hard">' +
tuttiFiltri + "</textarea>"
ddclass.append(txtAreaFiltri);
dlclass.append(dtclass);
dlclass.append(ddclass);
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 nel json
filtro['tipoClausola'] = tipoClausola
condizioniFiltro[filtroId] = filtro
return true;
}
/**
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?");
@ -566,18 +637,18 @@ $(document).ready(function() {
} else { } else {
return false; return false;
} }
}); });
/** /**
Il Filtro "scritto" viene editato Il Filtro "scritto" viene editato
*/ */
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)
@ -586,7 +657,9 @@ $(document).ready(function() {
if (didConfirm == true) { if (didConfirm == true) {
var thisfilter = jQuery(this).attr('target'); var thisfilter = jQuery(this).attr('target');
tempfiltro = condizioniFiltro[thisfilter] tempfiltro = condizioniFiltro[thisfilter]
tempfiltro['target']=thisfilter tempfiltro['target'] = thisfilter
filterToEdit = thisfilter;
if (tempfiltro['tipoClausola'].trim() == 'grammaticale') { if (tempfiltro['tipoClausola'].trim() == 'grammaticale') {
@ -610,14 +683,14 @@ $(document).ready(function() {
/*} else { /*} else {
return false; return false;
}*/ }*/
}); });
/** /**
* *
* Visualizza Categoria Grammaticale * Visualizza Categoria Grammaticale
*/ */
function showCategoriaGrammaticale(valoriFiltro = {}, filtroTarget='') { function showCategoriaGrammaticale(valoriFiltro = {}, filtroTarget = '') {
var content = jQuery('#categoriagrammaticale >div'), var content = jQuery('#categoriagrammaticale >div'),
@ -638,7 +711,7 @@ $(document).ready(function() {
var keys = Object.keys(valoriFiltro)//condizioniFiltro) var keys = Object.keys(valoriFiltro)//condizioniFiltro)
for (key in keys) { for (key in keys) {
myname = keys[key] myname = keys[key]
myname=myname.replaceAll('%20', ' ') myname = myname.replaceAll('%20', ' ')
myval = valoriFiltro[keys[key]] myval = valoriFiltro[keys[key]]
var edelement = $("[name='" + myname + "'"); var edelement = $("[name='" + myname + "'");
@ -656,7 +729,7 @@ $(document).ready(function() {
} }
element.find('.update-filter').attr('targetfilter', filtroTarget); element.find('.update-filter').attr('targetfilter', filtroTarget);
element.find(".set-filter").attr('style', 'display:none') element.find(".set-filter").attr('style', 'display:none')
element.find(".update-filter").attr('style', 'display:block') element.find(".update-filter").attr('style', 'display:compact')
} }
else { //sto creando una clausola grammaticale nuova, definisco il valore di default else { //sto creando una clausola grammaticale nuova, definisco il valore di default
@ -670,14 +743,14 @@ $(document).ready(function() {
if (size == 1) if (size == 1)
jQuery('#grammarbutton').attr('style', "display:block;") jQuery('#grammarbutton').attr('style', "display:block;")
} }
/** /**
Visualizza Clausola Sintattica Visualizza Clausola Sintattica
*/ */
function showClausolaSintattica(valoriFiltro = {}, filtroTarget='') { function showClausolaSintattica(valoriFiltro = {}, filtroTarget = '') {
var content = jQuery('#tiposintattico >div'), var content = jQuery('#tiposintattico >div'),
@ -714,10 +787,10 @@ $(document).ready(function() {
sintconditions = sintconditions + 1 sintconditions = sintconditions + 1
if (size == 1) if (size == 1)
jQuery('#grammarbutton').attr('style', "display:block;") jQuery('#grammarbutton').attr('style', "display:block;")
} }
jQuery(document).delegate('a.add-details', 'click', function(e) { jQuery(document).delegate('a.add-details', 'click', function(e) {
e.preventDefault(); e.preventDefault();
var targetDiv = jQuery(this).attr('target'); var targetDiv = jQuery(this).attr('target');
@ -738,6 +811,6 @@ $(document).ready(function() {
return true; return true;
}); });
}); });