mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2024-11-27 03:57:21 +00:00
Parse the wiki link tooltip as wiki text
This commit is contained in:
parent
8bd1fa50dc
commit
289bec0fd5
@ -73,9 +73,17 @@ LinkWidget.prototype.renderLink = function(parent,nextSibling) {
|
||||
wikiLinkText = wikiLinkTemplate.replace("$uri_encoded$",encodeURIComponent(this.to));
|
||||
wikiLinkText = wikiLinkText.replace("$uri_doubleencoded$",encodeURIComponent(encodeURIComponent(this.to)));
|
||||
domNode.setAttribute("href",wikiLinkText);
|
||||
// Set the title
|
||||
if(this.tooltip) {
|
||||
domNode.setAttribute("title",this.tooltip);
|
||||
// Set the tooltip
|
||||
var tooltipWikiText = this.tooltip || this.getVariable("tw-wikilink-tooltip",{defaultValue: "<$transclude field='tooltip'><$transclude field='title'/></$transclude>"});
|
||||
if(tooltipWikiText) {
|
||||
var tooltipText = this.wiki.renderText("text/plain","text/vnd.tiddlywiki",tooltipWikiText,{
|
||||
parseAsInline: true,
|
||||
variables: {
|
||||
currentTiddler: this.to
|
||||
},
|
||||
parentWidget: this
|
||||
});
|
||||
domNode.setAttribute("title",tooltipText);
|
||||
}
|
||||
// Add a click event handler
|
||||
$tw.utils.addEventListeners(domNode,[
|
||||
@ -180,7 +188,7 @@ Selectively refreshes the widget if needed. Returns true if the widget or any of
|
||||
*/
|
||||
LinkWidget.prototype.refresh = function(changedTiddlers) {
|
||||
var changedAttributes = this.computeAttributes();
|
||||
if(changedAttributes.to || changedTiddlers[this.to]) {
|
||||
if(changedAttributes.to || changedTiddlers[this.to] || changedAttributes.tooltip) {
|
||||
this.refreshSelf();
|
||||
return true;
|
||||
}
|
||||
|
@ -7,10 +7,18 @@ The `link` widget generates links to tiddlers.
|
||||
|
||||
|!Attribute |!Description |
|
||||
|to |The title of the target tiddler for the link (defaults to the [[WidgetVariable: currentTiddler]]) |
|
||||
|tooltip |Optional tooltip text |
|
||||
|tooltip |Optional tooltip WikiText |
|
||||
|
||||
The content of the link widget is rendered within the `<a>` tag.
|
||||
|
||||
The default tooltip is:
|
||||
|
||||
```
|
||||
<$transclude field="tooltip"><$transclude field="title"/></$transclude>
|
||||
```
|
||||
|
||||
Note that the tooltip is rendered with the current tiddler set to the target of the link.
|
||||
|
||||
! CSS Classes
|
||||
|
||||
* `tw-tiddlylink` - applied to all links
|
||||
@ -33,10 +41,22 @@ Links are suppressed if the macro `tw-wikilinks` evaluates to the string `no`. F
|
||||
|
||||
!! tw-wikilink-template
|
||||
|
||||
Link targets default to the URL encoded title of the tiddler. The `href` can be templated by defining the configuration macro `tw-wikilink-template`, and including within it the token `$uri_encoded$`. For example:
|
||||
The target of the link widget defaults to the URL encoded title of the tiddler. The `href` can be templated by defining the configuration macro `tw-wikilink-template`, and including within it the token `$uri_encoded$`. For example:
|
||||
|
||||
```
|
||||
\define tw-wikilink-template() http://tiddlywiki.com/#$uri_encoded$
|
||||
```
|
||||
|
||||
The token `$uri_doubleencoded$` is replaced by the double encoded title of the tiddler.
|
||||
|
||||
Note that in the browser the `<a>` element generated by the link widget has a JavaScript event handler that navigates directly to the target tiddler, ignoring the `href` attribute.
|
||||
|
||||
!! tw-wikilink-tooltip
|
||||
|
||||
Provides default text for the link tooltip:
|
||||
|
||||
```
|
||||
\define tw-wikilink-tooltip() This is a link to {{!!title}}
|
||||
<$link to="HelloThere"/>
|
||||
```
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user