@@ -504,34 +504,33 @@ export class ModesContentHoverWidget extends ContentHoverWidget {
504504 messageElement . innerText = message ;
505505
506506 if ( source || code ) {
507- if ( typeof code === 'string' ) {
507+ // Code has link
508+ if ( code && typeof code !== 'string' ) {
509+ const sourceAndCodeElement = $ ( 'span' ) ;
510+ if ( source ) {
511+ const sourceElement = dom . append ( sourceAndCodeElement , $ ( 'span' ) ) ;
512+ sourceElement . innerText = source ;
513+ }
514+ this . _codeLink = dom . append ( sourceAndCodeElement , $ ( 'a.code-link' ) ) ;
515+ this . _codeLink . setAttribute ( 'href' , code . target . toString ( ) ) ;
516+
517+ this . _codeLink . onclick = ( e ) => {
518+ this . _openerService . open ( code . target ) ;
519+ e . preventDefault ( ) ;
520+ e . stopPropagation ( ) ;
521+ } ;
522+
523+ const codeElement = dom . append ( this . _codeLink , $ ( 'span' ) ) ;
524+ codeElement . innerText = code . value ;
525+
526+ const detailsElement = dom . append ( markerElement , sourceAndCodeElement ) ;
527+ detailsElement . style . opacity = '0.6' ;
528+ detailsElement . style . paddingLeft = '6px' ;
529+ } else {
508530 const detailsElement = dom . append ( markerElement , $ ( 'span' ) ) ;
509531 detailsElement . style . opacity = '0.6' ;
510532 detailsElement . style . paddingLeft = '6px' ;
511533 detailsElement . innerText = source && code ? `${ source } (${ code } )` : source ? source : `(${ code } )` ;
512- } else {
513- if ( code ) {
514- const sourceAndCodeElement = $ ( 'span' ) ;
515- if ( source ) {
516- const sourceElement = dom . append ( sourceAndCodeElement , $ ( 'span' ) ) ;
517- sourceElement . innerText = source ;
518- }
519- this . _codeLink = dom . append ( sourceAndCodeElement , $ ( 'a.code-link' ) ) ;
520- this . _codeLink . setAttribute ( 'href' , code . target . toString ( ) ) ;
521-
522- this . _codeLink . onclick = ( e ) => {
523- this . _openerService . open ( code . target ) ;
524- e . preventDefault ( ) ;
525- e . stopPropagation ( ) ;
526- } ;
527-
528- const codeElement = dom . append ( this . _codeLink , $ ( 'span' ) ) ;
529- codeElement . innerText = code . value ;
530-
531- const detailsElement = dom . append ( markerElement , sourceAndCodeElement ) ;
532- detailsElement . style . opacity = '0.6' ;
533- detailsElement . style . paddingLeft = '6px' ;
534- }
535534 }
536535 }
537536
0 commit comments