forked from DefinitelyTyped/DefinitelyTyped
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathjsrender-tests.ts
50 lines (39 loc) · 1.21 KB
/
jsrender-tests.ts
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
42
43
44
45
46
47
48
49
50
/// <reference path="../jquery/jquery.d.ts"/>
/// <reference path="jsrender.d.ts"/>
$.views.converters("upper", function(val) {
return val.toUpperCase();
});
$.views.converters({
upper: (val: string) => val.toUpperCase(),
lower: (val: string) => val.toLowerCase()
});
$.views.converters.html("< > ' \" &");
$.views.converters.attr( "< > ' \" &");
$.views.converters.url("<_>_\"_ ");
function renderBoldP(value: any): string {
return "<p><b>" + value + "</b></p>";
}
$.views.tags("boldp", renderBoldP);
$.views.tags("boldp", {
template: "<p><b>{{:~tag.tagCtx.args[0]}}</b></p>"
});
function myFormatFunction(value: string, upper: string): string {
return upper ? value.toUpperCase() : value.toLowerCase();
}
$.views.helpers("format", myFormatFunction);
$.views.helpers({format: myFormatFunction});
var person = {
name: "Adriana"
};
$.templates("personTmpl", "<label>Name:</label> {{:name}}");
var html = $.render["personTmpl"](person);
console.log(html);
var myTmpl = $.templates("<label>Name:</label> {{:name}}");
var html = myTmpl.render(person);
console.log(html);
$.templates({
personTmpl: "#personTemplate",
labelTmpl: "Name:"
});
var html = $("#personTemplate").render(person);
console.log(html);