2022-02-05 01:27:46 +01:00
/ * *
*
2022-02-05 11:53:02 +01:00
* /
$ ( document ) . ready ( function ( ) {
grammarconditions = 0
2022-05-06 15:05:30 +02:00
sintconditions = 0
filterconditions = 0
2022-02-05 11:53:02 +01:00
var aggettivoJson = {
"filtriaggettivo" : {
"Classe" : [ "1ª" , "2ª" ] ,
"Genere" : [ "Femminile" , "Maschile" ] ,
"Numero" : [ "Singolare" , "Plurale" ] ,
2022-05-19 12:52:40 +02:00
"Con oggetto indiretto" : [ "Con oggetto indiretto" ] ,
"Tipo aggettivo" : [ "Tipo aggettivo" , "Qualificativo" , "Indefinito" , "Interrogativo" , "Esclamativo" , "Numerale" , "Dimostrativo" , "Relativo" , "Possessivo" , "In locuzione" ] ,
"Grado" : [ "Grado" , "Comparativo di maggioranza" , "Comparativo di minoranza" , "Comparativo di uguaglianza" , "Superlativo relativo" , "Superlativo assoluto" ] ,
"Tipo di Complemento" : [ "Tipo di Complemento" , "Introdotto da A" , "Introdotto da CON" , "Introdotto da CONTRO" , "Introdotto da DA" , "Introdotto da DI" , "Introdotto da IN" ,
2022-02-05 11:53:02 +01:00
"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." ] ,
2022-05-19 12:52:40 +02:00
"Tipo di frase" : [ "Tipo di frase" , "Con infinito retto da A" , "Con infinito retto da DA" , "Con infinito retto da DI" , "Con infinito retto da PER" ,
2022-02-05 11:53:02 +01:00
"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" ]
}
2022-02-05 01:27:46 +01:00
}
2022-02-05 11:53:02 +01:00
var pronomeJson = {
"filtripronome" : {
"Classe/Persona" : [ "1ª" , "2ª" , "3ª" ] ,
"Genere" : [ "Femminile" , "Maschile" ] ,
"Numero" : [ "Singolare" , "Plurale" ] ,
2022-05-19 12:52:40 +02:00
"Tipo" : [ "Tipo" , "Personale" , "Riflessivo" , "Interrogativo" , "Esclamativo" , "Dimostrativo" , "Relativo" , "Possessivo" ] ,
2022-02-05 11:53:02 +01:00
2022-05-19 12:52:40 +02:00
"Forma (Personali/Riflessivi)" : [ "Forma (Personali/Riflessivi)" , "Libero" , "Libero in Composizione" , "Proclitico" , "Enclitico" ] ,
"Funzione (Personali)" : [ "Funzione (Personali)" , "Libero - soggetto" , "Libero - soggetto impersonale" , "Libero - complemento" , "Libero - rafforzativo" ,
2022-02-05 11:53:02 +01:00
"Clitico - accusativo" , "Clitico - dativo" , "Clitico - partitivo" ] ,
2022-05-19 12:52:40 +02:00
"Tipo (Riflessivi)" : [ "Tipo (Riflessivi)" , "Proprio" , "Lessicalizzato" , "Impersonale" , "Passivo" , "Reciproco" ]
2022-02-05 11:53:02 +01:00
}
2022-02-05 01:27:46 +01:00
}
2022-02-05 11:53:02 +01:00
var articoloJson = {
"filtriarticolo" : {
"Genere" : [ "Femminile" , "Maschile" ] ,
"Numero" : [ "Singolare" , "Plurale" ] ,
"Tipo" : [ "Determinativo" , "Indeterminativo" ]
}
2022-02-05 01:27:46 +01:00
}
2022-02-05 11:53:02 +01:00
var avverbioJson = {
"filtriavverbio" : {
2022-05-19 12:52:40 +02:00
"Tipo" : [ "Tipo" , "Al comparativo di maggioranza" , "Al comparativo di minoranza" ,
2022-02-05 11:53:02 +01:00
"Al superlativo assoluto" , "Al superlativo relativo" ,
"In Locuzione" , "In Locuzione separato" , "Proclitico" , "Enclitico" ]
}
}
2022-02-05 15:38:36 +01:00
var preposizioneJson = {
"filtripreposizione" : {
"Tipo I" : [ "Propria" , "Impropria" ] ,
2022-05-19 12:52:40 +02:00
"Tipo preposizione" : [ "Tipo preposizione" , "Semplice" , "Articolata" , "In locuzione" , "In locuzione separata" ] ,
"Sintassi" : [ "Sintassi" , "Soggettiva" , "Oggettiva" , "Dichiarativa" , "Completiva obliqua" , "Finale" ,
2022-02-05 15:38:36 +01:00
"Causale" , "Concessiva" , "Consecutiva" , "Temporale" , "Modale" , "Eccettuativa" , "Esclusiva" ,
"Limitativa" , "Comparativa" , "Avversativa" ] ,
2022-05-19 12:52:40 +02:00
"Complemento (I)" : [ "Complemento (I)" , "Di stato in luogo" , "Di moto a luogo" , "Di moto da luogo" , "Di moto per luogo" ,
2022-02-05 15:38:36 +01:00
"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" ] ,
2022-05-19 12:52:40 +02:00
"Complemento (II)" : [ "Complemento (II)" , "di limitazione" , "di qualità" , "di causa" , "di agente" , "di causa efficiente" , "di fine o scopo" ,
2022-02-05 15:38:36 +01:00
"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" : {
2022-05-19 12:52:40 +02:00
"Tipo" : [ "Tipo" , "Semplice" , "Composta" , "Locuzione" , "Locuzione separata" ] ,
2022-02-05 15:38:36 +01:00
"Coo./sub" : [ "coordinativa" , "subordinativa" ] ,
2022-05-19 12:52:40 +02:00
"Coord. tipo" : [ "Coord. tipo" , "copulativa" , "disgiuntiva" , "avversativa" , "esplicativa" , "conclusiva" , "correlativa" ] ,
"Subord. tipo" : [ "Subord. tipo" , "soggettiva" , "oggettiva" , "dichiarativa" , "completiva obliqua" , "interrogativa" ,
2022-02-05 15:38:36 +01:00
"finali" , "causali" , "concessiva" , "consecutiva" , "temporale" , "modale" ,
"eccettuativa" , "comparativa" , "condizionale" , "esclusiva" , "limitativa" ]
}
}
var onomasticacitazioneJson = {
"filtrionomastica" : {
2022-05-19 12:52:40 +02:00
"Tipo" : [ "Tipo" , "Nome proprio" , "Nome proprio separato" , "Titolo" ]
2022-02-05 15:38:36 +01:00
} ,
"filtricitazione" : {
2022-05-19 12:52:40 +02:00
"Tipo" : [ "Tipo" , "Latina" , "Provenzale" , "Francese" , "Spagnola" , "Ebraica" , "Greca" ]
2022-02-05 15:38:36 +01:00
}
}
2022-02-05 11:53:02 +01:00
var categorie = {
"pronomevolgare" : "filtripronome" ,
"aggettivovolgare" : "filtriaggettivo" ,
"articolovolgare" : "filtriarticolo" ,
"avverbiovolgare" : "filtriavverbio" ,
2022-02-05 15:38:36 +01:00
"preposizionevolgare" : "filtripreposizione" ,
"congiunzionevolgare" : "filtricongiunzione" ,
"onomasticavolgare" : "filtrionomastica" ,
"citazionevolgare" : "filtricitazione"
2022-02-05 11:53:02 +01:00
}
2022-05-06 15:05:30 +02:00
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" ]
2022-04-21 19:41:23 +02:00
2022-05-06 15:05:30 +02:00
}
2022-04-21 19:41:23 +02:00
}
2022-02-05 11:53:02 +01:00
2022-02-05 15:38:36 +01:00
var categorieJson = $ . extend ( { } , pronomeJson , aggettivoJson , articoloJson , avverbioJson , preposizioneJson , congiunzioneJson , onomasticacitazioneJson ) ;
2022-02-05 11:53:02 +01:00
2022-05-06 15:05:30 +02:00
var condizioniFiltro = { }
2022-05-19 18:28:37 +02:00
2022-05-13 11:03:53 +02:00
var clausolaVisibile = false //contiene il valore true se una clausola è gia visibile e quindi non se ne può visualizzare una seconda
2022-05-19 18:28:37 +02:00
var tipoClausola = ''
2022-05-06 15:05:30 +02:00
2022-02-05 11:53:02 +01:00
$ ( '.tabs__menu-item' ) . on ( 'click' , function ( ) {
$ ( this ) . addClass ( 'bg-white' ) . addClass ( 'red' ) ;
$ ( this ) . siblings ( ) . removeClass ( 'bg-white' ) . removeClass ( 'red' ) ;
} ) ;
2022-04-21 19:41:23 +02:00
2022-05-19 18:28:37 +02:00
/ *
Funzioni per visualizzare le clausole
* /
jQuery ( document ) . delegate ( 'a.add-record' , 'click' , function ( e ) {
e . preventDefault ( ) ;
if ( clausolaVisibile )
return true ;
else {
clausolaVisibile = true ;
tipoClausola = 'grammaticale'
}
showCategoriaGrammaticale ( ) ;
} ) ;
2022-02-05 11:53:02 +01:00
jQuery ( document ) . delegate ( 'a.add-record-sint' , 'click' , function ( e ) {
e . preventDefault ( ) ;
2022-05-19 18:28:37 +02:00
2022-05-13 11:03:53 +02:00
if ( clausolaVisibile )
return true ;
2022-05-19 18:28:37 +02:00
else {
clausolaVisibile = true ;
tipoClausola = 'sintattica'
}
2022-04-26 11:31:57 +02:00
var content = jQuery ( '#tiposintattico >div' ) ,
2022-02-05 11:53:02 +01:00
size = jQuery ( '#condizioni >div' ) . length + 1 ,
element = null ,
element = content . clone ( ) ;
element . attr ( 'id' , 'ts-' + size ) ;
2022-05-06 15:05:30 +02:00
element . find ( '.remove-filter' ) . attr ( 'target' , 'ts-' + size ) ;
element . find ( '.set-filter' ) . attr ( 'targetfilter' , 'ts-' + size ) ;
2022-02-05 11:53:02 +01:00
element . appendTo ( '#condizioni' ) ;
element . find ( '.sn' ) . html ( size ) ;
2022-04-26 11:31:57 +02:00
sintconditions = sintconditions + 1
2022-02-05 11:53:02 +01:00
if ( size == 1 )
jQuery ( '#grammarbutton' ) . attr ( 'style' , "display:block;" )
} ) ;
2022-05-06 15:05:30 +02:00
/ * *
SCELTA TIPO SINTATTICO
* /
2022-04-26 11:31:57 +02:00
jQuery ( document ) . delegate ( 'select.synttype' , 'change' , function ( e ) {
e . preventDefault ( ) ;
2022-05-06 15:05:30 +02:00
2022-04-26 11:31:57 +02:00
//alert(($(this).closest('div')).closest('div').attr('id'))
2022-04-26 12:36:37 +02:00
//var pare=$(this).parents()[2];
2022-05-06 15:05:30 +02:00
var sbs = ( $ ( this ) . closest ( 'div' ) ) . siblings ( )
2022-05-19 18:28:37 +02:00
2022-04-26 12:36:37 +02:00
sbs . find ( ".set-filter" ) . attr ( 'style' , 'display.block' )
2022-05-06 15:05:30 +02:00
} )
2022-04-26 12:36:37 +02:00
/ * * S C E L T A F U N Z I O N E S I N T A T T I C A
2022-05-06 15:05:30 +02:00
* /
2022-04-26 12:36:37 +02:00
jQuery ( document ) . delegate ( 'select.syntfun' , 'change' , function ( e ) {
e . preventDefault ( ) ;
2022-05-06 15:05:30 +02:00
2022-04-26 12:36:37 +02:00
//alert(($(this).closest('div')).closest('div').attr('id'))
//var pare=$(this).parents()[2];
2022-05-06 15:05:30 +02:00
var sbs = ( $ ( this ) . closest ( 'div' ) ) . siblings ( )
2022-05-19 18:28:37 +02:00
2022-04-26 11:31:57 +02:00
sbs . find ( ".set-filter" ) . attr ( 'style' , 'display.block' )
2022-02-05 11:53:02 +01:00
2022-05-06 15:05:30 +02:00
} )
/ * *
SCELTA CATEGORIA GRAMMATICALE
2022-04-26 11:31:57 +02:00
2022-05-06 15:05:30 +02:00
* /
2022-02-05 11:53:02 +01:00
jQuery ( document ) . delegate ( 'select.catgram' , 'change' , function ( e ) {
e . preventDefault ( ) ;
2022-05-06 15:05:30 +02:00
var pare = $ ( this ) . parents ( ) [ 2 ] ;
var sbs = ( $ ( this ) . closest ( 'div' ) ) . siblings ( )
2022-04-21 19:41:23 +02:00
sbs . find ( ".add-details" ) . attr ( 'style' , 'display.block' )
2022-04-22 09:47:19 +02:00
sbs . find ( ".set-filter" ) . attr ( 'style' , 'display.block' )
2022-05-06 15:05:30 +02:00
2022-05-19 12:52:40 +02:00
2022-02-07 16:50:59 +01:00
containerid = 'dettaglio_' + pare . id ; //$(this).closest('div').attr('id')
sbs . find ( ".add-details" ) . attr ( 'target' , containerid )
2022-04-22 09:47:19 +02:00
sbs . find ( ".set-filter" ) . attr ( 'target' , containerid )
2022-05-06 15:05:30 +02:00
2022-05-19 18:28:37 +02:00
//condizioniFiltro["Categoria Grammaticale"] = $(this).val();
2022-02-05 11:53:02 +01:00
if ( $ ( this ) . val ( ) == 'verbovolgare' ) {
2022-05-06 15:05:30 +02:00
2022-02-05 11:53:02 +01:00
var content = jQuery ( '#categoriaverbo >div' ) ,
size = jQuery ( '#dettaglifiltri' ) . length + 1 ,
element = null ,
element = content . clone ( ) ;
}
if ( $ ( this ) . val ( ) == 'sostantivovolgare' ) {
var content = jQuery ( '#categoriasostantivo >div' ) ,
size = jQuery ( '#dettaglifiltri' ) . length + 1 ,
element = null ,
element = content . clone ( ) ;
}
2022-05-06 15:05:30 +02:00
2022-02-05 11:53:02 +01:00
if ( Object . keys ( categorie ) . includes ( $ ( this ) . val ( ) ) ) {
2022-05-06 15:05:30 +02:00
2022-02-05 11:53:02 +01:00
var filtro = categorie [ $ ( this ) . val ( ) ]
2022-05-19 12:52:40 +02:00
2022-02-05 11:53:02 +01:00
var keys = Object . keys ( categorieJson [ filtro ] )
for ( key in keys ) {
2022-05-19 12:52:40 +02:00
2022-02-05 11:53:02 +01:00
var vals = categorieJson [ filtro ] [ keys [ key ] ]
if ( vals . length == 2 ) {
var element = $ ( '<div />' ) ;
element . attr ( 'class' , ' w-15 pa1 mr2' ) ;
var rbfieldset = $ ( '<fieldset />' ) ,
flexdiv1 = $ ( '<div />' ) ,
flexdiv2 = $ ( '<div />' ) ,
input1 = $ ( '<input />' ) ,
input2 = $ ( '<input />' ) ,
label1 = $ ( '<label />' ) ,
label2 = $ ( '<label />' ) ;
rbfieldset . attr ( 'id' , keys [ key ] ) ;
rbfieldset . attr ( 'class' , 'bn' ) ;
flexdiv1 . attr ( 'class' , 'flex items-center mb2' ) ;
flexdiv2 . attr ( 'class' , 'flex items-center mb2' ) ;
input1 . attr ( 'class' , 'mr2 f6' ) ;
input2 . attr ( 'class' , 'mr2 f6' ) ;
input1 . attr ( 'type' , 'radio' ) ;
input2 . attr ( 'type' , 'radio' ) ;
input1 . attr ( 'id' , vals [ 0 ] ) ;
input2 . attr ( 'id' , vals [ 1 ] ) ;
input1 . attr ( 'value' , vals [ 0 ] ) ;
input2 . attr ( 'value' , vals [ 1 ] ) ;
2022-05-19 12:52:40 +02:00
input1 . attr ( 'name' , keys [ key ] ) ;
input2 . attr ( 'name' , keys [ key ] ) ;
2022-02-05 11:53:02 +01:00
label1 . attr ( 'class' , 'lh-copy' ) ;
label2 . attr ( 'class' , 'lh-copy' ) ;
label1 . attr ( 'for' , vals [ 0 ] ) ;
label2 . attr ( 'for' , 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 ) ;
2022-05-13 11:03:53 +02:00
element . attr ( 'style' , 'display:block' )
2022-02-05 11:53:02 +01:00
element . appendTo ( '#dettaglifiltri' ) ;
}
}
2022-02-05 15:38:36 +01:00
for ( key in keys ) {
var vals = categorieJson [ filtro ] [ keys [ key ] ]
if ( vals . length == 1 ) {
var element = $ ( '<div />' ) ;
element . attr ( 'class' , ' w-15 pa1 mr2' ) ;
var rbfieldset = $ ( '<fieldset />' ) ,
flexdiv1 = $ ( '<div />' ) ,
input1 = $ ( '<input />' ) ,
label1 = $ ( '<label />' ) ;
rbfieldset . attr ( 'id' , keys [ key ] ) ;
rbfieldset . attr ( 'class' , 'bn' ) ;
flexdiv1 . attr ( 'class' , 'flex items-center mb2' ) ;
input1 . attr ( 'class' , 'mr2 f6' ) ;
input1 . attr ( 'type' , 'checkbox' ) ;
input1 . attr ( 'id' , vals [ 0 ] ) ;
input1 . attr ( 'value' , vals [ 0 ] ) ;
2022-05-19 12:52:40 +02:00
input1 . attr ( 'name' , keys [ key ] ) ;
2022-02-05 15:38:36 +01:00
label1 . attr ( 'class' , 'lh-copy' ) ;
label1 . attr ( 'for' , vals [ 0 ] ) ;
label1 . append ( vals [ 0 ] ) ;
input1 . appendTo ( flexdiv1 ) ;
label1 . appendTo ( flexdiv1 ) ;
flexdiv1 . appendTo ( rbfieldset ) ;
rbfieldset . appendTo ( element ) ;
2022-05-13 11:03:53 +02:00
element . attr ( 'style' , 'display:block' )
2022-02-05 15:38:36 +01:00
element . appendTo ( '#dettaglifiltri' ) ;
}
}
2022-02-05 11:53:02 +01:00
for ( key in keys ) {
var vals = categorieJson [ filtro ] [ keys [ key ] ]
if ( vals . length > 2 ) {
var element = $ ( '<div />' ) ;
element . attr ( 'class' , ' w-15 pa1 mr2' ) ;
2022-05-19 12:52:40 +02:00
var select = $ ( '<select class="w-100 db h2 f6 bg-near-white ba b--sliver gray"/>' )
2022-02-05 11:53:02 +01:00
select . attr ( 'id' , keys [ key ] )
select . attr ( 'title' , keys [ key ] )
2022-05-19 12:52:40 +02:00
select . attr ( 'name' , keys [ key ] )
2022-02-05 11:53:02 +01:00
for ( val in vals ) {
//alert(vals[val])
var seloption = $ ( '<option />' ) ;
seloption . attr ( 'value' , vals [ val ] ) ;
seloption . append ( vals [ val ] )
seloption . appendTo ( select )
}
select . appendTo ( element )
2022-05-13 11:03:53 +02:00
element . attr ( 'style' , 'display:block' )
2022-05-06 15:05:30 +02:00
2022-02-05 11:53:02 +01:00
element . appendTo ( '#dettaglifiltri' ) ;
2022-05-06 15:05:30 +02:00
2022-02-05 11:53:02 +01:00
}
}
}
2022-05-13 11:03:53 +02:00
2022-02-05 11:53:02 +01:00
2022-02-05 15:38:36 +01:00
if ( element === undefined ) {
var test = jQuery ( '#' + containerid )
2022-05-13 11:03:53 +02:00
sbs . find ( ".add-details" ) . attr ( 'style' , 'display:block' )
sbs . find ( ".set-filter" ) . attr ( 'style' , 'display:block' )
2022-02-05 15:38:36 +01:00
test . remove ( )
}
2022-05-06 15:05:30 +02:00
else {
2022-05-13 11:03:53 +02:00
element . attr ( 'style' , "display: block;" )
2022-02-05 15:38:36 +01:00
//element.appendTo('#dettaglifiltri');
2022-05-06 15:05:30 +02:00
2022-02-05 15:38:36 +01:00
var test = jQuery ( '#' + containerid )
2022-05-19 12:52:40 +02:00
2022-02-05 15:38:36 +01:00
test . remove ( )
2022-05-19 12:52:40 +02:00
2022-05-06 15:05:30 +02:00
2022-02-05 15:38:36 +01:00
element . appendTo ( '#dettaglifiltri' ) ;
2022-05-06 15:05:30 +02:00
2022-02-05 15:38:36 +01:00
var container = jQuery ( '#dettaglifiltri' ) ;
container . attr ( 'id' , containerid ) ;
var divdf = jQuery ( '#divdettaglifiltri >div' ) ,
detelement = null ,
detelement = divdf . clone ( ) ;
detelement . attr ( 'id' , 'dettaglifiltri' )
detelement . appendTo ( "#query" )
2022-05-06 15:05:30 +02:00
2022-05-19 12:52:40 +02:00
//element.find('.sn').html(size);
2022-02-05 15:38:36 +01:00
}
2022-05-06 15:05:30 +02:00
2022-02-05 11:53:02 +01:00
} ) ;
2022-05-13 11:03:53 +02:00
2022-05-06 15:05:30 +02:00
jQuery ( document ) . delegate ( 'a.remove-filter' , 'click' , function ( e ) {
2022-05-13 11:03:53 +02:00
e . preventDefault ( ) ;
2022-02-07 16:50:59 +01:00
var didConfirm = confirm ( "Sei sicuro di voler eliminare la clausola?" ) ;
if ( didConfirm == true ) {
2022-05-06 15:05:30 +02:00
2022-02-07 16:50:59 +01:00
var targetDiv = jQuery ( this ) . attr ( 'target' ) ;
2022-05-06 15:05:30 +02:00
rmel = jQuery ( '#' + targetDiv )
rmeldetail = jQuery ( '#' + 'dettaglio_' + targetDiv )
2022-02-07 16:50:59 +01:00
jQuery ( rmel ) . remove ( ) ;
jQuery ( rmeldetail ) . remove ( ) ;
2022-05-13 11:03:53 +02:00
clausolaVisibile = false ;
2022-02-07 16:50:59 +01:00
return true ;
} else {
return false ;
}
} ) ;
2022-05-06 15:05:30 +02:00
2022-04-26 11:31:57 +02:00
/ * *
2022-04-26 12:36:37 +02:00
2022-05-19 18:28:37 +02:00
Scrittura del filtro
2022-04-26 11:31:57 +02:00
* /
2022-05-06 15:05:30 +02:00
2022-04-22 09:47:19 +02:00
jQuery ( document ) . delegate ( 'a.set-filter' , 'click' , function ( e ) {
e . preventDefault ( ) ;
2022-05-06 15:05:30 +02:00
2022-05-12 17:37:46 +02:00
2022-05-06 15:05:30 +02:00
2022-04-26 12:36:37 +02:00
var content = jQuery ( '#filtro' ) ,
size = jQuery ( '#filtri >div' ) . length + 1 ,
element = null ,
element = content . clone ( ) ;
2022-05-12 17:37:46 +02:00
if ( size == 1 ) {
2022-05-17 16:54:35 +02:00
filterconditions = 1 ;
2022-05-17 16:45:41 +02:00
jQuery ( '#filtri' ) . attr ( 'style' , "display:block;" )
2022-05-12 17:37:46 +02:00
}
2022-04-26 18:27:15 +02:00
else
2022-05-06 15:05:30 +02:00
filterconditions = filterconditions + 1 ;
2022-04-26 18:27:15 +02:00
element . attr ( 'id' , 'filtro-' + filterconditions ) ;
2022-05-06 15:05:30 +02:00
element . find ( '.delete-written-filter' ) . attr ( 'target' , 'filtro-' + filterconditions ) ;
2022-05-19 18:28:37 +02:00
element . find ( '.edit-written-filter' ) . attr ( 'target' , 'filtro-' + filterconditions ) ;
2022-05-06 15:05:30 +02:00
2022-05-19 18:28:37 +02:00
var condizioni = $ ( "#filterform" ) . serialize ( ) . split ( '&' ) ;
2022-05-20 12:19:48 +02:00
//alert (condizioni)
2022-05-19 18:28:37 +02:00
//trasformo il filtro in un oggetto JSON
filtro = { }
2022-05-20 12:19:48 +02:00
2022-05-19 18:28:37 +02:00
for ( cond in condizioni ) {
liscond = condizioni [ cond ] . split ( '=' )
if ( liscond [ 1 ] . trim ( ) != '' & liscond [ 1 ] . trim ( ) != liscond [ 0 ] . trim ( ) )
2022-05-20 12:19:48 +02:00
filtro [ liscond [ 0 ] ] = liscond [ 1 ] . replaceAll ( '%20' , ' ' )
2022-05-19 18:28:37 +02:00
}
//mostro il filtro nella GUI
2022-05-06 15:05:30 +02:00
2022-05-19 18:28:37 +02:00
var keys = Object . keys ( filtro ) //condizioniFiltro)
2022-04-26 12:36:37 +02:00
for ( key in keys ) {
var dlclass = $ ( '<dl class="f6 lh-title mv2" />' ) ,
2022-05-06 15:05:30 +02:00
dtclass = $ ( '<dt class="dib b mainflabel" />' ) ,
ddclass = $ ( '<dd class="dib ml0 gray mainfvalue"/>' ) ;
2022-05-19 18:28:37 +02:00
//dtclass.append([keys[key]]);
ddclass . append ( filtro [ [ keys [ key ] ] ] ) ;
2022-04-26 12:36:37 +02:00
dlclass . append ( dtclass ) ;
dlclass . append ( ddclass ) ;
element . find ( '.listacondizioni' ) . append ( dlclass ) ;
2022-05-06 15:05:30 +02:00
}
2022-04-26 12:36:37 +02:00
//element.find('.listacondizioni').append(dlclass);
2022-05-06 15:05:30 +02:00
element . attr ( 'style' , 'display.block' ) ;
2022-04-22 16:49:32 +02:00
element . appendTo ( '#filtri' ) ;
2022-05-06 15:05:30 +02:00
if ( size > 1 ) {
2022-04-22 16:49:32 +02:00
element . find ( '.andorconditions' ) . attr ( 'style' , 'display.block' ) ;
}
2022-05-06 15:05:30 +02:00
2022-04-22 16:49:32 +02:00
//$('a.remove-filter').trigger('click');
var targetDiv = jQuery ( this ) . attr ( 'targetfilter' ) ;
2022-05-06 15:05:30 +02:00
rmel = jQuery ( '#' + targetDiv )
rmeldetail = jQuery ( '#' + 'dettaglio_' + targetDiv )
2022-04-22 16:49:32 +02:00
jQuery ( rmel ) . remove ( ) ;
jQuery ( rmeldetail ) . remove ( ) ;
2022-05-13 11:03:53 +02:00
clausolaVisibile = false ;
2022-05-19 18:28:37 +02:00
//aggiungo il filtro a quelli esistenti
filtro [ 'tipoClausola' ] = tipoClausola
condizioniFiltro [ 'filtro-' + filterconditions ] = filtro
2022-04-22 16:49:32 +02:00
return true ;
2022-04-22 09:47:19 +02:00
} )
2022-05-06 15:05:30 +02:00
2022-04-26 18:27:15 +02:00
/ * *
2022-05-05 17:25:08 +02:00
Il Filtro "scritto" viene eliminato
2022-04-26 18:27:15 +02:00
* /
2022-05-06 15:05:30 +02:00
jQuery ( document ) . delegate ( 'a.delete-written-filter' , 'click' , function ( e ) {
2022-04-26 18:27:15 +02:00
e . preventDefault ( ) ;
var didConfirm = confirm ( "Sei sicuro di voler cancellare il filtro?" ) ;
if ( didConfirm == true ) {
2022-05-06 15:05:30 +02:00
2022-04-26 18:27:15 +02:00
var targetDiv = jQuery ( this ) . attr ( 'target' ) ;
2022-05-06 15:05:30 +02:00
rmel = jQuery ( '#' + targetDiv )
rmeldetail = jQuery ( '#' + targetDiv )
2022-04-26 18:27:15 +02:00
jQuery ( rmel ) . remove ( ) ;
jQuery ( rmeldetail ) . remove ( ) ;
// se c'è un solo filtro, mi assicuro che non sia visibile il dropbox and/or
size = jQuery ( '#filtri >div' ) . length
2022-05-06 15:05:30 +02:00
2022-05-05 17:25:08 +02:00
//nasconde la condizione logica dal primo della lista dei filtri
2022-05-06 15:05:30 +02:00
if ( size > 0 ) {
var filtriscr = jQuery ( '#filtri >div' ) ;
2022-05-05 17:25:08 +02:00
filtriscr . first ( ) . find ( '.andorconditions' ) . attr ( 'style' , 'display:none' ) ;
2022-05-17 16:54:35 +02:00
} else { // eliminato l'ultimo filtro
jQuery ( '#filtri' ) . attr ( 'style' , "display:none;" )
2022-04-26 18:27:15 +02:00
}
2022-05-06 15:05:30 +02:00
2022-04-26 18:27:15 +02:00
return true ;
} else {
return false ;
}
} ) ;
2022-05-06 15:05:30 +02:00
2022-05-06 20:17:40 +02:00
2022-05-19 18:28:37 +02:00
2022-05-06 20:17:40 +02:00
2022-05-06 15:05:30 +02:00
/ * *
2022-04-26 18:27:15 +02:00
2022-05-06 15:05:30 +02:00
Il Filtro "scritto" viene editato
* /
jQuery ( document ) . delegate ( 'a.edit-written-filter' , 'click' , function ( e ) {
2022-02-07 16:50:59 +01:00
e . preventDefault ( ) ;
2022-05-19 18:28:37 +02:00
if ( clausolaVisibile )
return true ;
2022-05-06 15:05:30 +02:00
var didConfirm = confirm ( "Sei sicuro di voler editare il filtro?" ) ;
if ( didConfirm == true ) {
2022-05-19 18:28:37 +02:00
var thisfilter = jQuery ( this ) . attr ( 'target' ) ;
tempfiltro = condizioniFiltro [ thisfilter ]
if ( tempfiltro [ 'tipoClausola' ] . trim ( ) == 'grammaticale' ) {
clausolaVisibile = true ;
tipoClausola = 'grammaticale'
showCategoriaGrammaticale ( tempfiltro )
}
2022-05-06 15:05:30 +02:00
}
2022-02-07 16:50:59 +01:00
return true ;
2022-05-06 15:05:30 +02:00
/ * } e l s e {
return false ;
} * /
} ) ;
/ * *
*
2022-05-06 20:17:40 +02:00
* Visualizza Categoria Grammaticale
2022-05-06 15:05:30 +02:00
* /
2022-05-19 18:28:37 +02:00
function showCategoriaGrammaticale ( valoriFiltro = { } ) {
2022-02-07 16:50:59 +01:00
2022-05-06 20:17:40 +02:00
2022-05-06 15:05:30 +02:00
var content = jQuery ( '#categoriagrammaticale >div' ) ,
size = jQuery ( '#condizioni >div' ) . length + 1 ,
element = null ,
element = content . clone ( ) ;
2022-05-13 11:03:53 +02:00
//alert("Value: " + $("#types").val());
2022-05-06 15:05:30 +02:00
element . attr ( 'id' , 'cg-' + size ) ;
element . find ( '.remove-filter' ) . attr ( 'target' , 'cg-' + size ) ;
element . find ( '.set-filter' ) . attr ( 'targetfilter' , 'cg-' + size ) ;
element . appendTo ( '#condizioni' ) ;
2022-05-13 11:03:53 +02:00
2022-05-19 18:28:37 +02:00
2022-05-20 12:19:48 +02:00
if ( ! jQuery . isEmptyObject ( valoriFiltro ) ) { // sto facendo l'edit di un filtro
2022-05-19 18:28:37 +02:00
$ ( "#types" ) . val ( valoriFiltro [ 'categoria' ] ) . trigger ( "change" ) ;
var keys = Object . keys ( valoriFiltro ) //condizioniFiltro)
for ( key in keys ) {
myname = keys [ key ]
2022-05-20 12:19:48 +02:00
myval = valoriFiltro [ keys [ key ] ]
var edelement = $ ( "[name='" + myname + "'" ) ;
var edeltype = edelement . attr ( 'type' )
alert ( edeltype )
if ( edeltype !== undefined & ( edeltype == 'radio' | edeltype == 'checkbox' ) ) {
$ ( '[value="' + myval + '"]' ) . prop ( 'checked' , true ) ;
}
else {
$ ( "[name='" + myname + "'" ) . val ( myval )
}
2022-05-19 18:28:37 +02:00
}
}
2022-05-20 12:19:48 +02:00
else { //sto creando una clausola grammaticale nuova, setto il valore di default
2022-05-19 18:28:37 +02:00
$ ( "#types" ) . val ( "verbovolgare" ) . trigger ( "change" ) ;
}
2022-05-20 12:19:48 +02:00
valoriFiltro = { }
2022-05-06 15:05:30 +02:00
element . find ( '.sn' ) . html ( size ) ;
grammarconditions = grammarconditions + 1
if ( size == 1 )
jQuery ( '#grammarbutton' ) . attr ( 'style' , "display:block;" )
2022-02-07 16:50:59 +01:00
2022-05-06 15:05:30 +02:00
}
jQuery ( document ) . delegate ( 'a.add-details' , 'click' , function ( e ) {
e . preventDefault ( ) ;
var targetDiv = jQuery ( this ) . attr ( 'target' ) ;
rmel = jQuery ( '#' + targetDiv )
var curstyle = rmel . attr ( 'view' )
if ( curstyle !== undefined && curstyle === 'y' ) {
rmel . children ( ) . attr ( 'style' , 'display:none' ) ;
rmel . attr ( 'view' , 'n' )
}
else {
rmel . attr ( 'view' , 'y' )
rmel . children ( ) . attr ( 'style' , 'display:block' ) ;
}
return true ;
2022-02-07 16:50:59 +01:00
} ) ;
2022-05-06 15:05:30 +02:00
2022-02-05 11:53:02 +01:00
} ) ;