forked from dojo/dijit-oldmirror
/
LinkPane.js
41 lines (34 loc) · 1.45 KB
/
LinkPane.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
define("dijit/layout/LinkPane", ["dojo", "dijit", "dijit/layout/ContentPane", "dijit/_Templated"], function(dojo, dijit) {
dojo.declare("dijit.layout.LinkPane",
[dijit.layout.ContentPane, dijit._Templated],
{
// summary:
// A ContentPane with an href where (when declared in markup)
// the title is specified as innerHTML rather than as a title attribute.
// description:
// LinkPane is just a ContentPane that is declared in markup similarly
// to an anchor. The anchor's body (the words between `<a>` and `</a>`)
// become the title of the widget (used for TabContainer, AccordionContainer, etc.)
// example:
// | <a href="foo.html">my title</a>
// I'm using a template because the user may specify the input as
// <a href="foo.html">title</a>, in which case we need to get rid of the
// <a> because we don't want a link.
templateString: '<div class="dijitLinkPane" dojoAttachPoint="containerNode"></div>',
postMixInProperties: function(){
// If user has specified node contents, they become the title
// (the link must be plain text)
if(this.srcNodeRef){
this.title += this.srcNodeRef.innerHTML;
}
this.inherited(arguments);
},
_fillContent: function(/*DomNode*/ source){
// Overrides _Templated._fillContent().
// _Templated._fillContent() relocates srcNodeRef innerHTML to templated container node,
// but in our case the srcNodeRef innerHTML is the title, so shouldn't be
// copied
}
});
return dijit.layout.LinkPane;
});