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="#"
title="Update" style="display:none"><img
src="./images/smalldone.png" style="width: 22px; height: 20px;"></a>
<a class="link dim gray f6 f2-ns dib mr0 set-filter" href="#"
title="Set" style="display:none"><img
src="./images/smalldone.png" style="width: 22px; height: 20px;"></a>
</nav>

View File

@ -8,7 +8,7 @@ $(document).ready(function() {
sintconditions = 0
filterconditions = 0
let filterToEdit = "";
var aggettivoJson = {
"filtriaggettivo": {
@ -526,12 +526,83 @@ $(document).ready(function() {
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
@ -588,6 +659,8 @@ $(document).ready(function() {
tempfiltro = condizioniFiltro[thisfilter]
tempfiltro['target'] = thisfilter
filterToEdit = thisfilter;
if (tempfiltro['tipoClausola'].trim() == 'grammaticale') {
clausolaVisibile = true;
@ -656,7 +729,7 @@ $(document).ready(function() {
}
element.find('.update-filter').attr('targetfilter', filtroTarget);
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