Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
6056 efrain 1
<!DOCTYPE html>
2
<html>
3
<head>
4
	<script src="http://code.jquery.com/jquery-3.5.1.js" type="text/javascript"></script>
5
	<script src="../../jsrender.js" type="text/javascript"></script>
6
	<link href="../resources/demos.css" rel="stylesheet" type="text/css" />
7
 
8
	<link href="../resources/movielist.css" rel="stylesheet" type="text/css" />
9
	<style>
10
	pre { font-size:10pt; font-weight:bold; }
11
	</style>
12
</head>
13
<body>
14
<a href="../demos.html">JsRender Demos</a><br />
15
 
16
<h3>Example Scenario: Accessing parent data.</h3>
17
 
18
<!---------------------- First Example ---------------------->
19
 
20
<div class="subhead">Stepping up through the views (tree of nested rendered templates)</div>
21
 
22
<pre>
23
var model = {
24
    specialMessage: function(...) { ... },
25
    theater: "Rialto",
26
    movies: [ ... ]
27
}
28
 
29
{{for movies}}
30
    &lt;tr>
31
        &lt;td>'{{>title}}': showing at the '{{>#parent.parent.data.theater}}'&lt;/td>
32
</pre>
33
 
34
<table>
35
	<thead><tr><th>Title</th><th>Languages (+specialMessage)</th></tr></thead>
36
	<tbody id="movieList1"></tbody>
37
</table>
38
 
39
<!---------------------- Second Example ---------------------->
40
 
41
<div class="subhead">Setting contextual template parameters, accessible in all nested contexts as <em>~nameOfParameter</em>:</div>
42
 
43
<pre>
44
{{for movies ~theater=theater}}
45
    &lt;tr>
46
        &lt;td>'{{>title}}': showing at the '{{>~theater}}'&lt;/td>
47
</pre>
48
 
49
<table>
50
	<thead><tr><th>Title</th><th>Languages (+specialMessage)</th></tr></thead>
51
	<tbody id="movieList2"></tbody>
52
</table>
53
 
54
<!---------------------- Third Example ---------------------->
55
 
56
<div class="subhead">Using the top-level data, accessible in all nested contexts as <em>~root</em>:</div>
57
 
58
<pre>
59
{{for movies}}
60
    &lt;tr>
61
        &lt;td>'{{>title}}': showing at the '{{>~root.theater}}'&lt;/td>
62
</pre>
63
 
64
<table>
65
	<thead><tr><th>Title</th><th>Languages (+specialMessage)</th></tr></thead>
66
	<tbody id="movieList3"></tbody>
67
</table>
68
 
69
<!--=================== Demo ===================-->
70
 
71
<!------------------ Templates ------------------>
72
 
73
<script id="movieTemplate1" type="text/x-jsrender">
74
	{{for movies}}
75
		<tr>
76
			<td>'{{>title}}': showing at the '{{>#parent.parent.data.theater}}'</td>
77
			<td>
78
				{{if languages}}
79
					{{for languages}}
80
						{{>#data}}{{>#parent.parent.parent.parent.parent.data.specialMessage(#data, #parent.parent.data.title)}}<br/>
81
					{{/for}}
82
				{{/if}}
83
			</td>
84
		</tr>
85
	{{/for}}
86
</script>
87
 
88
<script id="movieTemplate2" type="text/x-jsrender">
89
	{{for movies ~theater=theater ~specialMessage=specialMessage}}
90
		<tr>
91
			<td>'{{>title}}': showing at the '{{>~theater}}'</td>
92
			<td>
93
				{{for languages ~title=title}}
94
					{{>#data}}{{>~specialMessage(#data, ~title)}}<br/>
95
				{{/for}}
96
			</td>
97
		</tr>
98
	{{/for}}
99
</script>
100
 
101
<script id="movieTemplate3" type="text/x-jsrender">
102
	{{for movies}}
103
		<tr>
104
			<td>'{{>title}}': showing at the '{{>~root.theater}}'</td>
105
			<td>
106
				{{for languages ~title=title}}
107
					{{>#data}}{{>~root.specialMessage(#data, ~title)}}<br/>
108
				{{/for}}
109
			</td>
110
		</tr>
111
	{{/for}}
112
</script>
113
 
114
<!------------------ Script ------------------>
115
 
116
<script type="text/javascript">
117
 
118
	var model = {
119
		specialMessage: function(language, title) {
120
			if (language === "French" && title === "City Hunter") { return ": (special offer)"; }
121
		},
122
		theater: "Rialto",
123
 
124
		movies: [
125
			{
126
				title: "Meet Joe Black",
127
				languages: [
128
					"English",
129
					"French"
130
				]
131
			},
132
			{
133
				title: "City Hunter",
134
				languages: [
135
					"Mandarin",
136
					"French",
137
					"Chinese"
138
				]
139
			}
140
		]
141
	};
142
 
143
	$( "#movieList1" ).html(
144
		$( "#movieTemplate1" ).render( model )
145
	);
146
 
147
	$( "#movieList2" ).html(
148
		$( "#movieTemplate2" ).render( model )
149
	);
150
 
151
	$( "#movieList3" ).html(
152
		$( "#movieTemplate3" ).render( model )
153
	);
154
 
155
</script>
156
 
157
</body>
158
</html>