diff --git a/js/NikBrowseSearchCombinedNew.js b/js/NikBrowseSearchCombinedNew.js
index e5e74cd..da46873 100644
--- a/js/NikBrowseSearchCombinedNew.js
+++ b/js/NikBrowseSearchCombinedNew.js
@@ -23,7 +23,8 @@ $(document).ready(function() {
$("#cla_Grammaticale").attr('style', "display: none;");
$("#cla-Sintattico").attr('style', "display: none;");
-
+ $("#filtri").attr('style', "display: none;");
+
$('.tabs__menu-item').on('click', function() {
$(this).addClass('bg-white').addClass('red');
$(this).siblings().removeClass('bg-white').removeClass('red');
@@ -92,6 +93,8 @@ $(document).ready(function() {
$("#DoveInferno").attr('style', "display: none;");
$("#cla_Grammaticale").attr('style', "display: none;");
$("#cla-Sintattico").attr('style', "display: none;");
+ $("#filtri").attr('style', "display: none;");
+
});
@@ -106,6 +109,7 @@ $(document).ready(function() {
$("#cla_Grammaticale").attr('style', "display: none;");
$("#DoveInferno").attr('style', "display: block;");
$("#cla-Sintattico").attr('style', "display: none;");
+ $("#filtri").attr('style', "display: none;");
});
jQuery(document).delegate('#tab_grammaticale', 'click', function(e) {
@@ -119,6 +123,7 @@ $(document).ready(function() {
$("#DoveInferno").attr('style', "display: none;");
$("#cla_Grammaticale").attr('style', "display: block;");
$("#cla-Sintattico").attr('style', "display: none;");
+ $("#filtri").attr('style', "display: none;");
});
@@ -133,6 +138,7 @@ $(document).ready(function() {
$("#DoveInferno").attr('style', "display: none;");
$("#cla_Grammaticale").attr('style', "display: none;");
$("#cla-Sintattico").attr('style', "display: block;");
+ $("#filtri").attr('style', "display: none;");
});
@@ -146,7 +152,8 @@ $(document).ready(function() {
$("#cla-TabContent").attr('style', "display: none;");
$("#DoveInferno").attr('style', "display: none;");
$("#cla_Grammaticale").attr('style', "display: none;");
- $("#cla-Sintattico").attr('style', "display: block;");
+ $("#cla-Sintattico").attr('style', "display: none;");
+ $("#filtri").attr('style', "display: block;");
});
@@ -274,6 +281,109 @@ $(document).ready(function() {
return true;
}
+
+ jQuery(document).delegate('a.set-filterGram', 'click', function(e) {
+ e.preventDefault();
+
+ var content = jQuery('#filtro'),
+ size = jQuery('#filtri >div').length + 1,
+ element = null,
+ element = content.clone();
+ if (size == 1) {
+ filterconditions = 1;
+ jQuery('#filtri').attr('style', "display:block;")
+ }
+ else
+ filterconditions = filterconditions + 1;
+
+ let filtroId = 'filtro-' + filterconditions;
+ element.attr('id', filtroId);
+ element.find('.delete-written-filter').attr('target', filtroId);
+ element.find('.edit-written-filter').attr('target', filtroId);
+
+ //trasformo il filtro espresso nella clausola in un oggetto JSON
+
+ //var condizioni = $("#filterform").serialize().split('&');
+ //alert (condizioni)
+
+
+ // Creare Condizioni
+
+ var categoriaSelectedValue = $('select.catgram').val(); // categoria grammaticale
+ var lemma_formaValue = $('#lemma_forma').val();
+ var queryText = $('#queryText').val();
+ var opzioni_testoValue = $('#opzioni_testo').val();
+
+ var cla1DiatesiValue = $('input[name=cla1Diatesi]:checked', '#dettaglifiltriVerboVolgare').val(); //$('#cla1Diatesi').val();
+ // alert(cla1DiatesiValue)
+
+ var condizioni = ["lemma_forma="+lemma_formaValue+",query="+queryText+",categoria="+categoriaSelectedValue+",Genere=Femminile"];
+
+ filtro = {}
+ $('.dettaglifiltriVerboVolgare').attr('style', "display:none;")
+ $('.dettaglifiltriSostantivoVolgare').attr('style', "display:none;")
+ $('.savecondition').attr('style', "display:none;")
+
+ for (cond in condizioni) {
+
+ liscond = condizioni[cond].split('=')
+ if (liscond[1].trim() != '' & liscond[1].trim() != liscond[0].trim())
+ filtro[liscond[0]] = liscond[1].replaceAll('%20', ' ')
+ }
+
+
+ //mostro il filtro nella GUI
+ let tuttiFiltri = "";
+ var keys = Object.keys(filtro)//condizioniFiltro)
+ for (key in keys) {
+ var dlclass = $('
'),
+ dtclass = $(''),
+ ddclass = $('');
+ tuttiFiltri = tuttiFiltri + filtro[[keys[key]]] + ", ";
+ }
+ //element.find('.listacondizioni').append(dlclass);
+ let virgola = tuttiFiltri.lastIndexOf(',');
+ //tuttiFiltri = tuttiFiltri.substring(0, virgola);
+ tuttiFiltri = condizioni;
+ let txtAreaFiltri = '"
+ ddclass.append(txtAreaFiltri);
+ dlclass.append(dtclass);
+ dlclass.append(ddclass);
+ element.find('.listacondizioni').append(dlclass);
+ element.attr('style', 'display.block');
+ element.appendTo('#filtri');
+
+ if (size > 1) {
+ element.find('.andorconditions').attr('style', 'display.block');
+ }
+
+ //$('a.remove-filter').trigger('click');
+ var targetDiv = jQuery(this).attr('targetfilter');
+
+ rmel = jQuery('#' + targetDiv)
+ rmeldetail = jQuery('#' + 'dettaglio_' + targetDiv)
+ jQuery(rmel).remove();
+ jQuery(rmeldetail).remove();
+ clausolaVisibile = false;
+
+ //aggiungo il filtro a quelli esistenti nel json
+
+ filtro['tipoClausola'] = tipoClausola
+ var clausolaquery = $("#searchValue").val()
+ filtro['query'] = clausolaquery.trim();
+
+ // eventualmente le 2 seguenti non funzionano Nicola
+ // checkedField = $('#lemma_forma').val();
+ // filtro['lemma_forma'] = checkedField
+
+ condizioniFiltro['filtro-' + filterconditions] = filtro
+
+
+ return true;
+ });
+
// Da Luca
var iconReset = '
';
diff --git a/js/cesareBrowse.js b/js/cesareBrowse.js
index 64874f9..79c1cc6 100644
--- a/js/cesareBrowse.js
+++ b/js/cesareBrowse.js
@@ -3,448 +3,363 @@
*/
$(document).ready(function() {
- const cantobadgeclass='badge badge-outline-info badge-pill'
+ const cantobadgeclass = 'badge badge-outline-info badge-pill'
const sparqlGenerator = sparqljs.Generator;
const myEngine = new Comunica.QueryEngine();
const sparqlEndpoint = "https://hdnlab1.isti.cnr.it/fuseki/commediaontosintgra/query";
- //const sparqlEndpoint = "https://hdnlab1.isti.cnr.it/fuseki/hdntest/query";
- var primaCanticaLoaded = false;
- var secondaCanticaLoaded = false;
- var terzaCanticaLoaded = false;
+
var listaVersi = new Set()
- const ddmenus={"Inferno":"#dmc1",
- "Purgatorio": "#dmc2",
- "Paradiso": "#dmc3"}
+ const ddmenus = {
+ "Inferno": "#dmc1",
+ "Purgatorio": "#dmc2",
+ "Paradiso": "#dmc3"
+ }
+
+ var currentMinimap = ''
+ var listarisultati = [];
+
+
+ hideMinimap();
+ showCantica('Inferno')
- var currentMinimap=''
+ $('#cantica2').css({ 'opacity': 0.40 });
+ $('#cantica3').css({ 'opacity': 0.40 });
+ $("#CantiInferno").attr('style', 'display:block')
+ $("#InfernoCanto_1").attr('style', 'display:block')
+ showCantica('Purgatorio')
+ showCantica('Paradiso')
+
//caricamento prima cantica
$('#cantica1').on('click', function() {
- hideMinimap();
- activateMenuItem('#cantica1')
- if (!(primaCanticaLoaded)) {
-
- //jsonQuery = versiCantica("Inferno");
- //execQuery = new sparqlGenerator().stringify(jsonQuery);
- //executeQueryVersi(execQuery);
- showCantica('Inferno')
- primaCanticaLoaded = true;
- $(".labelCantica").attr('style', "display: block;");
- }
- else {
- //$("#InfernoCanto_1").attr('style', 'display:block')
- $("#CantiInferno").attr('style', 'display:block')
-
- }
-
-
+ $("#CantiInferno").attr('style', 'display:block')
+ $('#cantica1').css({ 'opacity': 1 });
+ $('#cantica2').css({ 'opacity': 0.40 });
+ $('#cantica3').css({ 'opacity': 0.40 });
});
//caricamento seconda cantica
$('#cantica2').on('click', function() {
- hideMinimap();
- activateMenuItem('#cantica2')
- if (!(secondaCanticaLoaded)) {
-
- //jsonQuery = versiCantica("Purgatorio");
- //execQuery = new sparqlGenerator().stringify(jsonQuery);
- //executeQueryVersi(execQuery);
- showCantica('Purgatorio')
- secondaCanticaLoaded = true;
- $(".labelCantica").attr('style', "display: block;");
- }
- else {
- //$("#PurgatorioCanto_1").attr('style', 'display:block')
- $("#CantiPurgatorio").attr('style', 'display:block')
-
- }
-
+ //hideMinimap();
+ $("#CantiPurgatorio").attr('style', 'display:block')
+ $('#cantica1').css({ 'opacity': 0.40 });
+ $('#cantica2').css({ 'opacity': 1 });
+ $('#cantica3').css({ 'opacity': 0.40 });
});
//caricamento terza cantica
$('#cantica3').on('click', function() {
- hideMinimap();
- activateMenuItem('#cantica3')
- if (!(terzaCanticaLoaded)) {
- showCantica('Paradiso')
- terzaCanticaLoaded = true;
- $(".labelCantica").attr('style', "display: block;");
+ //hideMinimap();
+ $("#CantiParadiso").attr('style', 'display:block')
+ $('#cantica1').css({ 'opacity': 0.40 });
+ $('#cantica2').css({ 'opacity': 0.40 });
+ $('#cantica3').css({ 'opacity': 1 });
+ });
+ var mmih = 0
+ var mmiw = 0
+ var minimapScrolling = false;
+ var displayId = 'displaycanto'
+ var minimapTopPos;
+
+ $("#" + displayId).scroll(function() {
+ if (minimapScrolling) {
+ minimapScrolling = false
+ console.log('no scroll')
}
else {
- //$("#ParadisoCanto_1").attr('style', 'display:block')
- $("#CantiParadiso").attr('style', 'display:block')
-
+ console.log('yes scrolling')
+ console.log("viewer top pos before: " + $('#minimapviewer').offset().top)
+ trackScrollCanto()
+ console.log("viewer top pos after: " + $('#minimapviewer').offset().top)
}
-
-
});
- var mmih=0
- var mmiw=0
- var minimapScrolling=false;
- var displayId='displaycanto'
- var minimapTopPos;
- $( "#"+displayId).scroll(function() {
- if (minimapScrolling){
- minimapScrolling=false
- console.log ('no scroll')
- }
- else{
- console.log ('yes scrolling')
- console.log("viewer top pos before: "+$('#minimapviewer').offset().top)
- trackScrollCanto()
- console.log("viewer top pos after: "+$('#minimapviewer').offset().top)
- }
- });
-
-
+
+
jQuery(document).delegate('.navig-canto', 'click', function(e) {
$('.canto').each(function() {
$(this).attr("style", 'display:none');
});
+ // Crea id per la div che contiene il canto
$("#" + $(this).attr('name').replace(" ", "_")).attr('style', 'display:block')
+ manageMiniMap(this);
- mmiw=$("#"+displayId).innerWidth();
- mmih=$("#"+displayId).innerHeight();
-
- showMinimap($(this).attr('name').replace(" ", "_"))
-
- currentMinimap=$(this).attr('name').replace(" ", "_");
+ });
+
+ function manageMiniMap(divElem) {
+ mmiw = $("#" + displayId).innerWidth();
+ mmih = $("#" + displayId).innerHeight();
+
+ showMinimap($(divElem).attr('name').replace(" ", "_"))
+ currentMinimap = $(divElem).attr('name').replace(" ", "_");
+
//mmviewer diventa draggable
- minimapTopPos=$('#minimapviewer').offset().top
- console.log("top viewer init "+minimapTopPos)
-
- $('#minimapviewer').draggable({
- axis: "y",
- containment : $('#displayminimap'),
- scroll : false,
- stop: function( event, ui ) {minimapScrolling=true;},
- stop: function( event, ui ) {minimapScrolling=false;},
- drag: function( event, ui ) {
-
- minimapScrolling=true;
- trackScrollViewer(ui.offset.top-minimapTopPos);
- //trackScrollViewer(ui.offset.top);
- console.log(ui);
- //document.getElementById(displayId).style.transform=`translateY(${viewer.scrollTop * realScale}px)`;
- }
- });
-
- //$('#minimapviewer').on('drag', trackScrollViewer)
+ minimapTopPos = $('#minimapviewer').offset().top
+ console.log("top viewer init " + minimapTopPos)
+
+ $('#minimapviewer').draggable({
+ axis: "y",
+ containment: $('#displayminimap'),
+ scroll: false,
+ stop: function(event, ui) { minimapScrolling = true; },
+ stop: function(event, ui) { minimapScrolling = false; },
+ drag: function(event, ui) {
+
+ minimapScrolling = true;
+ trackScrollViewer(ui.offset.top - minimapTopPos);
+ console.log(ui);
+ }
+ });
+ }
+
+ //Query
+
+
+ jQuery(document).delegate('#searchcomm', 'click', function(e) {
+ cleanSearchResult()
+ esprlogica = []
+
+ esprlogica.push('Clausola1')
+ condizioni = { "EsprLogica": esprlogica }
+ clausola = {}
+ clausola['typeGramm0'] = $('#queryText').val()
+ clausola['queryText'] = ""
+ condizioni['Clausola1'] = clausola
+ jsonQuery = buildSQ(condizioni)
+ myquery = new sparqlGenerator().stringify(jsonQuery)
+
+ executeQuerySearch(myquery)
+ });
+
+ //Reset
+
+ jQuery(document).delegate('#cleanresult', 'click', function(e) {
+ console.log('clean')
+ cleanSearchResult()
+ esprlogica = []
+ $('#queryText').val("")
});
- //Query
-
-
- //$('#searchcomm').on('click', function() {
- jQuery(document).delegate('#searchcomm', 'click', function(e) {
-
- cleanSearchResult()
- esprlogica=[]
-
- esprlogica.push('Clausola1')
- condizioni={"EsprLogica": esprlogica}
- clausola={}
- clausola['typeGramm0']=$('#queryText').val()
-
-
-
- clausola['queryText']=""
- condizioni['Clausola1']=clausola
- jsonQuery=buildSQ(condizioni)
- myquery =new sparqlGenerator().stringify(jsonQuery)
-
- executeQuerySearch(myquery)
-
-
-
-});
-
-//Reset
-
-jQuery(document).delegate('#cleanresult', 'click', function(e) {
- console.log('clean')
- cleanSearchResult()
- esprlogica=[]
- $('#queryText').val("")
-
-});
-
//Utility functions
- //activate navigation menu items
-
- function activateMenuItem(menuItem) {
- //$('.blog-nav-item').each(function() {
- // $(this).attr("class", $(this).attr("class").replace(' active', ''));
- //});
- //$(menuItem).attr("class", $(menuItem).attr("class") + ' active');
- }
-
-
-
-
function managePunctuation(stringa) {
- var tempstringa=stringa.replaceAll(" ,", ",")
- tempstringa=tempstringa.replaceAll(" .", ".")
- tempstringa=tempstringa.replaceAll(" :", ":")
- tempstringa=tempstringa.replaceAll(" !", "!")
- tempstringa=tempstringa.replaceAll(" ?", "?")
- tempstringa=tempstringa.replaceAll(" ;", ";")
- tempstringa=tempstringa.replaceAll("%20", " ")
+ var tempstringa = stringa.replaceAll(" ,", ",")
+ tempstringa = tempstringa.replaceAll(" .", ".")
+ tempstringa = tempstringa.replaceAll(" :", ":")
+ tempstringa = tempstringa.replaceAll(" !", "!")
+ tempstringa = tempstringa.replaceAll(" ?", "?")
+ tempstringa = tempstringa.replaceAll(" ;", ";")
+ tempstringa = tempstringa.replaceAll("%20", " ")
return tempstringa
}
- function cleanSearchResult(){
-
- for (verso of listarisultati){
- idverso='#'+verso
- //console.log(idverso)
- //$(idverso).attr('class', 'f6 font-weight-lighter')
- $(idverso).attr('class', 'f6text-secondary text-nowrap font-weight-lighter')
- }
- $( ".badge" ).remove();
- listarisultati=[]
- if (currentMinimap!='')
- showMinimap(currentMinimap)
- }
+ function cleanSearchResult() {
-
+ for (verso of listarisultati) {
+ idverso = '#' + verso
+ $(idverso).attr('class', 'f6text-secondary text-nowrap font-weight-lighter')
+ }
+ $(".badge").remove();
+ listarisultati = []
+ if (currentMinimap != '')
+ showMinimap(currentMinimap)
+ }
//minimap management
let minimap = document.createElement('div');
let minimapSize = document.createElement('div');
let viewer = document.createElement('div');
let minimapContent = document.createElement('iframe');
- let scale=0.1;
+ let scale = 0.1;
let realScale;
- let mappedElement=''
-
- function showMinimap(element) {
-
+ let mappedElement = '';
- mmplace=document.getElementById('displayminimap')
- //mmplace=document.getElementById('displaycanto')
-
+ function showMinimap(element) {
+ mmplace = document.getElementById('displayminimap')
minimap.className = 'minimap__container'
minimapSize.className = 'minimap__size'
viewer.className = 'minimap__viewer'
- viewer.id='minimapviewer'
+ viewer.id = 'minimapviewer'
minimapContent.className = 'minimap__content'
- //class="col-3 px-0"
minimap.append(minimapSize, viewer, minimapContent);
-
- //document.body.appendChild(minimap)
+
mmplace.appendChild(minimap)
-
-
+
let html = document.getElementById(element).outerHTML//innerHTML
- //console.log(html)
- if (html==null | html=='')
+ if (html == null | html == '')
return;
-
+
let iFrameDoc = minimapContent.contentWindow.document;
-
-
var cssLinkb = document.createElement("link");
cssLinkb.href = "https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/css/bootstrap.min.css";
- cssLinkb.rel = "stylesheet";
+ cssLinkb.rel = "stylesheet";
cssLinkb.type = "text/css";
-
+
var cssLinkscroll = document.createElement("link");
cssLinkscroll.href = "./css/browsingldc.css";
- cssLinkscroll.rel = "stylesheet";
+ cssLinkscroll.rel = "stylesheet";
cssLinkscroll.type = "text/css";
-
+
iFrameDoc.open();
iFrameDoc.write(html);
iFrameDoc.close();
-
+
iFrameDoc.head.appendChild(cssLinkb);
iFrameDoc.head.appendChild(cssLinkscroll);
- mappedElement=element
-
+ mappedElement = element
+
getDimensionsDiv()
-
+
window.addEventListener('scroll', trackScroll)
-
-
- //document.getElementById(displayId).addEventListener('resize', getDimensionsDiv)
-
window.addEventListener('resize', getDimensionsDiv)
-
}
-
-
-
- function getDimensions(){
- cantoplace=document.getElementById(displayId)
- let bodyWidth= cantoplace.clientWidth;
- let bodyRatio= bodyWidth/cantoplace.clientHeight
+
+
+/*
+ function getDimensions() {
+ cantoplace = document.getElementById(displayId)
+ let bodyWidth = cantoplace.clientWidth;
+ let bodyRatio = bodyWidth / cantoplace.clientHeight
//let winRatio=cantoplace.clientWidth / getInnerHeight(cantoplace)
- let winRatio= window.innerHeight / window.innerWidth;
-
-
- minimap.style.width='55%';
- viewer.style.width='55%'
-
- realScale=minimap.clientWidth / bodyWidth;
-
- minimapSize.style.paddingTop=`${bodyRatio * 100}%`
- viewer.style.paddingTop=`${winRatio * 100}%`;
- minimapContent.style.transform=`scale(${realScale})`;
- minimapContent.style.width=`${(100/realScale)}%`;
- minimapContent.style.height=`${(100 / realScale)}%`;
-
- }
- function getInnerHeight( elm ){
- var computed = getComputedStyle(elm),
- padding = parseInt(computed.paddingTop) + parseInt(computed.paddingBottom);
+ let winRatio = window.innerHeight / window.innerWidth;
- return elm.clientHeight - padding
- }
- function getDimensionsDiv(){
-
-
- cantoplace=document.getElementById(displayId)
-
- elementplace=document.getElementById(mappedElement)
-
- bodyWidth= elementplace.clientWidth;
- bodyRatio= elementplace.clientHeight / bodyWidth;
- //let bodyWidth= cantoplace.clientWidth;
- //let bodyRatio= cantoplace.clientHeight / bodyWidth;
- //let winRatio= window.innerHeight / (window.innerWidth);
- let winRatio= getInnerHeight(cantoplace) / (cantoplace.clientWidth);
-
+
+ minimap.style.width = '55%';
+ viewer.style.width = '55%'
+
+ realScale = minimap.clientWidth / bodyWidth;
+
+ minimapSize.style.paddingTop = `${bodyRatio * 100}%`
+ viewer.style.paddingTop = `${winRatio * 100}%`;
+ minimapContent.style.transform = `scale(${realScale})`;
+ minimapContent.style.width = `${(100 / realScale)}%`;
+ minimapContent.style.height = `${(100 / realScale)}%`;
+
+ }*/
+ function getInnerHeight(elm) {
+ var computed = getComputedStyle(elm),
+ padding = parseInt(computed.paddingTop) + parseInt(computed.paddingBottom);
+
+ return elm.clientHeight - padding
+ }
+
+ function getDimensionsDiv() {
+ cantoplace = document.getElementById(displayId)
+ elementplace = document.getElementById(mappedElement)
+
+ bodyWidth = elementplace.clientWidth;
+ bodyRatio = elementplace.clientHeight / bodyWidth;
+
+ let winRatio = getInnerHeight(cantoplace) / (cantoplace.clientWidth);
+
//minimap.style.width='15%';
- minimap.style.width='100%';
-
-
- realScale=minimap.clientWidth / bodyWidth;
-
- minimapSize.style.paddingTop=`${bodyRatio * 100}%`
- viewer.style.paddingTop=`${winRatio * 100}%`;
- minimapContent.style.transform=`scale(${realScale})`;
- minimapContent.style.width=`${(100/realScale)}%`;
- minimapContent.style.height=`${(100 / realScale)}%`;
+ minimap.style.width = '100%';
+
+ realScale = minimap.clientWidth / bodyWidth;
+
+ minimapSize.style.paddingTop = `${bodyRatio * 100}%`
+ viewer.style.paddingTop = `${winRatio * 100}%`;
+ minimapContent.style.transform = `scale(${realScale})`;
+ minimapContent.style.width = `${(100 / realScale)}%`;
+ minimapContent.style.height = `${(100 / realScale)}%`;
//minimapContent.style.height=`100%`;
- minimapContent.style.float='right';
-
+ minimapContent.style.float = 'right';
+ }
- }
-
- function trackScroll(){
+ function trackScroll() {
//console.log(window.scrollY)
- viewer.style.transform=`translateY(${window.scrollY * realScale}px)`
+ viewer.style.transform = `translateY(${window.scrollY * realScale}px)`
}
- function trackScrollCanto(){
- console.log('cantoscrollT*realscale '+document.getElementById(displayId).scrollTop * realScale+' top: ' +document.getElementById(displayId).scrollTop )
- viewer.style.transform=`translateY(${document.getElementById(displayId).scrollTop * realScale}px)`
+ function trackScrollCanto() {
+ console.log('cantoscrollT*realscale ' + document.getElementById(displayId).scrollTop * realScale + ' top: ' + document.getElementById(displayId).scrollTop)
+ viewer.style.transform = `translateY(${document.getElementById(displayId).scrollTop * realScale}px)`
+ }
+ function trackScrollViewer(toppos) {
+ console.log('scrollMMView top*1/realScale: ' + toppos * (1 / realScale) + ' top pos: ' + toppos)
+ did = document.getElementById(displayId)
+ did.scrollTop = (toppos * (1 / realScale))
}
- function trackScrollViewer(toppos){
- console.log('scrollMMView top*1/realScale: '+toppos*(1/realScale)+' top pos: '+toppos)
- did=document.getElementById(displayId)
-
- did.scrollTop=(toppos*(1/realScale))
-
-
- }
-
- function hideMinimap(){
+
+ function hideMinimap() {
$('.canto').each(function() {
$(this).attr("style", 'display:none');
});
- $( ".minimap__container" ).remove();
- currentMinimap=''
+ $(".minimap__container").remove();
+ currentMinimap = ''
}
- // fa diventare draggable il minimapviewer
-
- //end minimap management
//Cantica management functions
-
- function showCantica(cantica){
+
+ function showCantica(cantica) {
var listaCanti = new Set()
var setVersi = new Set()
- var listaVersi = []
- var listaForme =[]
- containerForme=formeterza
- if(cantica=='Inferno')
- containerForme=formeprima
- if(cantica=='Purgatorio')
- containerForme=formeseconda
- for (cmpItem of containerForme){
- formaItem=cmpItem[0].split("_")
- listaCanti=createDivCanti(listaCanti, cantica, 'Canto '+formaItem[1])
-
- var obj = new Object();
- var forma=new Object()
- setVersi=createDivVersi(setVersi, cantica, formaItem[3], 'Canto '+formaItem[1])
- /*
- obj.numverso = formaItem[3];
+
+ containerForme = formeterza
+ if (cantica == 'Inferno')
+ containerForme = formeprima
+ if (cantica == 'Purgatorio')
+ containerForme = formeseconda
+ for (cmpItem of containerForme) {
+ formaItem = cmpItem[0].split("_")
+ listaCanti = createDivCanti(listaCanti, cantica, 'Canto ' + formaItem[1])
+ var forma = new Object()
+ setVersi = createDivVersi(setVersi, cantica, formaItem[3], 'Canto ' + formaItem[1])
- obj.canto = 'Canto '+formaItem[1];
- obj.cantica = cantica;
- listaVersi.push(obj)
- */
-
forma.numverso = formaItem[3];
- forma.canto = 'Canto '+formaItem[1];
+ forma.canto = 'Canto ' + formaItem[1];
forma.pos = formaItem[2];
forma.form = formaItem[0];
forma.cantica = cantica;
createSpanForme(forma)
- //listaForme.push(forma)
}
- //renderData(cantica, listaCanti, listaVersi, listaForme);
return
}
- function createSpanForme(element){
- var spanoccorrenza=$('')
- var pos=parseInt(element.pos)
- spanoccorrenza.attr('id', element.cantica+"_"+ element.canto.replace(" ", "_")+"_"+element.numverso+"_"+pos)
- if (listarisultati.length>0 && listarisultati.includes(spanoccorrenza.attr('id')))
+ function createSpanForme(element) {
+ var spanoccorrenza = $('')
+ var pos = parseInt(element.pos)
+ spanoccorrenza.attr('id', element.cantica + "_" + element.canto.replace(" ", "_") + "_" + element.numverso + "_" + pos)
+ if (listarisultati.length > 0 && listarisultati.includes(spanoccorrenza.attr('id')))
spanoccorrenza.attr('class', "f6 mark ")
spanoccorrenza.append(element.form.replaceAll("%20", " "))
- elementoverso=$('#'+element.cantica+"_"+ element.canto.replace(" ", "_")+"_"+element.numverso)
+ elementoverso = $('#' + element.cantica + "_" + element.canto.replace(" ", "_") + "_" + element.numverso)
spanoccorrenza.appendTo(elementoverso)
elementoverso.append(' ')
-
+
}
- function createDivVersi(setVersi, cantica, num, canto){
- if(setVersi.has(cantica+"_"+num+"_"+canto))
+
+ function createDivVersi(setVersi, cantica, num, canto) {
+ if (setVersi.has(cantica + "_" + num + "_" + canto))
return setVersi
- else{
+ else {
var elementoverso = $('')
elementoverso.append(num + ". ")
elementoverso.attr("style", "line-height: 0.5em")
-
+
elementoverso.attr('class', 'f6 text-secondary text-nowrap font-weight-lighter')
- elementoverso.attr('id', cantica+"_"+ canto.replace(" ", "_")+"_"+num)
- elementoverso.appendTo('#' + cantica +canto.replace(" ", "_"))
- setVersi.add(cantica+"_"+num+"_"+canto)
+ elementoverso.attr('id', cantica + "_" + canto.replace(" ", "_") + "_" + num)
+ elementoverso.appendTo('#' + cantica + canto.replace(" ", "_"))
+ setVersi.add(cantica + "_" + num + "_" + canto)
return setVersi
}
-
+
}
-
- function createDivCanti(orderedListaCanti, cantica, canto){
- if (orderedListaCanti.has(canto)){
+
+ function createDivCanti(orderedListaCanti, cantica, canto) {
+ if (orderedListaCanti.has(canto)) {
return orderedListaCanti
}
var divcanto = $('')
var titolocanto = $('')
- titolocanto.append(cantica+", "+canto)
+ titolocanto.append(cantica + ", " + canto)
divcanto.attr('class', 'canto')
divcanto.attr('style', 'display:none')
divcanto.attr('id', (cantica + canto).replace(" ", "_"))
@@ -453,194 +368,105 @@ jQuery(document).delegate('#cleanresult', 'click', function(e) {
orderedListaCanti.add(canto)
return orderedListaCanti
}
-
- function renderData(cantica, listaCanti, listaVersi, listaForme){
- //var orderedListaCanti = Array.from(listaCanti)
- //orderedListaCanti = orderedListaCanti.sort((a, b) => {
- // return parseInt(a.split(" ")[1], 10)-parseInt(b.split(" ")[1], 10)
- //});
- //var orderedListaVersi = Array.from(listaVersi)
- //orderedListaVersi = orderedListaVersi.sort((a, b) => {
- // return parseInt(a.numverso, 10)-parseInt(b.numverso, 10)
-
- //});
-
- /*
- listaVersi = listaVersi.filter((value, index, self) =>
- index === self.findIndex((t) => (
- t.numverso === value.numverso && t.canto === value.canto && t.cantica===value.cantica
- ))
- )*/
-
- //var orderedListaForme = Array.from(listaForme)
- //orderedListaForme = orderedListaForme.sort((a, b) => {
- // return parseInt(a.pos, 10)-parseInt(b.pos, 10)
-
- //});
-
- //var divListaCanti = $('')
- /*
- for (canto of orderedListaCanti) {
-
-
- var divcanto = $('')
- var titolocanto = $('')
- titolocanto.append(cantica+", "+canto)
- divcanto.attr('class', 'canto')
- divcanto.attr('style', 'display:none')
- divcanto.attr('id', (cantica + canto).replace(" ", "_"))
- titolocanto.appendTo(divcanto)
- divcanto.appendTo(' .blog-main')
- }
- */
- //divListaCanti.appendTo('#listacanti')
- //divListaCanti.appendTo(ddmenus[cantica])
- /*
- for (verso of listaVersi) {
-
-
- var elementoverso = $('')
- //vartestoverso=verso.numverso;
- elementoverso.append(verso.numverso + ". ")
- elementoverso.attr("style", "line-height: 0.5em")
-
- elementoverso.attr('class', 'f6 text-secondary text-nowrap font-weight-lighter')
- //elementoverso.attr('class', 'f6 font-weight-lighter nowrap')
- elementoverso.attr('id', verso.cantica+"_"+ verso.canto.replace(" ", "_")+"_"+verso.numverso)
- elementoverso.appendTo('#' + cantica + verso.canto.replace(" ", "_"))
-
- }
- */
- listaForme.forEach((element) => {
- var spanoccorrenza=$('')
- var pos=parseInt(element.pos)
- spanoccorrenza.attr('id', element.cantica+"_"+ element.canto.replace(" ", "_")+"_"+element.numverso+"_"+pos)
- if (listarisultati.length>0 && listarisultati.includes(spanoccorrenza.attr('id')))
- spanoccorrenza.attr('class', "f6 mark ")
- spanoccorrenza.append(element.form)
- elementoverso=$('#'+element.cantica+"_"+ element.canto.replace(" ", "_")+"_"+element.numverso)
- spanoccorrenza.appendTo(elementoverso)
- elementoverso.append(' ')
- })
-
- }
+
// Search functions
-
- async function executeQueryVersi(query) {
+/* async function executeQueryVersi(query) {
bindingsStream = await myEngine.queryBindings(query, { sources: [{ type: 'sparql', value: sparqlEndpoint },], });
alert(query)
try {
var listaCanti = new Set()
-
+
listaVersi = new Set()
listaForme = new Set()
let cantica = 0;
bindingsStream.on('data', (binding) => {
- //cantica
- cantica = binding.get('Cantica').value;
- //la lista dei canti
- listaCanti.add(binding.get('Canto').value)
- //la lista dei versi
- var obj = new Object();
- var forma=new Object()
- obj.numverso = binding.get('NumeroVerso').value;
- obj.verso = binding.get('Verso').value;
- obj.canto = binding.get('Canto').value;
- //obj.pos = binding.get('pos').value;
- //obj.form = binding.get('textform').value;
- obj.cantica = cantica;
- listaVersi.add(obj)
- forma.numverso = binding.get('NumeroVerso').value;
- forma.canto = binding.get('Canto').value;
- forma.pos = binding.get('pos').value;
- forma.form = binding.get('textform').value;
- forma.cantica = cantica;
-
- listaForme.add(forma)
-
+ //cantica
+ cantica = binding.get('Cantica').value;
+ //la lista dei canti
+ listaCanti.add(binding.get('Canto').value)
+ //la lista dei versi
+ var obj = new Object();
+ var forma = new Object()
+ obj.numverso = binding.get('NumeroVerso').value;
+ obj.verso = binding.get('Verso').value;
+ obj.canto = binding.get('Canto').value;
+ obj.cantica = cantica;
+ listaVersi.add(obj)
+ forma.numverso = binding.get('NumeroVerso').value;
+ forma.canto = binding.get('Canto').value;
+ forma.pos = binding.get('pos').value;
+ forma.form = binding.get('textform').value;
+ forma.cantica = cantica;
+
+ listaForme.add(forma)
+
});
bindingsStream.on('end', () => {
-
-
- var orderedListaCanti = Array.from(listaCanti)
- orderedListaCanti = orderedListaCanti.sort((a, b) => {
- return parseInt(a.split(" ")[1], 10)-parseInt(b.split(" ")[1], 10)
- //if (parseInt(a.split(" ")[1], 10) < parseInt(b.split(" ")[1]), 10) {
- // return -1;
- //}
- });
-
- var orderedListaVersi = Array.from(listaVersi)
-
- orderedListaVersi = orderedListaVersi.sort((a, b) => {
- return parseInt(a.numverso, 10)-parseInt(b.numverso, 10)
- //if (parseInt(a.numverso, 10) < parseInt(b.numverso, 10)) {
- // console.log(parseInt(a.numverso, 10)+' '+parseInt(b.numverso, 10))
- // return -1;
- //}
-
- });
-
-
- orderedListaVersi = orderedListaVersi.filter((value, index, self) =>
- index === self.findIndex((t) => (
- t.numverso === value.numverso && t.canto === value.canto && t.cantica===value.cantica
- ))
- )
-
-
-
- var orderedListaForme = Array.from(listaForme)
- orderedListaForme = orderedListaForme.sort((a, b) => {
- return parseInt(a.pos, 10)-parseInt(b.pos, 10)
- //if (parseInt(a.pos) < parseInt(b.pos)) {
- // return -1;
- //}
-
- });
-
- var divListaCanti = $('')
- for (canto of orderedListaCanti) {
- var licanto = $('')
- licanto.attr('name', cantica + canto)
- licanto.attr('href', "#")
- licanto.attr("style", "line-height: 1.2em")
- numcanto=canto.split(" ")[1]
- licanto.append(numcanto)
-
- //licanto.appendTo('#listacanti')
- licanto.appendTo(divListaCanti)
- var divcanto = $('')
- var titolocanto = $('')
- titolocanto.append(cantica+", "+canto)
- divcanto.attr('class', 'canto')
- divcanto.attr('style', 'display:none')
- divcanto.attr('id', (cantica + canto).replace(" ", "_"))
- titolocanto.appendTo(divcanto)
- divcanto.appendTo(' .blog-main')
- }
- //divListaCanti.appendTo('#listacanti')
- divListaCanti.appendTo(ddmenus[cantica])
- for (verso of orderedListaVersi) {
-
-
- var elementoverso = $('')
- vartestoverso=verso.numverso;
- elementoverso.append(verso.numverso + ". ")
- //elementoverso.append(verso.numverso + ". " + managePunctuation(verso.verso))
- elementoverso.attr("style", "line-height: 0.5em")
- elementoverso.attr('class', 'f6 font-weight-lighter nowrap')
- elementoverso.attr('id', verso.cantica+"_"+ verso.canto.replace(" ", "_")+"_"+verso.numverso)
- elementoverso.appendTo('#' + cantica + verso.canto.replace(" ", "_"))
-
- }
-
- orderedListaForme.forEach((element) => {
- var spanoccorrenza=$('')
+
+ var orderedListaCanti = Array.from(listaCanti)
+ orderedListaCanti = orderedListaCanti.sort((a, b) => {
+ return parseInt(a.split(" ")[1], 10) - parseInt(b.split(" ")[1], 10)
+ });
+
+ var orderedListaVersi = Array.from(listaVersi)
+
+ orderedListaVersi = orderedListaVersi.sort((a, b) => {
+ return parseInt(a.numverso, 10) - parseInt(b.numverso, 10)
+ });
+
+
+ orderedListaVersi = orderedListaVersi.filter((value, index, self) =>
+ index === self.findIndex((t) => (
+ t.numverso === value.numverso && t.canto === value.canto && t.cantica === value.cantica
+ ))
+ )
+
+
+ var orderedListaForme = Array.from(listaForme)
+ orderedListaForme = orderedListaForme.sort((a, b) => {
+ return parseInt(a.pos, 10) - parseInt(b.pos, 10)
+ });
+
+ var divListaCanti = $('')
+ for (canto of orderedListaCanti) {
+ var licanto = $('')
+ licanto.attr('name', cantica + canto)
+ licanto.attr('href', "#")
+ licanto.attr("style", "line-height: 1.2em")
+ numcanto = canto.split(" ")[1]
+ licanto.append(numcanto)
+
+ //licanto.appendTo('#listacanti')
+ licanto.appendTo(divListaCanti)
+ var divcanto = $('')
+ var titolocanto = $('')
+ titolocanto.append(cantica + ", " + canto)
+ divcanto.attr('class', 'canto')
+ divcanto.attr('style', 'display:none')
+ divcanto.attr('id', (cantica + canto).replace(" ", "_"))
+ titolocanto.appendTo(divcanto)
+ divcanto.appendTo(' .blog-main')
+ }
+ divListaCanti.appendTo(ddmenus[cantica])
+ for (verso of orderedListaVersi) {
+
+
+ var elementoverso = $('')
+ vartestoverso = verso.numverso;
+ elementoverso.append(verso.numverso + ". ")
+ elementoverso.attr("style", "line-height: 0.5em")
+ elementoverso.attr('class', 'f6 font-weight-lighter nowrap')
+ elementoverso.attr('id', verso.cantica + "_" + verso.canto.replace(" ", "_") + "_" + verso.numverso)
+ elementoverso.appendTo('#' + cantica + verso.canto.replace(" ", "_"))
+
+ }
+
+ orderedListaForme.forEach((element) => {
+ var spanoccorrenza=$('')
var pos=parseInt(element.pos)
spanoccorrenza.attr('id', element.cantica+"_"+ element.canto.replace(" ", "_")+"_"+element.numverso+"_"+pos)
if (listarisultati.length>0 && listarisultati.includes(spanoccorrenza.attr('id')))
@@ -649,8 +475,8 @@ jQuery(document).delegate('#cleanresult', 'click', function(e) {
elementoverso=$('#'+element.cantica+"_"+ element.canto.replace(" ", "_")+"_"+element.numverso)
spanoccorrenza.appendTo(elementoverso)
elementoverso.append(' ')
- })
-
+ })
+
});
@@ -659,75 +485,75 @@ jQuery(document).delegate('#cleanresult', 'click', function(e) {
console.log(err.message);
$("#loader").hide();
};
- };
-
+ };*/
+
//execute query
- var listarisultati=[];
+
async function executeQuerySearch(query) {
seachbBindingsStream = await myEngine.queryBindings(query, { sources: [{ type: 'sparql', value: sparqlEndpoint },], });
- console.log(query)
+ //console.log(query)
alert(query)
try {
var result = new Set()
- var resultsInCantica=[]
- var resultsInCanto=[]
+ var resultsInCantica = []
+ var resultsInCanto = []
seachbBindingsStream.on('data', (binding) => {
//cantica
cantica = binding.get('Cantica').value;
resultsInCantica.push(cantica);
//canto
- canto=binding.get('Canto').value;
- resultsInCanto.push(cantica+canto)
+ canto = binding.get('Canto').value;
+ resultsInCanto.push(cantica + canto)
//numero del verso
- numverso=binding.get('NumeroVerso').value;
+ numverso = binding.get('NumeroVerso').value;
//posizione delframmento
- pos=binding.get('pos').value;
- result.add(cantica+"_"+canto.replace(" ", "_")+"_"+numverso+"_"+pos)
+ pos = binding.get('pos').value;
+ result.add(cantica + "_" + canto.replace(" ", "_") + "_" + numverso + "_" + pos)
});
seachbBindingsStream.on('end', () => {
listarisultati = Array.from(result)
- cantiche=["Inferno", "Purgatorio", "Paradiso"]
-
+ cantiche = ["Inferno", "Purgatorio", "Paradiso"]
+
//evidenzia risultati
- for (ris of listarisultati){
- idris='#'+ris
+ for (ris of listarisultati) {
+ idris = '#' + ris
$(idris).attr('class', "f6 mark ")
-
+
}
//aggiunge badge con totale risultati accanto alle cantiche
- i=0
- for(cantica of cantiche){
- i+=1
+ i = 0
+ for (cantica of cantiche) {
+ i += 1
let count = resultsInCantica.reduce((n, x) => n + (x === cantica), 0);
- var spanbadgecantica=$('');
+ var spanbadgecantica = $('');
spanbadgecantica.attr('class', 'badge badge-primary badge-pill ml-1');
spanbadgecantica.append(count)
- spanbadgecantica.appendTo($('#cantica'+i))
+ spanbadgecantica.appendTo($('#cantica' + i))
}
//aggiunge badge con totale risultati accanto ai canti
-
- for(cantica of cantiche){
- for( k of Array(35).keys()){
- if (k==0)
+
+ for (cantica of cantiche) {
+ for (k of Array(35).keys()) {
+ if (k == 0)
continue
- let count = resultsInCanto.reduce((n, x) => n + (x === cantica+'Canto '+k), 0);
-
- var spanbadge=$('');
+ let count = resultsInCanto.reduce((n, x) => n + (x === cantica + 'Canto ' + k), 0);
+
+ var spanbadge = $('');
spanbadge.attr('class', cantobadgeclass);
spanbadge.append(count)
//$("[name='nameofobject']")
- spanbadge.appendTo($('[name="'+cantica+'Canto '+k+'"]'))
+ spanbadge.appendTo($('[name="' + cantica + 'Canto ' + k + '"]'))
//spanbadge.insertAfter($('[name="'+cantica+'Canto '+k+'"]'))
}
}
-
-
+
+
//aggiorna minimap
- if (currentMinimap!=''){
-
+ if (currentMinimap != '') {
+
showMinimap(currentMinimap)
-
+
}