LiDa_Search/js/syntgraph.js

154 lines
4.2 KiB
JavaScript

/**
*
*/
import {Runtime, Library, Inspector} from "https://hdnlab1.isti.cnr.it/d3search/node_modules/commarcdiag/runtime.js";
import commarc from "https://hdnlab1.isti.cnr.it/d3search/node_modules/commarcdiag/index.js";
const iframe = document.getElementsByClassName("minimap__content");
const runtime1 = new Runtime(new Library(name => {
console.log('name' +name)
switch (name) {
case "d3@^5.8": return d3;
case "d3@^6.0": return d3;
}
}));
document.addEventListener("dblclick", function(e){
const target = e.target.closest("."+formaClass);
if(target){
if (locResetGraphStruct())
return
var hcontainer="#structCard0"
var main=runtime1.module(commarc, name => {
//if (name === "sentenceStructArcs_new") {
if (name === "sentenceArcsStructs_new") {
const structel = document.getElementsByClassName(lsentid);
console.log(structel[0].parentNode.getAttribute('value'))
var stid=lsentid.split('_')
var structid=stid[0]+'_'+stid[1]+'_'+structel[0].parentNode.getAttribute('value')
console.log(structid)
fillStructCard(structid);
return new Inspector(document.querySelector(hcontainer));
}
});
if (lisid!=''){
//var mywidth=document.getElementById('displaycanto').offsetWidth
console.log('here graph '+lisid+' '+lsentid)
main.redefine('width', 625);
main.redefine("lisid", lisid);
const structel = document.getElementsByClassName(lsentid);
var stid=lsentid.split('_')
var structid=stid[0]+'_'+stid[1]+'_'+structel[0].parentNode.getAttribute('value')
fillStructCard(structid)
var collection = document.getElementsByClassName(lsentid);
for (let i = 0; i < collection.length; i++) {
//collection[i].classList.add('font-weight-normal');
collection[i].classList.add('font-italic');
if (selectedVista!='frasi'){
var synttp=collection[i].className.split(" ")[1]
collection[i].style.color = colorssp(mapsynttypestopalette[synttp]);
}
//collection[i].style.removeProperty('color');
}
$('#tab-list #vis1-tab').tab('show')
updateMinimap(lsentid)
}
else
return
}
});
function resetMinimap(sentid){
//var iframe = document.getElementsByClassName("minimap__content");
var iframeDocument = iframe[0].contentDocument || iframe[0].contentWindow.document;
if (!iframeDocument) {
throw "iframe couldn't be found in DOM.";
}
var iframeSentence = iframeDocument.getElementsByClassName(sentid);
for (let i = 0; i < iframeSentence.length; i++) {
iframeSentence[i].classList.remove('font-italic');
if (selectedVista!='frasi')
iframeSentence[i].style.removeProperty('color');
iframeSentence[i].classList.remove('font-weight-normal');
}
}
function updateMinimap(sentid){
//var iframe = document.getElementsByClassName("minimap__content");
var iframeDocument = iframe[0].contentDocument || iframe[0].contentWindow.document;
if (!iframeDocument) {
throw "iframe couldn't be found in DOM.";
}
var iframeSentence = iframeDocument.getElementsByClassName(sentid);
for (let i = 0; i < iframeSentence.length; i++) {
iframeSentence[i].classList.add('font-italic');
if (selectedVista!='frasi'){
var synttp=iframeSentence[i].className.split(" ")[1]
iframeSentence[i].style.color = colorssp(mapsynttypestopalette[synttp]);
}
}
}
function locResetGraphStruct(){
var periodograph=document.getElementById("periodograph");
if (periodograph!=null){
let showngr=document.getElementById("periodograph").getAttribute('name').split("_")
var tmpsent=showngr[0]+"_"+showngr[1]+"_s_"+showngr[2]
periodograph.parentNode.removeChild(periodograph);
//var sentence = document.getElementsByClassName(lsentid);
var sentence = document.getElementsByClassName(tmpsent);
for (let i = 0; i < sentence.length; i++) {
//var matches = listaClausoleRisultato.filter(s => s.includes(sentence[i].classList[0]));
sentence[i].classList.remove('font-italic');
if (selectedVista!='frasi' && !listaPeriodiRisultato.includes(tmpsent))
sentence[i].style.removeProperty('color');
sentence[i].classList.remove('font-weight-normal');
}
resetMinimap(tmpsent)
emptyStructCard()
if (tmpsent==lsentid){
return true
}
return false
}
}