mirror of
				https://github.com/zadam/trilium.git
				synced 2025-10-30 19:19:03 +01:00 
			
		
		
		
	feat(context_menu): dismiss note tooltip when a context menu is shown
This commit is contained in:
		
							parent
							
								
									d814a4d49f
								
							
						
					
					
						commit
						0288ebcad9
					
				| @ -1,5 +1,6 @@ | |||||||
| import type { CommandNames } from "../components/app_context.js"; | import type { CommandNames } from "../components/app_context.js"; | ||||||
| import keyboardActionService from "../services/keyboard_actions.js"; | import keyboardActionService from "../services/keyboard_actions.js"; | ||||||
|  | import note_tooltip from "../services/note_tooltip.js"; | ||||||
| import utils from "../services/utils.js"; | import utils from "../services/utils.js"; | ||||||
| 
 | 
 | ||||||
| interface ContextMenuOptions<T extends CommandNames> { | interface ContextMenuOptions<T extends CommandNames> { | ||||||
| @ -57,6 +58,8 @@ class ContextMenu { | |||||||
|     async show<T extends CommandNames>(options: ContextMenuOptions<T>) { |     async show<T extends CommandNames>(options: ContextMenuOptions<T>) { | ||||||
|         this.options = options; |         this.options = options; | ||||||
| 
 | 
 | ||||||
|  |         note_tooltip.dismissAllTooltips(); | ||||||
|  | 
 | ||||||
|         if (this.$widget.hasClass("show")) { |         if (this.$widget.hasClass("show")) { | ||||||
|             // The menu is already visible. Hide the menu then open it again
 |             // The menu is already visible. Hide the menu then open it again
 | ||||||
|             // at the new location to re-trigger the opening animation.
 |             // at the new location to re-trigger the opening animation.
 | ||||||
|  | |||||||
| @ -18,11 +18,11 @@ function setupGlobalTooltip() { | |||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         cleanUpTooltips(); |         dismissAllTooltips(); | ||||||
|     }); |     }); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function cleanUpTooltips() { | function dismissAllTooltips() { | ||||||
|     $(".note-tooltip").remove(); |     $(".note-tooltip").remove(); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @ -102,12 +102,12 @@ async function mouseEnterHandler(this: HTMLElement) { | |||||||
|             customClass: linkId |             customClass: linkId | ||||||
|         }); |         }); | ||||||
| 
 | 
 | ||||||
|         cleanUpTooltips(); |         dismissAllTooltips(); | ||||||
|         $(this).tooltip("show"); |         $(this).tooltip("show"); | ||||||
| 
 | 
 | ||||||
|         // Dismiss the tooltip immediately if a link was clicked inside the tooltip.
 |         // Dismiss the tooltip immediately if a link was clicked inside the tooltip.
 | ||||||
|         $(`.${tooltipClass} a`).on("click", (e) => { |         $(`.${tooltipClass} a`).on("click", (e) => { | ||||||
|             cleanUpTooltips(); |             dismissAllTooltips(); | ||||||
|         }); |         }); | ||||||
| 
 | 
 | ||||||
|         // the purpose of the code below is to:
 |         // the purpose of the code below is to:
 | ||||||
| @ -117,7 +117,7 @@ async function mouseEnterHandler(this: HTMLElement) { | |||||||
|         const checkTooltip = () => { |         const checkTooltip = () => { | ||||||
|             if (!$(this).filter(":hover").length && !$(`.${linkId}:hover`).length) { |             if (!$(this).filter(":hover").length && !$(`.${linkId}:hover`).length) { | ||||||
|                 // cursor is neither over the link nor over the tooltip, user likely is not interested
 |                 // cursor is neither over the link nor over the tooltip, user likely is not interested
 | ||||||
|                 cleanUpTooltips(); |                 dismissAllTooltips(); | ||||||
|             } else { |             } else { | ||||||
|                 setTimeout(checkTooltip, 1000); |                 setTimeout(checkTooltip, 1000); | ||||||
|             } |             } | ||||||
| @ -172,5 +172,6 @@ function renderFootnote($link: JQuery<HTMLElement>, url: string) { | |||||||
| 
 | 
 | ||||||
| export default { | export default { | ||||||
|     setupGlobalTooltip, |     setupGlobalTooltip, | ||||||
|     setupElementTooltip |     setupElementTooltip, | ||||||
|  |     dismissAllTooltips | ||||||
| }; | }; | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Elian Doran
						Elian Doran