Versione funzionante con condizioni logiche

This commit is contained in:
Luca Trupiano 2022-06-27 17:34:31 +02:00
parent e3db92f32f
commit 575a63e503
4 changed files with 2842 additions and 0 deletions

761
index_Luk.html Normal file
View File

@ -0,0 +1,761 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>LiDaDashboard-tab</title>
<base target="_self">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.1/normalize.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/css/bootstrap.min.css">
<link rel="stylesheet" href="https://code.jquery.com/ui/1.13.1/themes/base/jquery-ui.css">
<link rel="stylesheet" href="./css/custom.css">
<script src="https://code.jquery.com/jquery-3.6.0.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.bundle.min.js" integrity="sha384-fQybjgWLrvvRgtW6bFlB7jaZrFsaBXjsOMm/tB9LTS58ONXgqbR9W8oWht/amnpF" crossorigin="anonymous"></script>
<script src="https://code.jquery.com/ui/1.13.1/jquery-ui.js" defer></script>
<script type="text/javascript" src="./js/script_Luk.js"></script>
</head>
<body>
<div class="container pt-3 px-3 my-3 border bg-lidaBG1">
<h1 class="font-italic text-lida5">Linking Dante Search, sandbox release</h1>
<cite class="font-italic text-primary"> "potrai cercare, e non troverai ombra"</cite>
<cite class="font-italic text-secondary font-weight-lighter"> (Inf., canto 32, verso 59)</cite>
<div class="row align-items-end p-2 halfOpacity">
<div class="col bg-lida8">&nbsp;</div>
<div class="col bg-lida9">&nbsp;</div>
<div class="col bg-lida3">&nbsp;</div>
<div class="col bg-lida4">&nbsp;</div>
<div class="col bg-lida5">&nbsp;</div>
</div>
</div>
<div class="container border bg-light">
<div class="row">
<div class="col-md-12 p-2">
<ul class="nav nav-tabs" id="tab-list" role="tablist">
<li class="nav-item" role="presentation">
<a class="nav-link active" id="cla0-tab" data-toggle="tab" href="#cla0" role="tab" aria-controls="cla0" aria-selected="true"><span class="text-secondary"><ion-icon name="search-circle"></ion-icon></span><span class="text-dark font-weight-bold"> Ricerca</span></a>
</li>
</ul>
<form>
<div class="tab-content border-right border-left border-bottom" id="cla-TabContent">
<div class="tab-pane fade show active p-2 bg-white" id="cla0" role="tabpanel" aria-labelledby="cla0-tab">
<div class="form-inline input-group p-1" action="">
<div class="input-group-prepend">
<label class="input-group-text"><ion-icon name="document-text"></ion-icon></label>
</div>
<select class="form-control custom-select" id="lemma_forma">
<option>il lemma</option>
<option>la forma</option>
</select>
<input type="text" class="form-control" id="queryText" placeholder="stelle" aria-describedby="name-desc" name="query">
</div>
<div class="text-muted p-1">
Applicando le clausole:
</div>
<div class="container p-3" id="cla-list">
<ul id="sortable1" class="list-group ui-sortable">
<li class="list-group-item align-items-center ui-state-default ui-state-disabled border text-muted bg-white">Nessuna clausola aggiunta.</li>
</ul>
</div>
<p>
<div class="btn-group p-1" role="group" aria-label="Bottoni menu clausole">
<label class="input-group-text"><ion-icon name="filter-circle"></ion-icon></label>
<div class="btn-group dropright" role="group">
<button id="btnGroupDrop1" type="button" class="btn btn-sm btn-outline-danger dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Aggiungi clausola di tipo: </button>
<div class="dropdown-menu" aria-labelledby="btnGroupDrop1">
<a class="dropdown-item" id="Grammaticale" href="#"><span class="text-lida8">Categoria grammaticale</span></a>
<a class="dropdown-item" id="Sintattico" href="#"><span class="text-lida9">Tipo sintattico</span></a>
<a class="dropdown-item" id="Metafore" href="#"><span class="text-lida3">Metafore</span></a>
<a class="dropdown-item" id="Dialoghi" href="#"><span class="text-lida4">Dialoghi</span></a>
<a class="dropdown-item" id="Struttura" href="#"><span class="text-lida5">Struttura testo</span></a>
</div>
</div>
</div>
</p>
<div class="row p-1 align-items-end justify-content-between">
<div class="col">
<div class="btn-group" role="group" aria-label="Bottone ricerca">
<label class="input-group-text"><ion-icon name="search-circle"></ion-icon></label>
<button type="submit" class="btn btn-outline-primary">Cerca</button>
</div>
</div>
<div class="col text-right px-3">
<span class="border rounded p-1 pt-2"><ion-icon name="save-outline"></ion-icon> <ion-icon name="folder-open-outline"></ion-icon>
<ion-icon name="cloud-upload-outline"></ion-icon> <ion-icon name="cloud-download-outline"></ion-icon></span>
</div>
</div>
</div>
</div>
<!-- MODELLI CLAUSOLE -->
<!-- TIPO GRAMMATICALE -->
<div style="display: none;" class="tab-pane fade p-2 bg-white" id="tipogrammaticaleN" role="tabpanel" aria-labelledby="claN-tab" data-claType="Grammaticale" data-claActive="1">
<div class="p-1 text-right text-primary">
<span class="return2Query"><ion-icon name="checkmark-circle"></ion-icon></span>&nbsp;&nbsp;
<span class="removeClaInTab"><ion-icon name="close-circle"></ion-icon></span>
</div>
<div class="form-group px-1 pb-1">
<label for="typeGramm0" class="text-muted control-label">Categoria grammaticale:</label>
<div class="form-inline input-group p-1" action="">
<div class="input-group-prepend">
<label class="input-group-text"><ion-icon name="options"></ion-icon></label>
</div>
<select class="form-control custom-select catgram" name="typeGramm0" id="grammtypes" title="Categoria grammaticale" value="oggetto" onchange="">
<option value="all">Tutte le categorie</option>
<optgroup label="Volgare">
<option value="verbovolgare">Verbo volgare</option>
<option value="sostantivovolgare">Sostantivo volgare</option>
<option value="aggettivovolgare">Aggettivo volgare</option>
<option value="pronomevolgare">Pronome volgare</option>
<option value="articolovolgare">Articolo volgare</option>
<option value="avverbiovolgare">Avverbio volgare</option>
<option value="preposizionevolgare">Preposizione volgare</option>
<option value="congiunzionevolgare">Congiunzione volgare</option>
<option value="interiezionevolgare">Interiezione volgare</option>
<option value="onomasticavolgare">Onomastica volgare</option>
<option value="citazionevolgare">Citazione volgare</option>
</optgroup>
<optgroup label="Latino">
<option value="verbo_latino_v">Verbo latino</option>
<option value="sostantivo_latino_s">Sostantivo latino</option>
<option value="aggettivo_latino_a">Aggettivo latino</option>
<option value="pronome_latino_p">Pronome latino</option>
<option value="avverbio_latino_r">Avverbio latino</option>
<option value="preposizione_latino_e">Preposizione
latino</option>
<option value="congiunzione_latino_c">Congiunzione
latino</option>
<option value="interiezione_latino_i">Interiezione
latino</option>
<option value="enclitica_latino_9">Enclitica latino</option>
<option value="citazione_latino_zi">Citazione latino</option>
<option value="simbolo_latino_yy">Simbolo latino</option>
</optgroup>
</select>
</div>
</div>
<div class="container form-group mx-2 mb-0 p-1 dettaglifiltri">
</div>
</div>
<!-- FINE GRAMMATICALE -->
<!-- TIPO SINTATTICO -->
<div style="display: none;" class="tab-pane fade p-2 bg-white" id="tiposintatticoN" role="tabpanel" aria-labelledby="claN-tab" data-claType="Sintattico" data-claActive="1">
<div class="p-1 text-right text-primary">
<span class="return2Query"><ion-icon name="checkmark-circle"></ion-icon></span>&nbsp;&nbsp;
<span class="removeClaInTab"><ion-icon name="close-circle"></ion-icon></span>
</div>
<div class="form-group px-1 pb-1">
<label for="typeSyntax0" class="text-muted control-label">Tipo sintattico:</label>
<div class="form-inline input-group p-1" action="">
<div class="input-group-prepend">
<label class="input-group-text"><ion-icon name="options"></ion-icon></label>
</div>
<select class="form-control custom-select" name="typeSyntax0" id="synttypes" title="Tipo sintattico" value="oggetto">
<option value=".+" class="w-10" onclick="myformsyntax.functionSyntax0.disabled = false;">Qualsiasi tipo sintattico</option>
<optgroup
label="Macrotipi sintattici: principali e coordinate a una principale"
onclick="myformsyntax.functionSyntax0.disabled = true;">
<option value="macro dich">dichiarativa</option>
<option value="macro escl">esclamativa</option>
<option value="macro inter princ">interrogativa</option>
<option value="macro iussi">iussiva</option>
<option value="macro otta">ottativa</option>
</optgroup>
<optgroup
label="Macrotipi sintattici: subordinate e coordinate a una subordinata"
onclick="myformsyntax.functionSyntax0.disabled = true;">
<option value="macro avv">avversativa</option>
<option value="macro causale">causale</option>
<option value="macro compar">comparativa</option>
<option value="macro conces">concessiva</option>
<option value="macro consec">consecutiva</option>
<option value="macro eccettu">eccettuativa</option>
<option value="macro epesege">epesegetica</option>
<option value="macro esclu">esclusiva</option>
<option value="macro finale">finale</option>
<option value="macro inter sub">interrogativa</option>
<option value="macro ipotet">ipotetica</option>
<option value="macro limitat">limitativa</option>
<option value="macro maniera">maniera</option>
<option value="macro modale">modale</option>
<option value="macro obliqua">obliqua</option>
<option value="macro oggettiva">oggettiva</option>
<option value="macro pred">predicativa</option>
<option value="macro rel">relativa</option>
<option value="macro sog">soggettiva</option>
<option value="macro strum">strumentale</option>
<option value="macro sub">subordinata con funzione di ripresa</option>
<option value="macro temp">temporale</option>
</optgroup>
<optgroup label="Macrotipi sintattici: pseudocoordinate"
onclick="myformsyntax.functionSyntax0.disabled = true;">
<option value="macro pseudo">pseudocoordinata</option>
</optgroup>
<optgroup
label="Macrotipi sintattici: parentetiche e coordinate a una parentetica"
onclick="myformsyntax.functionSyntax0.disabled = true;">
<option value="macro pare sub">parentetica con valore di subordinata</option>
<option value="macro pare mod">parentetica modalizzante</option>
</optgroup>
<optgroup label="Tutti i tipi sintattici"
onclick="myformsyntax.functionSyntax0.disabled = false;">
<option value="avv">avversativa</option>
<option value="caus">causale</option>
<option value="comp ipo">comparativa con valore ipotetico</option>
<option value="comp lim">comparativa con valore limitativo</option>
<option value="comp mod">comparativa con valore modale</option>
<option value="comp temp">comparativa con valore temporale</option>
<option value="comp disug">comparativa di disuguaglianza</option>
<option value="comp ug">comparativa di uguaglianza</option>
<option value="comp ug rel ind temp">comparativa di uguaglianza con valore di relativa indipendente temporale</option>
<option value="conc acond">concessiva acondizionale</option>
<option value="conc cond">concessiva condizionale</option>
<option value="conc fatt">concessiva fattuale</option>
<option value="man rel giust">concorrenza del relativo in frase di maniera</option>
<option value="fin rel giust">concorrenza del relativo in frase finale</option>
<option value="cons antec">consecutiva con antecedente</option>
<option value="cons antec fin">consecutiva con antecedente con valore finale</option>
<option value="cons antec temp">consecutiva con antecedente con valore temporale</option>
<option value="cons antec epes">consecutiva con antecedente epesegetica</option>
<option value="cons ell">consecutiva ellittica</option>
<option value="cons libera">consecutiva libera</option>
<option value="cons libera fin">consecutiva libera con valore finale</option>
<option value="cons post">consecutiva posposta</option>
<option value="cong asind comp ug">coordinata asindetica comparativa di uguaglianza</option>
<option value="cong asind cons antec">coordinata asindetica consecutiva con antecedente</option>
<option value="cong asind man">coordinata asindetica di maniera</option>
<option value="cong asind dich">coordinata asindetica dichiarativa</option>
<option value="cong asind epes">coordinata asindetica epesegetica</option>
<option value="cong asind esclam">coordinata asindetica esclamativa</option>
<option value="cong asind fin">coordinata asindetica finale</option>
<option value="cong asind int altern">coordinata asindetica interrogativa alternativa</option>
<option value="cong asind int altern">coordinata asindetica interrogativa alternativa</option>
<option value="cong asind int altern ret">coordinata asindetica interrogativa alternativa retorica</option>
<option value="cong asind int x">coordinata asindetica interrogativa di tipo x</option>
<option value="cong asind int x">coordinata asindetica interrogativa di tipo x</option>
<option value="cong asind int x ret">coordinata asindetica interrogativa di tipo x retorica</option>
<option value="cong asind int disg">coordinata asindetica interrogativa disgiuntiva</option>
<option value="cong asind ipo">coordinata asindetica ipotetica</option>
<option value="cong asind iuss dir">coordinata asindetica iussiva diretta</option>
<option value="cong asind iuss indir">coordinata asindetica iussiva indiretta</option>
<option value="cong asind ogg | cong asind ogg perc">coordinata asindetica oggettiva</option>
<option value="cong asind ott intr">coordinata asindetica
ottativa con introduttore</option>
<option value="cong asind ott libera">coordinata
asindetica ottativa libera</option>
<option value="cong asind rel app">coordinata asindetica
relativa appositiva</option>
<option value="cong asind rel app comp disug">coordinata
asindetica relativa appositiva in costrutto comparativo</option>
<option value="cong asind rel app giust">coordinata
asindetica relativa giustapposta</option>
<option value="cong asind rel ind">coordinata asindetica
relativa indipendente</option>
<option value="cong asind rel ind temp caus">coordinata
asindetica relativa indipendente con valore temporale-causale</option>
<option value="cong asind rel restr">coordinata asindetica
relativa restrittiva</option>
<option value="cong asind rel restr comp ug">coordinata
asindetica relativa restrittiva in costrutto comparativo</option>
<option value="cong asind sogg soll">coordinata asindetica
soggettiva a sollevamento</option>
<option value="cong asind subord">coordinata asindetica
subordinata</option>
<option value="cong asind temp">coordinata asindetica
temporale</option>
<option value="avv caus">coordinata avversativa causale</option>
<option value="avv comp ug">coordinata avversativa
comparativa di uguaglianza</option>
<option value="avv cons antec">coordinata avversativa
consecutiva con antecedente</option>
<option value="avv dich">coordinata avversativa
dichiarativa</option>
<option value="avv fin">coordinata avversativa finale</option>
<option value="avv int x">coordinata avversativa
interrogativa di tipo x</option>
<option value="avv int x ret">coordinata avversativa
interrogativa di tipo x retorica</option>
<option value="avv ipo caus">coordinata avversativa
ipotetica con valore causale</option>
<option value="avv iuss dir">coordinata avversativa
iussiva diretta</option>
<option value="avv iuss indir">coordinata avversativa
iussiva indiretta</option>
<option value="avv modaliz ott intr">coordinata
avversativa modalizzante ottativa con introduttore</option>
<option value="avv ogg / avv ogg perc">coordinata
avversativa oggettiva</option>
<option value="avv rel app">coordinata avversativa
relativa appositiva</option>
<option value="avv rel app cons antec">coordinata
avversativa relativa appositiva con valore consecutivo</option>
<option value="avv rel app comp ug">coordinata avversativa
relativa appositiva in costrutto comparativo</option>
<option value="avv rel giust">coordinata avversativa
relativa giustapposta</option>
<option value="avv rel ind">coordinata avversativa
relativa indipendente</option>
<option value="avv rel ind temp">coordinata avversativa
relativa indipendente temporale</option>
<option value="avv rel restr">coordinata avversativa
relativa restrittiva</option>
<option value="avv rel restr comp ug">coordinata
avversativa relativa restrittiva in costrutto comparativo</option>
<option value="avv sogg">coordinata avversativa soggettiva</option>
<option value="avv temp">coordinata avversativa temporale</option>
<option value="cong concl cons antec">coordinata
conclusiva consecutiva con antecedente</option>
<option value="cong concl dich">coordinata conclusiva
dichiarativa</option>
<option value="cong concl dich ill">coordinata conclusiva
dichiarativa illocutiva</option>
<option value="cong concl iuss dir">coordinata conclusiva
iussiva diretta</option>
<option value="cong concl iuss dir perifr">coordinata
conclusiva iussiva diretta perifrastica</option>
<option value="cong concl iuss indir">coordinata
conclusiva iussiva indiretta</option>
<option value="cong caus">coordinata congiuntiva causale</option>
<option value="cong comp ipo">coordinata congiuntiva
comparativa con valore ipotetico</option>
<option value="cong comp lim">coordinata congiuntiva
comparativa con valore limitativo</option>
<option value="cong comp mod">coordinata congiuntiva
comparativa con valore modale</option>
<option value="cong comp disug">coordinata congiuntiva
comparativa di disuguaglianza</option>
<option value="cong comp ug">coordinata congiuntiva
comparativa di uguaglianza</option>
<option value="cong rip">coordinata congiuntiva con
funzione di ripresa</option>
<option value="cong conc cond">coordinata congiuntiva
concessiva condizionale</option>
<option value="cong conc fatt">coordinata congiuntiva
concessiva fattuale</option>
<option value="cong cons antec">coordinata congiuntiva
consecutiva con antecedente</option>
<option value="cong cons antec fin">coordinata congiuntiva
consecutiva con antecedente con valore finale</option>
<option value="cong cons antec epes">coordinata
congiuntiva consecutiva con antecedente epesegetica</option>
<option value="cong cons ell">coordinata congiuntiva
consecutiva ellittica</option>
<option value="cong cons libera">coordinata congiuntiva
consecutiva libera</option>
<option value="cong cons libera fin">coordinata
congiuntiva consecutiva libera con valore finale</option>
<option value="cong cons post">coordinata congiuntiva
consecutiva posposta</option>
<option value="cong man">coordinata congiuntiva di maniera</option>
<option value="cong dich">coordinata congiuntiva
dichiarativa</option>
<option value="cong dich ill">coordinata congiuntiva
dichiarativa illocutiva</option>
<option value="cong eccett">coordinata congiuntiva
eccettuativa</option>
<option value="cong epes">coordinata congiuntiva
epesegetica</option>
<option value="cong esclam">coordinata congiuntiva
esclamativa</option>
<option value="cong esclus">coordinata congiuntiva
esclusiva</option>
<option value="cong fin">coordinata congiuntiva finale</option>
<option value="cong int altern">coordinata congiuntiva
interrogativa alternativa</option>
<option value="cong int altern">coordinata congiuntiva
interrogativa alternativa</option>
<option value="cong int x">coordinata congiuntiva
interrogativa di tipo x</option>
<option value="cong int x">coordinata congiuntiva
interrogativa di tipo x</option>
<option value="cong int x ret">coordinata congiuntiva
interrogativa di tipo x retorica</option>
<option value="cong ipo">coordinata congiuntiva ipotetica</option>
<option value="cong ipo caus">coordinata congiuntiva
ipotetica con valore causale</option>
<option value="cong ipo sogg">coordinata congiuntiva
ipotetica soggettiva</option>
<option value="cong iuss dir">coordinata congiuntiva
iussiva diretta</option>
<option value="cong iuss indir">coordinata congiuntiva
iussiva indiretta</option>
<option value="cong lim">coordinata congiuntiva limitativa</option>
<option value="cong modaliz ott intr">coordinata
congiuntiva modalizzante ottativa con introduttore</option>
<option value="cong obl">coordinata congiuntiva obliqua</option>
<option value="cong ogg /cong ogg perc">coordinata
congiuntiva oggettiva</option>
<option value="cong ott libera">coordinata congiuntiva
ottativa libera</option>
<option value="cong rel pseudo">coordinata congiuntiva
pseudo-relativa</option>
<option value="cong rel app">coordinata congiuntiva
relativa appositiva</option>
<option value="cong rel app comp ug">coordinata
congiuntiva relativa appositiva comparativa di uguaglianza</option>
<option value="cong rel app cons">coordinata congiuntiva
relativa appositiva con valore consecutivo</option>
<option value="cong rel app epes">coordinata congiuntiva
relativa appositiva con valore di epesegetica</option>
<option value="cong rel app fin">coordinata congiuntiva
relativa appositiva con valore finale</option>
<option value="cong rel app temp">coordinata congiuntiva
relativa appositiva con valore temporale</option>
<option value="cong rel app comp disug">coordinata
congiuntiva relativa appositiva in costrutto comparativo di
disuguaglianza</option>
<option value="cong rel app giust">coordinata congiuntiva
relativa giustapposta</option>
<option value="cong rel app giust caus">coordinata
congiuntiva relativa giustapposta con valore causale</option>
<option value="cong rel impl">coordinata congiuntiva
relativa implicita</option>
<option value="cong rel impl lim">coordinata congiuntiva
relativa implicita con valore limitativo</option>
<option value="cong rel ind">coordinata congiuntiva
relativa indipendente</option>
<option value="cong rel ind acond">coordinata congiuntiva
relativa indipendente acondizionale</option>
<option value="cong rel ind ipo">coordinata congiuntiva
relativa indipendente con valore ipotetico</option>
<option value="cong rel ind mod">coordinata congiuntiva
relativa indipendente con valore modale</option>
<option value="cong rel ind mod comp ug">coordinata
congiuntiva relativa indipendente in costrutto comparativo-modale</option>
<option value="cong rel ind temp">coordinata congiuntiva
relativa indipendente temporale</option>
<option value="cong rel restr">coordinata congiuntiva relativa restrittiva</option>
<option value="cong rel restr caus">coordinata congiuntiva relativa restrittiva con valore causale</option>
<option value="cong rel restr cons">coordinata congiuntiva relativa restrittiva con valore consecutivo</option>
<option value="cong rel restr comp ug">coordinata congiuntiva relativa restrittiva in costrutto comparativo</option>
<option value="cong rel restr temp">coordinata congiuntiva relativa restrittiva temporale</option>
<option value="cong sogg">coordinata congiuntiva soggettiva</option>
<option value="cong spec">coordinata congiuntiva specificativa</option>
<option value="cong strum">coordinata congiuntiva strumentale</option>
<option value="cong temp">coordinata congiuntiva temporale</option>
<option value="cong temp caus">coordinata congiuntiva temporale con valore causale</option>
<option value="cong cons caus">coordinata consecutiva causale</option>
<option value="cong cons dich">coordinata consecutiva dichiarativa</option>
<option value="cong corr dich">coordinata correlativa dichiarativa</option>
<option value="cong corr fin">coordinata correlativa finale</option>
<option value="cong corr lim">coordinata correlativa limitativa</option>
<option value="cong corr sogg infinitoprep">coordinata correlativa soggettiva a infinito preposizionale</option>
<option value="disg comp disug temp">coordinata disgiuntiva comparativa di disuguaglianza con valore temporale</option>
<option value="disg conc acond">coordinata disgiuntiva concessiva acondizionale</option>
<option value="disg conc cond">coordinata disgiuntiva concessiva condizionale</option>
<option value="disg cons libera">coordinata disgiuntiva consecutiva libera</option>
<option value="disg corr dich">coordinata disgiuntiva correlativa dichiarativa</option>
<option value="disg man">coordinata disgiuntiva di maniera</option>
<option value="disg dich">coordinata disgiuntiva dichiarativa</option>
<option value="disg epes">coordinata disgiuntiva epesegetica</option>
<option value="disg esclus">coordinata disgiuntiva esclusiva</option>
<option value="disg int altern">coordinata disgiuntiva interrogativa alternativa</option>
<option value="disg int altern">coordinata disgiuntiva interrogativa alternativa</option>
<option value="disg int x">coordinata disgiuntiva interrogativa di tipo x</option>
<option value="disg int disg">coordinata disgiuntiva interrogativa disgiuntiva</option>
<option value="disg ipo">coordinata disgiuntiva ipotetica</option>
<option value="disg lim">coordinata disgiuntiva limitativa</option>
<option value="disg obl">coordinata disgiuntiva obliqua</option>
<option value="disg ogg">coordinata disgiuntiva oggettiva</option>
<option value="disg rel ind">coordinata disgiuntiva relativa indipendente</option>
<option value="disg rel ind acond">coordinata disgiuntiva relativa indipendente acond</option>
<option value="disg rel ind temp">coordinata disgiuntiva relativa indipendente temporale</option>
<option value="disg rel restr">coordinata disgiuntiva relativa restrittiva</option>
<option value="disg rel restr cons">coordinata disgiuntiva relativa restrittiva con valore consecutivo</option>
<option value="disg sogg">coordinata disgiuntiva soggettiva</option>
<option value="disg temp">coordinata disgiuntiva temporale</option>
<option value="cong espl dich">coordinata esplicativa dichiarativa</option>
<option value="cong espl obl">coordinata esplicativa obliqua</option>
<option value="cong espl ogg">coordinata esplicativa oggettiva</option>
<option value="cong espl rel app antec">coordinata esplicativa relativa appositiva con antecedente</option>
<option value="cong espl rel ind mod">coordinata esplicativa relativa indipendente con valore modale</option>
<option value="man">di maniera</option>
<option value="man gerundioprep">di maniera a gerundio preposizionale</option>
<option value="dich">dichiarativa</option>
<option value="dich ill">dichiarativa illocutiva</option>
<option value="eccett">eccettuativa</option>
<option value="eccett comp ug">eccettuativa con valore di comparativa di uguaglianza</option>
<option value="epes">epesegetica</option>
<option value="esclam">esclamativa</option>
<option value="esclus">esclusiva</option>
<option value="faltern">falsa alternativa</option>
<option value="fcong">falsa congiuntiva</option>
<option value="fin">finale</option>
<option value="fin ipo">finale con valore ipotetico</option>
<option value="rip">funzione di ripresa</option>
<option value="int altern">interrogativa alternativa</option>
<option value="int altern ret">interrogativa alternativa retorica</option>
<option value="int x">interrogativa di tipo x</option>
<option value="int x ret">interrogativa di tipo x retorica</option>
<option value="int disg">interrogativa disgiuntiva</option>
<option value="int disg ret">interrogativa disgiuntiva retorica</option>
<option value="ipo">ipotetica</option>
<option value="ipo biaff">ipotetica biaffermativa</option>
<option value="ipo caus">ipotetica con valore causale</option>
<option value="ipo eccett">ipotetica con valore eccettuativo</option>
<option value="ipo obl">ipotetica obliqua</option>
<option value="ipo rel giust">ipotetica relativa giustapposta</option>
<option value="ipo sogg">ipotetica soggettiva</option>
<option value="iuss aug">iussiva augurativa</option>
<option value="iuss dir">iussiva diretta</option>
<option value="iuss dir perifr">iussiva diretta perifrastica</option>
<option value="iuss indir">iussiva indiretta</option>
<option value="lim">limitativa</option>
<option value="lim caus">limitativa con valore causale</option>
<option value="lim caus eccett">limitativa con valore causale-eccettuativo</option>
<option value="lim eccett">limitativa con valore eccettuativo</option>
<option value="mod">modale</option>
<option value="modaliz">modalizzante</option>
<option value="modaliz ott intr">modalizzante ottativa con introduttore</option>
<option value="modaliz ott libera">modalizzante ottativa libera</option>
<option value="obl">obliqua</option>
<option value="ogg | ogg aci | ogg perc">oggettiva</option>
<option value="ott intr">ottativa con introduttore</option>
<option value="ott libera">ottativa libera</option>
<option value="pred">predicativa</option>
<option value="rel pseudo">pseudo-relativa</option>
<option value="rel pseudo fin">pseudo-relativa con valore finale</option>
<option value="rel pseudo scissa">pseudo-relativa scissa</option>
<option value="rel pseudo scissa temp">pseudo-relativa scissa con valore temporale</option>
<option value="rel app antec">relativa appositiva con antecedente</option>
<option value="rel app antec caus">relativa appositiva con antecedente con valore causale</option>
<option value="rel app antec cons">relativa appositiva con antecedente con valore consecutivo</option>
<option value="rel app antec fin cons">relativa appositiva con antecedente con valore consecutivo-finale</option>
<option value="rel app antec fin">relativa appositiva con antecedente con valore finale</option>
<option value="rel app antec strum">relativa appositiva con antecedente con valore strumentale</option>
<option value="rel app antec giust">relativa appositiva con antecedente giustapposta</option>
<option value="rel app antec comp disug">relativa appositiva con antecedente in costrutto comparativo di disuguaglianza</option>
<option value="rel app antec comp ug">relativa appositiva con antecedente in costrutto comparativo di uguaglianza</option>
<option value="rel app antec eccett">relativa appositiva con antecedente in costrutto eccettuativo</option>
<option value="rel app antec giust cons">relativa appositiva giustapposta con valore consecutivo</option>
<option value="rel app antec giust man">relativa appositiva giustapposta con valore di maniera</option>
<option value="rel app antec giust ipo">relativa appositiva giustapposta con valore ipotetico</option>
<option value="rel restr antec comp ug">relativa con antecedente in costrutto comparativo di uguaglianza</option>
<option value="rel giust">relativa giustapposta</option>
<option value="rel impl">relativa implicita</option>
<option value="rel impl cons">relativa implicita con valore consecutivo</option>
<option value="rel impl fin">relativa implicita con valore finale</option>
<option value="rel impl lim">relativa implicita con valore limitativo</option>
<option value="rel impl deon">relativa implicita deontica</option>
<option value="rel ind">relativa indipendente</option>
<option value="rel ind acond">relativa indipendente acondizionale</option>
<option value="rel ind ipo">relativa indipendente con valore ipotetico</option>
<option value="rel ind mod">relativa indipendente con valore modale</option>
<option value="rel ind temp">relativa indipendente con valore temporale</option>
<option value="rel ind temp acond">relativa indipendente con valore temporale acondizionale</option>
<option value="rel ind temp caus">relativa indipendente con valore temporale-causale</option>
<option value="rel ind caus">relativa indipendente in costrutto causale</option>
<option value="rel ind comp">relativa indipendente in costrutto comparativo</option>
<option value="rel ind temp comp ug">relativa indipendente in costrutto comparativo di uguaglianza</option>
<option value="rel ind mod comp ug">relativa indipendente in costrutto comparativo-modale</option>
<option value="rel restr antec">relativa restrittiva con antecedente</option>
<option value="rel restr antec caus">relativa restrittiva con antecedente con valore causale</option>
<option value="rel restr antec cons">relativa restrittiva con antecedente con valore consecutivo</option>
<option value="rel restr antec conc cond">relativa restrittiva con antecedente con valore di concessiva condizionale</option>
<option value="rel restr antec conc fatt">relativa restrittiva con antecedente con valore di concessiva fattuale</option>
<option value="rel restr antec fin">relativa restrittiva con antecedente con valore finale</option>
<option value="rel restr antec ipo">relativa restrittiva con antecedente con valore ipotetico</option>
<option value="rel restr antec temp">relativa restrittiva con antecedente con valore temporale</option>
<option value="rel restr antec comp disug">relativa restrittiva con antecedente in costrutto comparativo di disuguaglianza</option>
<option value="rel restr antec comp mod">relativa restrittiva con antecedente in costrutto comparativo-modale</option>
<option value="rel restr antec eccett">relativa restrittiva con antecedente in costrutto eccettuativo</option>
<option value="rel restr antec lim">relativa restrittiva con antecedente in costrutto limitativo</option>
<option value="sogg | sogg aci | sogg id | sogg infinitoprep">soggettiva</option>
<option value="sogg soll">soggettiva a sollevamento</option>
<option value="sogg scissa">soggettiva scissa</option>
<option value="spec | spec aci | sogg infinitoprep">specficativa</option>
<option value="strum">strumentale</option>
<option value="subord">subordinata</option>
<option value="temp">temporale</option>
<option value="temp comp ug">temporale con valore comparativo</option>
<option value="temp ipo">temporale con valore ipotetico</option>
</optgroup>
</select>
</div>
</div>
<div class="form-group px-1 pb-1">
<label for="functionSyntax" class="text-muted control-label">Livello di subordinazione:</label>
<div class="form-inline input-group p-1" action="">
<div class="input-group-prepend">
<label class="input-group-text"><ion-icon name="options"></ion-icon></label>
</div>
<select class="form-control custom-select" name="functionSyntax" id="syntfunc" title="Livello di subordinazione">
<option value=".+">Qualsiasi livello di subordinazione</option>
<optgroup label="Livelli di subordinazione">
<option value="princ">principale</option>
<option value="coord">coordinata a una principale</option>
<option value="subord i">subordinata di I grado</option>
<option value="subord ii">subordinata di II grado</option>
<option value="subord iii">subordinata di III grado</option>
<option value="subord iv">subordinata di IV grado</option>
<option value="subord v">subordinata di V grado</option>
<option value="subord vi">subordinata di VI grado</option>
<option value="subord vii">subordinata di VII grado</option>
<option value="coord i">coordinata a una subordinata di I grado</option>
<option value="coord ii">coordinata a una subordinata di II grado</option>
<option value="coord iii">coordinata a una subordinata di III grado</option>
<option value="coord iv">coordinata a una subordinata di IV grado</option>
<option value="coord v">coordinata a una subordinata di V grado</option>
<option value="pcoord">pseudo-coordinata</option>
<option value="parent">parentetica</option>
<option value="coord 0">coordinata a una parentetica</option>
</optgroup>
</select>
</div>
</div>
</div>
<!-- FINE TIPO SINTATTICO -->
<!-- CONDIZIONE GRAMMATICALE -->
<div style="display: none;">
<table id="gramm_table">
<tr id="">
<td class="pa3">
<fieldset id="lemma_forma" class="bn">
<div class="custom-control custom-radio custom-control-inline">
<input class="custom-control-input" type="radio" id="lemma" value="lemma"
name="oggetto"> <label for="lemma" class="custom-control-label">Lemma</label>
</div>
<div class="custom-control custom-radio custom-control-inline">
<input class="custom-control-input" type="radio" id="forma" value="forma"
name="oggetto"> <label for="forma" class="custom-control-label">Forma</label>
</div>
</fieldset>
</td>
<td class="pa3"><input id="name"
class="input-reset ba b--black-20 pa2 mb2 db w-100" type="text"
aria-describedby="name-desc" name="query" value=""></td>
<!-- ??? non viene usata -->
<td class="pa3"><select id="types"
class="form-control custom-select" name="tipo"
title="Tipo di ricerca">
<option value="parola" onclick="">Parola</option>
<option value="sottostringa" onclick="">Sottostringa</option>
<option value="prefisso" onclick="">Prefisso</option>
<option value="suffisso" onclick="">Suffisso</option>
<option value="espressione" onclick="">Espressione regolare</option>
<option value="occorrenze" onclick="">Tutte le occorrenze</option>
</select></td>
<td class="pa3"><select id="types"
class="form-control custom-select"
name="categoria" onchange="" title="Macro categoria">
<option value="all">Tutte le categorie</option>
<optgroup label="Volgare">
<option value="verbovolgare">Verbo volgare</option>
<option value="sostantivovolgare">Sostantivo volgare</option>
<option value="aggettivovolgare">Aggettivo volgare</option>
<option value="pronomevolgare">Pronome volgare</option>
<option value="articolovolgare">Articolo volgare</option>
<option value="avverbiovolgare">Avverbio volgare</option>
<option value="preposizionevolgare">Preposizione volgare</option>
<option value="congiunzionevolgare">Congiunzione volgare</option>
<option value="interiezionevolgare">Interiezione volgare</option>
<option value="onomasticavolgare">Onomastica volgare</option>
<option value="citazionevolgare">Citazione volgare</option>
</optgroup>
<optgroup label="Latino">
<option value="verbo_latino_v">Verbo latino</option>
<option value="sostantivo_latino_s">Sostantivo latino</option>
<option value="aggettivo_latino_a">Aggettivo latino</option>
<option value="pronome_latino_p">Pronome latino</option>
<option value="avverbio_latino_r">Avverbio latino</option>
<option value="preposizione_latino_e">Preposizione latino</option>
<option value="congiunzione_latino_c">Congiunzione latino</option>
<option value="interiezione_latino_i">Interiezione latino</option>
<option value="enclitica_latino_9">Enclitica latino</option>
<option value="citazione_latino_zi">Citazione latino</option>
<option value="simbolo_latino_yy">Simbolo latino</option>
</optgroup>
</select></td>
<td><input class="delete-record" type="submit" value="Rimuovi" data-id="0"></td>
</tr>
</table>
</div>
<!-- FINE MODELLI CLAUSOLE -->
</form>
</div>
</div>
</div>
<div class="container p-2 my-3 border bg-light">
<div class="row">
<div class="col-md-12">
<ul class="nav nav-tabs" id="result-list" role="tablist">
<li class="nav-item active" role="presentation">
<a class="nav-link active" id="result1-tab" data-toggle="tab" href="#result1" role="tab" aria-controls="result1" aria-selected="true"><span class="text-dark font-weight-bold">Risultati</span></a>
</li>
<li class="nav-item" role="presentation">
<a class="nav-link" id="result2-tab" data-toggle="tab" href="#result2" role="tab" aria-controls="result2" aria-selected="true"><span class="small text-dark font-weight-bold">Testo</span></a>
</li>
<li class="nav-item" role="presentation">
<a class="nav-link" id="result3-tab" data-toggle="tab" href="#result3" role="tab" aria-controls="result3" aria-selected="true"><span class="small text-dark font-weight-bold">Query Sparql</span></a>
</li>
</ul>
<div class="tab-content border-right border-left border-bottom" id="result-TabContent">
<div class="tab-pane fade show active p-2 bg-white" id="result1" role="tabpanel" aria-labelledby="result1-tab">
<div class="form-outline text-muted font-weight-normal p-1" id="showrisultati">
<label class="form-label" for="risultati">Risultati della ricerca:</label>
<textarea class="form-control bg-white" id="risultati" rows="2" placeholder="Nessun risultato" readonly></textarea>
</div>
</div>
<div class="tab-pane fade p-2 bg-white" id="result2" role="tabpanel" aria-labelledby="result2-tab">
<div class="form-outline text-muted font-weight-normal p-1" id="showtext">
<label class="form-label" for="risultatitesto">Risultati testuali della ricerca:</label>
<textarea class="form-control bg-white" id="risultatitesto" rows="2" placeholder="Nessun risultato" readonly></textarea>
</div>
</div>
<div class="tab-pane fade p-2 bg-white" id="result3" role="tabpanel" aria-labelledby="result3-tab">
<div class="form-outline text-muted font-weight-normal p-1" id="showsparqlquery">
<label class="form-label" for="sparqlquery">La query SPARQL è:</label>
<textarea class="form-control bg-white" id="sparqlquery" rows="2" placeholder="Nessuna query" readonly></textarea>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="container pb-3 px-3 my-3 border bg-lidaBG1">
<div class="row align-items-end p-2 halfOpacity">
<div class="col shadow bg-lida8">&nbsp;</div>
<div class="col shadow bg-lida9">&nbsp;</div>
<div class="col shadow bg-lida3">&nbsp;</div>
<div class="col shadow bg-lida4">&nbsp;</div>
<div class="col shadow bg-lida5">&nbsp;</div>
</div>
<p class="text-right">
<cite class="font-italic text-lida5">Info &amp; Copyright</cite>
<cite class="font-italic text-secondary font-weight-lighter">(idem)</cite>
</p>
</div>
</div>
<script type="module" src="https://unpkg.com/ionicons@5.5.2/dist/ionicons/ionicons.esm.js"></script>
<script nomodule src="https://unpkg.com/ionicons@5.5.2/dist/ionicons/ionicons.js"></script>
</body>
</html>

771
index_Luk_logic.html Normal file
View File

@ -0,0 +1,771 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>LiDaDashboard-tab</title>
<base target="_self">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.1/normalize.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/css/bootstrap.min.css">
<link rel="stylesheet" href="https://code.jquery.com/ui/1.13.1/themes/base/jquery-ui.css">
<link rel="stylesheet" href="./css/custom.css">
<script src="https://code.jquery.com/jquery-3.6.0.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.bundle.min.js" integrity="sha384-fQybjgWLrvvRgtW6bFlB7jaZrFsaBXjsOMm/tB9LTS58ONXgqbR9W8oWht/amnpF" crossorigin="anonymous"></script>
<script src="https://code.jquery.com/ui/1.13.1/jquery-ui.js" defer></script>
<script type="text/javascript" src="./js/script_Luk_logic.js"></script>
</head>
<body>
<div class="container pt-3 px-3 my-3 border bg-lidaBG1">
<h1 class="text-lida5">Linking Dante Search, sandbox release</h1>
<cite class="font-italic text-primary"> "potrai cercare, e non troverai ombra"</cite>
<cite class="font-italic text-secondary font-weight-lighter"> (Inf., canto 32, verso 59)</cite>
<div class="row align-items-end p-2 halfOpacity">
<div class="col bg-lida8">&nbsp;</div>
<div class="col bg-lida9">&nbsp;</div>
<div class="col bg-lida3">&nbsp;</div>
<div class="col bg-lida4">&nbsp;</div>
<div class="col bg-lida5">&nbsp;</div>
</div>
</div>
<div class="container border bg-light">
<div class="row">
<div class="col-md-12 p-2">
<ul class="nav nav-tabs" id="tab-list" role="tablist">
<li class="nav-item" role="presentation">
<a class="nav-link active" id="cla0-tab" data-toggle="tab" href="#cla0" role="tab" aria-controls="cla0" aria-selected="true"><span class="text-secondary"><ion-icon name="search-circle"></ion-icon></span><span class="text-dark font-weight-bold">&nbsp;&nbsp;Ricerca</span></a>
</li>
</ul>
<form>
<div class="tab-content border-right border-left border-bottom" id="cla-TabContent">
<div class="tab-pane fade show active p-2 bg-white" id="cla0" role="tabpanel" aria-labelledby="cla0-tab">
<div class="form-inline input-group p-1" action="">
<div class="input-group-prepend">
<label class="input-group-text"><ion-icon name="document-text"></ion-icon></label>
</div>
<select class="form-control custom-select" id="lemma_forma">
<option>il lemma</option>
<option>la forma</option>
</select>
<input type="text" class="form-control" id="queryText" placeholder="stelle" aria-describedby="name-desc" name="query">
</div>
<div class="text-muted p-1">
Applicando le clausole:
</div>
<div class=" px-2 pb-2 pt-1 m-2 mx-3 border bg-light" id="cla-list">
<div class="row ml-0 justify-content-between"><div class="pb-1 small font-weight-bold text-muted">AND</div></div>
<ul id="sortable0" class="condLIand list-group ui-sortable">
<li id="H-cla0" class="list-group-item align-items-center ui-state-default ui-state-disabled border text-muted bg-white ui-state-disabled-opacity-06">Nessuna clausola aggiunta.</li>
</ul>
</div>
<div class="btn-group p-1 my-3" role="group" aria-label="Bottoni menu clausole">
<label class="input-group-text"><ion-icon name="filter-circle"></ion-icon></label>
<div class="btn-group dropright" role="group">
<button id="btnGroupDrop1" type="button" class="btn btn-sm btn-outline-danger dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Aggiungi clausola di tipo: </button>
<div class="dropdown-menu" aria-labelledby="btnGroupDrop1">
<a class="dropdown-item" id="Grammaticale" href="#"><span class="text-lida8">Categoria grammaticale</span></a>
<a class="dropdown-item" id="Sintattico" href="#"><span class="text-lida9">Tipo sintattico</span></a>
<a class="dropdown-item" id="Metafore" href="#"><span class="text-lida3">Metafore</span></a>
<a class="dropdown-item" id="Dialoghi" href="#"><span class="text-lida4">Dialoghi</span></a>
<a class="dropdown-item" id="Struttura" href="#"><span class="text-lida5">Struttura testo</span></a>
</div>
</div>
</div>
<div class="btn-group p-1 my-3" role="group" aria-label="Bottoni menu logiche">
<label class="input-group-text"><ion-icon name="cog"></ion-icon></label>
<div class="btn-group dropright" role="group">
<button id="btnGroupDrop2" type="button" class="btn btn-sm btn-outline-danger dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Aggiungi condizione logica: </button>
<div class="dropdown-menu" aria-labelledby="btnGroupDrop2" style="">
<a class="dropdown-item" id="andCond" href="#"><span class="text-muted bg-lida10">AND</span></a>
<a class="dropdown-item" id="orCond" href="#"><span class="text-muted bg-lida11">OR</span></a>
</div>
</div>
</div>
<div class="row p-1 align-items-end justify-content-between">
<div class="col">
<div class="btn-group" role="group" aria-label="Bottone ricerca">
<label class="input-group-text"><ion-icon name="search-circle"></ion-icon></label>
<button type="submit" class="btn btn-outline-primary">Cerca</button>
</div>
</div>
<div class="col text-right px-3">
<span class="border rounded p-1 pt-2"><ion-icon name="save-outline"></ion-icon> <ion-icon name="folder-open-outline"></ion-icon>
<ion-icon name="cloud-upload-outline"></ion-icon> <ion-icon name="cloud-download-outline"></ion-icon></span>
</div>
</div>
</div>
</div>
<!-- MODELLI CLAUSOLE -->
<!-- TIPO GRAMMATICALE -->
<div style="display: none;" class="tab-pane fade p-2 bg-white" id="tipogrammaticaleN" role="tabpanel" aria-labelledby="claN-tab" data-claType="Grammaticale" data-claActive="1">
<div class="p-1 text-right text-primary">
<span class="return2Query"><ion-icon name="checkmark-circle"></ion-icon></span>&nbsp;&nbsp;
<span class="removeClaInTab"><ion-icon name="close-circle"></ion-icon></span>
</div>
<div class="form-group px-1 pb-1">
<label for="typeGramm0" class="text-muted control-label">Categoria grammaticale:</label>
<div class="form-inline input-group p-1" action="">
<div class="input-group-prepend">
<label class="input-group-text"><ion-icon name="options"></ion-icon></label>
</div>
<select class="form-control custom-select catgram" name="typeGramm0" id="grammtypes" title="Categoria grammaticale" value="oggetto" onchange="">
<option value="all">Tutte le categorie</option>
<optgroup label="Volgare">
<option value="verbovolgare">Verbo volgare</option>
<option value="sostantivovolgare">Sostantivo volgare</option>
<option value="aggettivovolgare">Aggettivo volgare</option>
<option value="pronomevolgare">Pronome volgare</option>
<option value="articolovolgare">Articolo volgare</option>
<option value="avverbiovolgare">Avverbio volgare</option>
<option value="preposizionevolgare">Preposizione volgare</option>
<option value="congiunzionevolgare">Congiunzione volgare</option>
<option value="interiezionevolgare">Interiezione volgare</option>
<option value="onomasticavolgare">Onomastica volgare</option>
<option value="citazionevolgare">Citazione volgare</option>
</optgroup>
<optgroup label="Latino">
<option value="verbo_latino_v">Verbo latino</option>
<option value="sostantivo_latino_s">Sostantivo latino</option>
<option value="aggettivo_latino_a">Aggettivo latino</option>
<option value="pronome_latino_p">Pronome latino</option>
<option value="avverbio_latino_r">Avverbio latino</option>
<option value="preposizione_latino_e">Preposizione
latino</option>
<option value="congiunzione_latino_c">Congiunzione
latino</option>
<option value="interiezione_latino_i">Interiezione
latino</option>
<option value="enclitica_latino_9">Enclitica latino</option>
<option value="citazione_latino_zi">Citazione latino</option>
<option value="simbolo_latino_yy">Simbolo latino</option>
</optgroup>
</select>
</div>
</div>
<div class="container form-group mx-2 mb-0 p-1 dettaglifiltri">
</div>
</div>
<!-- FINE GRAMMATICALE -->
<!-- TIPO SINTATTICO -->
<div style="display: none;" class="tab-pane fade p-2 bg-white" id="tiposintatticoN" role="tabpanel" aria-labelledby="claN-tab" data-claType="Sintattico" data-claActive="1">
<div class="p-1 text-right text-primary">
<span class="return2Query"><ion-icon name="checkmark-circle"></ion-icon></span>&nbsp;&nbsp;
<span class="removeClaInTab"><ion-icon name="close-circle"></ion-icon></span>
</div>
<div class="form-group px-1 pb-1">
<label for="typeSyntax0" class="text-muted control-label">Tipo sintattico:</label>
<div class="form-inline input-group p-1" action="">
<div class="input-group-prepend">
<label class="input-group-text"><ion-icon name="options"></ion-icon></label>
</div>
<select class="form-control custom-select" name="typeSyntax0" id="synttypes" title="Tipo sintattico" value="oggetto">
<option value=".+" class="w-10" onclick="myformsyntax.functionSyntax0.disabled = false;">Qualsiasi tipo sintattico</option>
<optgroup
label="Macrotipi sintattici: principali e coordinate a una principale"
onclick="myformsyntax.functionSyntax0.disabled = true;">
<option value="macro dich">dichiarativa</option>
<option value="macro escl">esclamativa</option>
<option value="macro inter princ">interrogativa</option>
<option value="macro iussi">iussiva</option>
<option value="macro otta">ottativa</option>
</optgroup>
<optgroup
label="Macrotipi sintattici: subordinate e coordinate a una subordinata"
onclick="myformsyntax.functionSyntax0.disabled = true;">
<option value="macro avv">avversativa</option>
<option value="macro causale">causale</option>
<option value="macro compar">comparativa</option>
<option value="macro conces">concessiva</option>
<option value="macro consec">consecutiva</option>
<option value="macro eccettu">eccettuativa</option>
<option value="macro epesege">epesegetica</option>
<option value="macro esclu">esclusiva</option>
<option value="macro finale">finale</option>
<option value="macro inter sub">interrogativa</option>
<option value="macro ipotet">ipotetica</option>
<option value="macro limitat">limitativa</option>
<option value="macro maniera">maniera</option>
<option value="macro modale">modale</option>
<option value="macro obliqua">obliqua</option>
<option value="macro oggettiva">oggettiva</option>
<option value="macro pred">predicativa</option>
<option value="macro rel">relativa</option>
<option value="macro sog">soggettiva</option>
<option value="macro strum">strumentale</option>
<option value="macro sub">subordinata con funzione di ripresa</option>
<option value="macro temp">temporale</option>
</optgroup>
<optgroup label="Macrotipi sintattici: pseudocoordinate"
onclick="myformsyntax.functionSyntax0.disabled = true;">
<option value="macro pseudo">pseudocoordinata</option>
</optgroup>
<optgroup
label="Macrotipi sintattici: parentetiche e coordinate a una parentetica"
onclick="myformsyntax.functionSyntax0.disabled = true;">
<option value="macro pare sub">parentetica con valore di subordinata</option>
<option value="macro pare mod">parentetica modalizzante</option>
</optgroup>
<optgroup label="Tutti i tipi sintattici"
onclick="myformsyntax.functionSyntax0.disabled = false;">
<option value="avv">avversativa</option>
<option value="caus">causale</option>
<option value="comp ipo">comparativa con valore ipotetico</option>
<option value="comp lim">comparativa con valore limitativo</option>
<option value="comp mod">comparativa con valore modale</option>
<option value="comp temp">comparativa con valore temporale</option>
<option value="comp disug">comparativa di disuguaglianza</option>
<option value="comp ug">comparativa di uguaglianza</option>
<option value="comp ug rel ind temp">comparativa di uguaglianza con valore di relativa indipendente temporale</option>
<option value="conc acond">concessiva acondizionale</option>
<option value="conc cond">concessiva condizionale</option>
<option value="conc fatt">concessiva fattuale</option>
<option value="man rel giust">concorrenza del relativo in frase di maniera</option>
<option value="fin rel giust">concorrenza del relativo in frase finale</option>
<option value="cons antec">consecutiva con antecedente</option>
<option value="cons antec fin">consecutiva con antecedente con valore finale</option>
<option value="cons antec temp">consecutiva con antecedente con valore temporale</option>
<option value="cons antec epes">consecutiva con antecedente epesegetica</option>
<option value="cons ell">consecutiva ellittica</option>
<option value="cons libera">consecutiva libera</option>
<option value="cons libera fin">consecutiva libera con valore finale</option>
<option value="cons post">consecutiva posposta</option>
<option value="cong asind comp ug">coordinata asindetica comparativa di uguaglianza</option>
<option value="cong asind cons antec">coordinata asindetica consecutiva con antecedente</option>
<option value="cong asind man">coordinata asindetica di maniera</option>
<option value="cong asind dich">coordinata asindetica dichiarativa</option>
<option value="cong asind epes">coordinata asindetica epesegetica</option>
<option value="cong asind esclam">coordinata asindetica esclamativa</option>
<option value="cong asind fin">coordinata asindetica finale</option>
<option value="cong asind int altern">coordinata asindetica interrogativa alternativa</option>
<option value="cong asind int altern">coordinata asindetica interrogativa alternativa</option>
<option value="cong asind int altern ret">coordinata asindetica interrogativa alternativa retorica</option>
<option value="cong asind int x">coordinata asindetica interrogativa di tipo x</option>
<option value="cong asind int x">coordinata asindetica interrogativa di tipo x</option>
<option value="cong asind int x ret">coordinata asindetica interrogativa di tipo x retorica</option>
<option value="cong asind int disg">coordinata asindetica interrogativa disgiuntiva</option>
<option value="cong asind ipo">coordinata asindetica ipotetica</option>
<option value="cong asind iuss dir">coordinata asindetica iussiva diretta</option>
<option value="cong asind iuss indir">coordinata asindetica iussiva indiretta</option>
<option value="cong asind ogg | cong asind ogg perc">coordinata asindetica oggettiva</option>
<option value="cong asind ott intr">coordinata asindetica
ottativa con introduttore</option>
<option value="cong asind ott libera">coordinata
asindetica ottativa libera</option>
<option value="cong asind rel app">coordinata asindetica
relativa appositiva</option>
<option value="cong asind rel app comp disug">coordinata
asindetica relativa appositiva in costrutto comparativo</option>
<option value="cong asind rel app giust">coordinata
asindetica relativa giustapposta</option>
<option value="cong asind rel ind">coordinata asindetica
relativa indipendente</option>
<option value="cong asind rel ind temp caus">coordinata
asindetica relativa indipendente con valore temporale-causale</option>
<option value="cong asind rel restr">coordinata asindetica
relativa restrittiva</option>
<option value="cong asind rel restr comp ug">coordinata
asindetica relativa restrittiva in costrutto comparativo</option>
<option value="cong asind sogg soll">coordinata asindetica
soggettiva a sollevamento</option>
<option value="cong asind subord">coordinata asindetica
subordinata</option>
<option value="cong asind temp">coordinata asindetica
temporale</option>
<option value="avv caus">coordinata avversativa causale</option>
<option value="avv comp ug">coordinata avversativa
comparativa di uguaglianza</option>
<option value="avv cons antec">coordinata avversativa
consecutiva con antecedente</option>
<option value="avv dich">coordinata avversativa
dichiarativa</option>
<option value="avv fin">coordinata avversativa finale</option>
<option value="avv int x">coordinata avversativa
interrogativa di tipo x</option>
<option value="avv int x ret">coordinata avversativa
interrogativa di tipo x retorica</option>
<option value="avv ipo caus">coordinata avversativa
ipotetica con valore causale</option>
<option value="avv iuss dir">coordinata avversativa
iussiva diretta</option>
<option value="avv iuss indir">coordinata avversativa
iussiva indiretta</option>
<option value="avv modaliz ott intr">coordinata
avversativa modalizzante ottativa con introduttore</option>
<option value="avv ogg / avv ogg perc">coordinata
avversativa oggettiva</option>
<option value="avv rel app">coordinata avversativa
relativa appositiva</option>
<option value="avv rel app cons antec">coordinata
avversativa relativa appositiva con valore consecutivo</option>
<option value="avv rel app comp ug">coordinata avversativa
relativa appositiva in costrutto comparativo</option>
<option value="avv rel giust">coordinata avversativa
relativa giustapposta</option>
<option value="avv rel ind">coordinata avversativa
relativa indipendente</option>
<option value="avv rel ind temp">coordinata avversativa
relativa indipendente temporale</option>
<option value="avv rel restr">coordinata avversativa
relativa restrittiva</option>
<option value="avv rel restr comp ug">coordinata
avversativa relativa restrittiva in costrutto comparativo</option>
<option value="avv sogg">coordinata avversativa soggettiva</option>
<option value="avv temp">coordinata avversativa temporale</option>
<option value="cong concl cons antec">coordinata
conclusiva consecutiva con antecedente</option>
<option value="cong concl dich">coordinata conclusiva
dichiarativa</option>
<option value="cong concl dich ill">coordinata conclusiva
dichiarativa illocutiva</option>
<option value="cong concl iuss dir">coordinata conclusiva
iussiva diretta</option>
<option value="cong concl iuss dir perifr">coordinata
conclusiva iussiva diretta perifrastica</option>
<option value="cong concl iuss indir">coordinata
conclusiva iussiva indiretta</option>
<option value="cong caus">coordinata congiuntiva causale</option>
<option value="cong comp ipo">coordinata congiuntiva
comparativa con valore ipotetico</option>
<option value="cong comp lim">coordinata congiuntiva
comparativa con valore limitativo</option>
<option value="cong comp mod">coordinata congiuntiva
comparativa con valore modale</option>
<option value="cong comp disug">coordinata congiuntiva
comparativa di disuguaglianza</option>
<option value="cong comp ug">coordinata congiuntiva
comparativa di uguaglianza</option>
<option value="cong rip">coordinata congiuntiva con
funzione di ripresa</option>
<option value="cong conc cond">coordinata congiuntiva
concessiva condizionale</option>
<option value="cong conc fatt">coordinata congiuntiva
concessiva fattuale</option>
<option value="cong cons antec">coordinata congiuntiva
consecutiva con antecedente</option>
<option value="cong cons antec fin">coordinata congiuntiva
consecutiva con antecedente con valore finale</option>
<option value="cong cons antec epes">coordinata
congiuntiva consecutiva con antecedente epesegetica</option>
<option value="cong cons ell">coordinata congiuntiva
consecutiva ellittica</option>
<option value="cong cons libera">coordinata congiuntiva
consecutiva libera</option>
<option value="cong cons libera fin">coordinata
congiuntiva consecutiva libera con valore finale</option>
<option value="cong cons post">coordinata congiuntiva
consecutiva posposta</option>
<option value="cong man">coordinata congiuntiva di maniera</option>
<option value="cong dich">coordinata congiuntiva
dichiarativa</option>
<option value="cong dich ill">coordinata congiuntiva
dichiarativa illocutiva</option>
<option value="cong eccett">coordinata congiuntiva
eccettuativa</option>
<option value="cong epes">coordinata congiuntiva
epesegetica</option>
<option value="cong esclam">coordinata congiuntiva
esclamativa</option>
<option value="cong esclus">coordinata congiuntiva
esclusiva</option>
<option value="cong fin">coordinata congiuntiva finale</option>
<option value="cong int altern">coordinata congiuntiva
interrogativa alternativa</option>
<option value="cong int altern">coordinata congiuntiva
interrogativa alternativa</option>
<option value="cong int x">coordinata congiuntiva
interrogativa di tipo x</option>
<option value="cong int x">coordinata congiuntiva
interrogativa di tipo x</option>
<option value="cong int x ret">coordinata congiuntiva
interrogativa di tipo x retorica</option>
<option value="cong ipo">coordinata congiuntiva ipotetica</option>
<option value="cong ipo caus">coordinata congiuntiva
ipotetica con valore causale</option>
<option value="cong ipo sogg">coordinata congiuntiva
ipotetica soggettiva</option>
<option value="cong iuss dir">coordinata congiuntiva
iussiva diretta</option>
<option value="cong iuss indir">coordinata congiuntiva
iussiva indiretta</option>
<option value="cong lim">coordinata congiuntiva limitativa</option>
<option value="cong modaliz ott intr">coordinata
congiuntiva modalizzante ottativa con introduttore</option>
<option value="cong obl">coordinata congiuntiva obliqua</option>
<option value="cong ogg /cong ogg perc">coordinata
congiuntiva oggettiva</option>
<option value="cong ott libera">coordinata congiuntiva
ottativa libera</option>
<option value="cong rel pseudo">coordinata congiuntiva
pseudo-relativa</option>
<option value="cong rel app">coordinata congiuntiva
relativa appositiva</option>
<option value="cong rel app comp ug">coordinata
congiuntiva relativa appositiva comparativa di uguaglianza</option>
<option value="cong rel app cons">coordinata congiuntiva
relativa appositiva con valore consecutivo</option>
<option value="cong rel app epes">coordinata congiuntiva
relativa appositiva con valore di epesegetica</option>
<option value="cong rel app fin">coordinata congiuntiva
relativa appositiva con valore finale</option>
<option value="cong rel app temp">coordinata congiuntiva
relativa appositiva con valore temporale</option>
<option value="cong rel app comp disug">coordinata
congiuntiva relativa appositiva in costrutto comparativo di
disuguaglianza</option>
<option value="cong rel app giust">coordinata congiuntiva
relativa giustapposta</option>
<option value="cong rel app giust caus">coordinata
congiuntiva relativa giustapposta con valore causale</option>
<option value="cong rel impl">coordinata congiuntiva
relativa implicita</option>
<option value="cong rel impl lim">coordinata congiuntiva
relativa implicita con valore limitativo</option>
<option value="cong rel ind">coordinata congiuntiva
relativa indipendente</option>
<option value="cong rel ind acond">coordinata congiuntiva
relativa indipendente acondizionale</option>
<option value="cong rel ind ipo">coordinata congiuntiva
relativa indipendente con valore ipotetico</option>
<option value="cong rel ind mod">coordinata congiuntiva
relativa indipendente con valore modale</option>
<option value="cong rel ind mod comp ug">coordinata
congiuntiva relativa indipendente in costrutto comparativo-modale</option>
<option value="cong rel ind temp">coordinata congiuntiva
relativa indipendente temporale</option>
<option value="cong rel restr">coordinata congiuntiva relativa restrittiva</option>
<option value="cong rel restr caus">coordinata congiuntiva relativa restrittiva con valore causale</option>
<option value="cong rel restr cons">coordinata congiuntiva relativa restrittiva con valore consecutivo</option>
<option value="cong rel restr comp ug">coordinata congiuntiva relativa restrittiva in costrutto comparativo</option>
<option value="cong rel restr temp">coordinata congiuntiva relativa restrittiva temporale</option>
<option value="cong sogg">coordinata congiuntiva soggettiva</option>
<option value="cong spec">coordinata congiuntiva specificativa</option>
<option value="cong strum">coordinata congiuntiva strumentale</option>
<option value="cong temp">coordinata congiuntiva temporale</option>
<option value="cong temp caus">coordinata congiuntiva temporale con valore causale</option>
<option value="cong cons caus">coordinata consecutiva causale</option>
<option value="cong cons dich">coordinata consecutiva dichiarativa</option>
<option value="cong corr dich">coordinata correlativa dichiarativa</option>
<option value="cong corr fin">coordinata correlativa finale</option>
<option value="cong corr lim">coordinata correlativa limitativa</option>
<option value="cong corr sogg infinitoprep">coordinata correlativa soggettiva a infinito preposizionale</option>
<option value="disg comp disug temp">coordinata disgiuntiva comparativa di disuguaglianza con valore temporale</option>
<option value="disg conc acond">coordinata disgiuntiva concessiva acondizionale</option>
<option value="disg conc cond">coordinata disgiuntiva concessiva condizionale</option>
<option value="disg cons libera">coordinata disgiuntiva consecutiva libera</option>
<option value="disg corr dich">coordinata disgiuntiva correlativa dichiarativa</option>
<option value="disg man">coordinata disgiuntiva di maniera</option>
<option value="disg dich">coordinata disgiuntiva dichiarativa</option>
<option value="disg epes">coordinata disgiuntiva epesegetica</option>
<option value="disg esclus">coordinata disgiuntiva esclusiva</option>
<option value="disg int altern">coordinata disgiuntiva interrogativa alternativa</option>
<option value="disg int altern">coordinata disgiuntiva interrogativa alternativa</option>
<option value="disg int x">coordinata disgiuntiva interrogativa di tipo x</option>
<option value="disg int disg">coordinata disgiuntiva interrogativa disgiuntiva</option>
<option value="disg ipo">coordinata disgiuntiva ipotetica</option>
<option value="disg lim">coordinata disgiuntiva limitativa</option>
<option value="disg obl">coordinata disgiuntiva obliqua</option>
<option value="disg ogg">coordinata disgiuntiva oggettiva</option>
<option value="disg rel ind">coordinata disgiuntiva relativa indipendente</option>
<option value="disg rel ind acond">coordinata disgiuntiva relativa indipendente acond</option>
<option value="disg rel ind temp">coordinata disgiuntiva relativa indipendente temporale</option>
<option value="disg rel restr">coordinata disgiuntiva relativa restrittiva</option>
<option value="disg rel restr cons">coordinata disgiuntiva relativa restrittiva con valore consecutivo</option>
<option value="disg sogg">coordinata disgiuntiva soggettiva</option>
<option value="disg temp">coordinata disgiuntiva temporale</option>
<option value="cong espl dich">coordinata esplicativa dichiarativa</option>
<option value="cong espl obl">coordinata esplicativa obliqua</option>
<option value="cong espl ogg">coordinata esplicativa oggettiva</option>
<option value="cong espl rel app antec">coordinata esplicativa relativa appositiva con antecedente</option>
<option value="cong espl rel ind mod">coordinata esplicativa relativa indipendente con valore modale</option>
<option value="man">di maniera</option>
<option value="man gerundioprep">di maniera a gerundio preposizionale</option>
<option value="dich">dichiarativa</option>
<option value="dich ill">dichiarativa illocutiva</option>
<option value="eccett">eccettuativa</option>
<option value="eccett comp ug">eccettuativa con valore di comparativa di uguaglianza</option>
<option value="epes">epesegetica</option>
<option value="esclam">esclamativa</option>
<option value="esclus">esclusiva</option>
<option value="faltern">falsa alternativa</option>
<option value="fcong">falsa congiuntiva</option>
<option value="fin">finale</option>
<option value="fin ipo">finale con valore ipotetico</option>
<option value="rip">funzione di ripresa</option>
<option value="int altern">interrogativa alternativa</option>
<option value="int altern ret">interrogativa alternativa retorica</option>
<option value="int x">interrogativa di tipo x</option>
<option value="int x ret">interrogativa di tipo x retorica</option>
<option value="int disg">interrogativa disgiuntiva</option>
<option value="int disg ret">interrogativa disgiuntiva retorica</option>
<option value="ipo">ipotetica</option>
<option value="ipo biaff">ipotetica biaffermativa</option>
<option value="ipo caus">ipotetica con valore causale</option>
<option value="ipo eccett">ipotetica con valore eccettuativo</option>
<option value="ipo obl">ipotetica obliqua</option>
<option value="ipo rel giust">ipotetica relativa giustapposta</option>
<option value="ipo sogg">ipotetica soggettiva</option>
<option value="iuss aug">iussiva augurativa</option>
<option value="iuss dir">iussiva diretta</option>
<option value="iuss dir perifr">iussiva diretta perifrastica</option>
<option value="iuss indir">iussiva indiretta</option>
<option value="lim">limitativa</option>
<option value="lim caus">limitativa con valore causale</option>
<option value="lim caus eccett">limitativa con valore causale-eccettuativo</option>
<option value="lim eccett">limitativa con valore eccettuativo</option>
<option value="mod">modale</option>
<option value="modaliz">modalizzante</option>
<option value="modaliz ott intr">modalizzante ottativa con introduttore</option>
<option value="modaliz ott libera">modalizzante ottativa libera</option>
<option value="obl">obliqua</option>
<option value="ogg | ogg aci | ogg perc">oggettiva</option>
<option value="ott intr">ottativa con introduttore</option>
<option value="ott libera">ottativa libera</option>
<option value="pred">predicativa</option>
<option value="rel pseudo">pseudo-relativa</option>
<option value="rel pseudo fin">pseudo-relativa con valore finale</option>
<option value="rel pseudo scissa">pseudo-relativa scissa</option>
<option value="rel pseudo scissa temp">pseudo-relativa scissa con valore temporale</option>
<option value="rel app antec">relativa appositiva con antecedente</option>
<option value="rel app antec caus">relativa appositiva con antecedente con valore causale</option>
<option value="rel app antec cons">relativa appositiva con antecedente con valore consecutivo</option>
<option value="rel app antec fin cons">relativa appositiva con antecedente con valore consecutivo-finale</option>
<option value="rel app antec fin">relativa appositiva con antecedente con valore finale</option>
<option value="rel app antec strum">relativa appositiva con antecedente con valore strumentale</option>
<option value="rel app antec giust">relativa appositiva con antecedente giustapposta</option>
<option value="rel app antec comp disug">relativa appositiva con antecedente in costrutto comparativo di disuguaglianza</option>
<option value="rel app antec comp ug">relativa appositiva con antecedente in costrutto comparativo di uguaglianza</option>
<option value="rel app antec eccett">relativa appositiva con antecedente in costrutto eccettuativo</option>
<option value="rel app antec giust cons">relativa appositiva giustapposta con valore consecutivo</option>
<option value="rel app antec giust man">relativa appositiva giustapposta con valore di maniera</option>
<option value="rel app antec giust ipo">relativa appositiva giustapposta con valore ipotetico</option>
<option value="rel restr antec comp ug">relativa con antecedente in costrutto comparativo di uguaglianza</option>
<option value="rel giust">relativa giustapposta</option>
<option value="rel impl">relativa implicita</option>
<option value="rel impl cons">relativa implicita con valore consecutivo</option>
<option value="rel impl fin">relativa implicita con valore finale</option>
<option value="rel impl lim">relativa implicita con valore limitativo</option>
<option value="rel impl deon">relativa implicita deontica</option>
<option value="rel ind">relativa indipendente</option>
<option value="rel ind acond">relativa indipendente acondizionale</option>
<option value="rel ind ipo">relativa indipendente con valore ipotetico</option>
<option value="rel ind mod">relativa indipendente con valore modale</option>
<option value="rel ind temp">relativa indipendente con valore temporale</option>
<option value="rel ind temp acond">relativa indipendente con valore temporale acondizionale</option>
<option value="rel ind temp caus">relativa indipendente con valore temporale-causale</option>
<option value="rel ind caus">relativa indipendente in costrutto causale</option>
<option value="rel ind comp">relativa indipendente in costrutto comparativo</option>
<option value="rel ind temp comp ug">relativa indipendente in costrutto comparativo di uguaglianza</option>
<option value="rel ind mod comp ug">relativa indipendente in costrutto comparativo-modale</option>
<option value="rel restr antec">relativa restrittiva con antecedente</option>
<option value="rel restr antec caus">relativa restrittiva con antecedente con valore causale</option>
<option value="rel restr antec cons">relativa restrittiva con antecedente con valore consecutivo</option>
<option value="rel restr antec conc cond">relativa restrittiva con antecedente con valore di concessiva condizionale</option>
<option value="rel restr antec conc fatt">relativa restrittiva con antecedente con valore di concessiva fattuale</option>
<option value="rel restr antec fin">relativa restrittiva con antecedente con valore finale</option>
<option value="rel restr antec ipo">relativa restrittiva con antecedente con valore ipotetico</option>
<option value="rel restr antec temp">relativa restrittiva con antecedente con valore temporale</option>
<option value="rel restr antec comp disug">relativa restrittiva con antecedente in costrutto comparativo di disuguaglianza</option>
<option value="rel restr antec comp mod">relativa restrittiva con antecedente in costrutto comparativo-modale</option>
<option value="rel restr antec eccett">relativa restrittiva con antecedente in costrutto eccettuativo</option>
<option value="rel restr antec lim">relativa restrittiva con antecedente in costrutto limitativo</option>
<option value="sogg | sogg aci | sogg id | sogg infinitoprep">soggettiva</option>
<option value="sogg soll">soggettiva a sollevamento</option>
<option value="sogg scissa">soggettiva scissa</option>
<option value="spec | spec aci | sogg infinitoprep">specficativa</option>
<option value="strum">strumentale</option>
<option value="subord">subordinata</option>
<option value="temp">temporale</option>
<option value="temp comp ug">temporale con valore comparativo</option>
<option value="temp ipo">temporale con valore ipotetico</option>
</optgroup>
</select>
</div>
</div>
<div class="form-group px-1 pb-1">
<label for="functionSyntax" class="text-muted control-label">Livello di subordinazione:</label>
<div class="form-inline input-group p-1" action="">
<div class="input-group-prepend">
<label class="input-group-text"><ion-icon name="options"></ion-icon></label>
</div>
<select class="form-control custom-select" name="functionSyntax" id="syntfunc" title="Livello di subordinazione">
<option value=".+">Qualsiasi livello di subordinazione</option>
<optgroup label="Livelli di subordinazione">
<option value="princ">principale</option>
<option value="coord">coordinata a una principale</option>
<option value="subord i">subordinata di I grado</option>
<option value="subord ii">subordinata di II grado</option>
<option value="subord iii">subordinata di III grado</option>
<option value="subord iv">subordinata di IV grado</option>
<option value="subord v">subordinata di V grado</option>
<option value="subord vi">subordinata di VI grado</option>
<option value="subord vii">subordinata di VII grado</option>
<option value="coord i">coordinata a una subordinata di I grado</option>
<option value="coord ii">coordinata a una subordinata di II grado</option>
<option value="coord iii">coordinata a una subordinata di III grado</option>
<option value="coord iv">coordinata a una subordinata di IV grado</option>
<option value="coord v">coordinata a una subordinata di V grado</option>
<option value="pcoord">pseudo-coordinata</option>
<option value="parent">parentetica</option>
<option value="coord 0">coordinata a una parentetica</option>
</optgroup>
</select>
</div>
</div>
</div>
<!-- FINE TIPO SINTATTICO -->
<!-- CONDIZIONE GRAMMATICALE -->
<div style="display: none;">
<table id="gramm_table">
<tr id="">
<td class="pa3">
<fieldset id="lemma_forma" class="bn">
<div class="custom-control custom-radio custom-control-inline">
<input class="custom-control-input" type="radio" id="lemma" value="lemma"
name="oggetto"> <label for="lemma" class="custom-control-label">Lemma</label>
</div>
<div class="custom-control custom-radio custom-control-inline">
<input class="custom-control-input" type="radio" id="forma" value="forma"
name="oggetto"> <label for="forma" class="custom-control-label">Forma</label>
</div>
</fieldset>
</td>
<td class="pa3"><input id="name"
class="input-reset ba b--black-20 pa2 mb2 db w-100" type="text"
aria-describedby="name-desc" name="query" value=""></td>
<!-- ??? non viene usata -->
<td class="pa3"><select id="types"
class="form-control custom-select" name="tipo"
title="Tipo di ricerca">
<option value="parola" onclick="">Parola</option>
<option value="sottostringa" onclick="">Sottostringa</option>
<option value="prefisso" onclick="">Prefisso</option>
<option value="suffisso" onclick="">Suffisso</option>
<option value="espressione" onclick="">Espressione regolare</option>
<option value="occorrenze" onclick="">Tutte le occorrenze</option>
</select></td>
<td class="pa3"><select id="types"
class="form-control custom-select"
name="categoria" onchange="" title="Macro categoria">
<option value="all">Tutte le categorie</option>
<optgroup label="Volgare">
<option value="verbovolgare">Verbo volgare</option>
<option value="sostantivovolgare">Sostantivo volgare</option>
<option value="aggettivovolgare">Aggettivo volgare</option>
<option value="pronomevolgare">Pronome volgare</option>
<option value="articolovolgare">Articolo volgare</option>
<option value="avverbiovolgare">Avverbio volgare</option>
<option value="preposizionevolgare">Preposizione volgare</option>
<option value="congiunzionevolgare">Congiunzione volgare</option>
<option value="interiezionevolgare">Interiezione volgare</option>
<option value="onomasticavolgare">Onomastica volgare</option>
<option value="citazionevolgare">Citazione volgare</option>
</optgroup>
<optgroup label="Latino">
<option value="verbo_latino_v">Verbo latino</option>
<option value="sostantivo_latino_s">Sostantivo latino</option>
<option value="aggettivo_latino_a">Aggettivo latino</option>
<option value="pronome_latino_p">Pronome latino</option>
<option value="avverbio_latino_r">Avverbio latino</option>
<option value="preposizione_latino_e">Preposizione latino</option>
<option value="congiunzione_latino_c">Congiunzione latino</option>
<option value="interiezione_latino_i">Interiezione latino</option>
<option value="enclitica_latino_9">Enclitica latino</option>
<option value="citazione_latino_zi">Citazione latino</option>
<option value="simbolo_latino_yy">Simbolo latino</option>
</optgroup>
</select></td>
<td><input class="delete-record" type="submit" value="Rimuovi" data-id="0"></td>
</tr>
</table>
</div>
<!-- FINE MODELLI CLAUSOLE -->
</form>
</div>
</div>
</div>
<div class="container p-2 my-3 border bg-light">
<div class="row">
<div class="col-md-12">
<ul class="nav nav-tabs" id="result-list" role="tablist">
<li class="nav-item active" role="presentation">
<a class="nav-link active" id="result1-tab" data-toggle="tab" href="#result1" role="tab" aria-controls="result1" aria-selected="true"><span class="small text-secondary"><ion-icon name="archive"></ion-icon></span><span class="text-dark font-weight-bold">&nbsp;&nbsp;Risultati</span></a>
</li>
<li class="nav-item" role="presentation">
<a class="nav-link" id="result2-tab" data-toggle="tab" href="#result2" role="tab" aria-controls="result2" aria-selected="true"><span class="small text-dark font-weight-bold">Testo</span></a>
</li>
<li class="nav-item" role="presentation">
<a class="nav-link" id="result3-tab" data-toggle="tab" href="#result3" role="tab" aria-controls="result3" aria-selected="true"><span class="small text-dark font-weight-bold">Query Sparql</span></a>
</li>
</ul>
<div class="tab-content border-right border-left border-bottom" id="result-TabContent">
<div class="tab-pane fade show active p-2 bg-white" id="result1" role="tabpanel" aria-labelledby="result1-tab">
<div class="form-outline text-muted font-weight-normal p-1" id="showrisultati">
<label class="form-label" for="risultati">Risultati della ricerca:</label>
<textarea class="form-control text-muted bg-white" id="risultati" rows="2" placeholder="Nessun risultato" readonly></textarea>
</div>
</div>
<div class="tab-pane fade p-2 bg-white" id="result2" role="tabpanel" aria-labelledby="result2-tab">
<div class="form-outline text-muted font-weight-normal p-1" id="showtext">
<label class="form-label" for="risultatitesto">Risultati testuali della ricerca:</label>
<textarea class="form-control text-muted bg-white" id="risultatitesto" rows="2" placeholder="Nessun risultato" readonly></textarea>
</div>
</div>
<div class="tab-pane fade p-2 bg-white" id="result3" role="tabpanel" aria-labelledby="result3-tab">
<div class="form-outline text-muted font-weight-normal p-1" id="showsparqlquery">
<label class="form-label" for="sparqlquery">La query SPARQL è:</label>
<textarea class="form-control text-muted bg-white" id="sparqlquery" rows="2" placeholder="Nessuna query" readonly></textarea>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="container pb-3 px-3 my-3 border bg-lidaBG1">
<div class="row align-items-end p-2 halfOpacity">
<div class="col shadow bg-lida8">&nbsp;</div>
<div class="col shadow bg-lida9">&nbsp;</div>
<div class="col shadow bg-lida3">&nbsp;</div>
<div class="col shadow bg-lida4">&nbsp;</div>
<div class="col shadow bg-lida5">&nbsp;</div>
</div>
<p class="text-right">
<cite class="font-italic text-lida5">Info &amp; Copyright</cite>
<cite class="font-italic text-secondary font-weight-lighter">(idem)</cite>
</p>
</div>
</div>
<script type="module" src="https://unpkg.com/ionicons@5.5.2/dist/ionicons/ionicons.esm.js"></script>
<script nomodule src="https://unpkg.com/ionicons@5.5.2/dist/ionicons/ionicons.js"></script>
</body>
</html>

574
js/script_Luk.js Normal file
View File

@ -0,0 +1,574 @@
/**
*
*/
$(document).ready(function() {
$( "#sortable1" ).sortable();
// Evento: click sull'area di anvigazione delle tab
$('#tab-list').on('click', refreshClaList);
// Evento: click sull'icona check dentro il tab della clausola
$('#cla-TabContent').on('click', '.return2Query', function() {
var tabFirst = $('#tab-list a:first');
refreshClaList();
tabFirst.tab('show');
});
// Evento: click sull'icona rimuovi dentro il tab della clausola
$('#cla-TabContent').on('click', '.removeClaInTab', function() {
var tabIDVal = "#" + $(this).parent('div').parent().attr('id');
removedTabOrder = $(tabIDVal).attr('data-claOrder');
var liID = tabIDVal +"-tab";
claListLen--;
$(liID).parent().remove();
$(tabIDVal).remove();
var tabFirst = $('#tab-list a:first');
refreshTabList();
refreshClaList();
tabFirst.tab('show');
});
// Evento: click sull'icona rimuovi dentro la lista delle clausole
$('#cla-TabContent').on('click', '.removeClaInList', function() {
var tabIDHandle = $(this).closest('li').attr('id');
var tabIDVal = "#" + tabIDHandle.substring(2);
removedTabOrder = $(tabIDVal).attr('data-claOrder');
var liID = tabIDVal + "-tab";
claListLen--;
$(liID).parent().remove();
$(tabIDVal).remove();
var tabFirst = $('#tab-list a:first');
refreshTabList();
refreshClaList();
tabFirst.tab('show');
});
// Evento: click sull'icona modifica dentro la lista delle clausole
$('#cla-TabContent').on('click', '.editCla', function() {
var tabIDHandle = $(this).closest('li').attr('id');
var liID = "#" + tabIDHandle.substring(2) + "-tab";
var tabTarget = $('#tab-list ' + liID);
tabTarget.tab('show');
});
// Evento: click sulla lista di clausole nel dropbox "Aggiungi clausola di tipo:"
$('.btn-group a').on('click', function() {
var addClaN = $(this).attr('id');
switch (addClaN) {
case "Grammaticale":
tabID++;
var clone = document.getElementById("tipogrammaticaleN").cloneNode(true);
clone.setAttribute("id","cla" + tabID);
clone.setAttribute("data-claOrder",claListLen);
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($('<li class="nav-item" role="presentation"><a class="nav-link" id="cla' + tabID + '-tab" data-toggle="tab" href="#cla' + tabID + '" role="tab" aria-controls="cla' + tabID + '" aria-selected="false" data-claType="Grammaticale"><span class="small font-weight-bold text-lida8">' + iconFilter + '&nbsp;&nbsp;' + claListLen + '. Grammaticale</span></a></li>'));
$('#cla' + tabID + '-tab').tab('show');
break;
case "Sintattico":
tabID++;
var clone = document.getElementById("tiposintatticoN").cloneNode(true);
clone.setAttribute("id","cla" + tabID);
clone.setAttribute("data-claOrder",claListLen);
clone.setAttribute("aria-labelledby","cla" + tabID + "-tab");
clone.removeAttribute("style");
$('#cla-TabContent').append(clone);
claListLen++;
$('#tab-list').append($('<li class="nav-item" role="presentation"><a class="nav-link" id="cla' + tabID + '-tab" data-toggle="tab" href="#cla' + tabID + '" role="tab" aria-controls="cla' + tabID + '" aria-selected="false" data-claType="Sintattico"><span class="small font-weight-bold text-lida9">' + iconFilter + '&nbsp;&nbsp;' + claListLen + '. Sintattico</span></a></li>'));
$('#cla' + tabID + '-tab').tab('show');
break;
case "Metafore":
tabID++;
$('#cla-TabContent').append($('<div class="tab-pane fade p-2 bg-white" data-claOrder="' + claListLen + '" data-claActive="0" id="cla' + tabID + '" role="tabpanel" aria-labelledby="cla' + tabID + '-tab" data-claType="Metafore">' + iconCheckAndClose + '<div class="text-muted form-group px-1 pb-1">Clausola <span class="text-lida3">Metafore</span> - non ancora implementata</div></div>'));
claListLen++;
$('#tab-list').append($('<li class="nav-item" role="presentation"><a class="nav-link" id="cla' + tabID + '-tab" data-toggle="tab" href="#cla' + tabID + '" role="tab" aria-controls="cla' + tabID + '" aria-selected="false" data-claType="Metafore"><span class="small font-weight-bold text-lida3">' + iconFilter + '&nbsp;&nbsp;' + claListLen + '. Metafore</span></a></li>'));
$('#cla' + tabID + '-tab').tab('show');
break;
case "Dialoghi":
tabID++;
$('#cla-TabContent').append($('<div class="tab-pane fade p-2 bg-white" data-claOrder="' + claListLen + '" data-claActive="0" id="cla' + tabID + '" role="tabpanel" aria-labelledby="cla' + tabID + '-tab" data-claType="Dialoghi">' + iconCheckAndClose + '<div class="text-muted form-group px-1 pb-1">Clausola <span class="text-lida4">Dialoghi</span> - non ancora implementata</div></div>'));
claListLen++;
$('#tab-list').append($('<li class="nav-item" role="presentation"><a class="nav-link" id="cla' + tabID + '-tab" data-toggle="tab" href="#cla' + tabID + '" role="tab" aria-controls="cla' + tabID + '" aria-selected="false" data-claType="Dialoghi"><span class="small font-weight-bold text-lida4">' + iconFilter + '&nbsp;&nbsp;' + claListLen + '. Dialoghi</span></a></li>'));
$('#cla' + tabID + '-tab').tab('show');
break;
case "Struttura":
tabID++;
$('#cla-TabContent').append($('<div class="tab-pane fade p-2 bg-white" data-claOrder="' + claListLen + '" data-claActive="0" id="cla' + tabID + '" role="tabpanel" aria-labelledby="cla' + tabID + '-tab" data-claType="Struttura">' + iconCheckAndClose + '<div class="text-muted form-group px-1 pb-1">Clausola <span class="text-lida5">Struttura testo</span> - non ancora implementata</div></div>'));
claListLen++;
$('#tab-list').append($('<li class="nav-item" role="presentation"><a class="nav-link" id="cla' + tabID + '-tab" data-toggle="tab" href="#cla' + tabID + '" role="tab" aria-controls="cla' + tabID + '" aria-selected="false" data-claType="Struttura"><span class="small font-weight-bold text-lida5">' + iconFilter + '&nbsp;&nbsp;' + claListLen + '. Struttura</span></a></li>'));
$('#cla' + tabID + '-tab').tab('show');
break;
default:
};
});
// Evento: clausola spostata nella lista
$('#sortable1').sortable({
opacity: 0.6,
cursor: 'move',
update: function(event, ui) {
var orderLI = $(this).sortable('toArray');
$.each(orderLI, function(index, tabIDHandle){
tabIDSet = "#" + tabIDHandle.substring(2);
$(tabIDSet).attr("data-claOrder", index);
});
}
});
// Evento: click sul checkbox di attivazione delle clausole
$('#cla-TabContent').on('click', '.claAct', function() {
var tabIDHandle = $(this).closest('li').attr('id');
var tabIDVal = "#" + tabIDHandle.substring(2);
if ($(this).prop('checked')) {
$(tabIDVal).attr("data-claActive", 1);
$(this).closest('li').find('.clatext').fadeTo( "slow", 1 );
} else {
$(tabIDVal).attr("data-claActive", 0);
$(this).closest('li').find('.clatext').fadeTo( "slow", 0.6 );
}
});
// Evento: click sull'icona di refresh dei radio button
$('#cla-TabContent').on('click', '.radioRefresh', function() {
fSet = $(this).siblings('fieldset');
if (fSet.find(":checked").length) {
radioChecked = fSet.find(":checked")[0];
radioChecked.checked = false;
};
});
// Evento: SCELTA CATEGORIA GRAMMATICALE
$('#cla-TabContent').on('change', 'select.catgram', function(e) {
e.preventDefault();
var tabPaneId = ($(this).closest('.tab-pane').attr("id"));
var dettagliBox = $(this).parent().parent().siblings(".dettaglifiltri");
dettagliBox.html("");
containerid = 'dettaglio_' + $(this).parent().parent().parent().attr("id")
if (Object.keys(categorie).includes($(this).val())) {
var filtro = categorie[$(this).val()]
var keys = Object.keys(categorieJson[filtro])
for (key in keys) {
var vals = categorieJson[filtro][keys[key]]
switch (vals.length) {
case 2:
var element = $('<div />');
element.attr('class', ' d-flex flex-nowrap pr-2 mb-1 col-8 form-group form-control justify-content-between');
var rbfieldset = $('<fieldset />'),
flexdiv1 = $('<div />'),
flexdiv2 = $('<div />'),
input1 = $('<input />'),
input2 = $('<input />'),
label1 = $('<label />'),
label2 = $('<label />');
rbfieldset.attr('id', tabPaneId + keys[key]);
rbfieldset.attr('class', 'bn');
flexdiv1.attr('class', 'custom-control custom-radio custom-control-inline');
flexdiv2.attr('class', 'custom-control custom-radio custom-control-inline');
input1.attr('class', 'custom-control-input');
input2.attr('class', 'custom-control-input');
input1.attr('type', 'radio');
input2.attr('type', 'radio');
input1.attr('id', tabPaneId + vals[0]);
input2.attr('id', tabPaneId + vals[1]);
input1.attr('value', vals[0]);
input2.attr('value', vals[1]);
input1.attr('name', tabPaneId + keys[key]);
input2.attr('name', tabPaneId + keys[key]);
label1.attr('class', 'custom-control-label');
label2.attr('class', 'custom-control-label');
label1.attr('for', tabPaneId + vals[0]);
label2.attr('for', tabPaneId + vals[1]);
label1.append(vals[0]);
label2.append(vals[1]);
input1.appendTo(flexdiv1);
input2.appendTo(flexdiv2);
label1.appendTo(flexdiv1);
label2.appendTo(flexdiv2);
flexdiv1.appendTo(rbfieldset);
flexdiv2.appendTo(rbfieldset);
rbfieldset.appendTo(element);
var iconR = $(iconReset);
iconR.appendTo(element);
element.attr('style', 'display:block');
element.appendTo(dettagliBox);
break;
case 1:
var element = $('<div />');
element.attr('class', ' d-flex flex-nowrap mb-1 col-4 form-group form-control');
var rbfieldset = $('<fieldset />');
flexdiv1 = $('<div />');
input1 = $('<input />');
label1 = $('<label />');
rbfieldset.attr('id', tabPaneId + keys[key]);
rbfieldset.attr('class', 'bn');
flexdiv1.attr('class', 'custom-control custom-checkbox custom-control-inline');
input1.attr('class', 'custom-control-input');
input1.attr('type', 'checkbox');
input1.attr('id', tabPaneId + vals[0].replace(/\s/g, ''));
input1.attr('value', vals[0]);
input1.attr('name', keys[key]);
label1.attr('class', 'custom-control-label');
label1.attr('for', tabPaneId + vals[0].replace(/\s/g, ''));
label1.append(vals[0]);
input1.appendTo(flexdiv1);
label1.appendTo(flexdiv1);
flexdiv1.appendTo(rbfieldset);
rbfieldset.appendTo(element);
element.attr('style', 'display:block');
element.appendTo(dettagliBox);
break;
default:
var element = $('<div />');
element.attr('class', ' col-8 form-group px-0 pb-1 m-0');
var select = $('<select class="form-control custom-select"/>');
select.attr('id', tabPaneId + keys[key]);
select.attr('title', keys[key]);
select.attr('name', keys[key]);
for (val in vals) {
var seloption = $('<option />');
seloption.attr('value', vals[val]);
seloption.append(vals[val]);
seloption.appendTo(select);
}
select.appendTo(element);
element.attr('style', 'display:block');
element.appendTo(dettagliBox);
}
}
}
element.attr('style', "display: block;");
element.appendTo(dettagliBox);
// ANCORA DA VEDERE:
var divdf = jQuery('#divdettaglifiltri >div'),
detelement = null,
detelement = divdf.clone();
detelement.attr('id', 'dettaglifiltri')
detelement.appendTo("#query")
});
// Variabili JSON
/*
var verboJson = {
"filtriverbo": {
"Diatesi": ["Attivo", "Passivo"],
"Transitivita": ["Transitivo", "Intransitivo"],
"Genere": ["Femminile", "Maschile"],
"Numero": ["Singolare", "Plurale"],
"Pers": ["Impersonale"],
"Rifl": ["Riflessivo"],
"Coniugazione": ["--_Qualsiasi coniugazione", "pc-_Prima coniugazione", "sc-_Seconda coniugazione", "tc-_Terza coniugazione", "ec-_Essere coniugazione", "ac-_Avere coniugazione"],
"Tempi": ["--_Qualsiasi tempo verbale", "ip-_Indicativo presente", "ib-_Indicativo passato prossimo", "ii-_Indicativo imperfetto", "ir-_Indicativo passato remoto",
"is-_Indicativo trapassato prossimo", "it-_Indicativo trapassato remoto", "if-_Indicativo futuro semplice", "ia-_Indicativo futuro anteriore", "cp-_Congiuntivo presente",
"ci-_Congiuntivo imperfetto", "cr-_Congiuntivo passato", "ct-_Congiuntivo trapassato", "dp-_Condizionale presente", "dr-_Condizionale passato", "mp-_Imperativo presente",
"fp-_Infinito presente", "fr-_Infinito passato", "pp-_Participio presente", "pr-_Participio passato", "gp-_Gerundio presente", "gr-_Gerundio passato"],
"Persona" : ["--_Qualsiasi persona", "s1-_1ª persona singolare", "s2-_2ª persona singolare", "s3-_3ª persona singolare", "p1-_1ª persona plurale", "p2-_2ª persona plurale", "p3-_3ª persona plurale"],
"Funzione": ["--_Tutte le funzioni", "ag-_Aggettivo", "sm-_Sostantivo maschile", "sf-_Sostantivo femminile"],
"Declinazione": ["--_Tutte le declinazioni", "ag-_Prima declinazione", "sm-_Seconda declinazione", "sf-_Terza declinazione"],
}
}
*/
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": ["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 iconEdit = '<ion-icon name="pencil"></ion-icon>';
var iconClose = '<ion-icon name="close-circle"></ion-icon>';
var iconCheck = '<ion-icon name="checkmark-circle"></ion-icon>';
var iconFilter = '<ion-icon name="filter-circle"></ion-icon>';
var iconReset = '<div class="text-right text-primary radioRefresh"><ion-icon name="refresh-circle"></ion-icon></div>';
var iconCheckAndClose = '<div class="p-0 m-1 text-right text-primary"><span class="return2Query">' + iconCheck + '</span>&nbsp;&nbsp;<span class="removeClaInTab">' + iconClose + '</span></div>';
var emptyClaList = '<li class="list-group-item align-items-center ui-state-default ui-state-disabled border text-muted bg-white">Nessuna clausola aggiunta.</li>';
var LIpart1 = '<li id="'
var LIpart2 = '" class="p-1 list-group-item align-items-center border text-muted bg-white"><div class="container-fluid"><div class="row"><div class="col-md-11 px-0 pr-2"> \
<div class="bd-highlight text-primary"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span></div><div class="p-1 bd-highlight flex-grow-1 border-right clatext">';
var LIpart3 = '</div></div><div class="col-md-1 px-0 pl-4"><div class="row"><div class="col-md-12 px-0 float-right"><div class="d-flex px-3 flex-nowrap float-right"> \
<div class="p-1 align-top bd-highlight text-primary editCla">' + iconEdit + '</div><div class="p-1 align-top bd-highlight text-primary removeClaInList">' + iconClose + '</div> \
</div></div></div><div class="row"><div class="col-md-12 px-2 float-right"><div class="custom-control custom-switch p-1 text-right bd-highlight"> \
<input type="checkbox" class="custom-control-input claAct" name="cla-attiva" aria-label="attiva" id="actiClaSW';
var LIpart4 = '><label class="custom-control-label" for="actiClaSW';
var LIpart5 = '"></label></div></div></div></div></div></div></li>';
// Variabili funzionali
var tabID = 0;
var claListLen = 0;
var removedTabOrder = -1;
// Funzione di refresh della lista delle tab delle clausole
function refreshTabList(){
var tabs=$("#tab-list li:not(:first)");
var len=0;
$(tabs).each(function(){
len++;
var claType = $(this).find('a').attr("data-claType");
switch (claType) {
case "Grammaticale":
textClassType = "text-lida8";
break;
case "Sintattico":
textClassType = "text-lida9";
break;
case "Metafore":
textClassType = "text-lida3";
break;
case "Dialoghi":
textClassType = "text-lida4";
break;
case "Struttura":
textClassType = "text-lida5";
break;
default:
textClassType = "text-lida8";
};
$(this).find('a').html('<span class="small font-weight-bold ' + textClassType + '" >' + iconFilter + '&nbsp;&nbsp;' + len + ': ' + claType + '&nbsp;&nbsp;</span>');
$(this).find('a').attr("data-claType", claType)
});
}
// Funzione di refresh della lista clausole nella tab query
function refreshClaList(){
var tabsC=$("#cla-TabContent").find(".tab-pane:not(:first)");
var clausoleText = "";
var len=0;
if ($(tabsC).length) {
var LItextArray = new Array($(tabsC).length);
$(tabsC).each(function(){
len++;
checkInsert = '"';
tabIDHandle = "H-" + $(this).attr('id');
claType = $(this).attr('data-claType');
claOrder = $(this).attr('data-claOrder');
claActive = $(this).attr('data-claActive');
if (claActive > 0) {
checkInsert = '" checked="checked"';
};
// se una clausola è stata rimossa aggiorno il 'data-claOrder' di quelle successive nella lista,
// altrimenti l'array ha elementi undefined:
if (removedTabOrder > -1 && claOrder > removedTabOrder) {
claOrder--;
$(this).attr('data-claOrder',claOrder);
};
switch (claType) {
case "Grammaticale":
graSelect = $(this).find(".catgram");
graText = graSelect[0].options[graSelect[0].selectedIndex].text;
claText = len + ". Categoria grammaticale: " + graText + '<br><span class="small ml-3">';
claSubParList = $(this).children(".dettaglifiltri").find("select, fieldset");
claSubParList.each(function(){
claSubParType = $(this)[0].type;
if (claSubParType == "fieldset" && $(this).find(":checked").length) {
//claSubParValue = $(this).find(":checked")[0].value;
claSubParId = $(this).find(":checked")[0].id;
claSubParText = $(this).find("[for='" + claSubParId + "']")[0].innerText;
claText = claText + claSubParText + "; ";
};
if (claSubParType == "select-one") {
//claSubParValue = $(this)[0].value;
claSubParText = $(this)[0].options[$(this)[0].selectedIndex].text;
//claText = claText + $(this)[0].title + ": " + claSubParText + "; "
claText = claText + claSubParText + "; "
};
});
break;
case "Sintattico":
syntSelect = $(this).find("#synttypes");
syntText = syntSelect[0].options[syntSelect[0].selectedIndex].text;
funcSelect = $(this).find("#syntfunc");
funcText = funcSelect[0].options[funcSelect[0].selectedIndex].text;
claText = len + ". Tipo sintattico: " + syntText + '; <br><span class="ml-3"">Livello di subordinazione: ' + funcText
break;
default:
claText = len + ". " + $(this).text();
checkInsert = '" disabled';
};
LItextArray[claOrder] = LIpart1 + tabIDHandle + LIpart2 + claText + LIpart3 + len + checkInsert + LIpart4 + len + LIpart5;
});
$.each(LItextArray, function(index, LItext){
clausoleText = clausoleText + LItextArray[index];
});
} else {
clausoleText = emptyClaList;
tabID = 0;
claListLen = 0;
};
$('#sortable1').html(clausoleText);
$('#sortable1 li').each(function(){
if (! $(this).find(".claAct").prop('checked')) {
$(this).find('.clatext').css({ opacity: 0.6 });
};
});
removedTabOrder = -1;
}
function cloneClaSint(clone,tabID){
var original = document.getElementById("tiposintatticoX");
clone = original.cloneNode(true);
clone.setAttribute("id","tiposintattico" + tabID);
}
});

736
js/script_Luk_logic.js Normal file
View File

@ -0,0 +1,736 @@
/**
*
*/
$(document).ready(function() {
$( "#sortable0" ).sortable({
items: "> li",
handle: ".handle"
});
// Evento: click sull'area di anvigazione delle tab
$('#tab-list').on('click', function() {
refreshClaList();
refreshSortables();
});
// Evento: click sull'icona check dentro il tab della clausola
$('#cla-TabContent').on('click', '.return2Query', function() {
var tabFirst = $('#tab-list a:first');
refreshClaList();
tabFirst.tab('show');
});
// Evento: click sull'icona rimuovi clausola dentro il tab della clausola
$('#cla-TabContent').on('click', '.removeClaInTab', function() {
var tabPanelId = "#" + $(this).parent('div').parent().attr('id');
var claListItemID = "H-" + $(this).parent('div').parent().attr('id');
var tabLiId = tabPanelId + "-tab";
claListLen--;
$(tabLiId).parent().remove();
$(tabPanelId).remove();
if ($("#" + claListItemID)[0]){
$("#" + claListItemID)[0].remove();
};
var tabFirst = $('#tab-list a:first');
refreshTabList();
refreshClaList();
refreshSortables();
tabFirst.tab('show');
});
// Evento: click sull'icona rimuovi clausola dentro la lista delle clausole
$('#cla-TabContent').on('click', '.removeClaInList', function() {
var claListItemID = $(this).closest('li').attr('id');
var tabPanelId = "#" + claListItemID.substring(2);
var tabLiId = tabPanelId + "-tab";
claListLen--;
$(tabLiId).parent().remove();
$(tabPanelId).remove();
$("#" + claListItemID)[0].remove();
var tabFirst = $('#tab-list a:first');
refreshTabList();
refreshClaList();
refreshSortables();
tabFirst.tab('show');
});
// Evento: click sull'icona rimuovi condizione dentro la lista delle clausole
$('#sortable0').on('click', '.removeCond', function() {
$(this).closest('ul').parent().remove();
condListLen--;
refreshSortables();
refreshConnectWith();
if (claListLen == 0 && condListLen == 0) {
$('#sortable0').html(emptyClaList);
}
});
// Evento: click sull'icona modifica dentro la lista delle clausole
$('#cla-TabContent').on('click', '.editCla', function() {
var claListItemID = $(this).closest('li').attr('id');
var tabLiId = "#" + claListItemID.substring(2) + "-tab";
var tabTarget = $('#tab-list ' + tabLiId);
tabTarget.tab('show');
});
// 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++;
var clone = document.getElementById("tipogrammaticaleN").cloneNode(true);
clone.setAttribute("id","cla" + tabID);
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($('<li class="nav-item" role="presentation"><a class="nav-link" id="cla' + tabID + '-tab" data-toggle="tab" href="#cla' + tabID + '" role="tab" aria-controls="cla' + tabID + '" aria-selected="false" data-claType="Grammaticale"><span class="small font-weight-bold text-lida8">' + iconFilter + '&nbsp;&nbsp;' + claListLen + '. Grammaticale</span></a></li>'));
$('#cla' + tabID + '-tab').tab('show');
break;
case "Sintattico":
tabID++;
var clone = document.getElementById("tiposintatticoN").cloneNode(true);
clone.setAttribute("id","cla" + tabID);
clone.setAttribute("aria-labelledby","cla" + tabID + "-tab");
clone.removeAttribute("style");
$('#cla-TabContent').append(clone);
claListLen++;
$('#tab-list').append($('<li class="nav-item" role="presentation"><a class="nav-link" id="cla' + tabID + '-tab" data-toggle="tab" href="#cla' + tabID + '" role="tab" aria-controls="cla' + tabID + '" aria-selected="false" data-claType="Sintattico"><span class="small font-weight-bold text-lida9">' + iconFilter + '&nbsp;&nbsp;' + claListLen + '. Sintattico</span></a></li>'));
$('#cla' + tabID + '-tab').tab('show');
break;
case "Metafore":
tabID++;
$('#cla-TabContent').append($('<div class="tab-pane fade p-2 bg-white" data-claActive="0" id="cla' + tabID + '" role="tabpanel" aria-labelledby="cla' + tabID + '-tab" data-claType="Metafore">' + iconCheckAndClose + '<div class="text-muted form-group px-1 pb-1">Clausola <span class="text-lida3">Metafore</span> - non ancora implementata</div></div>'));
claListLen++;
$('#tab-list').append($('<li class="nav-item" role="presentation"><a class="nav-link" id="cla' + tabID + '-tab" data-toggle="tab" href="#cla' + tabID + '" role="tab" aria-controls="cla' + tabID + '" aria-selected="false" data-claType="Metafore"><span class="small font-weight-bold text-lida3">' + iconFilter + '&nbsp;&nbsp;' + claListLen + '. Metafore</span></a></li>'));
$('#cla' + tabID + '-tab').tab('show');
break;
case "Dialoghi":
tabID++;
$('#cla-TabContent').append($('<div class="tab-pane fade p-2 bg-white" data-claActive="0" id="cla' + tabID + '" role="tabpanel" aria-labelledby="cla' + tabID + '-tab" data-claType="Dialoghi">' + iconCheckAndClose + '<div class="text-muted form-group px-1 pb-1">Clausola <span class="text-lida4">Dialoghi</span> - non ancora implementata</div></div>'));
claListLen++;
$('#tab-list').append($('<li class="nav-item" role="presentation"><a class="nav-link" id="cla' + tabID + '-tab" data-toggle="tab" href="#cla' + tabID + '" role="tab" aria-controls="cla' + tabID + '" aria-selected="false" data-claType="Dialoghi"><span class="small font-weight-bold text-lida4">' + iconFilter + '&nbsp;&nbsp;' + claListLen + '. Dialoghi</span></a></li>'));
$('#cla' + tabID + '-tab').tab('show');
break;
case "Struttura":
tabID++;
$('#cla-TabContent').append($('<div class="tab-pane fade p-2 bg-white" data-claActive="0" id="cla' + tabID + '" role="tabpanel" aria-labelledby="cla' + tabID + '-tab" data-claType="Struttura">' + iconCheckAndClose + '<div class="text-muted form-group px-1 pb-1">Clausola <span class="text-lida5">Struttura testo</span> - non ancora implementata</div></div>'));
claListLen++;
$('#tab-list').append($('<li class="nav-item" role="presentation"><a class="nav-link" id="cla' + tabID + '-tab" data-toggle="tab" href="#cla' + tabID + '" role="tab" aria-controls="cla' + tabID + '" aria-selected="false" data-claType="Struttura"><span class="small font-weight-bold text-lida5">' + iconFilter + '&nbsp;&nbsp;' + claListLen + '. Struttura</span></a></li>'));
$('#cla' + tabID + '-tab').tab('show');
break;
case "andCond":
condListLen++;
LItext = condLIpart1 + condListLen + condLIpart2and + condListLen + condLIpart3and + condListLen + condLIpart4;
if ($("#H-cla0")[0]) {
$("#H-cla0")[0].remove();
};
$("#sortable0").append(LItext);
$("#sortable" + condListLen).sortable();
$("#sortable" + condListLen).sortable( "option", "appendTo", document.body );
$("#sortable" + condListLen).sortable({
items: "> li",
handle: ".handle",
opacity: 0.6,
cursor: 'move',
update: function() {refreshSortables();}
});
refreshConnectWith();
break;
case "orCond":
condListLen++;
LItext = condLIpart1 + condListLen + condLIpart2or + condListLen + condLIpart3or + condListLen + condLIpart4;
if ($("#H-cla0")[0]) {
$("#H-cla0")[0].remove();
};
$("#sortable0").append(LItext);
$("#sortable" + condListLen).sortable();
$("#sortable" + condListLen).sortable( "option", "appendTo", document.body );
$("#sortable" + condListLen).sortable({
items: "> li",
handle: ".handle",
opacity: 0.6,
cursor: 'move',
update: function() {refreshSortables();}
});
refreshConnectWith();
break;
default:
};
});
// Evento: clausola spostata nella lista principale
$('#sortable0').sortable({
opacity: 0.6,
cursor: 'move',
update: function() {
refreshSortables();
}
});
// Evento: click sul checkbox di attivazione delle clausole
$('#cla-TabContent').on('click', '.claAct', function() {
var claListItemID = $(this).closest('li').attr('id');
var tabPanelId = "#" + claListItemID.substring(2);
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', '.radioRefresh', function() {
fSet = $(this).siblings('fieldset');
if (fSet.find(":checked").length) {
radioChecked = fSet.find(":checked")[0];
radioChecked.checked = false;
};
});
// Evento: SCELTA CATEGORIA GRAMMATICALE
$('#cla-TabContent').on('change', 'select.catgram', function(e) {
e.preventDefault();
var tabPaneId = ($(this).closest('.tab-pane').attr("id"));
var dettagliBox = $(this).parent().parent().siblings(".dettaglifiltri");
dettagliBox.html("");
containerid = 'dettaglio_' + $(this).parent().parent().parent().attr("id")
if (Object.keys(categorie).includes($(this).val())) {
var filtro = categorie[$(this).val()]
var keys = Object.keys(categorieJson[filtro])
for (key in keys) {
var vals = categorieJson[filtro][keys[key]]
switch (vals.length) {
case 2:
var element = $('<div />');
element.attr('class', ' d-flex flex-nowrap pr-2 mb-1 col-8 form-group form-control justify-content-between');
var rbfieldset = $('<fieldset />');
flexdiv1 = $('<div />');
flexdiv2 = $('<div />');
input1 = $('<input />');
input2 = $('<input />');
label1 = $('<label />');
label2 = $('<label />');
rbfieldset.attr('id', tabPaneId + keys[key]);
rbfieldset.attr('class', 'bn');
flexdiv1.attr('class', 'custom-control custom-radio custom-control-inline');
flexdiv2.attr('class', 'custom-control custom-radio custom-control-inline');
input1.attr('class', 'custom-control-input');
input2.attr('class', 'custom-control-input');
input1.attr('type', 'radio');
input2.attr('type', 'radio');
input1.attr('id', tabPaneId + vals[0]);
input2.attr('id', tabPaneId + vals[1]);
input1.attr('value', vals[0]);
input2.attr('value', vals[1]);
input1.attr('name', tabPaneId + keys[key]);
input2.attr('name', tabPaneId + keys[key]);
label1.attr('class', 'custom-control-label');
label2.attr('class', 'custom-control-label');
label1.attr('for', tabPaneId + vals[0]);
label2.attr('for', tabPaneId + vals[1]);
label1.append(vals[0]);
label2.append(vals[1]);
input1.appendTo(flexdiv1);
input2.appendTo(flexdiv2);
label1.appendTo(flexdiv1);
label2.appendTo(flexdiv2);
flexdiv1.appendTo(rbfieldset);
flexdiv2.appendTo(rbfieldset);
rbfieldset.appendTo(element);
var iconR = $(iconReset);
iconR.appendTo(element);
element.attr('style', 'display:block');
element.appendTo(dettagliBox);
break;
case 1:
var element = $('<div />');
element.attr('class', ' d-flex flex-nowrap mb-1 col-4 form-group form-control');
var rbfieldset = $('<fieldset />');
flexdiv1 = $('<div />');
input1 = $('<input />');
label1 = $('<label />');
rbfieldset.attr('id', tabPaneId + keys[key]);
rbfieldset.attr('class', 'bn');
flexdiv1.attr('class', 'custom-control custom-checkbox custom-control-inline');
input1.attr('class', 'custom-control-input');
input1.attr('type', 'checkbox');
input1.attr('id', tabPaneId + vals[0].replace(/\s/g, ''));
input1.attr('value', vals[0]);
input1.attr('name', keys[key]);
label1.attr('class', 'custom-control-label');
label1.attr('for', tabPaneId + vals[0].replace(/\s/g, ''));
label1.append(vals[0]);
input1.appendTo(flexdiv1);
label1.appendTo(flexdiv1);
flexdiv1.appendTo(rbfieldset);
rbfieldset.appendTo(element);
element.attr('style', 'display:block');
element.appendTo(dettagliBox);
break;
default:
var element = $('<div />');
element.attr('class', ' col-8 form-group px-0 pb-1 m-0');
var select = $('<select class="form-control custom-select"/>');
select.attr('id', tabPaneId + keys[key]);
select.attr('title', keys[key]);
select.attr('name', keys[key]);
for (val in vals) {
var seloption = $('<option />');
seloption.attr('value', vals[val]);
seloption.append(vals[val]);
seloption.appendTo(select);
}
select.appendTo(element);
element.attr('style', 'display:block');
element.appendTo(dettagliBox);
}
}
}
if (element) {
element.attr('style', "display: block;");
element.appendTo(dettagliBox);
};
// ANCORA DA VEDERE:
var divdf = jQuery('#divdettaglifiltri >div'),
detelement = null,
detelement = divdf.clone();
detelement.attr('id', 'dettaglifiltri')
detelement.appendTo("#query")
});
// Evento: Submit form
$("form").submit(function(){
alert("Funzione non ancora implementata!");
});
// Variabili JSON
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": ["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 iconEdit = '<ion-icon name="pencil"></ion-icon>';
var iconClose = '<ion-icon name="close-circle"></ion-icon>';
var iconCheck = '<ion-icon name="checkmark-circle"></ion-icon>';
var iconFilter = '<ion-icon name="filter-circle"></ion-icon>';
var iconReset = '<div class="text-right text-primary radioRefresh"><ion-icon name="refresh-circle"></ion-icon></div>';
var iconCloseCond = '<div class="p-0 mr-1 text-right text-primary"><span class="iconClClass removeCond">' + iconClose + '</span></div>';
var iconCheckAndClose = '<div class="p-0 m-1 text-right text-primary"><span class="return2Query">' + iconCheck + '</span>&nbsp;&nbsp;<span class="removeClaInTab">' + iconClose + '</span></div>';
var emptyClaList = '<li id="H-cla0" class="list-group-item align-items-center ui-state-default ui-state-disabled border text-muted bg-white ui-state-disabled-opacity-06">Nessuna clausola aggiunta.</li>';
var claLIpart1 = '<li id="'
var claLIpart2 = '" class="claLI mx-4 my-1 p-1 list-group-item align-items-center border text-muted bg-white"><div class="handle container-fluid"><div class="row"><div class="col-md-11 px-0 pr-2"> \
<div class="bd-highlight text-primary"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span></div><div class="p-1 bd-highlight flex-grow-1 border-right clatext">';
var claLIpart3 = '</div></div><div class="col-md-1 px-0 pl-4"><div class="row"><div class="col-md-12 px-0 float-right"><div class="d-flex px-3 flex-nowrap float-right"> \
<div class="p-1 align-top bd-highlight text-primary editCla">' + iconEdit + '</div><div class="p-1 align-top bd-highlight text-primary removeClaInList">' + iconClose + '</div> \
</div></div></div><div class="row"><div class="col-md-12 px-2 float-right"><div class="custom-control custom-switch p-1 text-right bd-highlight"> \
<input type="checkbox" class="custom-control-input claAct" name="cla-attiva" aria-label="attiva" id="actiClaSW';
var claLIpart4 = '><label class="custom-control-label" for="actiClaSW';
var claLIpart5 = '"></label></div></div></div></div></div></div></li>';
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 = '<li id="placeholderSort';
var condLIplaceholderPart2 = '" class="p-1 mx-4 mb-2 mt-1 list-group-item align-items-center border text-muted small bg-light ui-state-disabled ui-state-disabled-opacity-06">';
var condLIpart1 = '<li id="cond';
var condLIpart2and = '" class="condLIand p-1 m-1 list-group-item align-items-center border text-muted bg-lida10"><ul id="sortable';
var condLIpart3and = '" class="handle list-group ui-sortable"><div class="row ml-1 pr-2 justify-content-between"><div class=" pb-1 small font-weight-bold text-muted">AND</div>' + iconCloseCond + '</div>' + condLIplaceholderPart1;
var condLIpart2or = '" class="condLIor p-1 m-1 list-group-item align-items-center border text-muted bg-lida11"><ul id="sortable';
var condLIpart3or = '" class="handle list-group ui-sortable"><div class="row ml-1 pr-2 justify-content-between"><div class=" pb-1 small font-weight-bold text-muted">OR</div>' + iconCloseCond + '</div>' + condLIplaceholderPart1;
var condLIpart4 = condLIplaceholderPart2 + condLIplaceholderText2 + '</li></ul></li>';
// Variabili funzionali
var tabID = 0;
var claListLen = 0;
var condListLen = 0;
// Funzione di refresh della lista delle tab delle clausole
function refreshTabList(){
var tabs=$("#tab-list li:not(:first)");
var len=0;
$(tabs).each(function(){
len++;
var claType = $(this).find('a').attr("data-claType");
switch (claType) {
case "Grammaticale":
textClassType = "text-lida8";
break;
case "Sintattico":
textClassType = "text-lida9";
break;
case "Metafore":
textClassType = "text-lida3";
break;
case "Dialoghi":
textClassType = "text-lida4";
break;
case "Struttura":
textClassType = "text-lida5";
break;
default:
textClassType = "text-lida8";
};
$(this).find('a').html('<span class="small font-weight-bold ' + textClassType + '" >' + iconFilter + '&nbsp;&nbsp;' + len + ': ' + claType + '&nbsp;&nbsp;</span>');
$(this).find('a').attr("data-claType", claType)
});
}
// Funzione di refresh della lista clausole nella tab principale
function refreshClaList(){
var tabsC=$("#cla-TabContent").find(".tab-pane:not(:first)");
var clausoleText = "";
var len=0;
if ($(tabsC).length) {
$(tabsC).each(function(){
if ($("#H-cla0")[0]) {
$("#H-cla0")[0].remove();
};
len++;
checkInsert = '"';
claListItemID = "H-" + $(this).attr('id');
claType = $(this).attr('data-claType');
claActive = $(this).attr('data-claActive');
if (claActive > 0) {
checkInsert = '" checked="checked"';
};
switch (claType) {
case "Grammaticale":
graSelect = $(this).find(".catgram");
graText = graSelect[0].options[graSelect[0].selectedIndex].text;
claText = len + ". Categoria grammaticale: " + graText + '<br><span class="small ml-3">';
claSubParList = $(this).children(".dettaglifiltri").find("select, fieldset");
claSubParList.each(function(){
claSubParType = $(this)[0].type;
if (claSubParType == "fieldset" && $(this).find(":checked").length) {
claSubParId = $(this).find(":checked")[0].id;
claSubParText = $(this).find("[for='" + claSubParId + "']")[0].innerText;
claText = claText + claSubParText + "; ";
};
if (claSubParType == "select-one") {
claSubParText = $(this)[0].options[$(this)[0].selectedIndex].text;
claText = claText + claSubParText + "; "
};
});
break;
case "Sintattico":
syntSelect = $(this).find("#synttypes");
syntText = syntSelect[0].options[syntSelect[0].selectedIndex].text;
funcSelect = $(this).find("#syntfunc");
funcText = funcSelect[0].options[funcSelect[0].selectedIndex].text;
claText = len + ". Tipo sintattico: " + syntText + '; <br><span class="ml-3"">Livello di subordinazione: ' + funcText
break;
default:
claText = len + ". " + $(this).text();
checkInsert = '" disabled';
};
LItext = claLIpart1 + claListItemID + claLIpart2 + claText + claLIpart3 + len + checkInsert + claLIpart4 + len + claLIpart5;
if ($("#" + claListItemID)[0]) {
$("#" + claListItemID).replaceWith(LItext);
} else {
$("#sortable0").append(LItext);
};
});
} else {
if (claListLen == 0 && condListLen == 0) {
$('#sortable0').html(emptyClaList);
}
tabID = 0;
};
}
// Funzione di refresh dei placeholders e attivazione/disattivazione bottoni nelle liste sortable
function refreshSortables(){
$(".ui-sortable:not(:first)").each(function() {
sortableID = $(this)[0].id;
placeholderID = "#placeholderSort" + sortableID.slice(-1);
iconSpan = $(this).find(".iconClClass")[0];
iconDiv = $(iconSpan).parent()[0];
activeUL = $(this).children("li").children("ul").length;
activeLI = 0;
inactiveLI = 0;
$(this).children("li .claLI").each(function() {
if ($(this).find("input")[0].checked){
activeLI++;
$(this).find('.clatext').css({ opacity: 1 });
};
if ($(this).find("input")[0].checked == false){
inactiveLI++;
$(this).find('.clatext').css({ opacity: 0.6 });
};
});
switch (activeLI + activeUL) {
case 0:
if ($(placeholderID).length) {
if (inactiveLI > 0){
$(placeholderID).text(condLIplaceholderText2d);
} else {
$(placeholderID).text(condLIplaceholderText2);
};
} else {
if (inactiveLI > 0){
condLIplaceholder = condLIplaceholderPart1 + sortableID.slice(-1) + condLIplaceholderPart2 + condLIplaceholderText2d + '</li>';
} else {
condLIplaceholder = condLIplaceholderPart1 + sortableID.slice(-1) + condLIplaceholderPart2 + condLIplaceholderText2 + '</li>';
}
$("#" + sortableID).append(condLIplaceholder);
};
if (inactiveLI == 0){
$(iconSpan).attr("class","iconClClass removeCond");
$(iconDiv).attr("class","p-0 mr-1 text-right text-primary");
};
break;
case 1:
if ($(placeholderID).length) {
if (inactiveLI > 0){
$(placeholderID).text(condLIplaceholderText1d);
} else {
$(placeholderID).text(condLIplaceholderText1);
};
} else {
if (inactiveLI > 0){
condLIplaceholder = condLIplaceholderPart1 + sortableID.slice(-1) + condLIplaceholderPart2 + condLIplaceholderText1d + '</li>';
} else {
condLIplaceholder = condLIplaceholderPart1 + sortableID.slice(-1) + condLIplaceholderPart2 + condLIplaceholderText1 + '</li>';
}
$("#" + sortableID).append(condLIplaceholder);
};
$(iconSpan).attr("class","iconClClass NOremoveCond");
$(iconDiv).attr("class","p-0 mr-1 text-right text-muted");
break;
case 2:
if ($(placeholderID).length) {
$(placeholderID).remove();
};
break;
default:
if ($(placeholderID).length) {
$(placeholderID).remove();
};
};
});
$("#risultati").val(parseCond("#sortable0", "AND"));
};
// Funzione di refresh dei collegamenti tra elementi sortable
function refreshConnectWith(){
for (var i=0; i <= condListLen; i++) {
cw = "";
for (var j=0; j <= condListLen; j++) {
if (i != j) {
cw = cw + "#sortable" + j + ", ";
};
$( "#sortable" + i ).sortable( "option", "connectWith", cw.slice(0, -2) );
};
};
};
function parseCond(sortableList, condType){
var condText = "";
var items = $(sortableList).children("li")
var itemsText = [];
$(items).each(function() {
if ($(this).hasClass("condLIand")) {
var andID = "#" + $(this).children("ul").attr("id");
var andText = parseCond(andID, "AND");
if (andText.length){
itemsText.push(andText);
};
};
if ($(this).hasClass("condLIor")) {
var orID = "#" + $(this).children("ul").attr("id");
var orText = parseCond(orID, "OR");
if (orText.length){
itemsText.push(orText);
};
};
if ($(this).hasClass("claLI")) {
if ($(this).find("input")[0].checked == true){
var claText = $(this).find(".clatext").text().substr(0,2);
itemsText.push(claText);
};
};
});
var len = itemsText.length;
switch (len) {
case 0:
break;
case 1:
condText += itemsText[0];
break;
default:
condText = "( ";
for (let i = 0; i < (len - 1); i++) {
condText += itemsText[i] + " " + condType + " ";
}
condText += itemsText[len - 1] + " )"
};
return condText;
};
});