+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/js/script_3.1.js b/js/script_3.1.js
new file mode 100644
index 0000000..71893c2
--- /dev/null
+++ b/js/script_3.1.js
@@ -0,0 +1,1194 @@
+/**
+ *
+ */
+
+/* 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);
+
+ $('#collapseLogic').on('hidden.bs.collapse', function () {
+ $("#showLogic").html('Mostra pannello');
+ $("#collapseAdvanced").collapse('hide');
+ })
+
+ $('#collapseLogic').on('shown.bs.collapse', function () {
+ $("#showLogic").html('Nascondi pannello');
+ $("#collapseAdvanced").collapse('show');
+ })
+
+ $('#collapseOptions').on('hidden.bs.collapse', function () {
+ $("#showOptions").html('Mostra Opzioni');
+ })
+
+ $('#collapseOptions').on('shown.bs.collapse', function () {
+ $("#showOptions").html('Nascondi Opzioni');
+ })
+
+ $('#searchToggle').on('change', function() {
+ if ($(this).prop('checked')) {
+ queryJson.QueryAvanzata = "1";
+ $("#simpleSearchDiv").removeClass( "d-flex" )
+ $("#simpleSearchDiv").attr('style', "display: none;");
+ $("#collapseOptions").collapse('hide');
+ $("#advancedSearchDiv").addClass( "d-flex" )
+ $("#advancedSearchDiv").attr('style', "display: flex;");
+ $("#collapseAdvanced").collapse('show');
+ $("#collapseLogic").collapse('show');
+ } else {
+ queryJson.QueryAvanzata = "0";
+ $("#collapseAdvanced").collapse('hide');
+ $("#advancedSearchDiv").removeClass( "d-flex" )
+ $("#advancedSearchDiv").attr('style', "display: none;");
+ $("#simpleSearchDiv").addClass( "d-flex" )
+ $("#simpleSearchDiv").attr('style', "display: flex;");
+ };
+ });
+
+ // 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: modifica di un campo clausole
+ $("form #lemma_forma,#queryText,#opzioni_testo").on('change', function() {
+ refreshClaList();
+ });
+
+ $('#cla-TabContent').on('change', '.monMe', function() {
+ refreshClaList();
+ });
+
+ // Evento: click sull'icona rimuovi clausola
+ $('#cla-TabContent').on('click', '.removeCla', function() {
+ var claListItemId = $(this).closest('li').attr('id');
+ var claIdNum = claListItemId.substr(6);
+ claListLen--;
+ $("#" + claListItemId)[0].remove();
+ delete queryJson["Clausola" + claIdNum];
+ refreshClaList();
+ refreshSortables();
+ });
+
+ // Evento: click sull'icona rimuovi condizione
+ $('#sortable0').on('click', '.removeCond', function() {
+ $(this).closest('ul').parent().remove();
+ condListLen--;
+ refreshSortables();
+ refreshConnectWith();
+ if (claListLen == 0 && condListLen == 0) {
+ $('#sortable0').html(emptyClaList);
+ }
+ });
+
+ // 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();
+ refreshSortables();
+ });
+
+ // Evento: clausola spostata nella lista
+ $('#sortable0').sortable({
+ opacity: 0.6,
+ cursor: 'move',
+ update: function() {
+ refreshSortables();
+ }
+ });
+
+ // Evento: click sul checkbox di attivazione/disattivazione 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 iconReset = '
';
+ var iconCloseCond = '
';
+ var emptyClaList = '
Nessuna clausola aggiunta.
';
+
+ 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 = '