This commit is contained in:
Luca Trupiano 2022-10-17 09:19:03 +02:00
commit 16e4d37b4b
4 changed files with 695 additions and 428 deletions

View File

@ -25,7 +25,8 @@
crossorigin="anonymous"></script>
<script src="https://code.jquery.com/ui/1.13.1/jquery-ui.js" defer></script>
<script type="text/javascript" src="./js/datatables.min.js" defer></script>
<script type="text/javascript" src="./js/jquery.ui.touch-punch.js"></script>
<script type="text/javascript" src="./js/lib/jquery.ui.touch-punch.js"></script>
<script type="text/javascript" src="./js/lib/peg-0.10.0.min.js"></script>
<!-- FINE AGGIUNTI -->
@ -53,6 +54,13 @@
}
} */
/* $( function() {
$( "#filtri" ).sortable({
//items: "div:(.ui-state-enabled)"
cursor: 'move',
update: function() {alert('pipo '+$(this).id)}
});
} ); */
</script>
<style>
.tabs__content input:not(:checked) ~ .tabs__content__info {
@ -136,14 +144,14 @@
</div>
<!-- <div class="fl w-100 w-60-ns pa4"> -->
<div class="col-md-5 pa4">
<div class="bg-washed-blue pv2">
<div class="bg-washed-blue pv0">
<!-- form -->
<form id='filterform' onsubmit="return false;">
<div class="flex flex-column" id='query'>
<div class="flex flex-wrap" id='condizioni'>
<div class="flex flex-wrap" id='condizioni' >
<div class="outline w-30 pv1 mr0 col-md-6">
<div class="flex items-center">
@ -192,10 +200,10 @@
</div>
<!-- <div class="fl w-100 w-20-ns pa4" id='tuttiFiltri'> -->
<div class="mt0 mb0 pb0 ml7 h-25 d-inline-block">
<div class="bg-washed-blue h-25 pv0" id='filtri'
<div class="mt0 mb0 pb0 ml7 h-1 d-inline-block">
<div class="bg-washed-blue h-1 pv0" id='filtri'
style="display: none;">
<img src="./images/filters1.png" style="width: 40px; height: 48px;"
<img src="./images/filters1.png" class="ui-state-disabled" style="width: 40px; height: 48px;"
alt="Filtri"> <input type="hidden" id="IdFiltro" type="text"
value="">
</div>
@ -271,25 +279,25 @@
<!-- TEMPLATE FILTRO -->
<div class="flex items-center justify-center pa1 bl br bt bb b--green"
<div class="flex items-center justify-center pa1 bl br bt bb b--green ui-state-enabled"
style="display: none;" id="filtro">
<div class="bg-washed-blue flex flex-column">
<nav class="pa1 pa1-ns">
<a class="link dim gray f6 f2-ns dib mr0 delete-written-filter"
<nav class=" flex flex-wrap h0-ns mt0 pv0 pa0 ">
<a class="flex ma2 pa0-ns dim gray f6 f2-ns dib mr0 delete-written-filter"
href="#" title="RemoveFilter"><img src="./images/chiudi1.png"
style="width: 22px; height: 20px;"></a> <a
class="link dim gray f6 f2-ns dib mr0 edit-written-filter"
style="width: 22px; height: 20px;"></a>
<a class="flex ma2 pa0-ns dim gray f6 f2-ns dib mr0 edit-written-filter"
href="#" title="EditFilter"><img src="./images/edit.png"
style="width: 22px; height: 20px;"></a> <select id="andor"
style="display: none;"
class="w-100 db h2 f6 bg-near-white ba b--sliver gray andorconditions"
style="width: 22px; height: 20px;"></a>
<select id="andor" style="display: none;"
class="w-100 db h1 mb2 pv0 pa0 f6 bg-near-white ba b--sliver gray andorconditions"
name="condizionelogica" onchange="" title="Condizione logica">
<option value="all">AND</option>
<option value="all">OR</option>
<option value="AND">AND</option>
<option value="OR">OR</option>
</select>
</nav>
<div class="pa1 pa1-ns listacondizioni">
<div class="flex mb0 pv0 pa0 listacondizioni">
<!--<h4 class="f6 fw6">Clausola</h4> -->
</div>
@ -304,25 +312,21 @@
</div>
<!-- CATEGORIA GRAMMATICALE -->
<div style="display: none;" id='categoriagrammaticale'>
<!-- <div class="flex flex-wrap" id='condizioni'> -->
<!-- <div class="outline w-30 pv1 mr0 col-md-6"> -->
<div style="display: none;" id='categoriagrammaticale'>
<div class="outline ml1 col-md-5 pa1 pt0">
<div class="flex flex-wrap pa1">
<div class="flex flex-wrap h1 pa0">
<nav >
<a class="link dim gray f6 f2-ns dib mr0 remove-filter" href="#"
<a class="link pt0 dim gray f6 f2-ns dib mr0 remove-filter" href="#"
title="Remove"><img src="./images/chiudi1.png"
style="width: 22px; height: 20px;"></a> <a
class="link dim gray f6 f2-ns dib mr0 update-filter" href="#"
class="link pt0 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="#"
<a class="link dim pt0 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>
@ -330,7 +334,7 @@
<div class="outline w-100">
<select id="types"
class="w-100 db h2 f6 bg-near-white ba b--sliver gray catgram"
class="w-100 db h2-ns pb0 f6 bg-near-white ba b--sliver gray catgram"
name="categoria" onchange="" title="Macro categoria">
<!-- <option value="all">Tutte le categorie</option> -->
<optgroup label="Volgare">
@ -389,16 +393,19 @@
<div style="display: none;" id='tiposintattico'>
<div class="outline w-25 pv1 ph1">
<div class="flex flex-column">
<div class="outline ml1 col-md-5 mt0 pa0 pt0">
<nav class="pa1 pa1-ns">
<a class="link dim gray f6 f2-ns dib mr0 remove-filter" href="#"
title="Remove"><img src="./images/chiudi1.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>
<div class="flex flex-wrap h0-ns mt0 pv0 pa0">
<nav class="flex ma2 pa0-ns">
<a class="flex flex-column pv0 dim gray f6 f2-ns dib remove-filter" href="#"
title="Remove">
<img src="./images/chiudi1.png"style="width: 22px; height: 20px;"></a>
<a class="flex flex-column pv0 pl2 dim gray f6 f2-ns dib set-filter" href="#"
title="Set" style="display: none">
<img src="./images/smalldone.png" style="width: 22px; height: 20px;"></a>
</nav>
@ -406,7 +413,8 @@
<select id="synttypes"
class="w-100 db h2 f6 bg-near-white ba b--sliver gray synttype"
class="w-100 db h2-ns pb0 f6 bg-near-white ba b--sliver gray synttype"
name="typeSyntax0" title="Tipo sintattico" value="oggetto">
<option value=".+" class="w-10"
onclick="myformsyntax.functionSyntax0.disabled = false;">Qualsiasi
@ -981,7 +989,7 @@
</div>
<div class="outline w-100 pa1 mr1">
<select name="functionSyntax"
class="w-100 db h2 f6 bg-near-white ba b--sliver gray syntfun"
class="w-100 db h2-ns pb2 f6 bg-near-white ba b--sliver gray syntfun"
title="Livello di subordinazione">
<option value=".+">Qualsiasi livello di subordinazione</option>
@ -1052,13 +1060,13 @@
<div class="flex items-center mb2">
<input class="mr2 f6" type="radio" id="lemmafemminile"
value="Lemma femminile" name="Genere lemma"> <label
value="Lemma femminile" name="Genere_lemma"> <label
for="lemmafemminile" class="lh-copy">Lemma di genere
femminile</label>
</div>
<div class="flex items-center mb2">
<input class="mr2 f6" type="radio" id="lemmamaschile"
value="Lemma maschile" name="Genere lemma"> <label
value="Lemma maschile" name="Genere_lemma"> <label
for="lemmamaschile" class="lh-copy">Lemma di genere
maschile</label>
</div>
@ -1070,13 +1078,13 @@
<div class="flex items-center mb2">
<input class="mr2 f6" type="radio" id="formafemminile"
value="Forma femminile" name="Genere forma"> <label
value="Forma femminile" name="Genere_forma"> <label
for="formafemminile" class="lh-copy">Forma di genere
femminile</label>
</div>
<div class="flex items-center mb2">
<input class="mr2 f6" type="radio" id="formamaschile"
value="Forma maschile" name="Genere forma"> <label
value="Forma maschile" name="Genere_forma"> <label
for="formamaschile" class="lh-copy">Forma di genere
maschile</label>
</div>
@ -1124,7 +1132,7 @@
<div class=" w-15 pa1 mr2">
<div class="fl w-100 w-40-ns ">
<fieldset id="diatesi" class="bn">
<fieldset id="" class="bn">
<div class="flex items-center mb2">
<input class="mr2 f6" type="radio" id="attivo" value="Attivo"

View File

@ -1060,7 +1060,7 @@
<div class="flex items-center mb2">
<input class="mr2 f6" type="radio" id="singolare" value="singolare"
name="tra"> <label for="" singolare"" class="lh-copy">Singolare</label>
name="tra"> <label for="singolare" class="lh-copy">Singolare</label>
</div>
<div class="flex items-center mb2">
<input class="mr2 f6" type="radio" id="plurale" value="plurale"

View File

@ -22,13 +22,13 @@ $(document).ready(function() {
"Classe": ["1ª", "2ª"],
"Genere": ["Femminile", "Maschile"],
"Numero": ["Singolare", "Plurale"],
"Con oggetto indiretto": ["Con oggetto indiretto"],
"Con_oggetto_indiretto": ["Con oggetto indiretto"],
"Tipo aggettivo": ["Tipo aggettivo", "Qualificativo", "Indefinito", "Interrogativo", "Esclamativo", "Numerale", "Dimostrativo", "Relativo", "Possessivo", "In locuzione"],
"Grado": ["Grado", "Comparativo di maggioranza", "Comparativo di minoranza", "Comparativo di uguaglianza", "Superlativo relativo", "Superlativo assoluto"],
"Tipo di Complemento": ["Tipo di Complemento", "Introdotto da A", "Introdotto da CON", "Introdotto da CONTRO", "Introdotto da DA", "Introdotto da DI", "Introdotto da IN",
"Tipo_di_Complemento": ["Tipo di Complemento", "Introdotto da A", "Introdotto da CON", "Introdotto da CONTRO", "Introdotto da DA", "Introdotto da DI", "Introdotto da IN",
"Introdotto da PER", "Introdotto da SU", "Introdotto da TRA", "Introdotto da VERSO", "Introdotto da SOPRA",
"Introdotto da SOTTO", "Introdotto da DINANZI", "Introdotto da prep.", "Oggetto ind.", "Ogg. indi. + compl. con DI", "Ogg. ind. pronom."],
"Tipo di frase": ["Tipo di frase", "Con infinito retto da A", "Con infinito retto da DA", "Con infinito retto da DI", "Con infinito retto da PER",
"Tipo_di_frase": ["Tipo di frase", "Con infinito retto da A", "Con infinito retto da DA", "Con infinito retto da DI", "Con infinito retto da PER",
"Con infinito retto da SE", "Con subordinata all'indic.", "Con subordinata al cong.", "In locuzione imp.+infinito",
"In locuzione imp.+che+indic.", "In locuzione imp.+che+cong.", "In locuzione imp.+se+indic.", "In locuzione imp.+se+cong.",
"In locuzione imp.+come+indic.", "In locuzione imp.+quando+indic.", "In locuzione imp.+perché+cong.", "In locuzione imp.+a+infinito"]
@ -37,15 +37,15 @@ $(document).ready(function() {
var pronomeJson = {
"filtripronome": {
"Classe/Persona": ["1ª", "2ª", "3ª"],
"Classe_Persona": ["1ª", "2ª", "3ª"],
"Genere": ["Femminile", "Maschile"],
"Numero": ["Singolare", "Plurale"],
"Tipo": ["Tipo", "Personale", "Riflessivo", "Interrogativo", "Esclamativo", "Dimostrativo", "Relativo", "Possessivo"],
"Forma (Personali/Riflessivi)": ["Forma (Personali/Riflessivi)", "Libero", "Libero in Composizione", "Proclitico", "Enclitico"],
"Funzione (Personali)": ["Funzione (Personali)", "Libero - soggetto", "Libero - soggetto impersonale", "Libero - complemento", "Libero - rafforzativo",
"Forma_Personali_Riflessivi": ["Forma (Personali/Riflessivi)", "Libero", "Libero in Composizione", "Proclitico", "Enclitico"],
"Funzione_Personali": ["Funzione (Personali)", "Libero - soggetto", "Libero - soggetto impersonale", "Libero - complemento", "Libero - rafforzativo",
"Clitico - accusativo", "Clitico - dativo", "Clitico - partitivo"],
"Tipo (Riflessivi)": ["Tipo (Riflessivi)", "Proprio", "Lessicalizzato", "Impersonale", "Passivo", "Reciproco"]
"Tipo_Riflessivi": ["Tipo (Riflessivi)", "Proprio", "Lessicalizzato", "Impersonale", "Passivo", "Reciproco"]
}
}
var articoloJson = {
@ -71,17 +71,17 @@ $(document).ready(function() {
var preposizioneJson = {
"filtripreposizione": {
"Tipo I": ["Propria", "Impropria"],
"Tipo preposizione": ["Tipo preposizione", "Semplice", "Articolata", "In locuzione", "In locuzione separata"],
"Tipo_I": ["Propria", "Impropria"],
"Tipo_preposizione": ["Tipo preposizione", "Semplice", "Articolata", "In locuzione", "In locuzione separata"],
"Sintassi": ["Sintassi", "Soggettiva", "Oggettiva", "Dichiarativa", "Completiva obliqua", "Finale",
"Causale", "Concessiva", "Consecutiva", "Temporale", "Modale", "Eccettuativa", "Esclusiva",
"Limitativa", "Comparativa", "Avversativa"],
"Complemento (I)": ["Complemento (I)", "Di stato in luogo", "Di moto a luogo", "Di moto da luogo", "Di moto per luogo",
"Complemento_(I)": ["Complemento (I)", "Di stato in luogo", "Di moto a luogo", "Di moto da luogo", "Di moto per luogo",
"Di luogo", "Predicativo del soggetto", "Predicativo dell'oggetto", "Di distanza",
"Di tempo determinato", "Di tempo continuato", "Di tempo", "Di termine", "Di vantaggio",
"Di svantaggio", "Di specificazione", "Di modo", "Di mezzo", "Di compagnia",
"Di unione", "Di allontanamento/separazione", "Di materia"],
"Complemento (II)": ["Complemento (II)", "di limitazione", "di qualità", "di causa", "di agente", "di causa efficiente", "di fine o scopo",
"Complemento_(II)": ["Complemento (II)", "di limitazione", "di qualità", "di causa", "di agente", "di causa efficiente", "di fine o scopo",
"di paragone", "di argomento", "distributivo", "di sostituzione", "di estensione", "di rapporto",
"di esclusione", "di peso", "di quantità", "di colpa", "di denominazione", "partitivo",
"di abbondanza-privazione", "di origine-provenienza", "concessivo", "di effetto", "di pena",
@ -97,9 +97,9 @@ $(document).ready(function() {
"filtricongiunzione": {
"Tipo": ["Tipo", "Semplice", "Composta", "Locuzione", "Locuzione separata"],
"Coo./sub": ["coordinativa", "subordinativa"],
"Coord. tipo": ["Coord. tipo", "copulativa", "disgiuntiva", "avversativa", "esplicativa", "conclusiva", "correlativa"],
"Subord. tipo": ["Subord. tipo", "soggettiva", "oggettiva", "dichiarativa", "completiva obliqua", "interrogativa",
"Coo_sub": ["coordinativa", "subordinativa"],
"Coord_tipo": ["Coord. tipo", "copulativa", "disgiuntiva", "avversativa", "esplicativa", "conclusiva", "correlativa"],
"Subord_tipo": ["Subord. tipo", "soggettiva", "oggettiva", "dichiarativa", "completiva obliqua", "interrogativa",
"finali", "causali", "concessiva", "consecutiva", "temporale", "modale",
"eccettuativa", "comparativa", "condizionale", "esclusiva", "limitativa"]
}
@ -479,16 +479,16 @@ $(document).ready(function() {
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"/>');
var dlclass = $('<dl class="flex mb0 pa0 f6 lh-title mv0" />'),
dtclass = $('<dt class="flex mb0 pa0 b mainflabel" />'),
ddclass = $('<dd class="flex mb0 pa0 ml0 gray mainfvalue"/>');
tuttiFiltri = tuttiFiltri + filtro[[keys[key]]] + ", ";
}
//element.find('.listacondizioni').append(dlclass);
let virgola = tuttiFiltri.lastIndexOf(',');
tuttiFiltri = tuttiFiltri.substring(0, virgola);
let txtAreaFiltri = '<textarea id = ' + 'textarea-' + filterconditions +
' readonly style="resize:none" class="bg-washed-blue bn" rows="2" cols="20" name="usrtxt" wrap="hard">' +
' readonly style="resize:none" class="flex mb0 pb0 bg-washed-blue bn" rows="1" cols="20" name="usrtxt" wrap="hard">' +
tuttiFiltri + "</textarea>"
ddclass.append(txtAreaFiltri);
dlclass.append(dtclass);
@ -513,10 +513,12 @@ $(document).ready(function() {
//aggiungo il filtro a quelli esistenti nel json
filtro['tipoClausola'] = tipoClausola
var clausolaquery = $("#searchValue").val()
filtro['query'] = clausolaquery.trim();
// checkedField = $('input[name=oggetto]:checked', '#filterform').val();
//
// filtro['lemma_forma'] = checkedField
// eventualmente le 2 seguenti non funzionano Nicola
// checkedField = $('#lemma_forma').val();
// filtro['lemma_forma'] = checkedField
condizioniFiltro['filtro-' + filterconditions] = filtro
@ -559,6 +561,12 @@ $(document).ready(function() {
condizioniFiltro['filtro-1'] = filtro;
}
//definizione struttura della query
condizioniFiltro = espressioneLogica(condizioniFiltro);
// fine definizione struttura
spquery = buildSQ(condizioniFiltro)
queryFields = [];
for (var i in spquery.variables) {
@ -570,9 +578,29 @@ $(document).ready(function() {
}
)
function espressioneLogica(condizioniLogiche) {
//definizione struttura della query
var EsprLogica = ""
filters = $("[id^=filtro-]")
term = "";
filters.each(function(index, element) {
var mx = $(this).find('#andor');
if (index == 0) {
EsprLogica += ''
term = $(this).attr('id')
}
else {
EsprLogica = "(" + mx.val() + " " + term + " " + $(this).attr('id') + ") "
term = EsprLogica
}
});
condizioniLogiche['EsprLogica'] = EsprLogica.split(" ")
return condizioniLogiche;
}
async function execMySparqlQuery(spQuery) {
$("#loader").show();
alert(new sparqlGenerator().stringify(spQuery));
//alert(new sparqlGenerator().stringify(spQuery));
bindingsStream = await myEngine.queryBindings(spQuery, { sources: [{ type: 'sparql', value: sparqlEndpoint },], });
$("#sparqlquery").val(spQuery);
@ -792,13 +820,13 @@ $(document).ready(function() {
//$(":radio").prop("checked", false);
$(":checkbox").prop("checked", false);
//
// for (radio in radios) {
// if (radios[radio].val == checkedField) {
// radios[radio].checked = true;
// }
// }
//
// for (radio in radios) {
// if (radios[radio].val == checkedField) {
// radios[radio].checked = true;
// }
// }
element.attr('id', 'cg-' + size);
element.find('.remove-filter').attr('target', 'cg-' + size);
element.find('.set-filter').attr('targetfilter', 'cg-' + size);
@ -911,5 +939,29 @@ $(document).ready(function() {
});
//Cesare
$(function() {
$("#filtri").sortable({
//items: "div:(.ui-state-enabled)"
cursor: 'move',
update: function() {
myfilters = $("[id^=filtro-]")
$("[id^=filtro-]").each(function(index, element) {
var mx = $(this).find('#andor');
if (index == 0)
mx.attr('style', "display:none;")
else
mx.attr('style', "display:block;")
//console.log($( this ));
});
}
});
});
});

File diff suppressed because it is too large Load Diff