Skip to content

Commit e247b96

Browse files
committed
Testpage for types, using globalization plugin for number parsing.
1 parent 74ddb30 commit e247b96

File tree

1 file changed

+121
-0
lines changed

1 file changed

+121
-0
lines changed

tests/visual/grid/type.html

Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
<!doctype html>
2+
<html>
3+
<head>
4+
<title>Grid: Type</title>
5+
<meta charset=utf-8 />
6+
<link rel="stylesheet" href="../visual.css" type="text/css" />
7+
<link rel="stylesheet" href="../../../themes/base/jquery.ui.all.css" type="text/css" title="ui-theme" />
8+
<script type="text/javascript" src="../../../external/glob.js"></script>
9+
<script type="text/javascript" src="../../../external/glob.de-DE.js"></script>
10+
<script type="text/javascript" src="../../../external/glob.ja-JP.js"></script>
11+
<script type="text/javascript" src="../../../jquery-1.4.4.js"></script>
12+
<script type="text/javascript" src="../../../ui/jquery.ui.core.js"></script>
13+
<script type="text/javascript" src="../../../ui/jquery.ui.widget.js"></script>
14+
<script type="text/javascript">
15+
$(function() {
16+
var table = $("table");
17+
thead = table.children("thead"),
18+
tbody = table.children("tbody");
19+
thead.delegate("th", "click", function() {
20+
function extract(row) {
21+
var text = $($(row).children()[index]).text();
22+
if (type == "currency") {
23+
return Globalization.parseFloat(text.replace(/[^\d,.-]/g, ""), 10, culture);
24+
} else if (type == "date") {
25+
return Globalization.parseDate(text, format, culture);
26+
} else {
27+
return text;
28+
}
29+
}
30+
var head = $(this),
31+
culture = head.data("culture"),
32+
format = head.data("format"),
33+
type = head.data("type"),
34+
order = head.data("sort-order") || 1,
35+
index = this.cellIndex;
36+
tbody.children().sort(function(a, b) {
37+
return (extract(a) < extract(b) ? -1 : 1) * order;
38+
}).appendTo(tbody);
39+
order *= -1;
40+
head.data("sort-order", order);
41+
});
42+
thead.children().clone().insertAfter(thead).find("th").each(function() {
43+
$(this).empty().append("<input />");
44+
});
45+
table.delegate("input", "keyup", function() {
46+
var index = $(this).parent()[0].cellIndex;
47+
value = new RegExp("^" + this.value, "i");
48+
if (!value) {
49+
tbody.children().show();
50+
return;
51+
}
52+
tbody.children().each(function(i, row) {
53+
$(this).toggle( value.test( $($(row).children()[index]).text() ) );
54+
});
55+
});
56+
});
57+
</script>
58+
<style>
59+
body { font-size:62.5%; }
60+
table {
61+
border-collapse: collapse;
62+
}
63+
th, td {
64+
padding: 0.5em;
65+
border: 1px solid black;
66+
}
67+
</style>
68+
</head>
69+
<body>
70+
71+
<table>
72+
<thead>
73+
<tr>
74+
<th data-sort-order="-1">Year</th>
75+
<th data-type="currency">US Revenue</th>
76+
<th data-type="currency" data-culture="de-DE">EU Revenue</th>
77+
<th data-sort-order="-1" data-type="date" data-format="d">Peak Traffic</th>
78+
</tr>
79+
</thead>
80+
<tbody>
81+
<tr>
82+
<td>2005</td>
83+
<td>$0.00</td>
84+
<td>0,00 €</td>
85+
<td>12/1/2005</td>
86+
</tr>
87+
<tr>
88+
<td>2006</td>
89+
<td>$0.50</td>
90+
<td>10.000,00 €</td>
91+
<td>5/16/2006</td>
92+
</tr>
93+
<tr>
94+
<td>2007</td>
95+
<td>$10,000.00</td>
96+
<td>0,50 €</td>
97+
<td>6/3/2007</td>
98+
</tr>
99+
<tr>
100+
<td>2008</td>
101+
<td>$-10,000.00</td>
102+
<td>0,06 €</td>
103+
<td>12/1/2008</td>
104+
</tr>
105+
<tr>
106+
<td>2009</td>
107+
<td>$-10.00</td>
108+
<td>-10,00 €</td>
109+
<td>12/30/2009</td>
110+
</tr>
111+
<tr>
112+
<td>2010</td>
113+
<td>$0.06</td>
114+
<td>-10.000,00 €</td>
115+
<td>2/28/2010</td>
116+
</tr>
117+
</tbody>
118+
</table>
119+
120+
</body>
121+
</html>

0 commit comments

Comments
 (0)