@@ -399,48 +399,60 @@ window.blazorBootstrap = {
399399 dropdown : {
400400 dispose : ( elementId ) => {
401401 let dropdownEl = document . getElementById ( elementId ) ;
402- if ( dropdownEl != null )
403- bootstrap ?. Dropdown ?. getOrCreateInstance ( dropdownEl ) ?. dispose ( ) ;
402+ if ( dropdownEl != null ) {
403+ let toggleEl = dropdownEl . querySelector ( '[data-bs-toggle="dropdown"]' ) ?? dropdownEl ;
404+ bootstrap ?. Dropdown ?. getOrCreateInstance ( toggleEl ) ?. dispose ( ) ;
405+ }
404406 } ,
405407 hide : ( elementId ) => {
406408 let dropdownEl = document . getElementById ( elementId ) ;
407- if ( dropdownEl != null )
408- bootstrap ?. Dropdown ?. getOrCreateInstance ( dropdownEl ) ?. hide ( ) ;
409+ if ( dropdownEl != null ) {
410+ let toggleEl = dropdownEl . querySelector ( '[data-bs-toggle="dropdown"]' ) ?? dropdownEl ;
411+ bootstrap ?. Dropdown ?. getOrCreateInstance ( toggleEl ) ?. hide ( ) ;
412+ }
409413 } ,
410414 initialize : ( elementId , dotNetHelper ) => {
411415 let dropdownEl = document . getElementById ( elementId ) ;
412416 if ( dropdownEl == null )
413417 return ;
414418
415- dropdownEl . addEventListener ( 'hide.bs.dropdown' , function ( ) {
419+ let toggleEl = dropdownEl . querySelector ( '[data-bs-toggle="dropdown"]' ) ?? dropdownEl ;
420+
421+ toggleEl . addEventListener ( 'hide.bs.dropdown' , function ( ) {
416422 dotNetHelper . invokeMethodAsync ( 'bsHideDropdown' ) ;
417423 } ) ;
418- dropdownEl . addEventListener ( 'hidden.bs.dropdown' , function ( ) {
424+ toggleEl . addEventListener ( 'hidden.bs.dropdown' , function ( ) {
419425 dotNetHelper . invokeMethodAsync ( 'bsHiddenDropdown' ) ;
420426 } ) ;
421- dropdownEl . addEventListener ( 'show.bs.dropdown' , function ( ) {
427+ toggleEl . addEventListener ( 'show.bs.dropdown' , function ( ) {
422428 dotNetHelper . invokeMethodAsync ( 'bsShowDropdown' ) ;
423429 } ) ;
424- dropdownEl . addEventListener ( 'shown.bs.dropdown' , function ( ) {
430+ toggleEl . addEventListener ( 'shown.bs.dropdown' , function ( ) {
425431 dotNetHelper . invokeMethodAsync ( 'bsShownDropdown' ) ;
426432 } ) ;
427433
428- bootstrap ?. Dropdown ?. getOrCreateInstance ( dropdownEl ) ;
434+ bootstrap ?. Dropdown ?. getOrCreateInstance ( toggleEl ) ;
429435 } ,
430436 show : ( elementId ) => {
431437 let dropdownEl = document . getElementById ( elementId ) ;
432- if ( dropdownEl != null )
433- bootstrap ?. Dropdown ?. getOrCreateInstance ( dropdownEl ) ?. show ( ) ;
438+ if ( dropdownEl != null ) {
439+ let toggleEl = dropdownEl . querySelector ( '[data-bs-toggle="dropdown"]' ) ?? dropdownEl ;
440+ bootstrap ?. Dropdown ?. getOrCreateInstance ( toggleEl ) ?. show ( ) ;
441+ }
434442 } ,
435443 toggle : ( elementId ) => {
436444 let dropdownEl = document . getElementById ( elementId ) ;
437- if ( dropdownEl != null )
438- bootstrap ?. Dropdown ?. getOrCreateInstance ( dropdownEl ) ?. toggle ( ) ;
445+ if ( dropdownEl != null ) {
446+ let toggleEl = dropdownEl . querySelector ( '[data-bs-toggle="dropdown"]' ) ?? dropdownEl ;
447+ bootstrap ?. Dropdown ?. getOrCreateInstance ( toggleEl ) ?. toggle ( ) ;
448+ }
439449 } ,
440450 update : ( elementId ) => {
441451 let dropdownEl = document . getElementById ( elementId ) ;
442- if ( dropdownEl != null )
443- bootstrap ?. Dropdown ?. getOrCreateInstance ( dropdownEl ) ?. update ( ) ;
452+ if ( dropdownEl != null ) {
453+ let toggleEl = dropdownEl . querySelector ( '[data-bs-toggle="dropdown"]' ) ?? dropdownEl ;
454+ bootstrap ?. Dropdown ?. getOrCreateInstance ( toggleEl ) ?. update ( ) ;
455+ }
444456 }
445457 } ,
446458 googlemaps : {
0 commit comments