@@ -455,9 +455,9 @@ var CatalogDOM = {
455455 // mais il faudrait pouvoir le configurer dynamiquement en fonction de la presence
456456 // ou non de la barre de recherche spécifique qui decale le panneau vers le bas
457457 // cf. var tabHeight dans le main container
458- var height = "250px " ;
458+ var height = "330px " ;
459459 if ( active && ! search ) {
460- height = "310px " ;
460+ height = "390px " ;
461461 }
462462 return `
463463 <!-- panneaux -->
@@ -505,9 +505,9 @@ var CatalogDOM = {
505505 // FIXME
506506 // le calcul de la hauteur est realisé à la main pour pallier le manque de JS DSFR (?)
507507 // style="--tabs-height: 294px;"
508- var tabHeight = "294px " ; // par defaut
508+ var tabHeight = "369px " ; // par defaut
509509 if ( hasActiveBar ) {
510- tabHeight = "354px " ; // si la barre de recherche spécifique est active
510+ tabHeight = "434px " ; // si la barre de recherche spécifique est active
511511 }
512512 var strContainer = `
513513 <!-- onglets -->
@@ -1004,6 +1004,16 @@ var CatalogDOM = {
10041004 if ( e . target . ariaExpanded === "true" ) {
10051005 collapse . classList . add ( "fr-collapse--expanded" ) ;
10061006 collapse . classList . remove ( "GPelementHidden" ) ;
1007+ // scroll auto sur le bouton cliqué (dsfr oblige de passer par scrollTop sur le container au lieu de scrollIntoView)
1008+ const container = button . closest ( "div[id^=\"tabpanel-\"]" ) ;
1009+ const buttonRect = button . getBoundingClientRect ( ) ;
1010+ const containerRect = container . getBoundingClientRect ( ) ;
1011+ const offset = buttonRect . top - containerRect . top ;
1012+
1013+ container . scrollTo ( {
1014+ top : container . scrollTop + offset ,
1015+ behavior : "smooth"
1016+ } ) ;
10071017 } else {
10081018 collapse . classList . remove ( "fr-collapse--expanded" ) ;
10091019 collapse . classList . add ( "GPelementHidden" ) ;
@@ -1026,6 +1036,17 @@ var CatalogDOM = {
10261036 if ( e . target . ariaPressed === "true" ) {
10271037 collapse . classList . add ( "gpf-visible" ) ;
10281038 collapse . classList . remove ( "gpf-hidden" ) ;
1039+ // scroll auto sur le bouton cliqué (dsfr oblige de passer par scrollTop sur le container au lieu de scrollIntoView)
1040+ button . closest ( "div[id^=\"tabpanel-\"]" ) ;
1041+ const container = button . closest ( "div[id^=\"tabpanel-\"]" ) ;
1042+ const buttonRect = button . getBoundingClientRect ( ) ;
1043+ const containerRect = container . getBoundingClientRect ( ) ;
1044+ const offset = buttonRect . top - containerRect . top ;
1045+
1046+ container . scrollTo ( {
1047+ top : container . scrollTop + offset ,
1048+ behavior : "smooth"
1049+ } ) ;
10291050 } else {
10301051 collapse . classList . remove ( "gpf-visible" ) ;
10311052 collapse . classList . add ( "gpf-hidden" ) ;
0 commit comments