LiDa_Search/js/NikBrowseSearchCombinedNew.js

552 lines
20 KiB
JavaScript

/**
*
*/
$(document).ready(function() {
grammarconditions = 0
sintconditions = 0
filterconditions = 0
$('#apricerca').css({'opacity' : 0.25});
$('#lemma_forma').prop("disabled", true);
$('#opzioni_testo').prop("disabled", true);
$('#BottoneCerca').prop("disabled", true);
$('#tab_grammaticale').css({'opacity' : 0.40});
$('#tab_sintattica').css({'opacity' : 0.40});;
$('#close_dove').css({'opacity' : 0.40});
$("#cla-TabContent").attr('style', "display: block;");
$("#DoveInferno").attr('style', "display: none;");
$("#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');
});
var tabellaCanti ="";
jQuery(document).delegate('#cantica1', 'click', function(e) {
e.preventDefault();
$('.labelCantica span').html("Inferno");
$('#cantica2').css({'opacity' : 0.40});
$('#cantica3').css({'opacity' : 0.40});
$(this).css({'opacity' : 1});
return true;
});
jQuery(document).delegate('#cantica2', 'click', function(e) {
e.preventDefault();
$('.labelCantica span').html("Purgatorio");
$('#cantica1').css({'opacity' : 0.40});
$('#cantica3').css({'opacity' : 0.40});
$(this).css({'opacity' : 1});
return true;
});
jQuery(document).delegate('#cantica3', 'click', function(e) {
e.preventDefault();
$('.labelCantica span').html("Paradiso");
$('#cantica1').css({'opacity' : 0.40});
$('#cantica2').css({'opacity' : 0.40});
$(this).css({'opacity' : 1});
return true;
});
jQuery(document).delegate('#close_cerca', 'click', function(e) {
e.preventDefault();
$('#apricerca').css({'opacity' : 0.25});
$('#displaycanto').css('opacity', '1');
$('#PagineCanti').prop("disabled", false);
$('#PagineCanti').css('overflow', 'auto');
$('#tab_grammaticale').css({'opacity' : 0.40});
$('#tab_sintattica').css({'opacity' : 0.40});
$('#tab_riepilogo').css({'opacity' : 0.40});;
$('#close_dove').css({'opacity' : 0.40});
$('#close_cerca').css({'opacity' : 1});
$("#cla-TabContent").attr('style', "display: block;");
$("#DoveInferno").attr('style', "display: none;");
$("#cla_Grammaticale").attr('style', "display: none;");
$("#cla-Sintattico").attr('style', "display: none;");
$("#filtri").attr('style', "display: none;");
});
jQuery(document).delegate('#close_dove', 'click', function(e) {
e.preventDefault();
$('#tab_grammaticale').css({'opacity' : 0.40});
$('#tab_sintattica').css({'opacity' : 0.40});
$('#tab_riepilogo').css({'opacity' : 0.40});;
$('#close_dove').css({'opacity' : 1});
$('#close_cerca').css({'opacity' : 0.40});
$("#cla-TabContent").attr('style', "display: none;");
$("#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) {
e.preventDefault();
$('#tab_grammaticale').css({'opacity' : 1});
$('#tab_riepilogo').css({'opacity' : 0.40});;
$('#tab_sintattica').css({'opacity' : 0.40});;
$('#close_dove').css({'opacity' : 0.40});
$('#close_cerca').css({'opacity' : 0.40});
$("#cla-TabContent").attr('style', "display: none;");
$("#DoveInferno").attr('style', "display: none;");
$("#cla_Grammaticale").attr('style', "display: block;");
$("#cla-Sintattico").attr('style', "display: none;");
$("#filtri").attr('style', "display: none;");
});
jQuery(document).delegate('#tab_sintattica', 'click', function(e) {
e.preventDefault();
$('#tab_grammaticale').css({'opacity' : 0.40});
$('#tab_sintattica').css({'opacity' : 1});
$('#tab_riepilogo').css({'opacity' : 0.40});;
$('#close_dove').css({'opacity' : 0.40});
$('#close_cerca').css({'opacity' : 0.40});
$("#cla-TabContent").attr('style', "display: none;");
$("#DoveInferno").attr('style', "display: none;");
$("#cla_Grammaticale").attr('style', "display: none;");
$("#cla-Sintattico").attr('style', "display: block;");
$("#filtri").attr('style', "display: none;");
});
jQuery(document).delegate('#tab_riepilogo', 'click', function(e) {
e.preventDefault();
$('#tab_grammaticale').css({'opacity' : 0.40});
$('#tab_sintattica').css({'opacity' : 0.40});
$('#tab_riepilogo').css({'opacity' : 1});;
$('#close_dove').css({'opacity' : 0.40});
$('#close_cerca').css({'opacity' : 0.40});
$("#cla-TabContent").attr('style', "display: none;");
$("#DoveInferno").attr('style', "display: none;");
$("#cla_Grammaticale").attr('style', "display: none;");
$("#cla-Sintattico").attr('style', "display: none;");
$("#filtri").attr('style', "display: block;");
});
jQuery(document).delegate('#BottoneCerca', 'click', function(e) {
e.preventDefault();
$("#loader").show();
setTimeout(function() {
$("#loader").hide();
fakeResult();
}, 1000);
}
)
jQuery(document).delegate('a.selectInferno1', 'click', function(e) {
e.preventDefault();
//var areaText = $('#PagineCanti');
$('#displaycanto').css('opacity', '1');
$('#apricerca').css('opacity', '0.4');
$('#PagineCanti').highlightWithinTextarea({
highlight: 'paura',
className: 'red'
});
});
jQuery(document).delegate('#apricerca', 'click', function(e) {
e.preventDefault();
$(this).css('opacity', '1');
$('#displaycanto').css('opacity', '0.4');
//$('.labelVai span').html("Cerca in:");
$('#lemma_forma').prop("disabled", false);
$('#opzioni_testo').prop("disabled", false);
$('#BottoneCerca').prop("disabled", false);
$('#advanSW').prop('checked',false)
$(".risultatiRicerca").attr('style', "display: none;");
$('.labelRisultatoRicerca span').attr('style', "display:none;")
});
jQuery(document).delegate('#displaycanto', 'click', function(e) {
e.preventDefault();
$(this).css('opacity', '1');
$('#apricerca').css('opacity', '0.4');
//$('.labelVai span').html("Vai a:");
$('#lemma_forma').prop("disabled", true);
$('#opzioni_testo').prop("disabled", true);
$('#BottoneCerca').prop("disabled", true);
});
function fakeResult(){
$('#ResultCantiInferno').empty()
$('#ResultCantiPurgatorio').empty()
$('#ResultCantiParadiso').empty()
tabellaCanti ="";
tabellaCanti = tabellaCanti +
'<a class="f5 link dim br1 bn pa0 mb0 dib dark-red selectParadiso' + 20 +
'href="#0" data-added="0">'+'XX(3)'+'</a> ';
tabellaCanti = tabellaCanti +
'<a class="f5 link dim br1 bn pa0 mb0 dib dark-red selectParadiso' + 30 +
'href="#0" data-added="0">'+'XXX(2)'+'</a> ';
$('#ResultCantiParadiso').append(tabellaCanti);
$('#ResultCantiParadiso').attr('style', "display:block;")
$('.labelRisultatoParadiso span').attr('style', "display:block;")
tabellaCanti ="";
tabellaCanti = tabellaCanti +
'<a class="f5 link dim br1 bn pa0 mb0 dib dark-red selectPurgatorio' + 10 +
'href="#0" data-added="0">'+'X(4)'+'</a> ';
tabellaCanti = tabellaCanti +
'<a class="f5 link dim br1 bn pa0 mb0 dib dark-red selectPurgatorio' + 25 +
'href="#0" data-added="0">'+'XXV(2)'+'</a> ';
$('#ResultCantiPurgatorio').append(tabellaCanti);
$('#ResultCantiPurgatorio').attr('style', "display:block;")
$('.labelRisultatoPurgatorio span').attr('style', "display:block;")
tabellaCanti ="";
tabellaCanti = tabellaCanti +
'<a class="f5 link dim br1 bn pa0 mb0 dib dark-red selectInferno' + '1' +
' href="#0" data-added="0">'+'I(5)'+'</a> ';
tabellaCanti = tabellaCanti +
'<a class="f5 link dim br1 bn pa0 mb0 dib dark-red selectInferno' + '15' +
' href="#0" data-added="0">'+'XV(1)'+'</a> ';
$('#ResultCantiInferno').append(tabellaCanti);
$('#ResultCantiInferno').attr('style', "display:block;")
$('.labelRisultatoInferno span').attr('style', "display:block;")
$('.labelRisultatoRicerca span').attr('style', "display:block;")
$(".risultatiRicerca").attr('style', "display: block;");
$('#apricerca').css({'opacity' : 0.25});
$('.labelRisultatoParadiso').text("Paradiso (5)");
$('.labelRisultatoInferno').text("Inferno (6)");
$('.labelRisultatoPurgatorio').text("Purgatorio (6)");
$('#displaycanto').css('opacity', '1');
$('#PagineCanti').prop("disabled", false);
$('#PagineCanti').css('overflow', 'auto');
$('#occorrenze').attr('style', "display:block;")
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 = $('<dl class="flex mb0 pa0 f6 lh-title mv0" />'),
dtclass = $('<dt class="flex mb0 pa0 b mainflabel" />'),
ddclass = $('<dd class="flex mb0 pa0 ml0 gray mainfvalue"/>');
tuttiFiltri = tuttiFiltri + filtro[[keys[key]]] + ", ";
}
//element.find('.listacondizioni').append(dlclass);
let virgola = tuttiFiltri.lastIndexOf(',');
//tuttiFiltri = tuttiFiltri.substring(0, virgola);
tuttiFiltri = condizioni;
let txtAreaFiltri = '<textarea id = ' + 'textarea-' + filterconditions +
' readonly style="resize:none" class="flex mb0 pb0 bg-washed-blue bn" rows="3" cols="60" name="usrtxt" wrap="hard">' +
tuttiFiltri + "</textarea>"
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 = '<div class="text-right text-primary radioReset"><ion-icon name="refresh-circle"></ion-icon></div>';
var categorie = {
"verbovolgare": "filtriverbo",
"sostantivovolgare": "filtrisostantivo",
"pronomevolgare": "filtripronome",
"aggettivovolgare": "filtriaggettivo",
"articolovolgare": "filtriarticolo",
"avverbiovolgare": "filtriavverbio",
"preposizionevolgare": "filtripreposizione",
"congiunzionevolgare": "filtricongiunzione",
"onomasticavolgare": "filtrionomastica",
"citazionevolgare": "filtricitazione"
}
// 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 categorieJson = $.extend({}, verboJson, sostantivoJson, pronomeJson, aggettivoJson, articoloJson, avverbioJson, preposizioneJson, congiunzioneJson, onomasticacitazioneJson);
// Evento: SCELTA CATEGORIA GRAMMATICALE
$('select.catgram').on('change', function(e) {
e.preventDefault();
var selectedValue = $(this).val();
addCatgramSubcla(selectedValue);
});
// Funzione di creazione delle subclausole grammaticali basate sul valore scelto
function addCatgramSubcla(selectedValue){
switch (selectedValue) {
case "verbovolgare":
$('.dettaglifiltriVerboVolgare').attr('style', "display:block;")
$('.dettaglifiltriSostantivoVolgare').attr('style', "display:none;")
$('.savecondition').attr('style', "display:block;")
break;
case "sostantivovolgare":
$('.dettaglifiltriSostantivoVolgare').attr('style', "display:block;")
$('.savecondition').attr('style', "display:block;")
$('.dettaglifiltriVerboVolgare').attr('style', "display:none;")
break;
default:
text = "No value found";
}
}
});