@@ -2,21 +2,25 @@ import { claimsTooltipElement } from '../dom-elements.js';
22import { timeClaims } from './time-tooltip.js' ;
33import { stringifyIndentSpaces } from './utils.js' ;
44import strings from '../strings.js' ;
5+ import {
6+ payloadElement ,
7+ headerElement ,
8+ decodedElement
9+ } from '../dom-elements.js' ;
10+
11+ import tippy from 'tippy.js' ;
512
613function hideTooltip ( ) {
7- claimsTooltipElement . style . display = 'none' ;
14+ decodedElement . _tippy . hide ( ) ;
815}
916
10- function showTooltip ( x , y , text ) {
11- claimsTooltipElement . firstChild . textContent = text ;
12- claimsTooltipElement . style . left = x + 'px' ;
13- claimsTooltipElement . style . top = y + 'px' ;
14- claimsTooltipElement . style . display = 'block' ;
17+ function showTooltip ( text ) {
18+ decodedElement . title = text ;
19+ decodedElement . _tippy . show ( ) ;
1520}
1621
17- export function claimsTooltipHandler ( event ) {
22+ function tooltipHandler ( event ) {
1823 const editor = event . currentTarget . querySelector ( '.CodeMirror' ) . CodeMirror ;
19- //const editor = event.currentTarget.firstChild.CodeMirror;
2024
2125 if ( ! editor ) {
2226 return ;
@@ -52,5 +56,21 @@ export function claimsTooltipHandler(event) {
5256 return ;
5357 }
5458
55- showTooltip ( event . pageX , event . pageY , claimText ) ;
59+ showTooltip ( claimText ) ;
60+ }
61+
62+ export function setupClaimsTooltip ( ) {
63+ tippy ( decodedElement , {
64+ placement : 'left' ,
65+ arrow : true ,
66+ followCursor : true ,
67+ performance : true ,
68+ size : 'large' ,
69+ dynamicTitle : true ,
70+ arrowTransform : 'scale(0.75)' ,
71+ distance : 20
72+ } ) ;
73+
74+ payloadElement . addEventListener ( 'mousemove' , tooltipHandler ) ;
75+ headerElement . addEventListener ( 'mousemove' , tooltipHandler ) ;
5676}
0 commit comments