diff --git a/index_3.0.html b/index_3.0.html new file mode 100644 index 0000000..879e92d --- /dev/null +++ b/index_3.0.html @@ -0,0 +1,1849 @@ + + + + + + LiDa Dashboard + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+
+ +
+
+
+
+
+
+
+ +
+
+ +
+
+ 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 +
+
+
+
+
+
+ +
+
+
+
+ 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 +
+
+
+
+
+
+ +
+
+
+
+ 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 +
+
+
+
+
+ +
 
+ +
+
+
+ +
+ Ricerca + Semplice +
+
+ +
+ + + +
+
+ + + +
+ +
+ +
+
+
+ +
+ +
+ +
+
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Cantica\Canto 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Inferno 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Purgatorio 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Paradiso 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
+ +
+ +
+
+ +
+ + + +
+
+
+ +
+ Definisci i filtri usando le clausole e le condizioni logiche: +
+ +
+
+
+ +
+
+ +
+
+ + + + + +
+ +
+
+
AND
+
+
    +
  • Nessuna + clausola aggiunta.
  • +
+
+ +
+ +
+
+ + + + + + + + + + + + +
+
+
+
+
+ + +
+
+
+ + +
+ +
+ + + + + + + \ No newline at end of file diff --git a/js/script_3.0.js b/js/script_3.0.js new file mode 100644 index 0000000..6960047 --- /dev/null +++ b/js/script_3.0.js @@ -0,0 +1,1187 @@ +/** + * + */ + +/* necessari per il bundle: +import "./jquery-global.js"; +require("../node_modules/jquery-ui-dist/jquery-ui.js"); +require("../node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"); +*/ + +$(document).ready(function() { + + //$('#multidraggable1').multidraggable(); + $("#dropAdvanced").on('click', function () { + queryJson.QueryAvanzata = "1"; + $("#simpleSearchDiv").removeClass( "d-flex" ) + $("#simpleSearchDiv").attr('style', "display: none;"); + $("#collapseOptions").collapse('hide'); + $("#collapseAdvanced").collapse('show'); + $("#advancedSearchDiv").addClass( "d-flex" ) + $("#advancedSearchDiv").attr('style', "display: flex;"); + }); + + $("#dropSimple").on('click', function () { + queryJson.QueryAvanzata = "0"; + $("#advancedSearchDiv").removeClass( "d-flex" ) + $("#advancedSearchDiv").attr('style', "display: none;"); + $("#simpleSearchDiv").addClass( "d-flex" ) + $("#simpleSearchDiv").attr('style', "display: flex;"); + $("#collapseAdvanced").collapse('hide'); + }); + + $("#copiaTesto").prop("disabled", true); + + // Evento: click sul bottone di copia dei risultati testuali + $("#copiaTesto").on("click", function(){ + $("#risultatitesto").copy2clipboard(); + }); + + $("#copiaQuery").prop("disabled", true); + + // Inizializza sortable + $( "#sortable0" ).sortable({ + items: "> li", + handle: ".handle" + }); + + // Inizializza selectable0 e definisce le funzioni + $("#selectableS").selectable({ + filter: "td", + //appendTo: "#someElem", + selected: function(event, ui) { + contextS[ui.selected.id.substring(0,1)][ui.selected.id.substring(2)] = 1; + //console.log(ui.selected.id.substring(0,1) + " + " + ui.selected.id.substring(2)); + }, + unselected: function(event, ui) { + contextS[ui.unselected.id.substring(0,1)][ui.unselected.id.substring(2)] = 0; + //console.log(ui.unselected.id.substring(0,1) + " - " + ui.unselected.id.substring(2)); + }, + stop: function(event, ui) { + //console.log(context0); + parseContext(contextS); + //$("#risultatitesto").val(parseContext(context0)); + } + }); + + // Inizializza selectable e definisce le funzioni + $("#selectable0").selectable({ + filter: "td", + //appendTo: "#someElem", + selected: function(event, ui) { + context0[ui.selected.id.substring(0,1)][ui.selected.id.substring(2)] = 1; + //console.log(ui.selected.id.substring(0,1) + " + " + ui.selected.id.substring(2)); + }, + unselected: function(event, ui) { + context0[ui.unselected.id.substring(0,1)][ui.unselected.id.substring(2)] = 0; + //console.log(ui.unselected.id.substring(0,1) + " - " + ui.unselected.id.substring(2)); + }, + stop: function(event, ui) { + //console.log(context0); + parseContext(context0); + //$("#risultatitesto").val(parseContext(context0)); + } + }); + + // Evento: click sul bottone di copia della query + $("#copiaQuery").on("click", function(){ + $('#sparqlquery').copy2clipboard(); + }); + + // Evento: click sull'area di navigazione delle tab delle clausole + $('#tab-list').on('click', function() { + refreshClaList(); + refreshSortables(); + }); + + $("form #lemma_forma,#queryText,#opzioni_testo").on('change', function() { + refreshClaList(); + }); + + $('#cla-TabContent').on('change', '.monMe', function() { + refreshClaList(); + }); + + // Evento: click sull'icona rimuovi clausola dentro la lista delle clausole + $('#cla-TabContent').on('click', '.removeClaInList', function() { + var claListItemId = $(this).closest('li').attr('id'); + claListLen--; + $("#" + claListItemId)[0].remove(); + refreshClaList(); + refreshSortables(); + }); + + // Evento: click sull'icona rimuovi condizione dentro la lista delle clausole + $('#sortable0').on('click', '.removeCond', function() { + $(this).closest('ul').parent().remove(); + condListLen--; + refreshSortables(); + refreshConnectWith(); + if (claListLen == 0 && condListLen == 0) { + $('#sortable0').html(emptyClaList); + } + }); + + // Evento: click sull'icona modifica dentro la lista delle clausole + $('#cla-TabContent').on('click', '.editCla', function() { + var claListItemId = $(this).closest('li').attr('id'); + var tabLiId = "#" + claListItemId.substring(2) + "-tab"; + var tabTarget = $('#tab-list ' + tabLiId); + tabTarget.tab('show'); + }); + + // Evento: click sulla lista di clausole nel dropbox "Aggiungi clausola di tipo:" o "aggiungi condizione logica:" + $('.btn-group a').on('click', function() { + var addClaN = $(this).attr('id'); + switch (addClaN) { + case "Grammaticale": + tabID++; + addGramCla(1,tabID); + break; + case "Sintattico": + tabID++; + addSyntCla(1,tabID); + break; + case "Metafore": + tabID++; + addMetaCla(0,tabID); + break; + case "andCond": + addLogicCond("AND","#sortable0"); + break; + case "orCond": + addLogicCond("OR","#sortable0"); + break; + default: + }; + refreshClaList(); + }); + + // Evento: clausola spostata nella lista principale + $('#sortable0').sortable({ + opacity: 0.6, + cursor: 'move', + update: function() { + refreshSortables(); + } + }); + + // Evento: click sul checkbox di attivazione delle clausole + $('#cla-TabContent').on('click', '.claAct', function() { + var claListItemId = $(this).closest('li').attr('id'); + var tabPanelId = "#" + claListItemId.substring(3); + if ($(this).prop('checked')) { + $(tabPanelId).attr("data-claActive", 1); + $(this).closest('li').find('.clatext').fadeTo( "slow", 1 ); + } else { + $(tabPanelId).attr("data-claActive", 0); + $(this).closest('li').find('.clatext').fadeTo( "slow", 0.6 ); + } + refreshSortables(); + }); + + // Evento: click sull'icona di refresh dei radio button + $('#cla-TabContent').on('click', '.radioReset', function() { + fSet = $(this).siblings('fieldset'); + if (fSet.find(":checked").length) { + radioChecked = fSet.find(":checked")[0]; + radioChecked.checked = false; + }; + refreshClaList(); + }); + + // Evento: click sull'icona di save local + $('#cla-TabContent').on('click', 'ion-icon[name="save-outline"]', function() { + var fileA = document.createElement("a"); + fileA.href = window.URL.createObjectURL(new Blob([JSON.stringify(queryJson)], {type: "text/plain;charset=utf-8"})); + fileA.download = "LiDaQuery.txt"; + fileA.click(); + fileA.remove(); + }); + + // Evento: click sull'icona di load local + $('#cla-TabContent').on('click', 'ion-icon[name="folder-open-outline"]', function() { + $('#apriFile').click(); + }); + + $("#apriFile").on('change', function() { + var file = $(this).prop('files')[0]; + var reader = new FileReader(); + reader.onload = function(data){ + queryJson = JSON.parse(data.target.result) + makeUpGui(queryJson); + }; + if (file) {reader.readAsText(file);} + }); + + // Evento: SCELTA CATEGORIA GRAMMATICALE + $('#cla-TabContent').on('change', 'select.catgram', function(e) { + e.preventDefault(); + var tabPaneId = ($(this).closest('.tab-pane').attr("id")); + var selectedValue = $(this).val(); + addCatgramSubcla(tabPaneId,selectedValue); + }); + + // Evento: Submit form + $("form").submit(function(e){ + e.preventDefault(); + }); + + // Evento: click sui bottoni Cerca + $("form #searchcomm,#searchcomm2").on('click', function(e) { + e.preventDefault(); + var qText = $("form #queryText")[0].value; + if (qText == "" && logicExprString == "") { + alert("Inserire un termine di ricerca od una clausola attiva!"); + return false; + } + const sparqlGenerator = sparqljs.Generator; + jsonQuery = buildSQ(queryJson); + queryFields = []; + for (var i in jsonQuery.variables) { + queryFields.push(jsonQuery.variables[i].variable.value); + } + execQuery = new sparqlGenerator().stringify(jsonQuery); + executeQuery(); + return false; + }); + + // Evento: click sul checkbox di Ricerca avanzata + $('#cla-TabContent').on('click', '#advanSW', function() { + if ($(this).prop('checked')) { + $("#cla-Advanced").attr('style', "display: block;"); + queryJson.QueryAvanzata = "1"; + } else { + $("#cla-Advanced").attr('style', "display: none;"); + queryJson.QueryAvanzata = "0"; + //resetAdvGui(); + } + }); + + // Evento: click sul checkbox di Definisci contesto + $('#cla-TabContent').on('click', '#contextSW', function() { + if ($(this).prop('checked')) { + $("#contextTableDiv0").attr('style', "display: flex;"); + //queryJson.QueryAvanzata = "1"; + } else { + $("#contextTableDiv0").attr('style', "display: none;"); + //queryJson.QueryAvanzata = "0"; + } + }); + + + // Variabili JSON per i filtri + + var verboJson = { + "filtriverbo": { + "Diatesi": ["Attivo", "Passivo"], + "Transitivita": ["Transitivo", "Intransitivo"], + "Genere": ["Femminile", "Maschile"], + "Numero": ["Singolare", "Plurale"], + "Pers": ["Impersonale"], + "Rifl": ["Riflessivo"], + "Coniugazione": ["Qualsiasi coniugazione", "Prima coniugazione", "Seconda coniugazione", "Terza coniugazione", "Essere coniugazione", "Avere coniugazione"], + "Tempi": ["Qualsiasi tempo verbale", "Indicativo presente", "Indicativo passato prossimo", "Indicativo imperfetto", "Indicativo passato remoto", + "Indicativo trapassato prossimo", "Indicativo trapassato remoto", "Indicativo futuro semplice", "Indicativo futuro anteriore", "Congiuntivo presente", + "Congiuntivo imperfetto", "Congiuntivo passato", "Congiuntivo trapassato", "Condizionale presente", "Condizionale passato", "Imperativo presente", + "Infinito presente", "Infinito passato", "Participio presente", "Participio passato", "Gerundio presente", "Gerundio passato"], + "Persona" : ["Qualsiasi persona", "1ª persona singolare", "2ª persona singolare", "3ª persona singolare", "1ª persona plurale", "2ª persona plurale", "3ª persona plurale"], + "Funzione": ["Tutte le funzioni", "Aggettivo", "Sostantivo maschile", "Sostantivo femminile"], + "Declinazione": ["Tutte le declinazioni", "Prima declinazione", "Seconda declinazione", "Terza declinazione"], + } + } + + var sostantivoJson = { + "filtrisostantivo": { + "Numero": ["Singolare", "Plurale"], + "Genere_lemma": ["Lemma femminile", "Lemma maschile"], + "Genere_forma": ["Forma femminile", "Forma maschile"], + "riflpers": ["In locuzione"], + "Declinazione_sostantivo": ["Tutte le declinazioni", "Prima declinazione", "Seconda declinazione", "Terza declinazione"], + } + } + + var aggettivoJson = { + "filtriaggettivo": { + "Classe": ["1ª", "2ª"], + "Genere": ["Femminile", "Maschile"], + "Numero": ["Singolare", "Plurale"], + "Con_oggetto_indiretto": ["Con oggetto indiretto"], + "Tipo_aggettivo": ["Qualsiasi tipo aggettivo", "Qualificativo", "Indefinito", "Interrogativo", "Esclamativo", "Numerale", "Dimostrativo", "Relativo", "Possessivo", "In locuzione"], + "Grado": ["Qualsiasi grado", "Comparativo di maggioranza", "Comparativo di minoranza", "Comparativo di uguaglianza", "Superlativo relativo", "Superlativo assoluto"], + "Tipo_di_Complemento": ["Qualsiasi 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": ["Qualsiasi 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"] + } + } + + var pronomeJson = { + "filtripronome": { + "Genere": ["Femminile", "Maschile"], + "Numero": ["Singolare", "Plurale"], + "Classe_Persona": ["Qualsiasi Classe Persona", "1ª", "2ª", "3ª"], + "Tipo": ["Qualsiasi tipo", "Personale", "Riflessivo", "Interrogativo", "Esclamativo", "Dimostrativo", "Relativo", "Possessivo"], + "Forma_Personali_Riflessivi": ["Qualsiasi forma (Personali-Riflessivi)", "Libero", "Libero in Composizione", "Proclitico", "Enclitico"], + "Funzione_Personali": ["Qualsiasi funzione (Personali)", "Libero - soggetto", "Libero - soggetto impersonale", "Libero - complemento", "Libero - rafforzativo", + "Clitico - accusativo", "Clitico - dativo", "Clitico - partitivo"], + "Tipo_Riflessivi": ["Qualsiasi tipo (Riflessivi)", "Proprio", "Lessicalizzato", "Impersonale", "Passivo", "Reciproco"] + } + } + + var articoloJson = { + "filtriarticolo": { + "Genere": ["Femminile", "Maschile"], + "Numero": ["Singolare", "Plurale"], + "Tipo": ["Determinativo", "Indeterminativo"] + } + } + + var avverbioJson = { + "filtriavverbio": { + "Tipo": ["Qualsiasi tipo", "Al comparativo di maggioranza", "Al comparativo di minoranza", + "Al superlativo assoluto", "Al superlativo relativo", + "In Locuzione", "In Locuzione separato", "Proclitico", "Enclitico"] + } + } + + var preposizioneJson = { + "filtripreposizione": { + "Tipo_I": ["Propria", "Impropria"], + "Tipo_preposizione": ["Qualsiasi tipo preposizione", "Semplice", "Articolata", "In locuzione", "In locuzione separata"], + "Sintassi": ["Qualsiasi sintassi", "Soggettiva", "Oggettiva", "Dichiarativa", "Completiva obliqua", "Finale", + "Causale", "Concessiva", "Consecutiva", "Temporale", "Modale", "Eccettuativa", "Esclusiva", + "Limitativa", "Comparativa", "Avversativa"], + "Complemento_(I)": ["Qualsiasi 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)": ["Qualsiasi 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", + "Simmetrico", "Indiretto esperiente", "Indiretto dativo", "Indiretto oggetto", "Indiretto possessore", + "Indiretto benefattivo"] + } + } + + var congiunzioneJson = { + "filtricongiunzione": { + "Coo_sub": ["Coordinativa", "Subordinativa"], + "Tipo": ["Qualsiasi tipo", "Semplice", "Composta", "Locuzione", "Locuzione separata"], + "Coord_tipo": ["Qualsiasi coord. tipo", "Copulativa", "Disgiuntiva", "Avversativa", "Esplicativa", "Conclusiva", "Correlativa"], + "Subord_tipo": ["Qualsiasi subord. tipo", "Soggettiva", "Oggettiva", "Dichiarativa", "Completiva obliqua", "Interrogativa", + "Finali", "Causali", "Concessiva", "Consecutiva", "Temporale", "Modale", + "Eccettuativa", "Comparativa", "Condizionale", "Esclusiva", "Limitativa"] + } + } + + var onomasticacitazioneJson = { + "filtrionomastica": { + "Tipo": ["Qualsiasi tipo", "Nome proprio", "Nome proprio separato", "Titolo"] + }, + + "filtricitazione": { + "Tipo": ["Qualsiasi tipo", "Latina", "Provenzale", "Francese", "Spagnola", "Ebraica", "Greca"] + } + } + + var categorie = { + "verbovolgare": "filtriverbo", + "sostantivovolgare": "filtrisostantivo", + "pronomevolgare": "filtripronome", + "aggettivovolgare": "filtriaggettivo", + "articolovolgare": "filtriarticolo", + "avverbiovolgare": "filtriavverbio", + "preposizionevolgare": "filtripreposizione", + "congiunzionevolgare": "filtricongiunzione", + "onomasticavolgare": "filtrionomastica", + "citazionevolgare": "filtricitazione" + } + + var catGrammsenzaspec = ['all', 'interiezionevolgare'] + + var subordinazioneJson = { + "subordinazione": { + "livello": ["Qualsiasi livello di subordinazione", "principale", "coordinata a una principale", "subordinata di I grado", + "subordinata di II grado", "subordinata di III grado", "subordinata di IV grado", "subordinata di V grado", + "subordinata di VI grado", "subordinata di VII grado", "coordinata a una subordinata di I grado", + "coordinata a una subordinata di II grado", "coordinata a una subordinata di III grado", + "coordinata a una subordinata di IV grado", "coordinata a una subordinata di V grado", "pseudo-coordinata", + "parentetica", "coordinata a una parentetica"] + } + } + + var categorieJson = $.extend({}, verboJson, sostantivoJson, pronomeJson, aggettivoJson, articoloJson, avverbioJson, preposizioneJson, congiunzioneJson, onomasticacitazioneJson); + + + // Variabili testuali per compattezza + var iconEdit = ''; + var iconEdit2 = ''; + var iconClose = ''; + var iconCheck = ''; + var iconFilter = ''; + var iconReset = '
'; + var iconCloseCond = '
' + iconClose + '
'; + var emptyClaList = '
  • Nessuna clausola aggiunta.
  • '; + + var claLIpart1 = '
  • \ +
    \ +
    '; + var claLIpart3 = '
    \ +
    ' + iconClose + '
  • '; + + var condLIplaceholderText1 = 'Trascina qui almeno 1 clausola o condizione'; + var condLIplaceholderText2 = 'Trascina qui almeno 2 clausole o condizioni'; + var condLIplaceholderText1d = 'Trascina qui almeno 1 clausola o condizione, oppure attiva le clausole inattive'; + var condLIplaceholderText2d = 'Trascina qui almeno 2 clausole o condizioni, oppure attiva le clausole inattive'; + var condLIplaceholderPart1 = '
  • '; + var condLIpart1 = '