@@ -64,25 +64,15 @@ <h2 class="card-header">Deviceview {% if object.virtual_chassis %}{{ object.virt
6464 {% else %}
6565 bg-danger
6666 {% endif %}"
67- title="{{ int.name }}
68- {% if int.connected_endpoints|length > 0 %}< hr >
69- {% for ce in int.connected_endpoints %}
70- {{ ce.device }} | {{ ce.name }}
71- {% endfor %}
72- {% elif int.link_peers|length > 0 %}< hr >
73- {% for lp in int.link_peers %}
74- {% if lp.device %}
75- {{ lp.device }} | {{ lp.name }}
76- {% elif lp.circuit %}
77- {{ lp }}
78- {% endif %}
79- {% endfor %}
80- {% endif %}
81- < hr > < a href ='{{int.get_absolute_url}}trace/ '> Trace</ a >
82- "
67+ data-bs-title="{{ int.name }}{% if int.connected_endpoints|length > 0 %}< hr > {% for ce in int.connected_endpoints %}{{ ce.device }} | {{ ce.name }}{% if not forloop.last %}< br > {% endif %}{% endfor %}{% elif int.link_peers|length > 0 %}< hr > {% for lp in int.link_peers %}{% if lp.device %}{{ lp.device }} | {{ lp.name }}{% elif lp.circuit %}{{ lp }}{% endif %}{% if not forloop.last %}< br > {% endif %}{% endfor %}{% endif %}"
68+ data-bs-content="< a href ='{{int.get_absolute_url}}trace/ '> Trace</ a > "
8369 style="grid-area: {{ int.stylename }}{% if cable_colors == 'on' and int.cable.color != '' %}; background-color: #{{ int.cable.color }}{% endif %}"
84- data-bs-toggle="tooltip"
70+ data-bs-toggle="popover"
71+ data-bs-trigger="hover focus"
72+ data-bs-placement="top"
8573 data-bs-html="true"
74+ data-bs-container="body"
75+ data-bs-delay='{"show":200,"hide":300}'
8676 data-bs-custom-class="device-view-tooltip"
8777 >
8878 {% if int.enabled and int.connected_endpoints|length > 0 or int.is_port and int.link_peers|length > 0 %}
@@ -167,19 +157,22 @@ <h2 class="card-header">Deviceview {% if object.virtual_chassis %}{{ object.virt
167157 g . addEventListener ( "keydown" , function ( e ) {
168158 if ( e . key === "Enter" || e . key === " " ) { window . location . href = p . detailUrl ; }
169159 } ) ;
170- var title = p . name ;
160+ var popTitle = p . name ;
171161 var peers = p . connectedEndpoints . length > 0 ? p . connectedEndpoints : p . linkPeers ;
172- if ( peers . length > 0 ) { title += "<hr>" + peers . join ( "<br>" ) ; }
173- title += '<hr><a href="' + p . traceUrl + '">Trace</a>' ;
162+ if ( peers . length > 0 ) { popTitle += "<hr>" + peers . join ( "<br>" ) ; }
163+ var popContent = '<a href="' + p . traceUrl + '">Trace</a>' ;
164+ g . setAttribute ( "data-bs-toggle" , "popover" ) ;
165+ g . setAttribute ( "data-bs-trigger" , "hover focus" ) ;
166+ g . setAttribute ( "data-bs-placement" , "top" ) ;
174167 g . setAttribute ( "data-bs-html" , "true" ) ;
168+ g . setAttribute ( "data-bs-container" , "body" ) ;
175169 g . setAttribute ( "data-bs-custom-class" , "device-view-tooltip" ) ;
176- g . setAttribute ( "title" , title ) ;
170+ g . setAttribute ( "data-bs-title" , popTitle ) ;
171+ g . setAttribute ( "data-bs-content" , popContent ) ;
177172 var svgTitle = g . querySelector ( "title" ) ;
178173 if ( svgTitle ) svgTitle . textContent = p . name ;
179- if ( typeof Tooltip !== "undefined" ) {
180- var tip = new Tooltip ( g , { trigger : "manual" , html : true , container : "body" } ) ;
181- g . addEventListener ( "pointerenter" , function ( ) { tip . show ( ) ; } ) ;
182- g . addEventListener ( "pointerleave" , function ( ) { tip . hide ( ) ; } ) ;
174+ if ( typeof bootstrap !== "undefined" && bootstrap . Popover ) {
175+ new bootstrap . Popover ( g , { trigger : "hover focus" , html : true , container : "body" , delay : { show : 200 , hide : 300 } } ) ;
183176 }
184177 } ) ;
185178 } ) ;
0 commit comments