A couple of small (viewer) tweaks of tooltip-only Annotations (PR 12333 follow-up)
Ensure that these tooltip-only Annotations are handled as "internalLink"s, to ensure that they behave as expected in PresentationMode (e.g. they should still use a `pointer`-cursor). Ensure that `PDFLinkService.getDestinationHash` won't create links with empty hashes, since those don't really make a lot of sense in general (this improves things for tooltip-only Annotations). This PDF file can be used for testing: http://mirrors.ctan.org/macros/latex/contrib/pdfcomment/doc/pdfcomment.pdf#page=14
This commit is contained in:
		
							parent
							
								
									1eaf9c961b
								
							
						
					
					
						commit
						9f8d9802f9
					
				| @ -348,7 +348,7 @@ class LinkAnnotationElement extends AnnotationElement { | |||||||
|       } |       } | ||||||
|       return false; |       return false; | ||||||
|     }; |     }; | ||||||
|     if (destination) { |     if (destination || destination === /* isTooltipOnly = */ "") { | ||||||
|       link.className = "internalLink"; |       link.className = "internalLink"; | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|  | |||||||
| @ -235,11 +235,14 @@ class PDFLinkService { | |||||||
|    */ |    */ | ||||||
|   getDestinationHash(dest) { |   getDestinationHash(dest) { | ||||||
|     if (typeof dest === "string") { |     if (typeof dest === "string") { | ||||||
|       return this.getAnchorUrl("#" + escape(dest)); |       if (dest.length > 0) { | ||||||
|     } |         return this.getAnchorUrl("#" + escape(dest)); | ||||||
|     if (Array.isArray(dest)) { |       } | ||||||
|  |     } else if (Array.isArray(dest)) { | ||||||
|       const str = JSON.stringify(dest); |       const str = JSON.stringify(dest); | ||||||
|       return this.getAnchorUrl("#" + escape(str)); |       if (str.length > 0) { | ||||||
|  |         return this.getAnchorUrl("#" + escape(str)); | ||||||
|  |       } | ||||||
|     } |     } | ||||||
|     return this.getAnchorUrl(""); |     return this.getAnchorUrl(""); | ||||||
|   } |   } | ||||||
| @ -247,7 +250,7 @@ class PDFLinkService { | |||||||
|   /** |   /** | ||||||
|    * Prefix the full url on anchor links to make sure that links are resolved |    * Prefix the full url on anchor links to make sure that links are resolved | ||||||
|    * relative to the current URL instead of the one defined in <base href>. |    * relative to the current URL instead of the one defined in <base href>. | ||||||
|    * @param {string} anchor The anchor hash, including the #. |    * @param {string} anchor - The anchor hash, including the #. | ||||||
|    * @returns {string} The hyperlink to the PDF object. |    * @returns {string} The hyperlink to the PDF object. | ||||||
|    */ |    */ | ||||||
|   getAnchorUrl(anchor) { |   getAnchorUrl(anchor) { | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user