@ -4,72 +4,60 @@
{{:admin_header title="Vélos à vendre" custom_css=$custom_css current="module_velos_a_vendre"}}
{{#select DISTINCT type FROM plugin_stock_velos ;}}
{{:assign var='types.' value=$type}}
{{:assign var='index' value=$types|count}}
{{:assign var='types_index.%s'|args:$type value='%d-1'|math:$index}}
{{/select}}
{{#select DISTINCT genre FROM plugin_stock_velos ;}}
{{:assign var='genres.' value=$genre}}
{{:assign var='index' value=$genres|count}}
{{:assign var='genres_index.%s'|args:$genre value='%d-1'|math:$index}}
{{/select}}
{{#select DISTINCT roues FROM plugin_stock_velos ;}}
{{:assign var='rouess.' value=$roues}}
{{:assign var='index' value=$rouess|count}}
{{:assign var='roues_index.%s'|args:$roues value='%d-1'|math:$index}}
{{/select}}
{{:assign var='roues' value=$rouess}}
< div class = "filters" >
< fieldset >
< legend > Filtrer les vélos < / legend >
< dl >
{{:input name="type" type="select" label="Type de vélo" options=$types default_empty="Tous les types de vélo"}}
< / d l>
< dl >
{{:input name="genre" type="select" label="Genre de cadre" options=$genres default_empty="Tous les genres de cadre"}}
< / dl >
< dl >
{{:input name="roues" type="select" label="Taille de roue" options=$roues default_empty="Toutes les tailles de roue"}}
< / dl >
< legend > Type de vélo< / legend >
< input type = "checkbox" id = "check-type-course" name = "course" checked / > < label for = "course" > Course< / label >
< input type = "checkbox" id = "check-type-mi-course" name = "mi-course" checked / > < label for = "mi-course" > Mi-course< / label >
< input type = "checkbox" id = "check-type-randonneuse" name = "randonneuse" checked / > < label for = "randonneuse" > Randonneuse< / labe l>
< input type = "checkbox" id = "check-type-mini" name = "mini" checked / > < label for = "mini" > Mini< / label >
< input type = "checkbox" id = "check-type-pliant" name = "pliant" checked / > < label for = "pliant" > Pliant< / label >
< input type = "checkbox" id = "check-type-ville" name = "ville" checked / > < label for = "ville" > Ville< / label >
< input type = "checkbox" id = "check-type-vtc" name = "vtc" checked / > < label for = "vtc" > VTC< / label >
< input type = "checkbox" id = "check-type-vtt" name = "vtt" checked / > < label for = "vtt" > VTT< / label >
< input type = "checkbox" id = "check-type-bmx" name = "bmx" checked / > < label for = "bmx" > BMX< / label >
< input type = "checkbox" id = "check-type-autre" name = "type-autre" checked / > < label for = "type-autre" > Autre< / label >
< / fieldset >
< fieldset >
< legend > Genre de cadre< / legend >
< input type = "checkbox" id = "check-genre-diamant" name = "diamant" checked / > < label for = "diamant" > Diamant< / label >
< input type = "checkbox" id = "check-genre-mixte" name = "mixte" checked / > < label for = "mixte" > Mixte< / label >
< input type = "checkbox" id = "check-genre-enfant-diamant" name = "enfant-diamant" checked / > < label for = "enfant-diamant" > Enfant/Diamant< / label >
< input type = "checkbox" id = "check-genre-enfant-mixte" name = "enfant-mixte" checked / > < label for = "enfant-mixte" > Enfant/Mixte< / label >
< / fieldset >
< fieldset >
< legend > Taille des roues< / legend >
< input type = "checkbox" id = "check-taille-700" name = "700" checked / > < label for = "700" > 700C< / label >
< input type = "checkbox" id = "check-taille-650" name = "650" checked / > < label for = "650" > 650B< / label >
< input type = "checkbox" id = "check-taille-26" name = "26" checked / > < label for = "26" > 26"< / label >
< input type = "checkbox" id = "check-taille-24" name = "24" checked / > < label for = "24" > 24"< / label >
< input type = "checkbox" id = "check-taille-20" name = "20" checked / > < label for = "20" > 20"< / label >
< input type = "checkbox" id = "check-taille-16" name = "16" checked / > < label for = "16" > 16"< / label >
< input type = "checkbox" id = "check-taille-autre" name = "taille-autre" checked / > < label for = "taille-autre" > Autre< / label >
< / fieldset >
< / div >
< style id = 'bike-hide' > < / style >
< div class = "bike-list" >
{{#select id, etiquette, type, genre, roues, couleur, prix, modele, date_entree FROM plugin_stock_velos WHERE raison_sortie IS NULL AND prix > 0 ORDER BY date_entree DESC;}}
{{:assign taille=$roues|truncate:2:"":false}}
{{:assign var='bike_type_index' from='types_index.%s'|args:$type}}
{{:assign var='bike_genre_index' from='genres_index.%s'|args:$genre}}
{{:assign var='bike_roues_index' from='roues_index.%s'|args:$roues}}
< div class = "container" type = "{{$bike_type_index}}" genre = "{{$bike_genre_index}}" roues = "{{$bike_roues_index}}" >
< div class = "container" type = "{{$type}}" genre = "{{$genre}}" roues = "{{$taille}}" >
< div class = "image-wrapper" >
{{#select name, path FROM files WHERE parent = {"ext/p/stock_velos/public/%s"|args:$id} ;}}
< a href = "{{$root_url}}{{$path}}" target = "_dialog " >
< img src = "{{$root_url}}{{$path}}?150px" class = "image" >
< / a >
< img src = "{{$root_url}}{{$path}}?150px" class = "image " >
{{else}}
< div class = "placeholder" style = "background-image: url({{$config.files.logo}});" >
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "-50 0 740 512" class = "image" > <!-- !Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc. --> < path d = "M312 32c-13.3 0-24 10.7-24 24s10.7 24 24 24l25.7 0 34.6 64-149.4 0-27.4-38C191 99.7 183.7 96 176 96l-56 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l43.7 0 22.1 30.7-26.6 53.1c-10-2.5-20.5-3.8-31.2-3.8C57.3 224 0 281.3 0 352s57.3 128 128 128c65.3 0 119.1-48.9 127-112l49 0c8.5 0 16.3-4.5 20.7-11.8l84.8-143.5 21.7 40.1C402.4 276.3 384 312 384 352c0 70.7 57.3 128 128 128s128-57.3 128-128s-57.3-128-128-128c-13.5 0-26.5 2.1-38.7 6L375.4 48.8C369.8 38.4 359 32 347.2 32L312 32zM458.6 303.7l32.3 59.7c6.3 11.7 20.9 16 32.5 9.7s16-20.9 9.7-32.5l-32.3-59.7c3.6-.6 7.4-.9 11.2-.9c39.8 0 72 32.2 72 72s-32.2 72-72 72s-72-32.2-72-72c0-18.6 7-35.5 18.6-48.3zM133.2 368l65 0c-7.3 32.1-36 56-70.2 56c-39.8 0-72-32.2-72-72s32.2-72 72-72c1.7 0 3.4 .1 5.1 .2l-24.2 48.5c-9 18.1 4.1 39.4 24.3 39.4zm33.7-48l50.7-101.3 72.9 101.2-.1 .1-123.5 0zm90.6-128l108.5 0L317 274.8 257.4 192z" / > < / svg >
< / div >
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "-50 0 740 512" class = "image" > <!-- !Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc. --> < path d = "M312 32c-13.3 0-24 10.7-24 24s10.7 24 24 24l25.7 0 34.6 64-149.4 0-27.4-38C191 99.7 183.7 96 176 96l-56 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l43.7 0 22.1 30.7-26.6 53.1c-10-2.5-20.5-3.8-31.2-3.8C57.3 224 0 281.3 0 352s57.3 128 128 128c65.3 0 119.1-48.9 127-112l49 0c8.5 0 16.3-4.5 20.7-11.8l84.8-143.5 21.7 40.1C402.4 276.3 384 312 384 352c0 70.7 57.3 128 128 128s128-57.3 128-128s-57.3-128-128-128c-13.5 0-26.5 2.1-38.7 6L375.4 48.8C369.8 38.4 359 32 347.2 32L312 32zM458.6 303.7l32.3 59.7c6.3 11.7 20.9 16 32.5 9.7s16-20.9 9.7-32.5l-32.3-59.7c3.6-.6 7.4-.9 11.2-.9c39.8 0 72 32.2 72 72s-32.2 72-72 72s-72-32.2-72-72c0-18.6 7-35.5 18.6-48.3zM133.2 368l65 0c-7.3 32.1-36 56-70.2 56c-39.8 0-72-32.2-72-72s32.2-72 72-72c1.7 0 3.4 .1 5.1 .2l-24.2 48.5c-9 18.1 4.1 39.4 24.3 39.4zm33.7-48l50.7-101.3 72.9 101.2-.1 .1-123.5 0zm90.6-128l108.5 0L317 274.8 257.4 192z" / > < / svg >
{{/select}}
< / div >
< span class = "label" > {{$etiquette}}< / span >
< div class = "properties" >
< ul >
< li class = "date-entree" > entré en stock {{$date_entree|relative_date}} < / li >
< li class = "numero-unique" > numéro unique : {{$id|intval}} < / li >
< li > Type : {{$type}}< / li >
< li > Taille : {{$roues}}< / li >
< li > Cadre : {{$genre}}< / li >
< li > Modèle : {{$modele}}< / li >
< li > Cadre : {{$genre}}< / li >
< li > Modèle : {{$modele}}< / li >
< li > Prix : {{$prix}} €< / li >
< li > Prix : {{$prix}} €< / li >
< li class = "date-entree" > entré en stock {{$date_entree|relative_date}} < / li >
< / ul >
< / div >
< / div >
@ -81,42 +69,36 @@
< script type = "text/javascript" >
function set _toggle _h ide ( input _id ) {
console . log ( input _id ) ;
document . getElementById ( input _id ) . addEventListener ( 'change' , function ( ) {
v _type = document . getElementById ( 'f_type' ) . value
v _genre = document . getElementById ( 'f_genre' ) . value
v _roues = document . getElementById ( 'f_roues' ) . value
console . log ( v _type , v _genre , v _roues ) ;
css = document . getElementById ( "bike-hide" )
css . innerHTML = ""
if ( v _type ) {
css . innerHTML += `
.container:not([type=" ${ v _type } "]){
display:none;
}
` ;
}
if ( v _genre ) {
css . innerHTML += `
.container:not([genre=" ${ v _genre } "]){
display:none;
}
` ;
}
if ( v _roues ) {
css . innerHTML += `
.container:not([roues=" ${ v _roues } "]){
display:none;
}
` ;
}
function set _toggle ( id , selector ) {
document . getElementById ( id ) . addEventListener ( 'change' , function ( ) {
const bikes = document . querySelectorAll ( selector ) ;
bikes . forEach ( div => {
div . style . display = this . checked ? 'block' : 'none' ;
} ) ;
} ) ;
}
set _toggle _hide ( 'f_ type' )
set _toggle _hide ( 'f_genre ' )
set _toggle _hide ( 'f_roues ' )
set _toggle ( 'check-type-course' , '[ type="Course"] ' )
set _toggle ( 'check-type-mi-course' , '[type="Mi-course"] ' )
set _toggle ( 'check-type-randonneuse' , '[type="Randonneuse"] ' )
set _toggle ( 'check-type-mini' , '[type="Mini"]' )
set _toggle ( 'check-type-pliant' , '[type="Pliant"]' )
set _toggle ( 'check-type-ville' , '[type="Ville"]' )
set _toggle ( 'check-type-vtc' , '[type="VTC"]' )
set _toggle ( 'check-type-vtt' , '[type="VTT"]' )
set _toggle ( 'check-type-bmx' , '[type="BMX"]' )
set _toggle ( 'check-type-autre' , '[type="Autre"]' )
set _toggle ( 'check-genre-diamant' , '[genre="Diamant"]' )
set _toggle ( 'check-genre-mixte' , '[genre="Mixte"]' )
set _toggle ( 'check-genre-enfant-diamant' , '[genre="Enfant/Diamant"]' )
set _toggle ( 'check-genre-enfant-mixte' , '[genre="Enfant/Mixte"]' )
set _toggle ( 'check-taille-700' , '[roues="70"]' )
set _toggle ( 'check-taille-650' , '[roues="65"]' )
set _toggle ( 'check-taille-26' , "[roues='26']" )
set _toggle ( 'check-taille-24' , "[roues='24']" )
set _toggle ( 'check-taille-20' , "[roues='20']" )
set _toggle ( 'check-taille-16' , "[roues='16']" )
set _toggle ( 'check-taille-autre' , '[roues="Au"]' )
< / script >