diff --git a/js/script_Luk_Q.js b/js/script_Luk_Q.js index 0cd7790..827d1df 100644 --- a/js/script_Luk_Q.js +++ b/js/script_Luk_Q.js @@ -1,1050 +1,816 @@ -/** - * - */ + + + + + + LiDa Dashboard + + + + + + + + + + + + + + + + + + + + + + + + + -/* 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"); -*/ +
+

Linking Dante Search, sandbox release

+ "potrai cercare, e non troverai ombra" + (Inf., canto 32, verso 59) +
+
 
+
 
+
 
+
 
+
 
+
+
-$(document).ready(function() { - - $("#copiaTesto").prop("disabled", true); - - // Evento: click sul bottone di copia dei risultati testuali - $("#copiaTesto").on("click", function(){ - $("#risultatitesto").copy2clipboard(); - }); - - $("#copiaQuery").prop("disabled", true); - - $( "#sortable0" ).sortable({ - items: "> li", - handle: ".handle" - }); +
+
+
+ + +
+
+
+
+
+ +
+ + +
+
+ Applicando le clausole: +
+
+
AND
+
    +
  • Nessuna clausola aggiunta.
  • +
+
+
+ +
+ + +
+
+
+ +
+ + +
+
+
+
+
+ + +
+
+
+ + + +
+
+
+
+ + - // 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").on('change', function() { - refreshClaList(); - }); + + + - // Variabili testuali per compattezza - var iconEdit = ''; - var iconClose = ''; - var iconCheck = ''; - var iconFilter = ''; - var iconReset = '
'; - var iconCloseCond = '
' + iconClose + '
'; - var iconCheckAndClose = '
' + iconCheck + '  ' + iconClose + '
'; - var emptyClaList = '
  • Nessuna clausola aggiunta.
  • '; + - var claLIpart1 = '
  • \ -
    '; - var claLIpart3 = '
    \ -
    ' + iconEdit + '
    ' + 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 = '
    • AND
      ' + iconCloseCond + '
      ' + condLIplaceholderPart1; - var condLIpart2or = '" class="condLIor p-1 m-1 list-group-item align-items-center border text-muted bg-lida11">
        OR
        ' + iconCloseCond + '
        ' + condLIplaceholderPart1; - var condLIpart4 = condLIplaceholderPart2 + condLIplaceholderText2 + '
      '; - - - // Variabili funzionali - var tabID = 0; - var claListLen = 0; - var condListLen = 0; - var logicExprString = ``; - var guiLogicString = ``; - var execQuery = ``; - var queryFields = []; // Contiene le intestazioni di colonna della tabella dei risultati - var queryJson = JSON.parse('{"EsprLogica":"","LogicaGui":""}'); - queryJson.LiDaVersion = "1.0"; - queryJson.Clausola0 = JSON.parse('{"queryText": "", "lemma_forma": "lemma", "TipoClausola": "0", "Attiva": "0"}'); - - const myEngine = new Comunica.QueryEngine(); - const sparqlEndpoint = "https://hdnlab1.isti.cnr.it/fuseki/commediaontosintgra/query"; - - // Fine variabili - - - async function executeQuery(){ - $("#loader").show(); - bindingsStream = await myEngine.queryBindings(execQuery, { sources: [ { type: 'sparql', value: sparqlEndpoint }, ], }); - $("#sparqlquery").val(execQuery); - $("#copiaQuery").prop("disabled", false); - var resultTablePart1 = ''; - var resultTablePart2 = ''; - var resultTablePart3 = ''; - var resultTablePart4 = ''; - var resultTablePart5 = '
      #
      '; - var resultTable = ''; - var latestVerso = ''; - var latestResult = ''; - var rowNum = 1; - for (var i = 0; i < queryFields.length; i++) { - resultTablePart2 = resultTablePart2 + '' + queryFields[i] + ''; - }; - var resultTable = resultTablePart1 + resultTablePart2 + resultTablePart3; - $('#resultsId1').empty(); - $('#resultsId1').addClass("small pb-2") - $("#risultatitesto").empty(); - bindingsStream.on('data', (binding) => { - //console.log(binding.toString()); // Quick way to print bindings for testing - //console.log(binding.has('sub')); // Will be true - latestVerso = binding.get('Verso').value - latestResult = rowNum + '. "' + latestVerso.replace(binding.get('Forma').value, '*' + binding.get('Forma').value + '*') + '" (' + binding.get('Cantica').value + ', ' + binding.get('Canto').value + ', Verso ' + binding.get('NumeroVerso').value + ')\n'; - $("#risultatitesto").append(latestResult); - resultTablePart4 = '' + rowNum++ + ''; - for (var i = 0; i < queryFields.length; i++) { - resultTablePart4 = resultTablePart4 + '' + binding.get(queryFields[i]).value + ""; - }; - resultTable = resultTable + resultTablePart4 + ''; - $("#loader").hide(); - }); - bindingsStream.on('end', () => { - $("#loader").hide(); - resultTable = resultTable + resultTablePart5; - $("#resultsId1").append(resultTable); - $("#copiaTesto").prop("disabled", false); - $('#resultTable').DataTable( { - colReorder: true, - language: { - url: 'dataTables.it-IT.json' - }, - //dom: 'Blfrtip', - dom: "<'row'<'col-sm-12 col-md-6'l><'col-sm-6 col-md-3'f><'col-sm-6 col-md-3 text-right'B>>" + "<'row'<'col-sm-12'tr>>" + "<'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7'p>>", - buttons: [ 'copy', 'excel', 'print' ] - }); - setTimeout(function(){ - buttonDiv = $("#resultsId1").find(".buttons-copy"); - $('').insertBefore(buttonDiv); - },300); - }); - }; - - // Funzione di creazione del tab delle clausole grammaticali - function addGramCla(active){ - tabID++; - var clone = document.getElementById("tipogrammaticaleN").cloneNode(true); - clone.setAttribute("id","cla" + tabID); - clone.setAttribute("data-claActive",active); - clone.setAttribute("aria-labelledby","cla" + tabID + "-tab"); - clone.removeAttribute("style"); - $('#cla-TabContent').append(clone); - // se non cambio l'id della select react non rileva l'evento onchange: - $('#cla' + tabID + " #grammtypes").attr("id","grammtypes" + tabID); - claListLen++; - $('#tab-list').append($('')); - } - - // Funzione di creazione delle subclausole grammaticali basate sul valore scelto - function addCatgramSubcla(tabPaneId,selectedValue){ - var dettagliBox = $("#" + tabPaneId + " .dettaglifiltri"); - dettagliBox.html(""); - if (Object.keys(categorie).includes(selectedValue)) { - var filtro = categorie[selectedValue] - var keys = Object.keys(categorieJson[filtro]) - for (var key in keys) { - var vals = categorieJson[filtro][keys[key]] - switch (vals.length) { - case 2: - var element = $('
      '); - element.attr('class', ' d-flex flex-nowrap pr-2 mb-1 col-8 form-group form-control justify-content-between'); - var rbfieldset = $('
      '); - var flexdiv1 = $('
      '); - var flexdiv2 = $('
      '); - var input1 = $(''); - var input2 = $(''); - var label1 = $('
      +
      +
      +
      +
      +
       
      +
       
      +
       
      +
       
      +
       
      +
      +

      + Info & Copyright + (idem) +

      +
      +
  • + + + + + \ No newline at end of file