From 1253b5001ee7a11d6d172e60e8ceefdea8a3987f Mon Sep 17 00:00:00 2001
From: cesare <cesare@bigeh>
Date: Thu, 6 Mar 2025 18:09:50 +0100
Subject: [PATCH] minor changes

---
 js/utilsMgr_5.1.js | 72 ++++++++++++++++++++--------------------------
 1 file changed, 31 insertions(+), 41 deletions(-)

diff --git a/js/utilsMgr_5.1.js b/js/utilsMgr_5.1.js
index c755577..6a10e3f 100644
--- a/js/utilsMgr_5.1.js
+++ b/js/utilsMgr_5.1.js
@@ -124,10 +124,10 @@ const maptypes = {
 /*
 	* regole di parsing per il filtro
 	*/
-	
 
 
-	const filterposition=`
+
+const filterposition = `
 	Filter = head:(interval? val?) {return head}
 
 		interval= limitinf? limitsup?
@@ -142,7 +142,7 @@ const maptypes = {
 	_ "whitespace"= " "*`
 
 //Filtro posizione
-var parserFiltroPosizione=peg.generate(filterposition);
+var parserFiltroPosizione = peg.generate(filterposition);
 
 var orlprefix = 'https://dantenetwork.it/ontology/orl/current/'
 
@@ -233,7 +233,7 @@ function getContextLastPosition(formaid, numversi = 3) {
 	var listaforme = formeprima;
 
 	var limitv = Math.max((numversi), 3)
-	
+
 	var offset = parseInt(formaid);
 
 	if (parseInt(formaid) > 33373 && parseInt(formaid) < 66588) {
@@ -463,7 +463,7 @@ function buildSPQuery(guiquery) {
 		multipleCondSpQuery = spqparser.parse(clausetargetquery);
 
 	}
-	
+
 	if (theguiQ['unitaRicerca'] == 'periodo') {//Multiple Conditions
 		multipleCondSpQuery = spqparser.parse(sentencetargetquery);
 		/*bindConcatStatement = JSON.parse(sentencetarget_functionbind);
@@ -632,7 +632,7 @@ function buildSQ(stquery) {
 			clausolaS = clause
 	}
 	//Simple query
-	
+
 	//filtroContestoJson = getFiltroContestoJson(JSON.parse(stquery[clausolaS]['contesto']))
 	/*if (filtroContestoJson.length > 0) {
 		for (tmpc of filtroContestoJson) {
@@ -833,8 +833,8 @@ function buildStatementClause(clause, parsedquery, whereind, theplace, token, op
 				if (op == 'OR') {
 					clausePosCoalesceStatement['expression']['args'].push(JSON.parse(tmppos))
 					var orfilter = JSON.parse(clausepos_gr_filter.replaceAll("pos_", "pos" + idtokenor))
-					
-					
+
+
 					if (orfilters.length == 0 || !orfilters.includes(JSON.stringify(orfilter))) {
 						if (parsedquery['where'].at(-1).type == "filter") {
 							var texp = JSON.parse(JSON.stringify(parsedquery['where'].at(-1).expression))
@@ -855,42 +855,32 @@ function buildStatementClause(clause, parsedquery, whereind, theplace, token, op
 					parsedquery['variables'].push(JSON.parse(tmppos))
 					var andfilter = clausepos_gr_filter.replaceAll("pos_", "pos" + token)
 					//TEST
-					if (document.querySelector('#Posizione_fr')!=null &&
-						document.querySelector('#Posizione_fr').value.trim()!=''){
-							var posrestr=document.querySelector('#Posizione_fr').value
-							var pospar=parserFiltroPosizione.parse(posrestr.trim())
-							if (pospar[1]!=null){
-								andfilter=andfilter.replace('<=', '=')
-								andfilter=andfilter.replace('clfr', 'clfr+'+(parseInt(pospar[1])-1))
+					if (document.querySelector('#Posizione_fr') != null &&
+						document.querySelector('#Posizione_fr').value.trim() != '') {
+						var posrestr = document.querySelector('#Posizione_fr').value
+						var pospar = []
+						try {
+							pospar = parserFiltroPosizione.parse(posrestr.trim())
+							if (pospar[1] != null) {
+								andfilter = andfilter.replace('<=', '=')
+								andfilter = andfilter.replace('clfr', 'clfr+' + (parseInt(pospar[1]) - 1))
 							}
-							else{
-								var inter=pospar[0]
-								if (inter[0]!=null){
-								 	andfilter=andfilter.replace('clfr', 'clfr+'+(parseInt(inter[0])-1))
+							else {
+								var inter = pospar[0]
+								if (inter[0] != null) {
+									andfilter = andfilter.replace('clfr', 'clfr+' + (parseInt(inter[0])))
 								}
-								if (inter[1]!=null){
-									var newarg=`{
-												"type": "operation",
-									                "operator": ">",
-									                "args": [
-									                    {
-									                        "termType": "Variable",
-									                        "value": "clfr"
-									                    },
-									                    {
-									                        "termType": "Variable",
-									                        "value": "pos_"
-									                    }
-									                ]
-									 }`
-									 newarg=newarg.replace("clfr", "clfr+"+parseInt(inter[1]))
-									 var tmpij=JSON.parse(andfilter)
-									tmpij.expression.args.push(JSON.parse(newarg))
-									andfilter=JSON.stringify(tmpij)
+								if (inter[1] != null) {
+									andfilter = andfilter.replace('clto', 'clfr+' + (parseInt(inter[1])))
+
 								}
 							}
+						}
+						catch (err) {
+							console.log(err)
+						}
+
 					}
-					
 					parsedquery['where'].push(JSON.parse(andfilter))
 					
 				}
@@ -1376,7 +1366,7 @@ function buildMacroSyntType(sttmnt) {
 		"predicate": {"termType":"NamedNode"}, 
 		"object": {"termType": "NamedNode"}}`
 
-	
+
 	var res = []
 
 	var obj = syntitprefix + (sttmnt.split(':')[1])
@@ -1395,7 +1385,7 @@ function buildMacroSyntType(sttmnt) {
 	unionst['patterns'].push(grstmt)
 	unionst['patterns'].push(statement)
 	res.push(unionst)
-	
+
 	return res
 }