File tree Expand file tree Collapse file tree 2 files changed +23
-2
lines changed Expand file tree Collapse file tree 2 files changed +23
-2
lines changed Original file line number Diff line number Diff line change @@ -12,9 +12,13 @@ export default class Tooltip extends HTMLElement {
12
12
13
13
this . _template = ( ) => html `
14
14
< select @change =${ event => { mainLizmap . tooltip . activate ( event . target . value ) } } >
15
- < option value =""> ---</ option >
15
+ < option value ="" .selected = ${ mainLizmap . tooltip . activeLayerOrder === null } > ---</ option >
16
16
${ this . _tooltipLayersCfgs . map ( tooltipLayerCfg =>
17
- html `< option ?selected =${ this . _tooltipLayersCfgs . length === 1 } value ="${ tooltipLayerCfg . order } "> ${ mainLizmap . state . layersAndGroupsCollection . getLayerByName ( tooltipLayerCfg . name ) . title } </ option > `
17
+ html `< option
18
+ .selected =${ tooltipLayerCfg . order === mainLizmap . tooltip . activeLayerOrder }
19
+ value ="${ tooltipLayerCfg . order } ">
20
+ ${ mainLizmap . state . layersAndGroupsCollection . getLayerByName ( tooltipLayerCfg . name ) . title }
21
+ </ option > `
18
22
) }
19
23
</ select >
20
24
` ;
@@ -46,6 +50,13 @@ export default class Tooltip extends HTMLElement {
46
50
[ 'tooltip.loaded' ]
47
51
) ;
48
52
53
+ mainEventDispatcher . addListener (
54
+ ( ) => {
55
+ render ( this . _template ( ) , this ) ;
56
+ } ,
57
+ [ 'tooltip.activated' , 'tooltip.deactivated' ]
58
+ ) ;
59
+
49
60
render ( this . _template ( ) , this ) ;
50
61
}
51
62
Original file line number Diff line number Diff line change @@ -31,13 +31,15 @@ export default class Tooltip {
31
31
this . _lizmap3 = lizmap3 ;
32
32
this . _activeTooltipLayer ;
33
33
this . _tooltipLayers = new Map ( ) ;
34
+ this . activeLayerOrder = null ;
34
35
}
35
36
36
37
/**
37
38
* Activate tooltip for a layer order
38
39
* @param {number } layerOrder a layer order
39
40
*/
40
41
activate ( layerOrder ) {
42
+ // If the layer order is empty, deactivate the tooltip
41
43
if ( layerOrder === "" ) {
42
44
this . deactivate ( ) ;
43
45
return ;
@@ -232,6 +234,10 @@ export default class Tooltip {
232
234
} ;
233
235
234
236
this . _map . getTargetElement ( ) . addEventListener ( 'pointerleave' , this . _onPointerLeave ) ;
237
+
238
+ // Dispatch event to notify that the tooltip is activated
239
+ this . activeLayerOrder = layerOrder ;
240
+ mainEventDispatcher . dispatch ( 'tooltip.activated' , { layerOrder : layerOrder } ) ;
235
241
}
236
242
237
243
/**
@@ -245,5 +251,9 @@ export default class Tooltip {
245
251
if ( this . _onPointerLeave ) {
246
252
this . _map . getTargetElement ( ) . removeEventListener ( 'pointerleave' , this . _onPointerLeave ) ;
247
253
}
254
+
255
+ // Dispatch event to notify that the tooltip is deactivated
256
+ this . activeLayerOrder = null ;
257
+ mainEventDispatcher . dispatch ( 'tooltip.deactivated' ) ;
248
258
}
249
259
}
You can’t perform that action at this time.
0 commit comments