mermaid: reset zoom correctly #690

This commit is contained in:
Sören Weber 2023-10-18 22:11:33 +02:00
parent 76eeaa5066
commit 292e261617
No known key found for this signature in database
GPG key ID: BEC6D55545451B6D

View file

@ -318,7 +318,7 @@ function initMermaid( update, attrs ) {
svgs.each( function(){ svgs.each( function(){
var svg = d3.select( this ); var svg = d3.select( this );
svg.html( '<g>' + svg.html() + '</g>' ); svg.html( '<g>' + svg.html() + '</g>' );
var inner = svg.select( 'g' ); var inner = svg.select( '*:scope > g' );
var zoom = d3.zoom().on( 'zoom', function( e ){ var zoom = d3.zoom().on( 'zoom', function( e ){
inner.attr( 'transform', e.transform ); inner.attr( 'transform', e.transform );
}); });
@ -331,7 +331,7 @@ function initMermaid( update, attrs ) {
parent.insertAdjacentHTML( 'beforeend', '<span class="svg-reset-button" title="' + window.T_Reset_view + '"><i class="fas fa-undo-alt"></i></span>' ); parent.insertAdjacentHTML( 'beforeend', '<span class="svg-reset-button" title="' + window.T_Reset_view + '"><i class="fas fa-undo-alt"></i></span>' );
var button = parent.querySelector( '.svg-reset-button' ); var button = parent.querySelector( '.svg-reset-button' );
button.addEventListener( 'click', function( event ){ button.addEventListener( 'click', function( event ){
inner.transition() svg.transition()
.duration( 350 ) .duration( 350 )
.call( zoom.transform, d3.zoomIdentity ); .call( zoom.transform, d3.zoomIdentity );
this.setAttribute( 'aria-label', window.T_View_reset ); this.setAttribute( 'aria-label', window.T_View_reset );