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": {
@ -475,7 +475,7 @@ $(document).ready(function() {
dtclass = $('<dt class="dib b mainflabel" />'),
ddclass = $('<dd class="dib ml0 gray mainfvalue"/>');
//dtclass.append([keys[key]]);
tuttiFiltri = tuttiFiltri+filtro[[keys[key]]]+", ";
tuttiFiltri = tuttiFiltri + filtro[[keys[key]]] + ", ";
/*ddclass.append(filtro[[keys[key]]]);
dlclass.append(dtclass);
dlclass.append(ddclass);
@ -483,9 +483,9 @@ $(document).ready(function() {
}
//element.find('.listacondizioni').append(dlclass);
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>"
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);
@ -526,19 +526,90 @@ $(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
*/
jQuery(document).delegate('a.delete-written-filter', 'click', function(e) {
jQuery(document).delegate('a.delete-written-filter', 'click', function(e) {
e.preventDefault();
var didConfirm = confirm("Sei sicuro di voler cancellare il filtro?");
@ -566,18 +637,18 @@ $(document).ready(function() {
} else {
return false;
}
});
});
/**
/**
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();
if (clausolaVisibile)
@ -586,7 +657,9 @@ $(document).ready(function() {
if (didConfirm == true) {
var thisfilter = jQuery(this).attr('target');
tempfiltro = condizioniFiltro[thisfilter]
tempfiltro['target']=thisfilter
tempfiltro['target'] = thisfilter
filterToEdit = thisfilter;
if (tempfiltro['tipoClausola'].trim() == 'grammaticale') {
@ -610,14 +683,14 @@ $(document).ready(function() {
/*} else {
return false;
}*/
});
});
/**
/**
*
* Visualizza Categoria Grammaticale
*/
function showCategoriaGrammaticale(valoriFiltro = {}, filtroTarget='') {
function showCategoriaGrammaticale(valoriFiltro = {}, filtroTarget = '') {
var content = jQuery('#categoriagrammaticale >div'),
@ -638,7 +711,7 @@ $(document).ready(function() {
var keys = Object.keys(valoriFiltro)//condizioniFiltro)
for (key in keys) {
myname = keys[key]
myname=myname.replaceAll('%20', ' ')
myname = myname.replaceAll('%20', ' ')
myval = valoriFiltro[keys[key]]
var edelement = $("[name='" + myname + "'");
@ -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
@ -670,14 +743,14 @@ $(document).ready(function() {
if (size == 1)
jQuery('#grammarbutton').attr('style', "display:block;")
}
}
/**
/**
Visualizza Clausola Sintattica
*/
function showClausolaSintattica(valoriFiltro = {}, filtroTarget='') {
function showClausolaSintattica(valoriFiltro = {}, filtroTarget = '') {
var content = jQuery('#tiposintattico >div'),
@ -714,10 +787,10 @@ $(document).ready(function() {
sintconditions = sintconditions + 1
if (size == 1)
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();
var targetDiv = jQuery(this).attr('target');
@ -738,6 +811,6 @@ $(document).ready(function() {
return true;
});
});
});