View | Details | Raw Unified | Return to bug 6427
Collapse All | Expand All

(-)a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/TableTools/alt_init.html (+520 lines)
Line 0 Link Here
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2
<html>
3
	<head>
4
		<meta http-equiv="content-type" content="text/html; charset=utf-8">
5
		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
6
		
7
		<title>TableTools example</title>
8
		<style type="text/css" title="currentStyle">
9
			@import "../../media/css/demo_page.css";
10
			@import "../../media/css/demo_table.css";
11
			@import "media/css/TableTools.css";
12
			tr.selected {
13
				background-color: red !important;
14
			}
15
		</style>
16
		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
17
		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
18
		<script type="text/javascript" charset="utf-8" src="media/js/ZeroClipboard.js"></script>
19
		<script type="text/javascript" charset="utf-8" src="media/js/TableTools.js"></script>
20
		<script type="text/javascript" charset="utf-8">
21
			$(document).ready( function () {
22
				var oTable = $('#example').dataTable();
23
				var oTableTools = new TableTools( oTable, {
24
					"buttons": [
25
						"copy",
26
						"csv",
27
						"xls",
28
						"pdf",
29
						{ "type": "print", "buttonText": "Print me!" }
30
					]
31
				} );
32
				
33
				$('#demo').before( oTableTools.dom.container );
34
			} );
35
		</script>
36
	</head>
37
	<body id="dt_example">
38
		<div id="container">
39
			<div class="full_width big">
40
				TableTools example - initialisation with 'new TableTools()'
41
			</div>
42
			
43
			<h1>Preamble</h1>
44
			<p>Typically when working with TableTools, the initialisation and insertion into the DOM will be done automatically by DataTables, through the use of the sDom parameter. However, it is also possible to initialise TableTools manually as shown in the example below. Once initialised you can insert the TableTools tool bar node anywhere you wish into the DOM using the <i>instance</i>.dom.container parameter.</p>
45
			
46
			
47
			<h1>Live example</h1>
48
			<div id="demo">
49
<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
50
	<thead>
51
		<tr>
52
			<th>Rendering engine</th>
53
			<th>Browser</th>
54
			<th>Platform(s)</th>
55
			<th>Engine version</th>
56
			<th>CSS grade</th>
57
		</tr>
58
	</thead>
59
	<tfoot>
60
		<tr>
61
			<th>Rendering engine</th>
62
			<th>Browser</th>
63
			<th>Platform(s)</th>
64
			<th>Engine version</th>
65
			<th>CSS grade</th>
66
		</tr>
67
	</tfoot>
68
	<tbody>
69
		<tr class="odd_gradeX">
70
			<td>Trident</td>
71
			<td>Internet Explorer 4.0</td>
72
			<td>Win 95+ (Entity: &amp;)</td>
73
			<td class="center">4</td>
74
			<td class="center">X</td>
75
		</tr>
76
		<tr class="even_gradeC">
77
			<td>Trident</td>
78
			<td>Internet Explorer 5.0</td>
79
			<td>Win 95+</td>
80
			<td class="center">5</td>
81
			<td class="center">C</td>
82
		</tr>
83
		<tr class="odd_gradeA">
84
			<td>Trident</td>
85
			<td>Internet Explorer 5.5</td>
86
			<td>Win 95+</td>
87
			<td class="center">5.5</td>
88
			<td class="center">A</td>
89
		</tr>
90
		<tr class="even_gradeA">
91
			<td>Trident</td>
92
			<td>Internet Explorer 6</td>
93
			<td>Win 98+</td>
94
			<td class="center">6</td>
95
			<td class="center">A</td>
96
		</tr>
97
		<tr class="odd_gradeA">
98
			<td>Trident</td>
99
			<td>Internet Explorer 7</td>
100
			<td>Win XP SP2+</td>
101
			<td class="center">7</td>
102
			<td class="center">A</td>
103
		</tr>
104
		<tr class="even_gradeA">
105
			<td>Trident</td>
106
			<td>AOL browser (AOL desktop)</td>
107
			<td>Win XP</td>
108
			<td class="center">6</td>
109
			<td class="center">A</td>
110
		</tr>
111
		<tr class="odd_gradeA">
112
			<td>Gecko (UTF-8: $¢€)</td>
113
			<td>Firefox 1.0</td>
114
			<td>Win 98+ / OSX.2+</td>
115
			<td class="center">1.7</td>
116
			<td class="center">A</td>
117
		</tr>
118
		<tr class="even_gradeA">
119
			<td>Gecko</td>
120
			<td>Firefox 1.5</td>
121
			<td>Win 98+ / OSX.2+</td>
122
			<td class="center">1.8</td>
123
			<td class="center">A</td>
124
		</tr>
125
		<tr class="odd_gradeA">
126
			<td>Gecko</td>
127
			<td>Firefox 2.0</td>
128
			<td>Win 98+ / OSX.2+</td>
129
			<td class="center">1.8</td>
130
			<td class="center">A</td>
131
		</tr>
132
		<tr class="even_gradeA">
133
			<td>Gecko</td>
134
			<td>Firefox 3.0</td>
135
			<td>Win 2k+ / OSX.3+</td>
136
			<td class="center">1.9</td>
137
			<td class="center">A</td>
138
		</tr>
139
		<tr class="odd_gradeA">
140
			<td>Gecko</td>
141
			<td>Camino 1.0</td>
142
			<td>OSX.2+</td>
143
			<td class="center">1.8</td>
144
			<td class="center">A</td>
145
		</tr>
146
		<tr class="even_gradeA">
147
			<td>Gecko</td>
148
			<td>Camino 1.5</td>
149
			<td>OSX.3+</td>
150
			<td class="center">1.8</td>
151
			<td class="center">A</td>
152
		</tr>
153
		<tr class="odd_gradeA">
154
			<td>Gecko</td>
155
			<td>Netscape 7.2</td>
156
			<td>Win 95+ / Mac OS 8.6-9.2</td>
157
			<td class="center">1.7</td>
158
			<td class="center">A</td>
159
		</tr>
160
		<tr class="even_gradeA">
161
			<td>Gecko</td>
162
			<td>Netscape Browser 8</td>
163
			<td>Win 98SE+</td>
164
			<td class="center">1.7</td>
165
			<td class="center">A</td>
166
		</tr>
167
		<tr class="odd_gradeA">
168
			<td>Gecko</td>
169
			<td>Netscape Navigator 9</td>
170
			<td>Win 98+ / OSX.2+</td>
171
			<td class="center">1.8</td>
172
			<td class="center">A</td>
173
		</tr>
174
		<tr class="even_gradeA">
175
			<td>Gecko</td>
176
			<td>Mozilla 1.0</td>
177
			<td>Win 95+ / OSX.1+</td>
178
			<td class="center">1</td>
179
			<td class="center">A</td>
180
		</tr>
181
		<tr class="odd_gradeA">
182
			<td>Gecko</td>
183
			<td>Mozilla 1.1</td>
184
			<td>Win 95+ / OSX.1+</td>
185
			<td class="center">1.1</td>
186
			<td class="center">A</td>
187
		</tr>
188
		<tr class="even_gradeA">
189
			<td>Gecko</td>
190
			<td>Mozilla 1.2</td>
191
			<td>Win 95+ / OSX.1+</td>
192
			<td class="center">1.2</td>
193
			<td class="center">A</td>
194
		</tr>
195
		<tr class="odd_gradeA">
196
			<td>Gecko</td>
197
			<td>Mozilla 1.3</td>
198
			<td>Win 95+ / OSX.1+</td>
199
			<td class="center">1.3</td>
200
			<td class="center">A</td>
201
		</tr>
202
		<tr class="even_gradeA">
203
			<td>Gecko</td>
204
			<td>Mozilla 1.4</td>
205
			<td>Win 95+ / OSX.1+</td>
206
			<td class="center">1.4</td>
207
			<td class="center">A</td>
208
		</tr>
209
		<tr class="odd_gradeA">
210
			<td>Gecko</td>
211
			<td>Mozilla 1.5</td>
212
			<td>Win 95+ / OSX.1+</td>
213
			<td class="center">1.5</td>
214
			<td class="center">A</td>
215
		</tr>
216
		<tr class="even_gradeA">
217
			<td>Gecko</td>
218
			<td>Mozilla 1.6</td>
219
			<td>Win 95+ / OSX.1+</td>
220
			<td class="center">1.6</td>
221
			<td class="center">A</td>
222
		</tr>
223
		<tr class="odd_gradeA">
224
			<td>Gecko</td>
225
			<td>Mozilla 1.7</td>
226
			<td>Win 98+ / OSX.1+</td>
227
			<td class="center">1.7</td>
228
			<td class="center">A</td>
229
		</tr>
230
		<tr class="even_gradeA">
231
			<td>Gecko</td>
232
			<td>Mozilla 1.8</td>
233
			<td>Win 98+ / OSX.1+</td>
234
			<td class="center">1.8</td>
235
			<td class="center">A</td>
236
		</tr>
237
		<tr class="odd_gradeA">
238
			<td>Gecko</td>
239
			<td>Seamonkey 1.1</td>
240
			<td>Win 98+ / OSX.2+</td>
241
			<td class="center">1.8</td>
242
			<td class="center">A</td>
243
		</tr>
244
		<tr class="even_gradeA">
245
			<td>Gecko</td>
246
			<td>Epiphany 2.20</td>
247
			<td>Gnome</td>
248
			<td class="center">1.8</td>
249
			<td class="center">A</td>
250
		</tr>
251
		<tr class="odd_gradeA">
252
			<td>Webkit</td>
253
			<td>Safari 1.2</td>
254
			<td>OSX.3</td>
255
			<td class="center">125.5</td>
256
			<td class="center">A</td>
257
		</tr>
258
		<tr class="even_gradeA">
259
			<td>Webkit</td>
260
			<td>Safari 1.3</td>
261
			<td>OSX.3</td>
262
			<td class="center">312.8</td>
263
			<td class="center">A</td>
264
		</tr>
265
		<tr class="odd_gradeA">
266
			<td>Webkit</td>
267
			<td>Safari 2.0</td>
268
			<td>OSX.4+</td>
269
			<td class="center">419.3</td>
270
			<td class="center">A</td>
271
		</tr>
272
		<tr class="even_gradeA">
273
			<td>Webkit</td>
274
			<td>Safari 3.0</td>
275
			<td>OSX.4+</td>
276
			<td class="center">522.1</td>
277
			<td class="center">A</td>
278
		</tr>
279
		<tr class="odd_gradeA">
280
			<td>Webkit</td>
281
			<td>OmniWeb 5.5</td>
282
			<td>OSX.4+</td>
283
			<td class="center">420</td>
284
			<td class="center">A</td>
285
		</tr>
286
		<tr class="even_gradeA">
287
			<td>Webkit</td>
288
			<td>iPod Touch / iPhone</td>
289
			<td>iPod</td>
290
			<td class="center">420.1</td>
291
			<td class="center">A</td>
292
		</tr>
293
		<tr class="odd_gradeA">
294
			<td>Webkit</td>
295
			<td>S60</td>
296
			<td>S60</td>
297
			<td class="center">413</td>
298
			<td class="center">A</td>
299
		</tr>
300
		<tr class="even_gradeA">
301
			<td>Presto</td>
302
			<td>Opera 7.0</td>
303
			<td>Win 95+ / OSX.1+</td>
304
			<td class="center">-</td>
305
			<td class="center">A</td>
306
		</tr>
307
		<tr class="odd_gradeA">
308
			<td>Presto</td>
309
			<td>Opera 7.5</td>
310
			<td>Win 95+ / OSX.2+</td>
311
			<td class="center">-</td>
312
			<td class="center">A</td>
313
		</tr>
314
		<tr class="even_gradeA">
315
			<td>Presto</td>
316
			<td>Opera 8.0</td>
317
			<td>Win 95+ / OSX.2+</td>
318
			<td class="center">-</td>
319
			<td class="center">A</td>
320
		</tr>
321
		<tr class="odd_gradeA">
322
			<td>Presto</td>
323
			<td>Opera 8.5</td>
324
			<td>Win 95+ / OSX.2+</td>
325
			<td class="center">-</td>
326
			<td class="center">A</td>
327
		</tr>
328
		<tr class="even_gradeA">
329
			<td>Presto</td>
330
			<td>Opera 9.0</td>
331
			<td>Win 95+ / OSX.3+</td>
332
			<td class="center">-</td>
333
			<td class="center">A</td>
334
		</tr>
335
		<tr class="odd_gradeA">
336
			<td>Presto</td>
337
			<td>Opera 9.2</td>
338
			<td>Win 88+ / OSX.3+</td>
339
			<td class="center">-</td>
340
			<td class="center">A</td>
341
		</tr>
342
		<tr class="even_gradeA">
343
			<td>Presto</td>
344
			<td>Opera 9.5</td>
345
			<td>Win 88+ / OSX.3+</td>
346
			<td class="center">-</td>
347
			<td class="center">A</td>
348
		</tr>
349
		<tr class="odd_gradeA">
350
			<td>Presto</td>
351
			<td>Opera for Wii</td>
352
			<td>Wii</td>
353
			<td class="center">-</td>
354
			<td class="center">A</td>
355
		</tr>
356
		<tr class="even_gradeA">
357
			<td>Presto</td>
358
			<td>Nokia N800</td>
359
			<td>N800</td>
360
			<td class="center">-</td>
361
			<td class="center">A</td>
362
		</tr>
363
		<tr class="odd_gradeA">
364
			<td>Presto</td>
365
			<td>Nintendo DS browser</td>
366
			<td>Nintendo DS</td>
367
			<td class="center">8.5</td>
368
			<td class="center">C/A<sup>1</sup></td>
369
		</tr>
370
		<tr class="even_gradeC">
371
			<td>KHTML</td>
372
			<td>Konqureror 3.1</td>
373
			<td>KDE 3.1</td>
374
			<td class="center">3.1</td>
375
			<td class="center">C</td>
376
		</tr>
377
		<tr class="odd_gradeA">
378
			<td>KHTML</td>
379
			<td>Konqureror 3.3</td>
380
			<td>KDE 3.3</td>
381
			<td class="center">3.3</td>
382
			<td class="center">A</td>
383
		</tr>
384
		<tr class="even_gradeA">
385
			<td>KHTML</td>
386
			<td>Konqureror 3.5</td>
387
			<td>KDE 3.5</td>
388
			<td class="center">3.5</td>
389
			<td class="center">A</td>
390
		</tr>
391
		<tr class="odd_gradeX">
392
			<td>Tasman</td>
393
			<td>Internet Explorer 4.5</td>
394
			<td>Mac OS 8-9</td>
395
			<td class="center">-</td>
396
			<td class="center">X</td>
397
		</tr>
398
		<tr class="even_gradeC">
399
			<td>Tasman</td>
400
			<td>Internet Explorer 5.1</td>
401
			<td>Mac OS 7.6-9</td>
402
			<td class="center">1</td>
403
			<td class="center">C</td>
404
		</tr>
405
		<tr class="odd_gradeC">
406
			<td>Tasman</td>
407
			<td>Internet Explorer 5.2</td>
408
			<td>Mac OS 8-X</td>
409
			<td class="center">1</td>
410
			<td class="center">C</td>
411
		</tr>
412
		<tr class="even_gradeA">
413
			<td>Misc</td>
414
			<td>NetFront 3.1</td>
415
			<td>Embedded devices</td>
416
			<td class="center">-</td>
417
			<td class="center">C</td>
418
		</tr>
419
		<tr class="odd_gradeA">
420
			<td>Misc</td>
421
			<td>NetFront 3.4</td>
422
			<td>Embedded devices</td>
423
			<td class="center">-</td>
424
			<td class="center">A</td>
425
		</tr>
426
		<tr class="even_gradeX">
427
			<td>Misc</td>
428
			<td>Dillo 0.8</td>
429
			<td>Embedded devices</td>
430
			<td class="center">-</td>
431
			<td class="center">X</td>
432
		</tr>
433
		<tr class="odd_gradeX">
434
			<td>Misc</td>
435
			<td>Links</td>
436
			<td>Text only</td>
437
			<td class="center">-</td>
438
			<td class="center">X</td>
439
		</tr>
440
		<tr class="even_gradeX">
441
			<td>Misc</td>
442
			<td>Lynx</td>
443
			<td>Text only</td>
444
			<td class="center">-</td>
445
			<td class="center">X</td>
446
		</tr>
447
		<tr class="odd_gradeC">
448
			<td>Misc</td>
449
			<td>IE Mobile</td>
450
			<td>Windows Mobile 6</td>
451
			<td class="center">-</td>
452
			<td class="center">C</td>
453
		</tr>
454
		<tr class="even_gradeC">
455
			<td>Misc</td>
456
			<td>PSP browser</td>
457
			<td>PSP</td>
458
			<td class="center">-</td>
459
			<td class="center">C</td>
460
		</tr>
461
		<tr class="odd_gradeU">
462
			<td>Other browsers</td>
463
			<td>All others</td>
464
			<td>-</td>
465
			<td class="center">-</td>
466
			<td class="center">U</td>
467
		</tr>
468
	</tbody>
469
</table>
470
			</div>
471
			<div class="spacer"></div>
472
			
473
			
474
			<h1>Initialisation code</h1>
475
			<pre>$(document).ready( function () {
476
	var oTable = $('#example').dataTable();
477
	var oTableTools = new TableTools( oTable, {
478
		"buttons": [
479
			"copy",
480
			"csv",
481
			"xls",
482
			"pdf",
483
			{ "type": "print", "buttonText": "Print me!" }
484
		]
485
	} );
486
	
487
	$('#demo').before( oTableTools.dom.container );
488
} );</pre>
489
490
491
			<h1>Other examples</h1>
492
			<ul>
493
				<li><a href="index.html">Basic initialisation</a></li>
494
				<li><a href="swf_path.html">Setting the SWF path</a></li>
495
				<li><a href="alter_buttons.html">Custom button arrangement</a></li>
496
				<li><a href="button_text.html">Button text alteration</a></li>
497
				<li><a href="collection.html">Using button collections</a></li>
498
				<li><a href="theme.html">Using jQuery UI themes</a></li>
499
				<li><a href="bootstrap.html">Styling with Twitter Bootstrap</a></li>
500
				<li><a href="multi_instance.html">Multiple TableTools toolbars for a single table</a></li>
501
				<li><a href="multiple_tables.html">Multiple DataTables with a single initialisation</a></li>
502
				<li><a href="select_multi.html">User selectable rows (multiple rows)</a></li>
503
				<li><a href="select_single.html">User selectable rows (single row)</a></li>
504
				<li><a href="alt_init.html">Alternative initialisation using 'new TableTools()'</a></li>
505
				<li><a href="defaults.html">Altering the TableTools defaults</a></li>
506
				<li><a href="plug-in.html">TableTools plug-in buttons</a></li>
507
				<li><a href="pdf_message.html">Customising the PDF output (adding text and orientation)</a></li>
508
			</ul>
509
			
510
			
511
			<div id="footer" style="text-align:center;">
512
				<span style="font-size:10px;">
513
					TableTools and DataTables &copy; Allan Jardine 2009-2011.<br>
514
					Flash 10 save / copy operations are performed by a modified version of <a href="http://code.google.com/p/zeroclipboard/">Zero Clipboard</a>.<br>
515
					The icons used in the toolbar are modified from <a href="http://www.addictedtocoffee.de/">Oliver Twardowski's</a> <a href="http://www.smashingmagazine.com/2009/05/20/flavour-extended-the-ultimate-icon-set-for-web-designers/">Flavours Icon set</a>.
516
				</span>
517
			</div>
518
		</div>
519
	</body>
520
</html>
(-)a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/TableTools/alter_buttons.html (+505 lines)
Line 0 Link Here
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2
<html>
3
	<head>
4
		<meta http-equiv="content-type" content="text/html; charset=utf-8">
5
		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
6
		
7
		<title>TableTools example</title>
8
		<style type="text/css" title="currentStyle">
9
			@import "../../media/css/demo_page.css";
10
			@import "../../media/css/demo_table.css";
11
			@import "media/css/TableTools.css";
12
		</style>
13
		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
14
		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
15
		<script type="text/javascript" charset="utf-8" src="media/js/ZeroClipboard.js"></script>
16
		<script type="text/javascript" charset="utf-8" src="media/js/TableTools.js"></script>
17
		<script type="text/javascript" charset="utf-8">
18
			$(document).ready( function () {
19
				$('#example').dataTable( {
20
					"sDom": 'T<"clear">lfrtip',
21
					"oTableTools": {
22
						"aButtons": [ "copy", "print" ]
23
					}
24
				} );
25
			} );
26
		</script>
27
	</head>
28
	<body id="dt_example">
29
		<div id="container">
30
			<div class="full_width big">
31
				TableTools example - button arrangement
32
			</div>
33
			
34
			<h1>Preamble</h1>
35
			<p>TableTools makes it very simple to arrange the buttons in the toolbar as you see fit. Using the <i>aButtons</i> parameter you can use any of the <a href="http://datatables.net/extras/tabletools/buttons">predefined buttons</a> or <a href="http://datatables.net/extras/tabletools/button_options">customised buttons</a>. The example below shows how TableTools can be initialised to provide only the 'copy-to-clipboard' and 'print view' options (i.e. no save to local file option is available).</p>
36
			
37
			
38
			<h1>Live example</h1>
39
			<div id="demo">
40
<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
41
	<thead>
42
		<tr>
43
			<th>Rendering engine</th>
44
			<th>Browser</th>
45
			<th>Platform(s)</th>
46
			<th>Engine version</th>
47
			<th>CSS grade</th>
48
		</tr>
49
	</thead>
50
	<tfoot>
51
		<tr>
52
			<th>Rendering engine</th>
53
			<th>Browser</th>
54
			<th>Platform(s)</th>
55
			<th>Engine version</th>
56
			<th>CSS grade</th>
57
		</tr>
58
	</tfoot>
59
	<tbody>
60
		<tr class="odd_gradeX">
61
			<td>Trident</td>
62
			<td>Internet Explorer 4.0</td>
63
			<td>Win 95+ (Entity: &amp;)</td>
64
			<td class="center">4</td>
65
			<td class="center">X</td>
66
		</tr>
67
		<tr class="even_gradeC">
68
			<td>Trident</td>
69
			<td>Internet Explorer 5.0</td>
70
			<td>Win 95+</td>
71
			<td class="center">5</td>
72
			<td class="center">C</td>
73
		</tr>
74
		<tr class="odd_gradeA">
75
			<td>Trident</td>
76
			<td>Internet Explorer 5.5</td>
77
			<td>Win 95+</td>
78
			<td class="center">5.5</td>
79
			<td class="center">A</td>
80
		</tr>
81
		<tr class="even_gradeA">
82
			<td>Trident</td>
83
			<td>Internet Explorer 6</td>
84
			<td>Win 98+</td>
85
			<td class="center">6</td>
86
			<td class="center">A</td>
87
		</tr>
88
		<tr class="odd_gradeA">
89
			<td>Trident</td>
90
			<td>Internet Explorer 7</td>
91
			<td>Win XP SP2+</td>
92
			<td class="center">7</td>
93
			<td class="center">A</td>
94
		</tr>
95
		<tr class="even_gradeA">
96
			<td>Trident</td>
97
			<td>AOL browser (AOL desktop)</td>
98
			<td>Win XP</td>
99
			<td class="center">6</td>
100
			<td class="center">A</td>
101
		</tr>
102
		<tr class="odd_gradeA">
103
			<td>Gecko (UTF-8: $¢€)</td>
104
			<td>Firefox 1.0</td>
105
			<td>Win 98+ / OSX.2+</td>
106
			<td class="center">1.7</td>
107
			<td class="center">A</td>
108
		</tr>
109
		<tr class="even_gradeA">
110
			<td>Gecko</td>
111
			<td>Firefox 1.5</td>
112
			<td>Win 98+ / OSX.2+</td>
113
			<td class="center">1.8</td>
114
			<td class="center">A</td>
115
		</tr>
116
		<tr class="odd_gradeA">
117
			<td>Gecko</td>
118
			<td>Firefox 2.0</td>
119
			<td>Win 98+ / OSX.2+</td>
120
			<td class="center">1.8</td>
121
			<td class="center">A</td>
122
		</tr>
123
		<tr class="even_gradeA">
124
			<td>Gecko</td>
125
			<td>Firefox 3.0</td>
126
			<td>Win 2k+ / OSX.3+</td>
127
			<td class="center">1.9</td>
128
			<td class="center">A</td>
129
		</tr>
130
		<tr class="odd_gradeA">
131
			<td>Gecko</td>
132
			<td>Camino 1.0</td>
133
			<td>OSX.2+</td>
134
			<td class="center">1.8</td>
135
			<td class="center">A</td>
136
		</tr>
137
		<tr class="even_gradeA">
138
			<td>Gecko</td>
139
			<td>Camino 1.5</td>
140
			<td>OSX.3+</td>
141
			<td class="center">1.8</td>
142
			<td class="center">A</td>
143
		</tr>
144
		<tr class="odd_gradeA">
145
			<td>Gecko</td>
146
			<td>Netscape 7.2</td>
147
			<td>Win 95+ / Mac OS 8.6-9.2</td>
148
			<td class="center">1.7</td>
149
			<td class="center">A</td>
150
		</tr>
151
		<tr class="even_gradeA">
152
			<td>Gecko</td>
153
			<td>Netscape Browser 8</td>
154
			<td>Win 98SE+</td>
155
			<td class="center">1.7</td>
156
			<td class="center">A</td>
157
		</tr>
158
		<tr class="odd_gradeA">
159
			<td>Gecko</td>
160
			<td>Netscape Navigator 9</td>
161
			<td>Win 98+ / OSX.2+</td>
162
			<td class="center">1.8</td>
163
			<td class="center">A</td>
164
		</tr>
165
		<tr class="even_gradeA">
166
			<td>Gecko</td>
167
			<td>Mozilla 1.0</td>
168
			<td>Win 95+ / OSX.1+</td>
169
			<td class="center">1</td>
170
			<td class="center">A</td>
171
		</tr>
172
		<tr class="odd_gradeA">
173
			<td>Gecko</td>
174
			<td>Mozilla 1.1</td>
175
			<td>Win 95+ / OSX.1+</td>
176
			<td class="center">1.1</td>
177
			<td class="center">A</td>
178
		</tr>
179
		<tr class="even_gradeA">
180
			<td>Gecko</td>
181
			<td>Mozilla 1.2</td>
182
			<td>Win 95+ / OSX.1+</td>
183
			<td class="center">1.2</td>
184
			<td class="center">A</td>
185
		</tr>
186
		<tr class="odd_gradeA">
187
			<td>Gecko</td>
188
			<td>Mozilla 1.3</td>
189
			<td>Win 95+ / OSX.1+</td>
190
			<td class="center">1.3</td>
191
			<td class="center">A</td>
192
		</tr>
193
		<tr class="even_gradeA">
194
			<td>Gecko</td>
195
			<td>Mozilla 1.4</td>
196
			<td>Win 95+ / OSX.1+</td>
197
			<td class="center">1.4</td>
198
			<td class="center">A</td>
199
		</tr>
200
		<tr class="odd_gradeA">
201
			<td>Gecko</td>
202
			<td>Mozilla 1.5</td>
203
			<td>Win 95+ / OSX.1+</td>
204
			<td class="center">1.5</td>
205
			<td class="center">A</td>
206
		</tr>
207
		<tr class="even_gradeA">
208
			<td>Gecko</td>
209
			<td>Mozilla 1.6</td>
210
			<td>Win 95+ / OSX.1+</td>
211
			<td class="center">1.6</td>
212
			<td class="center">A</td>
213
		</tr>
214
		<tr class="odd_gradeA">
215
			<td>Gecko</td>
216
			<td>Mozilla 1.7</td>
217
			<td>Win 98+ / OSX.1+</td>
218
			<td class="center">1.7</td>
219
			<td class="center">A</td>
220
		</tr>
221
		<tr class="even_gradeA">
222
			<td>Gecko</td>
223
			<td>Mozilla 1.8</td>
224
			<td>Win 98+ / OSX.1+</td>
225
			<td class="center">1.8</td>
226
			<td class="center">A</td>
227
		</tr>
228
		<tr class="odd_gradeA">
229
			<td>Gecko</td>
230
			<td>Seamonkey 1.1</td>
231
			<td>Win 98+ / OSX.2+</td>
232
			<td class="center">1.8</td>
233
			<td class="center">A</td>
234
		</tr>
235
		<tr class="even_gradeA">
236
			<td>Gecko</td>
237
			<td>Epiphany 2.20</td>
238
			<td>Gnome</td>
239
			<td class="center">1.8</td>
240
			<td class="center">A</td>
241
		</tr>
242
		<tr class="odd_gradeA">
243
			<td>Webkit</td>
244
			<td>Safari 1.2</td>
245
			<td>OSX.3</td>
246
			<td class="center">125.5</td>
247
			<td class="center">A</td>
248
		</tr>
249
		<tr class="even_gradeA">
250
			<td>Webkit</td>
251
			<td>Safari 1.3</td>
252
			<td>OSX.3</td>
253
			<td class="center">312.8</td>
254
			<td class="center">A</td>
255
		</tr>
256
		<tr class="odd_gradeA">
257
			<td>Webkit</td>
258
			<td>Safari 2.0</td>
259
			<td>OSX.4+</td>
260
			<td class="center">419.3</td>
261
			<td class="center">A</td>
262
		</tr>
263
		<tr class="even_gradeA">
264
			<td>Webkit</td>
265
			<td>Safari 3.0</td>
266
			<td>OSX.4+</td>
267
			<td class="center">522.1</td>
268
			<td class="center">A</td>
269
		</tr>
270
		<tr class="odd_gradeA">
271
			<td>Webkit</td>
272
			<td>OmniWeb 5.5</td>
273
			<td>OSX.4+</td>
274
			<td class="center">420</td>
275
			<td class="center">A</td>
276
		</tr>
277
		<tr class="even_gradeA">
278
			<td>Webkit</td>
279
			<td>iPod Touch / iPhone</td>
280
			<td>iPod</td>
281
			<td class="center">420.1</td>
282
			<td class="center">A</td>
283
		</tr>
284
		<tr class="odd_gradeA">
285
			<td>Webkit</td>
286
			<td>S60</td>
287
			<td>S60</td>
288
			<td class="center">413</td>
289
			<td class="center">A</td>
290
		</tr>
291
		<tr class="even_gradeA">
292
			<td>Presto</td>
293
			<td>Opera 7.0</td>
294
			<td>Win 95+ / OSX.1+</td>
295
			<td class="center">-</td>
296
			<td class="center">A</td>
297
		</tr>
298
		<tr class="odd_gradeA">
299
			<td>Presto</td>
300
			<td>Opera 7.5</td>
301
			<td>Win 95+ / OSX.2+</td>
302
			<td class="center">-</td>
303
			<td class="center">A</td>
304
		</tr>
305
		<tr class="even_gradeA">
306
			<td>Presto</td>
307
			<td>Opera 8.0</td>
308
			<td>Win 95+ / OSX.2+</td>
309
			<td class="center">-</td>
310
			<td class="center">A</td>
311
		</tr>
312
		<tr class="odd_gradeA">
313
			<td>Presto</td>
314
			<td>Opera 8.5</td>
315
			<td>Win 95+ / OSX.2+</td>
316
			<td class="center">-</td>
317
			<td class="center">A</td>
318
		</tr>
319
		<tr class="even_gradeA">
320
			<td>Presto</td>
321
			<td>Opera 9.0</td>
322
			<td>Win 95+ / OSX.3+</td>
323
			<td class="center">-</td>
324
			<td class="center">A</td>
325
		</tr>
326
		<tr class="odd_gradeA">
327
			<td>Presto</td>
328
			<td>Opera 9.2</td>
329
			<td>Win 88+ / OSX.3+</td>
330
			<td class="center">-</td>
331
			<td class="center">A</td>
332
		</tr>
333
		<tr class="even_gradeA">
334
			<td>Presto</td>
335
			<td>Opera 9.5</td>
336
			<td>Win 88+ / OSX.3+</td>
337
			<td class="center">-</td>
338
			<td class="center">A</td>
339
		</tr>
340
		<tr class="odd_gradeA">
341
			<td>Presto</td>
342
			<td>Opera for Wii</td>
343
			<td>Wii</td>
344
			<td class="center">-</td>
345
			<td class="center">A</td>
346
		</tr>
347
		<tr class="even_gradeA">
348
			<td>Presto</td>
349
			<td>Nokia N800</td>
350
			<td>N800</td>
351
			<td class="center">-</td>
352
			<td class="center">A</td>
353
		</tr>
354
		<tr class="odd_gradeA">
355
			<td>Presto</td>
356
			<td>Nintendo DS browser</td>
357
			<td>Nintendo DS</td>
358
			<td class="center">8.5</td>
359
			<td class="center">C/A<sup>1</sup></td>
360
		</tr>
361
		<tr class="even_gradeC">
362
			<td>KHTML</td>
363
			<td>Konqureror 3.1</td>
364
			<td>KDE 3.1</td>
365
			<td class="center">3.1</td>
366
			<td class="center">C</td>
367
		</tr>
368
		<tr class="odd_gradeA">
369
			<td>KHTML</td>
370
			<td>Konqureror 3.3</td>
371
			<td>KDE 3.3</td>
372
			<td class="center">3.3</td>
373
			<td class="center">A</td>
374
		</tr>
375
		<tr class="even_gradeA">
376
			<td>KHTML</td>
377
			<td>Konqureror 3.5</td>
378
			<td>KDE 3.5</td>
379
			<td class="center">3.5</td>
380
			<td class="center">A</td>
381
		</tr>
382
		<tr class="odd_gradeX">
383
			<td>Tasman</td>
384
			<td>Internet Explorer 4.5</td>
385
			<td>Mac OS 8-9</td>
386
			<td class="center">-</td>
387
			<td class="center">X</td>
388
		</tr>
389
		<tr class="even_gradeC">
390
			<td>Tasman</td>
391
			<td>Internet Explorer 5.1</td>
392
			<td>Mac OS 7.6-9</td>
393
			<td class="center">1</td>
394
			<td class="center">C</td>
395
		</tr>
396
		<tr class="odd_gradeC">
397
			<td>Tasman</td>
398
			<td>Internet Explorer 5.2</td>
399
			<td>Mac OS 8-X</td>
400
			<td class="center">1</td>
401
			<td class="center">C</td>
402
		</tr>
403
		<tr class="even_gradeA">
404
			<td>Misc</td>
405
			<td>NetFront 3.1</td>
406
			<td>Embedded devices</td>
407
			<td class="center">-</td>
408
			<td class="center">C</td>
409
		</tr>
410
		<tr class="odd_gradeA">
411
			<td>Misc</td>
412
			<td>NetFront 3.4</td>
413
			<td>Embedded devices</td>
414
			<td class="center">-</td>
415
			<td class="center">A</td>
416
		</tr>
417
		<tr class="even_gradeX">
418
			<td>Misc</td>
419
			<td>Dillo 0.8</td>
420
			<td>Embedded devices</td>
421
			<td class="center">-</td>
422
			<td class="center">X</td>
423
		</tr>
424
		<tr class="odd_gradeX">
425
			<td>Misc</td>
426
			<td>Links</td>
427
			<td>Text only</td>
428
			<td class="center">-</td>
429
			<td class="center">X</td>
430
		</tr>
431
		<tr class="even_gradeX">
432
			<td>Misc</td>
433
			<td>Lynx</td>
434
			<td>Text only</td>
435
			<td class="center">-</td>
436
			<td class="center">X</td>
437
		</tr>
438
		<tr class="odd_gradeC">
439
			<td>Misc</td>
440
			<td>IE Mobile</td>
441
			<td>Windows Mobile 6</td>
442
			<td class="center">-</td>
443
			<td class="center">C</td>
444
		</tr>
445
		<tr class="even_gradeC">
446
			<td>Misc</td>
447
			<td>PSP browser</td>
448
			<td>PSP</td>
449
			<td class="center">-</td>
450
			<td class="center">C</td>
451
		</tr>
452
		<tr class="odd_gradeU">
453
			<td>Other browsers</td>
454
			<td>All others</td>
455
			<td>-</td>
456
			<td class="center">-</td>
457
			<td class="center">U</td>
458
		</tr>
459
	</tbody>
460
</table>
461
			</div>
462
			<div class="spacer"></div>
463
			
464
			
465
			<h1>Initialisation code</h1>
466
			<pre>$(document).ready( function () {
467
	$('#example').dataTable( {
468
		"sDom": 'T&lt;"clear"&gt;lfrtip',
469
		"oTableTools": {
470
			"aButtons": [ "copy", "print" ]
471
		}
472
	} );
473
} );</pre>
474
475
476
			<h1>Other examples</h1>
477
			<ul>
478
				<li><a href="index.html">Basic initialisation</a></li>
479
				<li><a href="swf_path.html">Setting the SWF path</a></li>
480
				<li><a href="alter_buttons.html">Custom button arrangement</a></li>
481
				<li><a href="button_text.html">Button text alteration</a></li>
482
				<li><a href="collection.html">Using button collections</a></li>
483
				<li><a href="theme.html">Using jQuery UI themes</a></li>
484
				<li><a href="bootstrap.html">Styling with Twitter Bootstrap</a></li>
485
				<li><a href="multi_instance.html">Multiple TableTools toolbars for a single table</a></li>
486
				<li><a href="multiple_tables.html">Multiple DataTables with a single initialisation</a></li>
487
				<li><a href="select_multi.html">User selectable rows (multiple rows)</a></li>
488
				<li><a href="select_single.html">User selectable rows (single row)</a></li>
489
				<li><a href="alt_init.html">Alternative initialisation using 'new TableTools()'</a></li>
490
				<li><a href="defaults.html">Altering the TableTools defaults</a></li>
491
				<li><a href="plug-in.html">TableTools plug-in buttons</a></li>
492
				<li><a href="pdf_message.html">Customising the PDF output (adding text and orientation)</a></li>
493
			</ul>
494
			
495
			
496
			<div id="footer" style="text-align:center;">
497
				<span style="font-size:10px;">
498
					TableTools and DataTables &copy; Allan Jardine 2009-2011.<br>
499
					Flash 10 save / copy operations are performed by a modified version of <a href="http://code.google.com/p/zeroclipboard/">Zero Clipboard</a>.<br>
500
					The icons used in the toolbar are modified from <a href="http://www.addictedtocoffee.de/">Oliver Twardowski's</a> <a href="http://www.smashingmagazine.com/2009/05/20/flavour-extended-the-ultimate-icon-set-for-web-designers/">Flavours Icon set</a>.
501
				</span>
502
			</div>
503
		</div>
504
	</body>
505
</html>
(-)a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/TableTools/bootstrap.html (+551 lines)
Line 0 Link Here
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2
<html>
3
	<head>
4
		<meta http-equiv="content-type" content="text/html; charset=utf-8">
5
		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
6
		
7
		<title>TableTools example</title>
8
9
		<style type="text/css">
10
			@import "../../media/css/demo_page.css";
11
			@import "http://twitter.github.com/bootstrap/assets/css/bootstrap.css";
12
			@import "http://datatables.github.com/Plugins/integration/bootstrap/dataTables.bootstrap.css";
13
		</style>
14
15
		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
16
		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
17
		<script type="text/javascript" charset="utf-8" src="media/js/ZeroClipboard.js"></script>
18
		<script type="text/javascript" charset="utf-8" src="media/js/TableTools.js"></script>
19
		<script type="text/javascript" charset="utf-8" src="http://datatables.github.com/Plugins/integration/bootstrap/dataTables.bootstrap.js"></script>
20
		<script type="text/javascript" charset="utf-8">
21
			$(document).ready( function () {
22
				$('#example').dataTable( {
23
					"sDom": "<'row-fluid'<'span6'T><'span6'f>r>t<'row-fluid'<'span6'i><'span6'p>>",
24
					"oTableTools": {
25
						"aButtons": [
26
							"copy",
27
							"print",
28
							{
29
								"sExtends":    "collection",
30
								"sButtonText": 'Save <span class="caret" />',
31
								"aButtons":    [ "csv", "xls", "pdf" ]
32
							}
33
						]
34
					}
35
				} );
36
			} );
37
		</script>
38
	</head>
39
	<body id="dt_example">
40
		<div id="container">
41
			<div class="full_width big">
42
				TableTools with Twitter Bootstrap
43
			</div>
44
			
45
			<h1>Preamble</h1>
46
			<p><a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap</a> is a very powerful design framework for allowing you to very quickly create applications with a unified look and feel. <a href="http://datatables.net/blog/Twitter_Bootstrap_2">DataTables integrates well</a> with Bootstrap, and so does TableTools.</p>
47
			<p>This example shows the default Bootstrap theme being used with a Bootstrap styled DataTable. sDom is supplied to the DataTable with a setup suitable for Bootstrap styling, and a TableTools collection is used to show how it can be used in this environment.</p>
48
			
49
			<h1>Live example</h1>
50
			<div id="demo">
51
<table cellpadding="0" cellspacing="0" border="0" class="table table-striped table-bordered" id="example">
52
	<thead>
53
		<tr>
54
			<th>Rendering engine</th>
55
			<th>Browser</th>
56
			<th>Platform(s)</th>
57
			<th>Engine version</th>
58
			<th>CSS grade</th>
59
		</tr>
60
	</thead>
61
	<tfoot>
62
		<tr>
63
			<th>Rendering engine</th>
64
			<th>Browser</th>
65
			<th>Platform(s)</th>
66
			<th>Engine version</th>
67
			<th>CSS grade</th>
68
		</tr>
69
	</tfoot>
70
	<tbody>
71
		<tr class="odd_gradeX">
72
			<td>Trident</td>
73
			<td>Internet Explorer 4.0</td>
74
			<td>Win 95+ (Entity: &amp;)</td>
75
			<td class="center">4</td>
76
			<td class="center">X</td>
77
		</tr>
78
		<tr class="even_gradeC">
79
			<td>Trident</td>
80
			<td>Internet Explorer 5.0</td>
81
			<td>Win 95+</td>
82
			<td class="center">5</td>
83
			<td class="center">C</td>
84
		</tr>
85
		<tr class="odd_gradeA">
86
			<td>Trident</td>
87
			<td>Internet Explorer 5.5</td>
88
			<td>Win 95+</td>
89
			<td class="center">5.5</td>
90
			<td class="center">A</td>
91
		</tr>
92
		<tr class="even_gradeA">
93
			<td>Trident</td>
94
			<td>Internet Explorer 6</td>
95
			<td>Win 98+</td>
96
			<td class="center">6</td>
97
			<td class="center">A</td>
98
		</tr>
99
		<tr class="odd_gradeA">
100
			<td>Trident</td>
101
			<td>Internet Explorer 7</td>
102
			<td>Win XP SP2+</td>
103
			<td class="center">7</td>
104
			<td class="center">A</td>
105
		</tr>
106
		<tr class="even_gradeA">
107
			<td>Trident</td>
108
			<td>AOL browser (AOL desktop)</td>
109
			<td>Win XP</td>
110
			<td class="center">6</td>
111
			<td class="center">A</td>
112
		</tr>
113
		<tr class="odd_gradeA">
114
			<td>Gecko (UTF-8: $¢€ היצוא)</td>
115
			<td>Firefox 1.0</td>
116
			<td>Win 98+ / OSX.2+</td>
117
			<td class="center">1.7</td>
118
			<td class="center">A</td>
119
		</tr>
120
		<tr class="even_gradeA">
121
			<td>Gecko</td>
122
			<td>Firefox 1.5</td>
123
			<td>Win 98+ / OSX.2+</td>
124
			<td class="center">1.8</td>
125
			<td class="center">A</td>
126
		</tr>
127
		<tr class="odd_gradeA">
128
			<td>Gecko</td>
129
			<td>Firefox 2.0</td>
130
			<td>Win 98+ / OSX.2+</td>
131
			<td class="center">1.8</td>
132
			<td class="center">A</td>
133
		</tr>
134
		<tr class="even_gradeA">
135
			<td>Gecko</td>
136
			<td>Firefox 3.0</td>
137
			<td>Win 2k+ / OSX.3+</td>
138
			<td class="center">1.9</td>
139
			<td class="center">A</td>
140
		</tr>
141
		<tr class="odd_gradeA">
142
			<td>Gecko</td>
143
			<td>Camino 1.0</td>
144
			<td>OSX.2+</td>
145
			<td class="center">1.8</td>
146
			<td class="center">A</td>
147
		</tr>
148
		<tr class="even_gradeA">
149
			<td>Gecko</td>
150
			<td>Camino 1.5</td>
151
			<td>OSX.3+</td>
152
			<td class="center">1.8</td>
153
			<td class="center">A</td>
154
		</tr>
155
		<tr class="odd_gradeA">
156
			<td>Gecko</td>
157
			<td>Netscape 7.2</td>
158
			<td>Win 95+ / Mac OS 8.6-9.2</td>
159
			<td class="center">1.7</td>
160
			<td class="center">A</td>
161
		</tr>
162
		<tr class="even_gradeA">
163
			<td>Gecko</td>
164
			<td>Netscape Browser 8</td>
165
			<td>Win 98SE+</td>
166
			<td class="center">1.7</td>
167
			<td class="center">A</td>
168
		</tr>
169
		<tr class="odd_gradeA">
170
			<td>Gecko</td>
171
			<td>Netscape Navigator 9</td>
172
			<td>Win 98+ / OSX.2+</td>
173
			<td class="center">1.8</td>
174
			<td class="center">A</td>
175
		</tr>
176
		<tr class="even_gradeA">
177
			<td>Gecko</td>
178
			<td>Mozilla 1.0</td>
179
			<td>Win 95+ / OSX.1+</td>
180
			<td class="center">1</td>
181
			<td class="center">A</td>
182
		</tr>
183
		<tr class="odd_gradeA">
184
			<td>Gecko</td>
185
			<td>Mozilla 1.1</td>
186
			<td>Win 95+ / OSX.1+</td>
187
			<td class="center">1.1</td>
188
			<td class="center">A</td>
189
		</tr>
190
		<tr class="even_gradeA">
191
			<td>Gecko</td>
192
			<td>Mozilla 1.2</td>
193
			<td>Win 95+ / OSX.1+</td>
194
			<td class="center">1.2</td>
195
			<td class="center">A</td>
196
		</tr>
197
		<tr class="odd_gradeA">
198
			<td>Gecko</td>
199
			<td>Mozilla 1.3</td>
200
			<td>Win 95+ / OSX.1+</td>
201
			<td class="center">1.3</td>
202
			<td class="center">A</td>
203
		</tr>
204
		<tr class="even_gradeA">
205
			<td>Gecko</td>
206
			<td>Mozilla 1.4</td>
207
			<td>Win 95+ / OSX.1+</td>
208
			<td class="center">1.4</td>
209
			<td class="center">A</td>
210
		</tr>
211
		<tr class="odd_gradeA">
212
			<td>Gecko</td>
213
			<td>Mozilla 1.5</td>
214
			<td>Win 95+ / OSX.1+</td>
215
			<td class="center">1.5</td>
216
			<td class="center">A</td>
217
		</tr>
218
		<tr class="even_gradeA">
219
			<td>Gecko</td>
220
			<td>Mozilla 1.6</td>
221
			<td>Win 95+ / OSX.1+</td>
222
			<td class="center">1.6</td>
223
			<td class="center">A</td>
224
		</tr>
225
		<tr class="odd_gradeA">
226
			<td>Gecko</td>
227
			<td>Mozilla 1.7</td>
228
			<td>Win 98+ / OSX.1+</td>
229
			<td class="center">1.7</td>
230
			<td class="center">A</td>
231
		</tr>
232
		<tr class="even_gradeA">
233
			<td>Gecko</td>
234
			<td>Mozilla 1.8</td>
235
			<td>Win 98+ / OSX.1+</td>
236
			<td class="center">1.8</td>
237
			<td class="center">A</td>
238
		</tr>
239
		<tr class="odd_gradeA">
240
			<td>Gecko</td>
241
			<td>Seamonkey 1.1</td>
242
			<td>Win 98+ / OSX.2+</td>
243
			<td class="center">1.8</td>
244
			<td class="center">A</td>
245
		</tr>
246
		<tr class="even_gradeA">
247
			<td>Gecko</td>
248
			<td>Epiphany 2.20</td>
249
			<td>Gnome</td>
250
			<td class="center">1.8</td>
251
			<td class="center">A</td>
252
		</tr>
253
		<tr class="odd_gradeA">
254
			<td>Webkit</td>
255
			<td>Safari 1.2</td>
256
			<td>OSX.3</td>
257
			<td class="center">125.5</td>
258
			<td class="center">A</td>
259
		</tr>
260
		<tr class="even_gradeA">
261
			<td>Webkit</td>
262
			<td>Safari 1.3</td>
263
			<td>OSX.3</td>
264
			<td class="center">312.8</td>
265
			<td class="center">A</td>
266
		</tr>
267
		<tr class="odd_gradeA">
268
			<td>Webkit</td>
269
			<td>Safari 2.0</td>
270
			<td>OSX.4+</td>
271
			<td class="center">419.3</td>
272
			<td class="center">A</td>
273
		</tr>
274
		<tr class="even_gradeA">
275
			<td>Webkit</td>
276
			<td>Safari 3.0</td>
277
			<td>OSX.4+</td>
278
			<td class="center">522.1</td>
279
			<td class="center">A</td>
280
		</tr>
281
		<tr class="odd_gradeA">
282
			<td>Webkit</td>
283
			<td>OmniWeb 5.5</td>
284
			<td>OSX.4+</td>
285
			<td class="center">420</td>
286
			<td class="center">A</td>
287
		</tr>
288
		<tr class="even_gradeA">
289
			<td>Webkit</td>
290
			<td>iPod Touch / iPhone</td>
291
			<td>iPod</td>
292
			<td class="center">420.1</td>
293
			<td class="center">A</td>
294
		</tr>
295
		<tr class="odd_gradeA">
296
			<td>Webkit</td>
297
			<td>S60</td>
298
			<td>S60</td>
299
			<td class="center">413</td>
300
			<td class="center">A</td>
301
		</tr>
302
		<tr class="even_gradeA">
303
			<td>Presto</td>
304
			<td>Opera 7.0</td>
305
			<td>Win 95+ / OSX.1+</td>
306
			<td class="center">-</td>
307
			<td class="center">A</td>
308
		</tr>
309
		<tr class="odd_gradeA">
310
			<td>Presto</td>
311
			<td>Opera 7.5</td>
312
			<td>Win 95+ / OSX.2+</td>
313
			<td class="center">-</td>
314
			<td class="center">A</td>
315
		</tr>
316
		<tr class="even_gradeA">
317
			<td>Presto</td>
318
			<td>Opera 8.0</td>
319
			<td>Win 95+ / OSX.2+</td>
320
			<td class="center">-</td>
321
			<td class="center">A</td>
322
		</tr>
323
		<tr class="odd_gradeA">
324
			<td>Presto</td>
325
			<td>Opera 8.5</td>
326
			<td>Win 95+ / OSX.2+</td>
327
			<td class="center">-</td>
328
			<td class="center">A</td>
329
		</tr>
330
		<tr class="even_gradeA">
331
			<td>Presto</td>
332
			<td>Opera 9.0</td>
333
			<td>Win 95+ / OSX.3+</td>
334
			<td class="center">-</td>
335
			<td class="center">A</td>
336
		</tr>
337
		<tr class="odd_gradeA">
338
			<td>Presto</td>
339
			<td>Opera 9.2</td>
340
			<td>Win 88+ / OSX.3+</td>
341
			<td class="center">-</td>
342
			<td class="center">A</td>
343
		</tr>
344
		<tr class="even_gradeA">
345
			<td>Presto</td>
346
			<td>Opera 9.5</td>
347
			<td>Win 88+ / OSX.3+</td>
348
			<td class="center">-</td>
349
			<td class="center">A</td>
350
		</tr>
351
		<tr class="odd_gradeA">
352
			<td>Presto</td>
353
			<td>Opera for Wii</td>
354
			<td>Wii</td>
355
			<td class="center">-</td>
356
			<td class="center">A</td>
357
		</tr>
358
		<tr class="even_gradeA">
359
			<td>Presto</td>
360
			<td>Nokia N800</td>
361
			<td>N800</td>
362
			<td class="center">-</td>
363
			<td class="center">A</td>
364
		</tr>
365
		<tr class="odd_gradeA">
366
			<td>Presto</td>
367
			<td>Nintendo DS browser</td>
368
			<td>Nintendo DS</td>
369
			<td class="center">8.5</td>
370
			<td class="center">C/A<sup>1</sup></td>
371
		</tr>
372
		<tr class="even_gradeC">
373
			<td>KHTML</td>
374
			<td>Konqureror 3.1</td>
375
			<td>KDE 3.1</td>
376
			<td class="center">3.1</td>
377
			<td class="center">C</td>
378
		</tr>
379
		<tr class="odd_gradeA">
380
			<td>KHTML</td>
381
			<td>Konqureror 3.3</td>
382
			<td>KDE 3.3</td>
383
			<td class="center">3.3</td>
384
			<td class="center">A</td>
385
		</tr>
386
		<tr class="even_gradeA">
387
			<td>KHTML</td>
388
			<td>Konqureror 3.5</td>
389
			<td>KDE 3.5</td>
390
			<td class="center">3.5</td>
391
			<td class="center">A</td>
392
		</tr>
393
		<tr class="odd_gradeX">
394
			<td>Tasman</td>
395
			<td>Internet Explorer 4.5</td>
396
			<td>Mac OS 8-9</td>
397
			<td class="center">-</td>
398
			<td class="center">X</td>
399
		</tr>
400
		<tr class="even_gradeC">
401
			<td>Tasman</td>
402
			<td>Internet Explorer 5.1</td>
403
			<td>Mac OS 7.6-9</td>
404
			<td class="center">1</td>
405
			<td class="center">C</td>
406
		</tr>
407
		<tr class="odd_gradeC">
408
			<td>Tasman</td>
409
			<td>Internet Explorer 5.2</td>
410
			<td>Mac OS 8-X</td>
411
			<td class="center">1</td>
412
			<td class="center">C</td>
413
		</tr>
414
		<tr class="even_gradeA">
415
			<td>Misc</td>
416
			<td>NetFront 3.1</td>
417
			<td>Embedded devices</td>
418
			<td class="center">-</td>
419
			<td class="center">C</td>
420
		</tr>
421
		<tr class="odd_gradeA">
422
			<td>Misc</td>
423
			<td>NetFront 3.4</td>
424
			<td>Embedded devices</td>
425
			<td class="center">-</td>
426
			<td class="center">A</td>
427
		</tr>
428
		<tr class="even_gradeX">
429
			<td>Misc</td>
430
			<td>Dillo 0.8</td>
431
			<td>Embedded devices</td>
432
			<td class="center">-</td>
433
			<td class="center">X</td>
434
		</tr>
435
		<tr class="odd_gradeX">
436
			<td>Misc</td>
437
			<td>Links</td>
438
			<td>Text only</td>
439
			<td class="center">-</td>
440
			<td class="center">X</td>
441
		</tr>
442
		<tr class="even_gradeX">
443
			<td>Misc</td>
444
			<td>Lynx</td>
445
			<td>Text only</td>
446
			<td class="center">-</td>
447
			<td class="center">X</td>
448
		</tr>
449
		<tr class="odd_gradeC">
450
			<td>Misc</td>
451
			<td>IE Mobile</td>
452
			<td>Windows Mobile 6</td>
453
			<td class="center">-</td>
454
			<td class="center">C</td>
455
		</tr>
456
		<tr class="even_gradeC">
457
			<td>Misc</td>
458
			<td>PSP browser</td>
459
			<td>PSP</td>
460
			<td class="center">-</td>
461
			<td class="center">C</td>
462
		</tr>
463
		<tr class="odd_gradeU">
464
			<td>Other browsers</td>
465
			<td>All others</td>
466
			<td>-</td>
467
			<td class="center">-</td>
468
			<td class="center">U</td>
469
		</tr>
470
	</tbody>
471
</table>
472
			</div>
473
			<div class="spacer"></div>
474
			
475
			
476
			<h1>Initialisation code</h1>
477
			<pre>$(document).ready( function () {
478
	$('#example').dataTable( {
479
		"sDom": "&lt;'row-fluid'&lt;'span6'T&gt;&lt;'span6'f&gt;r&gt;t&lt;'row-fluid'&lt;'span6'i&gt;&lt;'span6'p&gt;&gt;",
480
		"oTableTools": {
481
			"aButtons": [
482
				"copy",
483
				"print",
484
				{
485
					"sExtends":    "collection",
486
					"sButtonText": 'Save &lt;span class="caret" /&gt;',
487
					"aButtons":    [ "csv", "xls", "pdf" ]
488
				}
489
			]
490
		}
491
	} );
492
} );</pre>
493
			
494
			<p>The following code is included from the <a href="http://datatables.github.com/Plugins/integration/bootstrap/dataTables.bootstrap.js">DataTables bootstrap integration file</a>:</p>
495
496
			<pre>// Set the classes that TableTools uses to something suitable for Bootstrap
497
$.extend( true, $.fn.DataTable.TableTools.classes, {
498
	"container": "btn-group",
499
	"buttons": {
500
		"normal": "btn",
501
		"disabled": "btn disabled"
502
	},
503
	"collection": {
504
		"container": "DTTT_dropdown dropdown-menu",
505
		"buttons": {
506
			"normal": "",
507
			"disabled": "disabled"
508
		}
509
	}
510
} );
511
512
// Have the collection use a bootstrap compatible dropdown
513
$.extend( true, $.fn.DataTable.TableTools.DEFAULTS.oTags, {
514
	"collection": {
515
		"container": "ul",
516
		"button": "li",
517
		"liner": "a"
518
	}
519
} );</pre>
520
521
522
			<h1>Other examples</h1>
523
			<ul>
524
				<li><a href="index.html">Basic initialisation</a></li>
525
				<li><a href="swf_path.html">Setting the SWF path</a></li>
526
				<li><a href="alter_buttons.html">Custom button arrangement</a></li>
527
				<li><a href="button_text.html">Button text alteration</a></li>
528
				<li><a href="collection.html">Using button collections</a></li>
529
				<li><a href="theme.html">Using jQuery UI themes</a></li>
530
				<li><a href="bootstrap.html">Styling with Twitter Bootstrap</a></li>
531
				<li><a href="multi_instance.html">Multiple TableTools toolbars for a single table</a></li>
532
				<li><a href="multiple_tables.html">Multiple DataTables with a single initialisation</a></li>
533
				<li><a href="select_multi.html">User selectable rows (multiple rows)</a></li>
534
				<li><a href="select_single.html">User selectable rows (single row)</a></li>
535
				<li><a href="alt_init.html">Alternative initialisation using 'new TableTools()'</a></li>
536
				<li><a href="defaults.html">Altering the TableTools defaults</a></li>
537
				<li><a href="plug-in.html">TableTools plug-in buttons</a></li>
538
				<li><a href="pdf_message.html">Customising the PDF output (adding text and orientation)</a></li>
539
			</ul>
540
			
541
			
542
			<div id="footer" style="text-align:center;">
543
				<span style="font-size:10px;">
544
					TableTools and DataTables &copy; Allan Jardine 2009-2011.<br>
545
					Flash 10 save / copy operations are performed by a modified version of <a href="http://code.google.com/p/zeroclipboard/">Zero Clipboard</a>.<br>
546
					The icons used in the toolbar are modified from <a href="http://www.addictedtocoffee.de/">Oliver Twardowski's</a> <a href="http://www.smashingmagazine.com/2009/05/20/flavour-extended-the-ultimate-icon-set-for-web-designers/">Flavours Icon set</a>.
547
				</span>
548
			</div>
549
		</div>
550
	</body>
551
</html>
(-)a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/TableTools/button_text.html (+531 lines)
Line 0 Link Here
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2
<html>
3
	<head>
4
		<meta http-equiv="content-type" content="text/html; charset=utf-8">
5
		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
6
		
7
		<title>TableTools example</title>
8
		<style type="text/css" title="currentStyle">
9
			@import "../../media/css/demo_page.css";
10
			@import "../../media/css/demo_table.css";
11
			@import "media/css/TableTools.css";
12
		</style>
13
		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
14
		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
15
		<script type="text/javascript" charset="utf-8" src="media/js/ZeroClipboard.js"></script>
16
		<script type="text/javascript" charset="utf-8" src="media/js/TableTools.js"></script>
17
		<script type="text/javascript" charset="utf-8">
18
			$(document).ready( function () {
19
				$('#example').dataTable( {
20
					"sDom": 'T<"clear">lfrtip',
21
					"oTableTools": {
22
						"aButtons": [
23
							{
24
								"sExtends": "copy",
25
								"sButtonText": "Copy to clipboard"
26
							},
27
							{
28
								"sExtends": "csv",
29
								"sButtonText": "Save to CSV"
30
							},
31
							{
32
								"sExtends": "xls",
33
								"sButtonText": "Save for Excel"
34
							}
35
						]
36
					}
37
				} );
38
			} );
39
		</script>
40
	</head>
41
	<body id="dt_example">
42
		<div id="container">
43
			<div class="full_width big">
44
				TableTools example - customised button text
45
			</div>
46
			
47
			<h1>Preamble</h1>
48
			<p>You may wish to set your own text for the buttons in the TableTools toolbar, rather than relying on the default built-in text. This is done by overriding the <i>sButtonText</i> parameter of whatever button you wish to alter. The way TableTools allows you to alter a predefined button is by 'extending' it (using the <i>sExtends</i> parameter) and then setting the overriding parameter. A full list of the parameters which can be used is <a href="http://datatables.net/extras/tabletools/button_options">available on the DataTables.net web-site</a>. This example shows how to set the button text as required.</p>
49
			
50
			
51
			<h1>Live example</h1>
52
			<div id="demo">
53
<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
54
	<thead>
55
		<tr>
56
			<th>Rendering engine</th>
57
			<th>Browser</th>
58
			<th>Platform(s)</th>
59
			<th>Engine version</th>
60
			<th>CSS grade</th>
61
		</tr>
62
	</thead>
63
	<tfoot>
64
		<tr>
65
			<th>Rendering engine</th>
66
			<th>Browser</th>
67
			<th>Platform(s)</th>
68
			<th>Engine version</th>
69
			<th>CSS grade</th>
70
		</tr>
71
	</tfoot>
72
	<tbody>
73
		<tr class="odd_gradeX">
74
			<td>Trident</td>
75
			<td>Internet Explorer 4.0</td>
76
			<td>Win 95+ (Entity: &amp;)</td>
77
			<td class="center">4</td>
78
			<td class="center">X</td>
79
		</tr>
80
		<tr class="even_gradeC">
81
			<td>Trident</td>
82
			<td>Internet Explorer 5.0</td>
83
			<td>Win 95+</td>
84
			<td class="center">5</td>
85
			<td class="center">C</td>
86
		</tr>
87
		<tr class="odd_gradeA">
88
			<td>Trident</td>
89
			<td>Internet Explorer 5.5</td>
90
			<td>Win 95+</td>
91
			<td class="center">5.5</td>
92
			<td class="center">A</td>
93
		</tr>
94
		<tr class="even_gradeA">
95
			<td>Trident</td>
96
			<td>Internet Explorer 6</td>
97
			<td>Win 98+</td>
98
			<td class="center">6</td>
99
			<td class="center">A</td>
100
		</tr>
101
		<tr class="odd_gradeA">
102
			<td>Trident</td>
103
			<td>Internet Explorer 7</td>
104
			<td>Win XP SP2+</td>
105
			<td class="center">7</td>
106
			<td class="center">A</td>
107
		</tr>
108
		<tr class="even_gradeA">
109
			<td>Trident</td>
110
			<td>AOL browser (AOL desktop)</td>
111
			<td>Win XP</td>
112
			<td class="center">6</td>
113
			<td class="center">A</td>
114
		</tr>
115
		<tr class="odd_gradeA">
116
			<td>Gecko (UTF-8: $¢€)</td>
117
			<td>Firefox 1.0</td>
118
			<td>Win 98+ / OSX.2+</td>
119
			<td class="center">1.7</td>
120
			<td class="center">A</td>
121
		</tr>
122
		<tr class="even_gradeA">
123
			<td>Gecko</td>
124
			<td>Firefox 1.5</td>
125
			<td>Win 98+ / OSX.2+</td>
126
			<td class="center">1.8</td>
127
			<td class="center">A</td>
128
		</tr>
129
		<tr class="odd_gradeA">
130
			<td>Gecko</td>
131
			<td>Firefox 2.0</td>
132
			<td>Win 98+ / OSX.2+</td>
133
			<td class="center">1.8</td>
134
			<td class="center">A</td>
135
		</tr>
136
		<tr class="even_gradeA">
137
			<td>Gecko</td>
138
			<td>Firefox 3.0</td>
139
			<td>Win 2k+ / OSX.3+</td>
140
			<td class="center">1.9</td>
141
			<td class="center">A</td>
142
		</tr>
143
		<tr class="odd_gradeA">
144
			<td>Gecko</td>
145
			<td>Camino 1.0</td>
146
			<td>OSX.2+</td>
147
			<td class="center">1.8</td>
148
			<td class="center">A</td>
149
		</tr>
150
		<tr class="even_gradeA">
151
			<td>Gecko</td>
152
			<td>Camino 1.5</td>
153
			<td>OSX.3+</td>
154
			<td class="center">1.8</td>
155
			<td class="center">A</td>
156
		</tr>
157
		<tr class="odd_gradeA">
158
			<td>Gecko</td>
159
			<td>Netscape 7.2</td>
160
			<td>Win 95+ / Mac OS 8.6-9.2</td>
161
			<td class="center">1.7</td>
162
			<td class="center">A</td>
163
		</tr>
164
		<tr class="even_gradeA">
165
			<td>Gecko</td>
166
			<td>Netscape Browser 8</td>
167
			<td>Win 98SE+</td>
168
			<td class="center">1.7</td>
169
			<td class="center">A</td>
170
		</tr>
171
		<tr class="odd_gradeA">
172
			<td>Gecko</td>
173
			<td>Netscape Navigator 9</td>
174
			<td>Win 98+ / OSX.2+</td>
175
			<td class="center">1.8</td>
176
			<td class="center">A</td>
177
		</tr>
178
		<tr class="even_gradeA">
179
			<td>Gecko</td>
180
			<td>Mozilla 1.0</td>
181
			<td>Win 95+ / OSX.1+</td>
182
			<td class="center">1</td>
183
			<td class="center">A</td>
184
		</tr>
185
		<tr class="odd_gradeA">
186
			<td>Gecko</td>
187
			<td>Mozilla 1.1</td>
188
			<td>Win 95+ / OSX.1+</td>
189
			<td class="center">1.1</td>
190
			<td class="center">A</td>
191
		</tr>
192
		<tr class="even_gradeA">
193
			<td>Gecko</td>
194
			<td>Mozilla 1.2</td>
195
			<td>Win 95+ / OSX.1+</td>
196
			<td class="center">1.2</td>
197
			<td class="center">A</td>
198
		</tr>
199
		<tr class="odd_gradeA">
200
			<td>Gecko</td>
201
			<td>Mozilla 1.3</td>
202
			<td>Win 95+ / OSX.1+</td>
203
			<td class="center">1.3</td>
204
			<td class="center">A</td>
205
		</tr>
206
		<tr class="even_gradeA">
207
			<td>Gecko</td>
208
			<td>Mozilla 1.4</td>
209
			<td>Win 95+ / OSX.1+</td>
210
			<td class="center">1.4</td>
211
			<td class="center">A</td>
212
		</tr>
213
		<tr class="odd_gradeA">
214
			<td>Gecko</td>
215
			<td>Mozilla 1.5</td>
216
			<td>Win 95+ / OSX.1+</td>
217
			<td class="center">1.5</td>
218
			<td class="center">A</td>
219
		</tr>
220
		<tr class="even_gradeA">
221
			<td>Gecko</td>
222
			<td>Mozilla 1.6</td>
223
			<td>Win 95+ / OSX.1+</td>
224
			<td class="center">1.6</td>
225
			<td class="center">A</td>
226
		</tr>
227
		<tr class="odd_gradeA">
228
			<td>Gecko</td>
229
			<td>Mozilla 1.7</td>
230
			<td>Win 98+ / OSX.1+</td>
231
			<td class="center">1.7</td>
232
			<td class="center">A</td>
233
		</tr>
234
		<tr class="even_gradeA">
235
			<td>Gecko</td>
236
			<td>Mozilla 1.8</td>
237
			<td>Win 98+ / OSX.1+</td>
238
			<td class="center">1.8</td>
239
			<td class="center">A</td>
240
		</tr>
241
		<tr class="odd_gradeA">
242
			<td>Gecko</td>
243
			<td>Seamonkey 1.1</td>
244
			<td>Win 98+ / OSX.2+</td>
245
			<td class="center">1.8</td>
246
			<td class="center">A</td>
247
		</tr>
248
		<tr class="even_gradeA">
249
			<td>Gecko</td>
250
			<td>Epiphany 2.20</td>
251
			<td>Gnome</td>
252
			<td class="center">1.8</td>
253
			<td class="center">A</td>
254
		</tr>
255
		<tr class="odd_gradeA">
256
			<td>Webkit</td>
257
			<td>Safari 1.2</td>
258
			<td>OSX.3</td>
259
			<td class="center">125.5</td>
260
			<td class="center">A</td>
261
		</tr>
262
		<tr class="even_gradeA">
263
			<td>Webkit</td>
264
			<td>Safari 1.3</td>
265
			<td>OSX.3</td>
266
			<td class="center">312.8</td>
267
			<td class="center">A</td>
268
		</tr>
269
		<tr class="odd_gradeA">
270
			<td>Webkit</td>
271
			<td>Safari 2.0</td>
272
			<td>OSX.4+</td>
273
			<td class="center">419.3</td>
274
			<td class="center">A</td>
275
		</tr>
276
		<tr class="even_gradeA">
277
			<td>Webkit</td>
278
			<td>Safari 3.0</td>
279
			<td>OSX.4+</td>
280
			<td class="center">522.1</td>
281
			<td class="center">A</td>
282
		</tr>
283
		<tr class="odd_gradeA">
284
			<td>Webkit</td>
285
			<td>OmniWeb 5.5</td>
286
			<td>OSX.4+</td>
287
			<td class="center">420</td>
288
			<td class="center">A</td>
289
		</tr>
290
		<tr class="even_gradeA">
291
			<td>Webkit</td>
292
			<td>iPod Touch / iPhone</td>
293
			<td>iPod</td>
294
			<td class="center">420.1</td>
295
			<td class="center">A</td>
296
		</tr>
297
		<tr class="odd_gradeA">
298
			<td>Webkit</td>
299
			<td>S60</td>
300
			<td>S60</td>
301
			<td class="center">413</td>
302
			<td class="center">A</td>
303
		</tr>
304
		<tr class="even_gradeA">
305
			<td>Presto</td>
306
			<td>Opera 7.0</td>
307
			<td>Win 95+ / OSX.1+</td>
308
			<td class="center">-</td>
309
			<td class="center">A</td>
310
		</tr>
311
		<tr class="odd_gradeA">
312
			<td>Presto</td>
313
			<td>Opera 7.5</td>
314
			<td>Win 95+ / OSX.2+</td>
315
			<td class="center">-</td>
316
			<td class="center">A</td>
317
		</tr>
318
		<tr class="even_gradeA">
319
			<td>Presto</td>
320
			<td>Opera 8.0</td>
321
			<td>Win 95+ / OSX.2+</td>
322
			<td class="center">-</td>
323
			<td class="center">A</td>
324
		</tr>
325
		<tr class="odd_gradeA">
326
			<td>Presto</td>
327
			<td>Opera 8.5</td>
328
			<td>Win 95+ / OSX.2+</td>
329
			<td class="center">-</td>
330
			<td class="center">A</td>
331
		</tr>
332
		<tr class="even_gradeA">
333
			<td>Presto</td>
334
			<td>Opera 9.0</td>
335
			<td>Win 95+ / OSX.3+</td>
336
			<td class="center">-</td>
337
			<td class="center">A</td>
338
		</tr>
339
		<tr class="odd_gradeA">
340
			<td>Presto</td>
341
			<td>Opera 9.2</td>
342
			<td>Win 88+ / OSX.3+</td>
343
			<td class="center">-</td>
344
			<td class="center">A</td>
345
		</tr>
346
		<tr class="even_gradeA">
347
			<td>Presto</td>
348
			<td>Opera 9.5</td>
349
			<td>Win 88+ / OSX.3+</td>
350
			<td class="center">-</td>
351
			<td class="center">A</td>
352
		</tr>
353
		<tr class="odd_gradeA">
354
			<td>Presto</td>
355
			<td>Opera for Wii</td>
356
			<td>Wii</td>
357
			<td class="center">-</td>
358
			<td class="center">A</td>
359
		</tr>
360
		<tr class="even_gradeA">
361
			<td>Presto</td>
362
			<td>Nokia N800</td>
363
			<td>N800</td>
364
			<td class="center">-</td>
365
			<td class="center">A</td>
366
		</tr>
367
		<tr class="odd_gradeA">
368
			<td>Presto</td>
369
			<td>Nintendo DS browser</td>
370
			<td>Nintendo DS</td>
371
			<td class="center">8.5</td>
372
			<td class="center">C/A<sup>1</sup></td>
373
		</tr>
374
		<tr class="even_gradeC">
375
			<td>KHTML</td>
376
			<td>Konqureror 3.1</td>
377
			<td>KDE 3.1</td>
378
			<td class="center">3.1</td>
379
			<td class="center">C</td>
380
		</tr>
381
		<tr class="odd_gradeA">
382
			<td>KHTML</td>
383
			<td>Konqureror 3.3</td>
384
			<td>KDE 3.3</td>
385
			<td class="center">3.3</td>
386
			<td class="center">A</td>
387
		</tr>
388
		<tr class="even_gradeA">
389
			<td>KHTML</td>
390
			<td>Konqureror 3.5</td>
391
			<td>KDE 3.5</td>
392
			<td class="center">3.5</td>
393
			<td class="center">A</td>
394
		</tr>
395
		<tr class="odd_gradeX">
396
			<td>Tasman</td>
397
			<td>Internet Explorer 4.5</td>
398
			<td>Mac OS 8-9</td>
399
			<td class="center">-</td>
400
			<td class="center">X</td>
401
		</tr>
402
		<tr class="even_gradeC">
403
			<td>Tasman</td>
404
			<td>Internet Explorer 5.1</td>
405
			<td>Mac OS 7.6-9</td>
406
			<td class="center">1</td>
407
			<td class="center">C</td>
408
		</tr>
409
		<tr class="odd_gradeC">
410
			<td>Tasman</td>
411
			<td>Internet Explorer 5.2</td>
412
			<td>Mac OS 8-X</td>
413
			<td class="center">1</td>
414
			<td class="center">C</td>
415
		</tr>
416
		<tr class="even_gradeA">
417
			<td>Misc</td>
418
			<td>NetFront 3.1</td>
419
			<td>Embedded devices</td>
420
			<td class="center">-</td>
421
			<td class="center">C</td>
422
		</tr>
423
		<tr class="odd_gradeA">
424
			<td>Misc</td>
425
			<td>NetFront 3.4</td>
426
			<td>Embedded devices</td>
427
			<td class="center">-</td>
428
			<td class="center">A</td>
429
		</tr>
430
		<tr class="even_gradeX">
431
			<td>Misc</td>
432
			<td>Dillo 0.8</td>
433
			<td>Embedded devices</td>
434
			<td class="center">-</td>
435
			<td class="center">X</td>
436
		</tr>
437
		<tr class="odd_gradeX">
438
			<td>Misc</td>
439
			<td>Links</td>
440
			<td>Text only</td>
441
			<td class="center">-</td>
442
			<td class="center">X</td>
443
		</tr>
444
		<tr class="even_gradeX">
445
			<td>Misc</td>
446
			<td>Lynx</td>
447
			<td>Text only</td>
448
			<td class="center">-</td>
449
			<td class="center">X</td>
450
		</tr>
451
		<tr class="odd_gradeC">
452
			<td>Misc</td>
453
			<td>IE Mobile</td>
454
			<td>Windows Mobile 6</td>
455
			<td class="center">-</td>
456
			<td class="center">C</td>
457
		</tr>
458
		<tr class="even_gradeC">
459
			<td>Misc</td>
460
			<td>PSP browser</td>
461
			<td>PSP</td>
462
			<td class="center">-</td>
463
			<td class="center">C</td>
464
		</tr>
465
		<tr class="odd_gradeU">
466
			<td>Other browsers</td>
467
			<td>All others</td>
468
			<td>-</td>
469
			<td class="center">-</td>
470
			<td class="center">U</td>
471
		</tr>
472
	</tbody>
473
</table>
474
			</div>
475
			<div class="spacer"></div>
476
			
477
			
478
			<h1>Initialisation code</h1>
479
			<pre>$(document).ready( function () {
480
	$('#example').dataTable( {
481
		"sDom": 'T&lt;"clear"&gt;lfrtip',
482
		"oTableTools": {
483
			"aButtons": [
484
				{
485
					"sExtends": "copy",
486
					"sButtonText": "Copy to clipboard"
487
				},
488
				{
489
					"sExtends": "csv",
490
					"sButtonText": "Save to CSV"
491
				},
492
				{
493
					"sExtends": "xls",
494
					"sButtonText": "Save for Excel"
495
				}
496
			]
497
		}
498
	} );
499
} );</pre>
500
501
502
			<h1>Other examples</h1>
503
			<ul>
504
				<li><a href="index.html">Basic initialisation</a></li>
505
				<li><a href="swf_path.html">Setting the SWF path</a></li>
506
				<li><a href="alter_buttons.html">Custom button arrangement</a></li>
507
				<li><a href="button_text.html">Button text alteration</a></li>
508
				<li><a href="collection.html">Using button collections</a></li>
509
				<li><a href="theme.html">Using jQuery UI themes</a></li>
510
				<li><a href="bootstrap.html">Styling with Twitter Bootstrap</a></li>
511
				<li><a href="multi_instance.html">Multiple TableTools toolbars for a single table</a></li>
512
				<li><a href="multiple_tables.html">Multiple DataTables with a single initialisation</a></li>
513
				<li><a href="select_multi.html">User selectable rows (multiple rows)</a></li>
514
				<li><a href="select_single.html">User selectable rows (single row)</a></li>
515
				<li><a href="alt_init.html">Alternative initialisation using 'new TableTools()'</a></li>
516
				<li><a href="defaults.html">Altering the TableTools defaults</a></li>
517
				<li><a href="plug-in.html">TableTools plug-in buttons</a></li>
518
				<li><a href="pdf_message.html">Customising the PDF output (adding text and orientation)</a></li>
519
			</ul>
520
			
521
			
522
			<div id="footer" style="text-align:center;">
523
				<span style="font-size:10px;">
524
					TableTools and DataTables &copy; Allan Jardine 2009-2011.<br>
525
					Flash 10 save / copy operations are performed by a modified version of <a href="http://code.google.com/p/zeroclipboard/">Zero Clipboard</a>.<br>
526
					The icons used in the toolbar are modified from <a href="http://www.addictedtocoffee.de/">Oliver Twardowski's</a> <a href="http://www.smashingmagazine.com/2009/05/20/flavour-extended-the-ultimate-icon-set-for-web-designers/">Flavours Icon set</a>.
527
				</span>
528
			</div>
529
		</div>
530
	</body>
531
</html>
(-)a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/TableTools/collection.html (+522 lines)
Line 0 Link Here
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2
<html>
3
	<head>
4
		<meta http-equiv="content-type" content="text/html; charset=utf-8">
5
		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
6
		
7
		<title>TableTools example</title>
8
		<style type="text/css" title="currentStyle">
9
			@import "../../media/css/demo_page.css";
10
			@import "../../media/css/demo_table.css";
11
			@import "media/css/TableTools.css";
12
		</style>
13
		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
14
		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
15
		<script type="text/javascript" charset="utf-8" src="media/js/ZeroClipboard.js"></script>
16
		<script type="text/javascript" charset="utf-8" src="media/js/TableTools.js"></script>
17
		<script type="text/javascript" charset="utf-8">
18
			$(document).ready( function () {
19
				$('#example').dataTable( {
20
					"sDom": 'T<"clear">lfrtip',
21
					"oTableTools": {
22
						"aButtons": [
23
							"copy",
24
							"print",
25
							{
26
								"sExtends":    "collection",
27
								"sButtonText": "Save",
28
								"aButtons":    [ "csv", "xls", "pdf" ]
29
							}
30
						]
31
					}
32
				} );
33
			} );
34
		</script>
35
	</head>
36
	<body id="dt_example">
37
		<div id="container">
38
			<div class="full_width big">
39
				TableTools example - button collections
40
			</div>
41
			
42
			<h1>Preamble</h1>
43
			<p>TableTools provides the ability to group buttons into a hidden drop down list, which is activated by clicking on a top-level button. This is achieved by extending the 'collection' predefined button type and setting it's <i>aButtons</i> parameter with the same options as the top level buttons (note that you cannot currently use a collection within a collection).</p>
44
			<p>The example below shows the file save buttons grouped into a collection, while the copy and print buttons are left on the top level.</p>
45
			
46
			
47
			<h1>Live example</h1>
48
			<div id="demo">
49
<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
50
	<thead>
51
		<tr>
52
			<th>Rendering engine</th>
53
			<th>Browser</th>
54
			<th>Platform(s)</th>
55
			<th>Engine version</th>
56
			<th>CSS grade</th>
57
		</tr>
58
	</thead>
59
	<tfoot>
60
		<tr>
61
			<th>Rendering engine</th>
62
			<th>Browser</th>
63
			<th>Platform(s)</th>
64
			<th>Engine version</th>
65
			<th>CSS grade</th>
66
		</tr>
67
	</tfoot>
68
	<tbody>
69
		<tr class="odd_gradeX">
70
			<td>Trident</td>
71
			<td>Internet Explorer 4.0</td>
72
			<td>Win 95+ (Entity: &amp;)</td>
73
			<td class="center">4</td>
74
			<td class="center">X</td>
75
		</tr>
76
		<tr class="even_gradeC">
77
			<td>Trident</td>
78
			<td>Internet Explorer 5.0</td>
79
			<td>Win 95+</td>
80
			<td class="center">5</td>
81
			<td class="center">C</td>
82
		</tr>
83
		<tr class="odd_gradeA">
84
			<td>Trident</td>
85
			<td>Internet Explorer 5.5</td>
86
			<td>Win 95+</td>
87
			<td class="center">5.5</td>
88
			<td class="center">A</td>
89
		</tr>
90
		<tr class="even_gradeA">
91
			<td>Trident</td>
92
			<td>Internet Explorer 6</td>
93
			<td>Win 98+</td>
94
			<td class="center">6</td>
95
			<td class="center">A</td>
96
		</tr>
97
		<tr class="odd_gradeA">
98
			<td>Trident</td>
99
			<td>Internet Explorer 7</td>
100
			<td>Win XP SP2+</td>
101
			<td class="center">7</td>
102
			<td class="center">A</td>
103
		</tr>
104
		<tr class="even_gradeA">
105
			<td>Trident</td>
106
			<td>AOL browser (AOL desktop)</td>
107
			<td>Win XP</td>
108
			<td class="center">6</td>
109
			<td class="center">A</td>
110
		</tr>
111
		<tr class="odd_gradeA">
112
			<td>Gecko (UTF-8: $¢€)</td>
113
			<td>Firefox 1.0</td>
114
			<td>Win 98+ / OSX.2+</td>
115
			<td class="center">1.7</td>
116
			<td class="center">A</td>
117
		</tr>
118
		<tr class="even_gradeA">
119
			<td>Gecko</td>
120
			<td>Firefox 1.5</td>
121
			<td>Win 98+ / OSX.2+</td>
122
			<td class="center">1.8</td>
123
			<td class="center">A</td>
124
		</tr>
125
		<tr class="odd_gradeA">
126
			<td>Gecko</td>
127
			<td>Firefox 2.0</td>
128
			<td>Win 98+ / OSX.2+</td>
129
			<td class="center">1.8</td>
130
			<td class="center">A</td>
131
		</tr>
132
		<tr class="even_gradeA">
133
			<td>Gecko</td>
134
			<td>Firefox 3.0</td>
135
			<td>Win 2k+ / OSX.3+</td>
136
			<td class="center">1.9</td>
137
			<td class="center">A</td>
138
		</tr>
139
		<tr class="odd_gradeA">
140
			<td>Gecko</td>
141
			<td>Camino 1.0</td>
142
			<td>OSX.2+</td>
143
			<td class="center">1.8</td>
144
			<td class="center">A</td>
145
		</tr>
146
		<tr class="even_gradeA">
147
			<td>Gecko</td>
148
			<td>Camino 1.5</td>
149
			<td>OSX.3+</td>
150
			<td class="center">1.8</td>
151
			<td class="center">A</td>
152
		</tr>
153
		<tr class="odd_gradeA">
154
			<td>Gecko</td>
155
			<td>Netscape 7.2</td>
156
			<td>Win 95+ / Mac OS 8.6-9.2</td>
157
			<td class="center">1.7</td>
158
			<td class="center">A</td>
159
		</tr>
160
		<tr class="even_gradeA">
161
			<td>Gecko</td>
162
			<td>Netscape Browser 8</td>
163
			<td>Win 98SE+</td>
164
			<td class="center">1.7</td>
165
			<td class="center">A</td>
166
		</tr>
167
		<tr class="odd_gradeA">
168
			<td>Gecko</td>
169
			<td>Netscape Navigator 9</td>
170
			<td>Win 98+ / OSX.2+</td>
171
			<td class="center">1.8</td>
172
			<td class="center">A</td>
173
		</tr>
174
		<tr class="even_gradeA">
175
			<td>Gecko</td>
176
			<td>Mozilla 1.0</td>
177
			<td>Win 95+ / OSX.1+</td>
178
			<td class="center">1</td>
179
			<td class="center">A</td>
180
		</tr>
181
		<tr class="odd_gradeA">
182
			<td>Gecko</td>
183
			<td>Mozilla 1.1</td>
184
			<td>Win 95+ / OSX.1+</td>
185
			<td class="center">1.1</td>
186
			<td class="center">A</td>
187
		</tr>
188
		<tr class="even_gradeA">
189
			<td>Gecko</td>
190
			<td>Mozilla 1.2</td>
191
			<td>Win 95+ / OSX.1+</td>
192
			<td class="center">1.2</td>
193
			<td class="center">A</td>
194
		</tr>
195
		<tr class="odd_gradeA">
196
			<td>Gecko</td>
197
			<td>Mozilla 1.3</td>
198
			<td>Win 95+ / OSX.1+</td>
199
			<td class="center">1.3</td>
200
			<td class="center">A</td>
201
		</tr>
202
		<tr class="even_gradeA">
203
			<td>Gecko</td>
204
			<td>Mozilla 1.4</td>
205
			<td>Win 95+ / OSX.1+</td>
206
			<td class="center">1.4</td>
207
			<td class="center">A</td>
208
		</tr>
209
		<tr class="odd_gradeA">
210
			<td>Gecko</td>
211
			<td>Mozilla 1.5</td>
212
			<td>Win 95+ / OSX.1+</td>
213
			<td class="center">1.5</td>
214
			<td class="center">A</td>
215
		</tr>
216
		<tr class="even_gradeA">
217
			<td>Gecko</td>
218
			<td>Mozilla 1.6</td>
219
			<td>Win 95+ / OSX.1+</td>
220
			<td class="center">1.6</td>
221
			<td class="center">A</td>
222
		</tr>
223
		<tr class="odd_gradeA">
224
			<td>Gecko</td>
225
			<td>Mozilla 1.7</td>
226
			<td>Win 98+ / OSX.1+</td>
227
			<td class="center">1.7</td>
228
			<td class="center">A</td>
229
		</tr>
230
		<tr class="even_gradeA">
231
			<td>Gecko</td>
232
			<td>Mozilla 1.8</td>
233
			<td>Win 98+ / OSX.1+</td>
234
			<td class="center">1.8</td>
235
			<td class="center">A</td>
236
		</tr>
237
		<tr class="odd_gradeA">
238
			<td>Gecko</td>
239
			<td>Seamonkey 1.1</td>
240
			<td>Win 98+ / OSX.2+</td>
241
			<td class="center">1.8</td>
242
			<td class="center">A</td>
243
		</tr>
244
		<tr class="even_gradeA">
245
			<td>Gecko</td>
246
			<td>Epiphany 2.20</td>
247
			<td>Gnome</td>
248
			<td class="center">1.8</td>
249
			<td class="center">A</td>
250
		</tr>
251
		<tr class="odd_gradeA">
252
			<td>Webkit</td>
253
			<td>Safari 1.2</td>
254
			<td>OSX.3</td>
255
			<td class="center">125.5</td>
256
			<td class="center">A</td>
257
		</tr>
258
		<tr class="even_gradeA">
259
			<td>Webkit</td>
260
			<td>Safari 1.3</td>
261
			<td>OSX.3</td>
262
			<td class="center">312.8</td>
263
			<td class="center">A</td>
264
		</tr>
265
		<tr class="odd_gradeA">
266
			<td>Webkit</td>
267
			<td>Safari 2.0</td>
268
			<td>OSX.4+</td>
269
			<td class="center">419.3</td>
270
			<td class="center">A</td>
271
		</tr>
272
		<tr class="even_gradeA">
273
			<td>Webkit</td>
274
			<td>Safari 3.0</td>
275
			<td>OSX.4+</td>
276
			<td class="center">522.1</td>
277
			<td class="center">A</td>
278
		</tr>
279
		<tr class="odd_gradeA">
280
			<td>Webkit</td>
281
			<td>OmniWeb 5.5</td>
282
			<td>OSX.4+</td>
283
			<td class="center">420</td>
284
			<td class="center">A</td>
285
		</tr>
286
		<tr class="even_gradeA">
287
			<td>Webkit</td>
288
			<td>iPod Touch / iPhone</td>
289
			<td>iPod</td>
290
			<td class="center">420.1</td>
291
			<td class="center">A</td>
292
		</tr>
293
		<tr class="odd_gradeA">
294
			<td>Webkit</td>
295
			<td>S60</td>
296
			<td>S60</td>
297
			<td class="center">413</td>
298
			<td class="center">A</td>
299
		</tr>
300
		<tr class="even_gradeA">
301
			<td>Presto</td>
302
			<td>Opera 7.0</td>
303
			<td>Win 95+ / OSX.1+</td>
304
			<td class="center">-</td>
305
			<td class="center">A</td>
306
		</tr>
307
		<tr class="odd_gradeA">
308
			<td>Presto</td>
309
			<td>Opera 7.5</td>
310
			<td>Win 95+ / OSX.2+</td>
311
			<td class="center">-</td>
312
			<td class="center">A</td>
313
		</tr>
314
		<tr class="even_gradeA">
315
			<td>Presto</td>
316
			<td>Opera 8.0</td>
317
			<td>Win 95+ / OSX.2+</td>
318
			<td class="center">-</td>
319
			<td class="center">A</td>
320
		</tr>
321
		<tr class="odd_gradeA">
322
			<td>Presto</td>
323
			<td>Opera 8.5</td>
324
			<td>Win 95+ / OSX.2+</td>
325
			<td class="center">-</td>
326
			<td class="center">A</td>
327
		</tr>
328
		<tr class="even_gradeA">
329
			<td>Presto</td>
330
			<td>Opera 9.0</td>
331
			<td>Win 95+ / OSX.3+</td>
332
			<td class="center">-</td>
333
			<td class="center">A</td>
334
		</tr>
335
		<tr class="odd_gradeA">
336
			<td>Presto</td>
337
			<td>Opera 9.2</td>
338
			<td>Win 88+ / OSX.3+</td>
339
			<td class="center">-</td>
340
			<td class="center">A</td>
341
		</tr>
342
		<tr class="even_gradeA">
343
			<td>Presto</td>
344
			<td>Opera 9.5</td>
345
			<td>Win 88+ / OSX.3+</td>
346
			<td class="center">-</td>
347
			<td class="center">A</td>
348
		</tr>
349
		<tr class="odd_gradeA">
350
			<td>Presto</td>
351
			<td>Opera for Wii</td>
352
			<td>Wii</td>
353
			<td class="center">-</td>
354
			<td class="center">A</td>
355
		</tr>
356
		<tr class="even_gradeA">
357
			<td>Presto</td>
358
			<td>Nokia N800</td>
359
			<td>N800</td>
360
			<td class="center">-</td>
361
			<td class="center">A</td>
362
		</tr>
363
		<tr class="odd_gradeA">
364
			<td>Presto</td>
365
			<td>Nintendo DS browser</td>
366
			<td>Nintendo DS</td>
367
			<td class="center">8.5</td>
368
			<td class="center">C/A<sup>1</sup></td>
369
		</tr>
370
		<tr class="even_gradeC">
371
			<td>KHTML</td>
372
			<td>Konqureror 3.1</td>
373
			<td>KDE 3.1</td>
374
			<td class="center">3.1</td>
375
			<td class="center">C</td>
376
		</tr>
377
		<tr class="odd_gradeA">
378
			<td>KHTML</td>
379
			<td>Konqureror 3.3</td>
380
			<td>KDE 3.3</td>
381
			<td class="center">3.3</td>
382
			<td class="center">A</td>
383
		</tr>
384
		<tr class="even_gradeA">
385
			<td>KHTML</td>
386
			<td>Konqureror 3.5</td>
387
			<td>KDE 3.5</td>
388
			<td class="center">3.5</td>
389
			<td class="center">A</td>
390
		</tr>
391
		<tr class="odd_gradeX">
392
			<td>Tasman</td>
393
			<td>Internet Explorer 4.5</td>
394
			<td>Mac OS 8-9</td>
395
			<td class="center">-</td>
396
			<td class="center">X</td>
397
		</tr>
398
		<tr class="even_gradeC">
399
			<td>Tasman</td>
400
			<td>Internet Explorer 5.1</td>
401
			<td>Mac OS 7.6-9</td>
402
			<td class="center">1</td>
403
			<td class="center">C</td>
404
		</tr>
405
		<tr class="odd_gradeC">
406
			<td>Tasman</td>
407
			<td>Internet Explorer 5.2</td>
408
			<td>Mac OS 8-X</td>
409
			<td class="center">1</td>
410
			<td class="center">C</td>
411
		</tr>
412
		<tr class="even_gradeA">
413
			<td>Misc</td>
414
			<td>NetFront 3.1</td>
415
			<td>Embedded devices</td>
416
			<td class="center">-</td>
417
			<td class="center">C</td>
418
		</tr>
419
		<tr class="odd_gradeA">
420
			<td>Misc</td>
421
			<td>NetFront 3.4</td>
422
			<td>Embedded devices</td>
423
			<td class="center">-</td>
424
			<td class="center">A</td>
425
		</tr>
426
		<tr class="even_gradeX">
427
			<td>Misc</td>
428
			<td>Dillo 0.8</td>
429
			<td>Embedded devices</td>
430
			<td class="center">-</td>
431
			<td class="center">X</td>
432
		</tr>
433
		<tr class="odd_gradeX">
434
			<td>Misc</td>
435
			<td>Links</td>
436
			<td>Text only</td>
437
			<td class="center">-</td>
438
			<td class="center">X</td>
439
		</tr>
440
		<tr class="even_gradeX">
441
			<td>Misc</td>
442
			<td>Lynx</td>
443
			<td>Text only</td>
444
			<td class="center">-</td>
445
			<td class="center">X</td>
446
		</tr>
447
		<tr class="odd_gradeC">
448
			<td>Misc</td>
449
			<td>IE Mobile</td>
450
			<td>Windows Mobile 6</td>
451
			<td class="center">-</td>
452
			<td class="center">C</td>
453
		</tr>
454
		<tr class="even_gradeC">
455
			<td>Misc</td>
456
			<td>PSP browser</td>
457
			<td>PSP</td>
458
			<td class="center">-</td>
459
			<td class="center">C</td>
460
		</tr>
461
		<tr class="odd_gradeU">
462
			<td>Other browsers</td>
463
			<td>All others</td>
464
			<td>-</td>
465
			<td class="center">-</td>
466
			<td class="center">U</td>
467
		</tr>
468
	</tbody>
469
</table>
470
			</div>
471
			<div class="spacer"></div>
472
			
473
			
474
			<h1>Initialisation code</h1>
475
			<pre>$(document).ready( function () {
476
	$('#example').dataTable( {
477
		"sDom": 'T&lt;"clear"&gt;lfrtip',
478
		"oTableTools": {
479
			"aButtons": [
480
				"copy",
481
				"print",
482
				{
483
					"sExtends":    "collection",
484
					"sButtonText": "Save",
485
					"aButtons":    [ "csv", "xls", "pdf" ]
486
				}
487
			]
488
		}
489
	} );
490
} );</pre>
491
492
493
			<h1>Other examples</h1>
494
			<ul>
495
				<li><a href="index.html">Basic initialisation</a></li>
496
				<li><a href="swf_path.html">Setting the SWF path</a></li>
497
				<li><a href="alter_buttons.html">Custom button arrangement</a></li>
498
				<li><a href="button_text.html">Button text alteration</a></li>
499
				<li><a href="collection.html">Using button collections</a></li>
500
				<li><a href="theme.html">Using jQuery UI themes</a></li>
501
				<li><a href="bootstrap.html">Styling with Twitter Bootstrap</a></li>
502
				<li><a href="multi_instance.html">Multiple TableTools toolbars for a single table</a></li>
503
				<li><a href="multiple_tables.html">Multiple DataTables with a single initialisation</a></li>
504
				<li><a href="select_multi.html">User selectable rows (multiple rows)</a></li>
505
				<li><a href="select_single.html">User selectable rows (single row)</a></li>
506
				<li><a href="alt_init.html">Alternative initialisation using 'new TableTools()'</a></li>
507
				<li><a href="defaults.html">Altering the TableTools defaults</a></li>
508
				<li><a href="plug-in.html">TableTools plug-in buttons</a></li>
509
				<li><a href="pdf_message.html">Customising the PDF output (adding text and orientation)</a></li>
510
			</ul>
511
			
512
			
513
			<div id="footer" style="text-align:center;">
514
				<span style="font-size:10px;">
515
					TableTools and DataTables &copy; Allan Jardine 2009-2011.<br>
516
					Flash 10 save / copy operations are performed by a modified version of <a href="http://code.google.com/p/zeroclipboard/">Zero Clipboard</a>.<br>
517
					The icons used in the toolbar are modified from <a href="http://www.addictedtocoffee.de/">Oliver Twardowski's</a> <a href="http://www.smashingmagazine.com/2009/05/20/flavour-extended-the-ultimate-icon-set-for-web-designers/">Flavours Icon set</a>.
518
				</span>
519
			</div>
520
		</div>
521
	</body>
522
</html>
(-)a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/TableTools/defaults.html (+503 lines)
Line 0 Link Here
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2
<html>
3
	<head>
4
		<meta http-equiv="content-type" content="text/html; charset=utf-8">
5
		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
6
		
7
		<title>TableTools example</title>
8
		<style type="text/css" title="currentStyle">
9
			@import "../../media/css/demo_page.css";
10
			@import "../../media/css/demo_table.css";
11
			@import "media/css/TableTools.css";
12
		</style>
13
		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
14
		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
15
		<script type="text/javascript" charset="utf-8" src="media/js/ZeroClipboard.js"></script>
16
		<script type="text/javascript" charset="utf-8" src="media/js/TableTools.js"></script>
17
		<script type="text/javascript" charset="utf-8">
18
			$(document).ready( function () {
19
				TableTools.DEFAULTS.aButtons = [ "copy", "csv", "xls" ];
20
				
21
				$('#example').dataTable( {
22
					"sDom": 'T<"clear">lfrtip'
23
				} );
24
			} );
25
		</script>
26
	</head>
27
	<body id="dt_example">
28
		<div id="container">
29
			<div class="full_width big">
30
				TableTools example - changing the initialisation defaults
31
			</div>
32
			
33
			<h1>Preamble</h1>
34
			<p>TableTools provides the ability to override the default initialisation parameters that are used when creating a new instance. This this particularly useful if you have multiple tables which you want to have the same TableTools behaviour - rather than declaring the structure multiple times, you can just set the defaults once. This example shows how to alter the default buttons.</p>
35
			
36
			
37
			<h1>Live example</h1>
38
			<div id="demo">
39
<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
40
	<thead>
41
		<tr>
42
			<th>Rendering engine</th>
43
			<th>Browser</th>
44
			<th>Platform(s)</th>
45
			<th>Engine version</th>
46
			<th>CSS grade</th>
47
		</tr>
48
	</thead>
49
	<tfoot>
50
		<tr>
51
			<th>Rendering engine</th>
52
			<th>Browser</th>
53
			<th>Platform(s)</th>
54
			<th>Engine version</th>
55
			<th>CSS grade</th>
56
		</tr>
57
	</tfoot>
58
	<tbody>
59
		<tr class="odd_gradeX">
60
			<td>Trident</td>
61
			<td>Internet Explorer 4.0</td>
62
			<td>Win 95+ (Entity: &amp;)</td>
63
			<td class="center">4</td>
64
			<td class="center">X</td>
65
		</tr>
66
		<tr class="even_gradeC">
67
			<td>Trident</td>
68
			<td>Internet Explorer 5.0</td>
69
			<td>Win 95+</td>
70
			<td class="center">5</td>
71
			<td class="center">C</td>
72
		</tr>
73
		<tr class="odd_gradeA">
74
			<td>Trident</td>
75
			<td>Internet Explorer 5.5</td>
76
			<td>Win 95+</td>
77
			<td class="center">5.5</td>
78
			<td class="center">A</td>
79
		</tr>
80
		<tr class="even_gradeA">
81
			<td>Trident</td>
82
			<td>Internet Explorer 6</td>
83
			<td>Win 98+</td>
84
			<td class="center">6</td>
85
			<td class="center">A</td>
86
		</tr>
87
		<tr class="odd_gradeA">
88
			<td>Trident</td>
89
			<td>Internet Explorer 7</td>
90
			<td>Win XP SP2+</td>
91
			<td class="center">7</td>
92
			<td class="center">A</td>
93
		</tr>
94
		<tr class="even_gradeA">
95
			<td>Trident</td>
96
			<td>AOL browser (AOL desktop)</td>
97
			<td>Win XP</td>
98
			<td class="center">6</td>
99
			<td class="center">A</td>
100
		</tr>
101
		<tr class="odd_gradeA">
102
			<td>Gecko (UTF-8: $¢€)</td>
103
			<td>Firefox 1.0</td>
104
			<td>Win 98+ / OSX.2+</td>
105
			<td class="center">1.7</td>
106
			<td class="center">A</td>
107
		</tr>
108
		<tr class="even_gradeA">
109
			<td>Gecko</td>
110
			<td>Firefox 1.5</td>
111
			<td>Win 98+ / OSX.2+</td>
112
			<td class="center">1.8</td>
113
			<td class="center">A</td>
114
		</tr>
115
		<tr class="odd_gradeA">
116
			<td>Gecko</td>
117
			<td>Firefox 2.0</td>
118
			<td>Win 98+ / OSX.2+</td>
119
			<td class="center">1.8</td>
120
			<td class="center">A</td>
121
		</tr>
122
		<tr class="even_gradeA">
123
			<td>Gecko</td>
124
			<td>Firefox 3.0</td>
125
			<td>Win 2k+ / OSX.3+</td>
126
			<td class="center">1.9</td>
127
			<td class="center">A</td>
128
		</tr>
129
		<tr class="odd_gradeA">
130
			<td>Gecko</td>
131
			<td>Camino 1.0</td>
132
			<td>OSX.2+</td>
133
			<td class="center">1.8</td>
134
			<td class="center">A</td>
135
		</tr>
136
		<tr class="even_gradeA">
137
			<td>Gecko</td>
138
			<td>Camino 1.5</td>
139
			<td>OSX.3+</td>
140
			<td class="center">1.8</td>
141
			<td class="center">A</td>
142
		</tr>
143
		<tr class="odd_gradeA">
144
			<td>Gecko</td>
145
			<td>Netscape 7.2</td>
146
			<td>Win 95+ / Mac OS 8.6-9.2</td>
147
			<td class="center">1.7</td>
148
			<td class="center">A</td>
149
		</tr>
150
		<tr class="even_gradeA">
151
			<td>Gecko</td>
152
			<td>Netscape Browser 8</td>
153
			<td>Win 98SE+</td>
154
			<td class="center">1.7</td>
155
			<td class="center">A</td>
156
		</tr>
157
		<tr class="odd_gradeA">
158
			<td>Gecko</td>
159
			<td>Netscape Navigator 9</td>
160
			<td>Win 98+ / OSX.2+</td>
161
			<td class="center">1.8</td>
162
			<td class="center">A</td>
163
		</tr>
164
		<tr class="even_gradeA">
165
			<td>Gecko</td>
166
			<td>Mozilla 1.0</td>
167
			<td>Win 95+ / OSX.1+</td>
168
			<td class="center">1</td>
169
			<td class="center">A</td>
170
		</tr>
171
		<tr class="odd_gradeA">
172
			<td>Gecko</td>
173
			<td>Mozilla 1.1</td>
174
			<td>Win 95+ / OSX.1+</td>
175
			<td class="center">1.1</td>
176
			<td class="center">A</td>
177
		</tr>
178
		<tr class="even_gradeA">
179
			<td>Gecko</td>
180
			<td>Mozilla 1.2</td>
181
			<td>Win 95+ / OSX.1+</td>
182
			<td class="center">1.2</td>
183
			<td class="center">A</td>
184
		</tr>
185
		<tr class="odd_gradeA">
186
			<td>Gecko</td>
187
			<td>Mozilla 1.3</td>
188
			<td>Win 95+ / OSX.1+</td>
189
			<td class="center">1.3</td>
190
			<td class="center">A</td>
191
		</tr>
192
		<tr class="even_gradeA">
193
			<td>Gecko</td>
194
			<td>Mozilla 1.4</td>
195
			<td>Win 95+ / OSX.1+</td>
196
			<td class="center">1.4</td>
197
			<td class="center">A</td>
198
		</tr>
199
		<tr class="odd_gradeA">
200
			<td>Gecko</td>
201
			<td>Mozilla 1.5</td>
202
			<td>Win 95+ / OSX.1+</td>
203
			<td class="center">1.5</td>
204
			<td class="center">A</td>
205
		</tr>
206
		<tr class="even_gradeA">
207
			<td>Gecko</td>
208
			<td>Mozilla 1.6</td>
209
			<td>Win 95+ / OSX.1+</td>
210
			<td class="center">1.6</td>
211
			<td class="center">A</td>
212
		</tr>
213
		<tr class="odd_gradeA">
214
			<td>Gecko</td>
215
			<td>Mozilla 1.7</td>
216
			<td>Win 98+ / OSX.1+</td>
217
			<td class="center">1.7</td>
218
			<td class="center">A</td>
219
		</tr>
220
		<tr class="even_gradeA">
221
			<td>Gecko</td>
222
			<td>Mozilla 1.8</td>
223
			<td>Win 98+ / OSX.1+</td>
224
			<td class="center">1.8</td>
225
			<td class="center">A</td>
226
		</tr>
227
		<tr class="odd_gradeA">
228
			<td>Gecko</td>
229
			<td>Seamonkey 1.1</td>
230
			<td>Win 98+ / OSX.2+</td>
231
			<td class="center">1.8</td>
232
			<td class="center">A</td>
233
		</tr>
234
		<tr class="even_gradeA">
235
			<td>Gecko</td>
236
			<td>Epiphany 2.20</td>
237
			<td>Gnome</td>
238
			<td class="center">1.8</td>
239
			<td class="center">A</td>
240
		</tr>
241
		<tr class="odd_gradeA">
242
			<td>Webkit</td>
243
			<td>Safari 1.2</td>
244
			<td>OSX.3</td>
245
			<td class="center">125.5</td>
246
			<td class="center">A</td>
247
		</tr>
248
		<tr class="even_gradeA">
249
			<td>Webkit</td>
250
			<td>Safari 1.3</td>
251
			<td>OSX.3</td>
252
			<td class="center">312.8</td>
253
			<td class="center">A</td>
254
		</tr>
255
		<tr class="odd_gradeA">
256
			<td>Webkit</td>
257
			<td>Safari 2.0</td>
258
			<td>OSX.4+</td>
259
			<td class="center">419.3</td>
260
			<td class="center">A</td>
261
		</tr>
262
		<tr class="even_gradeA">
263
			<td>Webkit</td>
264
			<td>Safari 3.0</td>
265
			<td>OSX.4+</td>
266
			<td class="center">522.1</td>
267
			<td class="center">A</td>
268
		</tr>
269
		<tr class="odd_gradeA">
270
			<td>Webkit</td>
271
			<td>OmniWeb 5.5</td>
272
			<td>OSX.4+</td>
273
			<td class="center">420</td>
274
			<td class="center">A</td>
275
		</tr>
276
		<tr class="even_gradeA">
277
			<td>Webkit</td>
278
			<td>iPod Touch / iPhone</td>
279
			<td>iPod</td>
280
			<td class="center">420.1</td>
281
			<td class="center">A</td>
282
		</tr>
283
		<tr class="odd_gradeA">
284
			<td>Webkit</td>
285
			<td>S60</td>
286
			<td>S60</td>
287
			<td class="center">413</td>
288
			<td class="center">A</td>
289
		</tr>
290
		<tr class="even_gradeA">
291
			<td>Presto</td>
292
			<td>Opera 7.0</td>
293
			<td>Win 95+ / OSX.1+</td>
294
			<td class="center">-</td>
295
			<td class="center">A</td>
296
		</tr>
297
		<tr class="odd_gradeA">
298
			<td>Presto</td>
299
			<td>Opera 7.5</td>
300
			<td>Win 95+ / OSX.2+</td>
301
			<td class="center">-</td>
302
			<td class="center">A</td>
303
		</tr>
304
		<tr class="even_gradeA">
305
			<td>Presto</td>
306
			<td>Opera 8.0</td>
307
			<td>Win 95+ / OSX.2+</td>
308
			<td class="center">-</td>
309
			<td class="center">A</td>
310
		</tr>
311
		<tr class="odd_gradeA">
312
			<td>Presto</td>
313
			<td>Opera 8.5</td>
314
			<td>Win 95+ / OSX.2+</td>
315
			<td class="center">-</td>
316
			<td class="center">A</td>
317
		</tr>
318
		<tr class="even_gradeA">
319
			<td>Presto</td>
320
			<td>Opera 9.0</td>
321
			<td>Win 95+ / OSX.3+</td>
322
			<td class="center">-</td>
323
			<td class="center">A</td>
324
		</tr>
325
		<tr class="odd_gradeA">
326
			<td>Presto</td>
327
			<td>Opera 9.2</td>
328
			<td>Win 88+ / OSX.3+</td>
329
			<td class="center">-</td>
330
			<td class="center">A</td>
331
		</tr>
332
		<tr class="even_gradeA">
333
			<td>Presto</td>
334
			<td>Opera 9.5</td>
335
			<td>Win 88+ / OSX.3+</td>
336
			<td class="center">-</td>
337
			<td class="center">A</td>
338
		</tr>
339
		<tr class="odd_gradeA">
340
			<td>Presto</td>
341
			<td>Opera for Wii</td>
342
			<td>Wii</td>
343
			<td class="center">-</td>
344
			<td class="center">A</td>
345
		</tr>
346
		<tr class="even_gradeA">
347
			<td>Presto</td>
348
			<td>Nokia N800</td>
349
			<td>N800</td>
350
			<td class="center">-</td>
351
			<td class="center">A</td>
352
		</tr>
353
		<tr class="odd_gradeA">
354
			<td>Presto</td>
355
			<td>Nintendo DS browser</td>
356
			<td>Nintendo DS</td>
357
			<td class="center">8.5</td>
358
			<td class="center">C/A<sup>1</sup></td>
359
		</tr>
360
		<tr class="even_gradeC">
361
			<td>KHTML</td>
362
			<td>Konqureror 3.1</td>
363
			<td>KDE 3.1</td>
364
			<td class="center">3.1</td>
365
			<td class="center">C</td>
366
		</tr>
367
		<tr class="odd_gradeA">
368
			<td>KHTML</td>
369
			<td>Konqureror 3.3</td>
370
			<td>KDE 3.3</td>
371
			<td class="center">3.3</td>
372
			<td class="center">A</td>
373
		</tr>
374
		<tr class="even_gradeA">
375
			<td>KHTML</td>
376
			<td>Konqureror 3.5</td>
377
			<td>KDE 3.5</td>
378
			<td class="center">3.5</td>
379
			<td class="center">A</td>
380
		</tr>
381
		<tr class="odd_gradeX">
382
			<td>Tasman</td>
383
			<td>Internet Explorer 4.5</td>
384
			<td>Mac OS 8-9</td>
385
			<td class="center">-</td>
386
			<td class="center">X</td>
387
		</tr>
388
		<tr class="even_gradeC">
389
			<td>Tasman</td>
390
			<td>Internet Explorer 5.1</td>
391
			<td>Mac OS 7.6-9</td>
392
			<td class="center">1</td>
393
			<td class="center">C</td>
394
		</tr>
395
		<tr class="odd_gradeC">
396
			<td>Tasman</td>
397
			<td>Internet Explorer 5.2</td>
398
			<td>Mac OS 8-X</td>
399
			<td class="center">1</td>
400
			<td class="center">C</td>
401
		</tr>
402
		<tr class="even_gradeA">
403
			<td>Misc</td>
404
			<td>NetFront 3.1</td>
405
			<td>Embedded devices</td>
406
			<td class="center">-</td>
407
			<td class="center">C</td>
408
		</tr>
409
		<tr class="odd_gradeA">
410
			<td>Misc</td>
411
			<td>NetFront 3.4</td>
412
			<td>Embedded devices</td>
413
			<td class="center">-</td>
414
			<td class="center">A</td>
415
		</tr>
416
		<tr class="even_gradeX">
417
			<td>Misc</td>
418
			<td>Dillo 0.8</td>
419
			<td>Embedded devices</td>
420
			<td class="center">-</td>
421
			<td class="center">X</td>
422
		</tr>
423
		<tr class="odd_gradeX">
424
			<td>Misc</td>
425
			<td>Links</td>
426
			<td>Text only</td>
427
			<td class="center">-</td>
428
			<td class="center">X</td>
429
		</tr>
430
		<tr class="even_gradeX">
431
			<td>Misc</td>
432
			<td>Lynx</td>
433
			<td>Text only</td>
434
			<td class="center">-</td>
435
			<td class="center">X</td>
436
		</tr>
437
		<tr class="odd_gradeC">
438
			<td>Misc</td>
439
			<td>IE Mobile</td>
440
			<td>Windows Mobile 6</td>
441
			<td class="center">-</td>
442
			<td class="center">C</td>
443
		</tr>
444
		<tr class="even_gradeC">
445
			<td>Misc</td>
446
			<td>PSP browser</td>
447
			<td>PSP</td>
448
			<td class="center">-</td>
449
			<td class="center">C</td>
450
		</tr>
451
		<tr class="odd_gradeU">
452
			<td>Other browsers</td>
453
			<td>All others</td>
454
			<td>-</td>
455
			<td class="center">-</td>
456
			<td class="center">U</td>
457
		</tr>
458
	</tbody>
459
</table>
460
			</div>
461
			<div class="spacer"></div>
462
			
463
			
464
			<h1>Initialisation code</h1>
465
			<pre>$(document).ready( function () {
466
	TableTools.DEFAULTS.aButtons = [ "copy", "csv", "xls" ];
467
	
468
	$('#example').dataTable( {
469
		"sDom": 'T&lt;"clear"&gt;lfrtip'
470
	} );
471
} );</pre>
472
473
474
			<h1>Other examples</h1>
475
			<ul>
476
				<li><a href="index.html">Basic initialisation</a></li>
477
				<li><a href="swf_path.html">Setting the SWF path</a></li>
478
				<li><a href="alter_buttons.html">Custom button arrangement</a></li>
479
				<li><a href="button_text.html">Button text alteration</a></li>
480
				<li><a href="collection.html">Using button collections</a></li>
481
				<li><a href="theme.html">Using jQuery UI themes</a></li>
482
				<li><a href="bootstrap.html">Styling with Twitter Bootstrap</a></li>
483
				<li><a href="multi_instance.html">Multiple TableTools toolbars for a single table</a></li>
484
				<li><a href="multiple_tables.html">Multiple DataTables with a single initialisation</a></li>
485
				<li><a href="select_multi.html">User selectable rows (multiple rows)</a></li>
486
				<li><a href="select_single.html">User selectable rows (single row)</a></li>
487
				<li><a href="alt_init.html">Alternative initialisation using 'new TableTools()'</a></li>
488
				<li><a href="defaults.html">Altering the TableTools defaults</a></li>
489
				<li><a href="plug-in.html">TableTools plug-in buttons</a></li>
490
				<li><a href="pdf_message.html">Customising the PDF output (adding text and orientation)</a></li>
491
			</ul>
492
			
493
			
494
			<div id="footer" style="text-align:center;">
495
				<span style="font-size:10px;">
496
					TableTools and DataTables &copy; Allan Jardine 2009-2011.<br>
497
					Flash 10 save / copy operations are performed by a modified version of <a href="http://code.google.com/p/zeroclipboard/">Zero Clipboard</a>.<br>
498
					The icons used in the toolbar are modified from <a href="http://www.addictedtocoffee.de/">Oliver Twardowski's</a> <a href="http://www.smashingmagazine.com/2009/05/20/flavour-extended-the-ultimate-icon-set-for-web-designers/">Flavours Icon set</a>.
499
				</span>
500
			</div>
501
		</div>
502
	</body>
503
</html>
(-)a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/TableTools/index.html (+499 lines)
Line 0 Link Here
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2
<html>
3
	<head>
4
		<meta http-equiv="content-type" content="text/html; charset=utf-8">
5
		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
6
		
7
		<title>TableTools example</title>
8
		<style type="text/css" title="currentStyle">
9
			@import "../../media/css/demo_page.css";
10
			@import "../../media/css/demo_table.css";
11
			@import "media/css/TableTools.css";
12
		</style>
13
		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
14
		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
15
		<script type="text/javascript" charset="utf-8" src="media/js/ZeroClipboard.js"></script>
16
		<script type="text/javascript" charset="utf-8" src="media/js/TableTools.js"></script>
17
		<script type="text/javascript" charset="utf-8">
18
			$(document).ready( function () {
19
				$('#example').dataTable( {
20
					"sDom": 'T<"clear">lfrtip'
21
				} );
22
			} );
23
		</script>
24
	</head>
25
	<body id="dt_example">
26
		<div id="container">
27
			<div class="full_width big">
28
				TableTools example
29
			</div>
30
			
31
			<h1>Preamble</h1>
32
			<p>This example shows the basic initialisation of TableTools by simply including the 'T' marker in DataTables' sDom parameter. This tell DataTables to insert the TableTools toolbar in that location. Remember to include the Javascript and CSS source files as well!</p>
33
			<p>It is worth noting that you might need to <a href="swf_path.html">set the <i>sSwfPath</i> parameter</a> to tell TableTools where to find the SWF file for copy and file save.</p>
34
			
35
			<h1>Live example</h1>
36
			<div id="demo">
37
<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
38
	<thead>
39
		<tr>
40
			<th>Rendering engine</th>
41
			<th>Browser</th>
42
			<th>Platform(s)</th>
43
			<th>Engine version</th>
44
			<th>CSS grade</th>
45
		</tr>
46
	</thead>
47
	<tfoot>
48
		<tr>
49
			<th>Rendering engine</th>
50
			<th>Browser</th>
51
			<th>Platform(s)</th>
52
			<th>Engine version</th>
53
			<th>CSS grade</th>
54
		</tr>
55
	</tfoot>
56
	<tbody>
57
		<tr class="odd_gradeX">
58
			<td>Trident</td>
59
			<td>Internet Explorer 4.0</td>
60
			<td>Win 95+ (Entity: &amp;)</td>
61
			<td class="center">4</td>
62
			<td class="center">X</td>
63
		</tr>
64
		<tr class="even_gradeC">
65
			<td>Trident</td>
66
			<td>Internet Explorer 5.0</td>
67
			<td>Win 95+</td>
68
			<td class="center">5</td>
69
			<td class="center">C</td>
70
		</tr>
71
		<tr class="odd_gradeA">
72
			<td>Trident</td>
73
			<td>Internet Explorer 5.5</td>
74
			<td>Win 95+</td>
75
			<td class="center">5.5</td>
76
			<td class="center">A</td>
77
		</tr>
78
		<tr class="even_gradeA">
79
			<td>Trident</td>
80
			<td>Internet Explorer 6</td>
81
			<td>Win 98+</td>
82
			<td class="center">6</td>
83
			<td class="center">A</td>
84
		</tr>
85
		<tr class="odd_gradeA">
86
			<td>Trident</td>
87
			<td>Internet Explorer 7</td>
88
			<td>Win XP SP2+</td>
89
			<td class="center">7</td>
90
			<td class="center">A</td>
91
		</tr>
92
		<tr class="even_gradeA">
93
			<td>Trident</td>
94
			<td>AOL browser (AOL desktop)</td>
95
			<td>Win XP</td>
96
			<td class="center">6</td>
97
			<td class="center">A</td>
98
		</tr>
99
		<tr class="odd_gradeA">
100
			<td>Gecko (UTF-8: $¢€ היצוא)</td>
101
			<td>Firefox 1.0</td>
102
			<td>Win 98+ / OSX.2+</td>
103
			<td class="center">1.7</td>
104
			<td class="center">A</td>
105
		</tr>
106
		<tr class="even_gradeA">
107
			<td>Gecko</td>
108
			<td>Firefox 1.5</td>
109
			<td>Win 98+ / OSX.2+</td>
110
			<td class="center">1.8</td>
111
			<td class="center">A</td>
112
		</tr>
113
		<tr class="odd_gradeA">
114
			<td>Gecko</td>
115
			<td>Firefox 2.0</td>
116
			<td>Win 98+ / OSX.2+</td>
117
			<td class="center">1.8</td>
118
			<td class="center">A</td>
119
		</tr>
120
		<tr class="even_gradeA">
121
			<td>Gecko</td>
122
			<td>Firefox 3.0</td>
123
			<td>Win 2k+ / OSX.3+</td>
124
			<td class="center">1.9</td>
125
			<td class="center">A</td>
126
		</tr>
127
		<tr class="odd_gradeA">
128
			<td>Gecko</td>
129
			<td>Camino 1.0</td>
130
			<td>OSX.2+</td>
131
			<td class="center">1.8</td>
132
			<td class="center">A</td>
133
		</tr>
134
		<tr class="even_gradeA">
135
			<td>Gecko</td>
136
			<td>Camino 1.5</td>
137
			<td>OSX.3+</td>
138
			<td class="center">1.8</td>
139
			<td class="center">A</td>
140
		</tr>
141
		<tr class="odd_gradeA">
142
			<td>Gecko</td>
143
			<td>Netscape 7.2</td>
144
			<td>Win 95+ / Mac OS 8.6-9.2</td>
145
			<td class="center">1.7</td>
146
			<td class="center">A</td>
147
		</tr>
148
		<tr class="even_gradeA">
149
			<td>Gecko</td>
150
			<td>Netscape Browser 8</td>
151
			<td>Win 98SE+</td>
152
			<td class="center">1.7</td>
153
			<td class="center">A</td>
154
		</tr>
155
		<tr class="odd_gradeA">
156
			<td>Gecko</td>
157
			<td>Netscape Navigator 9</td>
158
			<td>Win 98+ / OSX.2+</td>
159
			<td class="center">1.8</td>
160
			<td class="center">A</td>
161
		</tr>
162
		<tr class="even_gradeA">
163
			<td>Gecko</td>
164
			<td>Mozilla 1.0</td>
165
			<td>Win 95+ / OSX.1+</td>
166
			<td class="center">1</td>
167
			<td class="center">A</td>
168
		</tr>
169
		<tr class="odd_gradeA">
170
			<td>Gecko</td>
171
			<td>Mozilla 1.1</td>
172
			<td>Win 95+ / OSX.1+</td>
173
			<td class="center">1.1</td>
174
			<td class="center">A</td>
175
		</tr>
176
		<tr class="even_gradeA">
177
			<td>Gecko</td>
178
			<td>Mozilla 1.2</td>
179
			<td>Win 95+ / OSX.1+</td>
180
			<td class="center">1.2</td>
181
			<td class="center">A</td>
182
		</tr>
183
		<tr class="odd_gradeA">
184
			<td>Gecko</td>
185
			<td>Mozilla 1.3</td>
186
			<td>Win 95+ / OSX.1+</td>
187
			<td class="center">1.3</td>
188
			<td class="center">A</td>
189
		</tr>
190
		<tr class="even_gradeA">
191
			<td>Gecko</td>
192
			<td>Mozilla 1.4</td>
193
			<td>Win 95+ / OSX.1+</td>
194
			<td class="center">1.4</td>
195
			<td class="center">A</td>
196
		</tr>
197
		<tr class="odd_gradeA">
198
			<td>Gecko</td>
199
			<td>Mozilla 1.5</td>
200
			<td>Win 95+ / OSX.1+</td>
201
			<td class="center">1.5</td>
202
			<td class="center">A</td>
203
		</tr>
204
		<tr class="even_gradeA">
205
			<td>Gecko</td>
206
			<td>Mozilla 1.6</td>
207
			<td>Win 95+ / OSX.1+</td>
208
			<td class="center">1.6</td>
209
			<td class="center">A</td>
210
		</tr>
211
		<tr class="odd_gradeA">
212
			<td>Gecko</td>
213
			<td>Mozilla 1.7</td>
214
			<td>Win 98+ / OSX.1+</td>
215
			<td class="center">1.7</td>
216
			<td class="center">A</td>
217
		</tr>
218
		<tr class="even_gradeA">
219
			<td>Gecko</td>
220
			<td>Mozilla 1.8</td>
221
			<td>Win 98+ / OSX.1+</td>
222
			<td class="center">1.8</td>
223
			<td class="center">A</td>
224
		</tr>
225
		<tr class="odd_gradeA">
226
			<td>Gecko</td>
227
			<td>Seamonkey 1.1</td>
228
			<td>Win 98+ / OSX.2+</td>
229
			<td class="center">1.8</td>
230
			<td class="center">A</td>
231
		</tr>
232
		<tr class="even_gradeA">
233
			<td>Gecko</td>
234
			<td>Epiphany 2.20</td>
235
			<td>Gnome</td>
236
			<td class="center">1.8</td>
237
			<td class="center">A</td>
238
		</tr>
239
		<tr class="odd_gradeA">
240
			<td>Webkit</td>
241
			<td>Safari 1.2</td>
242
			<td>OSX.3</td>
243
			<td class="center">125.5</td>
244
			<td class="center">A</td>
245
		</tr>
246
		<tr class="even_gradeA">
247
			<td>Webkit</td>
248
			<td>Safari 1.3</td>
249
			<td>OSX.3</td>
250
			<td class="center">312.8</td>
251
			<td class="center">A</td>
252
		</tr>
253
		<tr class="odd_gradeA">
254
			<td>Webkit</td>
255
			<td>Safari 2.0</td>
256
			<td>OSX.4+</td>
257
			<td class="center">419.3</td>
258
			<td class="center">A</td>
259
		</tr>
260
		<tr class="even_gradeA">
261
			<td>Webkit</td>
262
			<td>Safari 3.0</td>
263
			<td>OSX.4+</td>
264
			<td class="center">522.1</td>
265
			<td class="center">A</td>
266
		</tr>
267
		<tr class="odd_gradeA">
268
			<td>Webkit</td>
269
			<td>OmniWeb 5.5</td>
270
			<td>OSX.4+</td>
271
			<td class="center">420</td>
272
			<td class="center">A</td>
273
		</tr>
274
		<tr class="even_gradeA">
275
			<td>Webkit</td>
276
			<td>iPod Touch / iPhone</td>
277
			<td>iPod</td>
278
			<td class="center">420.1</td>
279
			<td class="center">A</td>
280
		</tr>
281
		<tr class="odd_gradeA">
282
			<td>Webkit</td>
283
			<td>S60</td>
284
			<td>S60</td>
285
			<td class="center">413</td>
286
			<td class="center">A</td>
287
		</tr>
288
		<tr class="even_gradeA">
289
			<td>Presto</td>
290
			<td>Opera 7.0</td>
291
			<td>Win 95+ / OSX.1+</td>
292
			<td class="center">-</td>
293
			<td class="center">A</td>
294
		</tr>
295
		<tr class="odd_gradeA">
296
			<td>Presto</td>
297
			<td>Opera 7.5</td>
298
			<td>Win 95+ / OSX.2+</td>
299
			<td class="center">-</td>
300
			<td class="center">A</td>
301
		</tr>
302
		<tr class="even_gradeA">
303
			<td>Presto</td>
304
			<td>Opera 8.0</td>
305
			<td>Win 95+ / OSX.2+</td>
306
			<td class="center">-</td>
307
			<td class="center">A</td>
308
		</tr>
309
		<tr class="odd_gradeA">
310
			<td>Presto</td>
311
			<td>Opera 8.5</td>
312
			<td>Win 95+ / OSX.2+</td>
313
			<td class="center">-</td>
314
			<td class="center">A</td>
315
		</tr>
316
		<tr class="even_gradeA">
317
			<td>Presto</td>
318
			<td>Opera 9.0</td>
319
			<td>Win 95+ / OSX.3+</td>
320
			<td class="center">-</td>
321
			<td class="center">A</td>
322
		</tr>
323
		<tr class="odd_gradeA">
324
			<td>Presto</td>
325
			<td>Opera 9.2</td>
326
			<td>Win 88+ / OSX.3+</td>
327
			<td class="center">-</td>
328
			<td class="center">A</td>
329
		</tr>
330
		<tr class="even_gradeA">
331
			<td>Presto</td>
332
			<td>Opera 9.5</td>
333
			<td>Win 88+ / OSX.3+</td>
334
			<td class="center">-</td>
335
			<td class="center">A</td>
336
		</tr>
337
		<tr class="odd_gradeA">
338
			<td>Presto</td>
339
			<td>Opera for Wii</td>
340
			<td>Wii</td>
341
			<td class="center">-</td>
342
			<td class="center">A</td>
343
		</tr>
344
		<tr class="even_gradeA">
345
			<td>Presto</td>
346
			<td>Nokia N800</td>
347
			<td>N800</td>
348
			<td class="center">-</td>
349
			<td class="center">A</td>
350
		</tr>
351
		<tr class="odd_gradeA">
352
			<td>Presto</td>
353
			<td>Nintendo DS browser</td>
354
			<td>Nintendo DS</td>
355
			<td class="center">8.5</td>
356
			<td class="center">C/A<sup>1</sup></td>
357
		</tr>
358
		<tr class="even_gradeC">
359
			<td>KHTML</td>
360
			<td>Konqureror 3.1</td>
361
			<td>KDE 3.1</td>
362
			<td class="center">3.1</td>
363
			<td class="center">C</td>
364
		</tr>
365
		<tr class="odd_gradeA">
366
			<td>KHTML</td>
367
			<td>Konqureror 3.3</td>
368
			<td>KDE 3.3</td>
369
			<td class="center">3.3</td>
370
			<td class="center">A</td>
371
		</tr>
372
		<tr class="even_gradeA">
373
			<td>KHTML</td>
374
			<td>Konqureror 3.5</td>
375
			<td>KDE 3.5</td>
376
			<td class="center">3.5</td>
377
			<td class="center">A</td>
378
		</tr>
379
		<tr class="odd_gradeX">
380
			<td>Tasman</td>
381
			<td>Internet Explorer 4.5</td>
382
			<td>Mac OS 8-9</td>
383
			<td class="center">-</td>
384
			<td class="center">X</td>
385
		</tr>
386
		<tr class="even_gradeC">
387
			<td>Tasman</td>
388
			<td>Internet Explorer 5.1</td>
389
			<td>Mac OS 7.6-9</td>
390
			<td class="center">1</td>
391
			<td class="center">C</td>
392
		</tr>
393
		<tr class="odd_gradeC">
394
			<td>Tasman</td>
395
			<td>Internet Explorer 5.2</td>
396
			<td>Mac OS 8-X</td>
397
			<td class="center">1</td>
398
			<td class="center">C</td>
399
		</tr>
400
		<tr class="even_gradeA">
401
			<td>Misc</td>
402
			<td>NetFront 3.1</td>
403
			<td>Embedded devices</td>
404
			<td class="center">-</td>
405
			<td class="center">C</td>
406
		</tr>
407
		<tr class="odd_gradeA">
408
			<td>Misc</td>
409
			<td>NetFront 3.4</td>
410
			<td>Embedded devices</td>
411
			<td class="center">-</td>
412
			<td class="center">A</td>
413
		</tr>
414
		<tr class="even_gradeX">
415
			<td>Misc</td>
416
			<td>Dillo 0.8</td>
417
			<td>Embedded devices</td>
418
			<td class="center">-</td>
419
			<td class="center">X</td>
420
		</tr>
421
		<tr class="odd_gradeX">
422
			<td>Misc</td>
423
			<td>Links</td>
424
			<td>Text only</td>
425
			<td class="center">-</td>
426
			<td class="center">X</td>
427
		</tr>
428
		<tr class="even_gradeX">
429
			<td>Misc</td>
430
			<td>Lynx</td>
431
			<td>Text only</td>
432
			<td class="center">-</td>
433
			<td class="center">X</td>
434
		</tr>
435
		<tr class="odd_gradeC">
436
			<td>Misc</td>
437
			<td>IE Mobile</td>
438
			<td>Windows Mobile 6</td>
439
			<td class="center">-</td>
440
			<td class="center">C</td>
441
		</tr>
442
		<tr class="even_gradeC">
443
			<td>Misc</td>
444
			<td>PSP browser</td>
445
			<td>PSP</td>
446
			<td class="center">-</td>
447
			<td class="center">C</td>
448
		</tr>
449
		<tr class="odd_gradeU">
450
			<td>Other browsers</td>
451
			<td>All others</td>
452
			<td>-</td>
453
			<td class="center">-</td>
454
			<td class="center">U</td>
455
		</tr>
456
	</tbody>
457
</table>
458
			</div>
459
			<div class="spacer"></div>
460
			
461
			
462
			<h1>Initialisation code</h1>
463
			<pre>$(document).ready( function () {
464
	$('#example').dataTable( {
465
		"sDom": 'T&lt;"clear"&gt;lfrtip'
466
	} );
467
} );</pre>
468
469
470
			<h1>Other examples</h1>
471
			<ul>
472
				<li><a href="index.html">Basic initialisation</a></li>
473
				<li><a href="swf_path.html">Setting the SWF path</a></li>
474
				<li><a href="alter_buttons.html">Custom button arrangement</a></li>
475
				<li><a href="button_text.html">Button text alteration</a></li>
476
				<li><a href="collection.html">Using button collections</a></li>
477
				<li><a href="theme.html">Using jQuery UI themes</a></li>
478
				<li><a href="bootstrap.html">Styling with Twitter Bootstrap</a></li>
479
				<li><a href="multi_instance.html">Multiple TableTools toolbars for a single table</a></li>
480
				<li><a href="multiple_tables.html">Multiple DataTables with a single initialisation</a></li>
481
				<li><a href="select_multi.html">User selectable rows (multiple rows)</a></li>
482
				<li><a href="select_single.html">User selectable rows (single row)</a></li>
483
				<li><a href="alt_init.html">Alternative initialisation using 'new TableTools()'</a></li>
484
				<li><a href="defaults.html">Altering the TableTools defaults</a></li>
485
				<li><a href="plug-in.html">TableTools plug-in buttons</a></li>
486
				<li><a href="pdf_message.html">Customising the PDF output (adding text and orientation)</a></li>
487
			</ul>
488
			
489
			
490
			<div id="footer" style="text-align:center;">
491
				<span style="font-size:10px;">
492
					TableTools and DataTables &copy; Allan Jardine 2009-2011.<br>
493
					Flash 10 save / copy operations are performed by a modified version of <a href="http://code.google.com/p/zeroclipboard/">Zero Clipboard</a>.<br>
494
					The icons used in the toolbar are modified from <a href="http://www.addictedtocoffee.de/">Oliver Twardowski's</a> <a href="http://www.smashingmagazine.com/2009/05/20/flavour-extended-the-ultimate-icon-set-for-web-designers/">Flavours Icon set</a>.
495
				</span>
496
			</div>
497
		</div>
498
	</body>
499
</html>
(-)a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/TableTools/media/as3/ZeroClipboard.as (+221 lines)
Line 0 Link Here
1
/* Compile using: mxmlc --target-player=10.0.0 ZeroClipboard.as */
2
package {
3
	import flash.display.Stage;
4
	import flash.display.Sprite;
5
	import flash.display.LoaderInfo;
6
	import flash.display.StageScaleMode;
7
	import flash.events.*;
8
	import flash.display.StageAlign;
9
	import flash.display.StageScaleMode;
10
	import flash.external.ExternalInterface;
11
	import flash.system.Security;
12
	import flash.utils.*;
13
	import flash.system.System;
14
	import flash.net.FileReference;
15
	import flash.net.FileFilter;
16
 
17
	public class ZeroClipboard extends Sprite {
18
		
19
		private var domId:String = '';
20
		private var button:Sprite;
21
		private var clipText:String = 'blank';
22
		private var fileName:String = '';
23
		private var action:String = 'copy';
24
		private var incBom:Boolean = true;
25
		private var charSet:String = 'utf8';
26
		
27
		
28
		public function ZeroClipboard() {
29
			// constructor, setup event listeners and external interfaces
30
			stage.scaleMode = StageScaleMode.EXACT_FIT;
31
			flash.system.Security.allowDomain("*");
32
			
33
			// import flashvars
34
			var flashvars:Object = LoaderInfo( this.root.loaderInfo ).parameters;
35
			domId = flashvars.id.split("\\").join("\\\\");
36
			
37
			// invisible button covers entire stage
38
			button = new Sprite();
39
			button.buttonMode = true;
40
			button.useHandCursor = true;
41
			button.graphics.beginFill(0x00FF00);
42
			button.graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight);
43
			button.alpha = 0.0;
44
			addChild(button);
45
			
46
			button.addEventListener(MouseEvent.CLICK, clickHandler);
47
			button.addEventListener(MouseEvent.MOUSE_OVER, function(event:Event):void {
48
				ExternalInterface.call( 'ZeroClipboard_TableTools.dispatch', domId, 'mouseOver', null );
49
			} );
50
			button.addEventListener(MouseEvent.MOUSE_OUT, function(event:Event):void {
51
				ExternalInterface.call( 'ZeroClipboard_TableTools.dispatch', domId, 'mouseOut', null );
52
			} );
53
			button.addEventListener(MouseEvent.MOUSE_DOWN, function(event:Event):void {
54
				ExternalInterface.call( 'ZeroClipboard_TableTools.dispatch', domId, 'mouseDown', null );
55
			} );
56
			button.addEventListener(MouseEvent.MOUSE_UP, function(event:Event):void {
57
				ExternalInterface.call( 'ZeroClipboard_TableTools.dispatch', domId, 'mouseUp', null );
58
			} );
59
			
60
			// External functions - readd whenever the stage is made active for IE
61
			addCallbacks();
62
			stage.addEventListener(Event.ACTIVATE, addCallbacks);
63
			
64
			// signal to the browser that we are ready
65
			ExternalInterface.call( 'ZeroClipboard_TableTools.dispatch', domId, 'load', null );
66
		}
67
		
68
		public function addCallbacks (evt:Event = null):void {
69
			ExternalInterface.addCallback("setHandCursor", setHandCursor);
70
			ExternalInterface.addCallback("clearText", clearText);
71
			ExternalInterface.addCallback("setText", setText);
72
			ExternalInterface.addCallback("appendText", appendText);
73
			ExternalInterface.addCallback("setFileName", setFileName);
74
			ExternalInterface.addCallback("setAction", setAction);
75
			ExternalInterface.addCallback("setCharSet", setCharSet);
76
			ExternalInterface.addCallback("setBomInc", setBomInc);
77
		}
78
		
79
		
80
		public function setCharSet(newCharSet:String):void {
81
			if ( newCharSet == 'UTF16LE' ) {
82
				charSet = newCharSet;
83
			} else {
84
				charSet = 'UTF8';
85
			}
86
		}
87
		
88
		public function setBomInc(newBomInc:Boolean):void {
89
			incBom = newBomInc;
90
		}
91
		
92
		public function clearText():void {
93
			clipText = '';
94
		}
95
		
96
		public function appendText(newText:String):void {
97
			clipText += newText;
98
		}
99
		
100
		public function setText(newText:String):void {
101
			clipText = newText;
102
		}
103
		
104
		public function setFileName(newFileName:String):void {
105
			fileName = newFileName;
106
		}
107
		
108
		public function setAction(newAction:String):void {
109
			action = newAction;
110
		}
111
		
112
		public function setHandCursor(enabled:Boolean):void {
113
			// control whether the hand cursor is shown on rollover (true)
114
			// or the default arrow cursor (false)
115
			button.useHandCursor = enabled;
116
		}
117
		
118
		
119
		private function clickHandler(event:Event):void {
120
			var fileRef:FileReference = new FileReference();
121
			fileRef.addEventListener(Event.COMPLETE, saveComplete);
122
			
123
			if ( action == "save" ) {
124
				/* Save as a file */
125
				if ( charSet == 'UTF16LE' ) {
126
					fileRef.save( strToUTF16LE(clipText), fileName );
127
				} else {
128
					fileRef.save( strToUTF8(clipText), fileName );
129
				}
130
			} else if ( action == "pdf" ) {
131
					fileRef.save( "This instance of ZeroClipboard is not configured for PDF export. "+
132
						"Please use the PDF export version.", fileName+".txt" );
133
			} else {
134
				/* Copy the text to the clipboard. Note charset and BOM have no effect here */
135
				System.setClipboard( clipText );
136
				ExternalInterface.call( 'ZeroClipboard_TableTools.dispatch', domId, 'complete', clipText );
137
			}
138
		}
139
		
140
		
141
		private function saveComplete(event:Event):void {
142
			ExternalInterface.call( 'ZeroClipboard_TableTools.dispatch', domId, 'complete', clipText );
143
		}
144
		
145
		
146
		private function getProp( prop:String, opts:Array ):String
147
		{
148
			var i:int, iLen:int;
149
			for ( i=0, iLen=opts.length ; i<iLen ; i++ )
150
			{
151
				if ( opts[i].indexOf( prop+":" ) != -1 )
152
				{
153
					return opts[i].replace( prop+":", "" );
154
				}
155
			}
156
			return "";
157
		}
158
		
159
		
160
		/*
161
		 * Function: strToUTF8
162
		 * Purpose:  Convert a string to the output utf-8
163
		 * Returns:  ByteArray
164
		 * Inputs:   String
165
		 */
166
		private function strToUTF8( str:String ):ByteArray {
167
			var utf8:ByteArray = new ByteArray();
168
			
169
			/* BOM first */
170
			if ( incBom ) {
171
				utf8.writeByte( 0xEF );
172
				utf8.writeByte( 0xBB );
173
				utf8.writeByte( 0xBF );
174
			}
175
			utf8.writeUTFBytes( str );
176
			
177
			return utf8;
178
		}
179
		
180
		
181
		/*
182
		 * Function: strToUTF16LE
183
		 * Purpose:  Convert a string to the output utf-16
184
		 * Returns:  ByteArray
185
		 * Inputs:   String
186
		 * Notes:    The fact that this function is needed is a little annoying. Basically, strings in
187
		 *   AS3 are UTF-16 (with surrogate pairs and everything), but characters which take up less
188
		 *   than 8 bytes appear to be stored as only 8 bytes. This function effective adds the 
189
		 *   padding required, and the BOM
190
		 */
191
		private function strToUTF16LE( str:String ):ByteArray {
192
			var utf16:ByteArray = new ByteArray();
193
			var iChar:uint;
194
			var i:uint=0, iLen:uint = str.length;
195
			
196
			/* BOM first */
197
			if ( incBom ) {
198
				utf16.writeByte( 0xFF );
199
				utf16.writeByte( 0xFE );
200
			}
201
			
202
			while ( i < iLen ) {
203
				iChar = str.charCodeAt(i);
204
				
205
				if ( iChar < 0xFF ) {
206
					/* one byte char */
207
					utf16.writeByte( iChar );
208
					utf16.writeByte( 0 );
209
				} else {
210
					/* two byte char */
211
					utf16.writeByte( iChar & 0x00FF );
212
					utf16.writeByte( iChar >> 8 );
213
				}
214
				
215
				i++;
216
			}
217
			
218
			return utf16;
219
		}
220
	}
221
}
(-)a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/TableTools/media/as3/ZeroClipboardPdf.as (+310 lines)
Line 0 Link Here
1
/* Compile using: mxmlc --target-player=10.0.0 -static-link-runtime-shared-libraries=true -library-path+=lib ZeroClipboardPdf.as */
2
package {
3
	import flash.display.Stage;
4
	import flash.display.Sprite;
5
	import flash.display.LoaderInfo;
6
	import flash.display.StageScaleMode;
7
	import flash.events.*;
8
	import flash.display.StageAlign;
9
	import flash.display.StageScaleMode;
10
	import flash.external.ExternalInterface;
11
	import flash.system.Security;
12
	import flash.utils.*;
13
	import flash.system.System;
14
	import flash.net.FileReference;
15
	import flash.net.FileFilter;
16
	
17
	/* PDF imports */
18
	import org.alivepdf.pdf.PDF;
19
	import org.alivepdf.data.Grid;
20
	import org.alivepdf.data.GridColumn;
21
	import org.alivepdf.layout.Orientation;
22
	import org.alivepdf.layout.Size;
23
	import org.alivepdf.layout.Unit;
24
	import org.alivepdf.display.Display;
25
	import org.alivepdf.saving.Method;
26
	import org.alivepdf.fonts.FontFamily;
27
	import org.alivepdf.fonts.Style;
28
	import org.alivepdf.fonts.CoreFont;
29
	import org.alivepdf.colors.RGBColor;
30
 
31
	public class ZeroClipboard extends Sprite {
32
		
33
		private var domId:String = '';
34
		private var button:Sprite;
35
		private var clipText:String = 'blank';
36
		private var fileName:String = '';
37
		private var action:String = 'copy';
38
		private var incBom:Boolean = true;
39
		private var charSet:String = 'utf8';
40
		
41
		
42
		public function ZeroClipboard() {
43
			// constructor, setup event listeners and external interfaces
44
			stage.scaleMode = StageScaleMode.EXACT_FIT;
45
			flash.system.Security.allowDomain("*");
46
			
47
			// import flashvars
48
			var flashvars:Object = LoaderInfo( this.root.loaderInfo ).parameters;
49
			domId = flashvars.id.split("\\").join("\\\\");
50
			
51
			// invisible button covers entire stage
52
			button = new Sprite();
53
			button.buttonMode = true;
54
			button.useHandCursor = true;
55
			button.graphics.beginFill(0x00FF00);
56
			button.graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight);
57
			button.alpha = 0.0;
58
			addChild(button);
59
			
60
			button.addEventListener(MouseEvent.CLICK, function(event:Event):void {
61
				clickHandler(event);
62
			} );
63
			button.addEventListener(MouseEvent.MOUSE_OVER, function(event:Event):void {
64
				ExternalInterface.call( 'ZeroClipboard_TableTools.dispatch', domId, 'mouseOver', null );
65
			} );
66
			button.addEventListener(MouseEvent.MOUSE_OUT, function(event:Event):void {
67
				ExternalInterface.call( 'ZeroClipboard_TableTools.dispatch', domId, 'mouseOut', null );
68
			} );
69
			button.addEventListener(MouseEvent.MOUSE_DOWN, function(event:Event):void {
70
				ExternalInterface.call( 'ZeroClipboard_TableTools.dispatch', domId, 'mouseDown', null );
71
			} );
72
			button.addEventListener(MouseEvent.MOUSE_UP, function(event:Event):void {
73
				ExternalInterface.call( 'ZeroClipboard_TableTools.dispatch', domId, 'mouseUp', null );
74
			} );
75
			
76
			// External functions - readd whenever the stage is made active for IE
77
			addCallbacks();
78
			stage.addEventListener(Event.ACTIVATE, addCallbacks);
79
80
			// signal to the browser that we are ready
81
			ExternalInterface.call( 'ZeroClipboard_TableTools.dispatch', domId, 'load', null );
82
		}
83
		
84
		public function addCallbacks (evt:Event = null):void {
85
			ExternalInterface.addCallback("setHandCursor", setHandCursor);
86
			ExternalInterface.addCallback("clearText", clearText);
87
			ExternalInterface.addCallback("setText", setText);
88
			ExternalInterface.addCallback("appendText", appendText);
89
			ExternalInterface.addCallback("setFileName", setFileName);
90
			ExternalInterface.addCallback("setAction", setAction);
91
			ExternalInterface.addCallback("setCharSet", setCharSet);
92
			ExternalInterface.addCallback("setBomInc", setBomInc);
93
		}
94
		
95
		
96
		public function setCharSet(newCharSet:String):void {
97
			if ( newCharSet == 'UTF16LE' ) {
98
				charSet = newCharSet;
99
			} else {
100
				charSet = 'UTF8';
101
			}
102
		}
103
		
104
		public function setBomInc(newBomInc:Boolean):void {
105
			incBom = newBomInc;
106
		}
107
		
108
		public function clearText():void {
109
			clipText = '';
110
		}
111
		
112
		public function appendText(newText:String):void {
113
			clipText += newText;
114
		}
115
		
116
		public function setText(newText:String):void {
117
			clipText = newText;
118
		}
119
		
120
		public function setFileName(newFileName:String):void {
121
			fileName = newFileName;
122
		}
123
		
124
		public function setAction(newAction:String):void {
125
			action = newAction;
126
		}
127
		
128
		public function setHandCursor(enabled:Boolean):void {
129
			// control whether the hand cursor is shown on rollover (true)
130
			// or the default arrow cursor (false)
131
			button.useHandCursor = enabled;
132
		}
133
		
134
		
135
		private function clickHandler(event:Event):void {
136
			var fileRef:FileReference = new FileReference();
137
			fileRef.addEventListener(Event.COMPLETE, saveComplete);
138
			
139
			if ( action == "save" ) {
140
				/* Save as a file */
141
				if ( charSet == 'UTF16LE' ) {
142
					fileRef.save( strToUTF16LE(clipText), fileName );
143
				} else {
144
					fileRef.save( strToUTF8(clipText), fileName );
145
				}
146
			} else if ( action == "pdf" ) {
147
				/* Save as a PDF */
148
				var pdf:PDF = configPdf();
149
				fileRef.save( pdf.save( Method.LOCAL ), fileName );
150
			} else {
151
				/* Copy the text to the clipboard. Note charset and BOM have no effect here */
152
				System.setClipboard( clipText );
153
				ExternalInterface.call( 'ZeroClipboard_TableTools.dispatch', domId, 'complete', clipText );
154
			}
155
		}
156
		
157
		
158
		private function saveComplete(event:Event):void {
159
			ExternalInterface.call( 'ZeroClipboard_TableTools.dispatch', domId, 'complete', clipText );
160
		}
161
		
162
		
163
		private function getProp( prop:String, opts:Array ):String
164
		{
165
			var i:int, iLen:int;
166
			for ( i=0, iLen=opts.length ; i<iLen ; i++ )
167
			{
168
				if ( opts[i].indexOf( prop+":" ) != -1 )
169
				{
170
					return opts[i].replace( prop+":", "" );
171
				}
172
			}
173
			return "";
174
		}
175
		
176
		
177
		private function configPdf():PDF
178
		{
179
			var
180
				pdf:PDF,
181
				i:int, iLen:int,
182
				splitText:Array    = clipText.split("--/TableToolsOpts--\n"),
183
				opts:Array         = splitText[0].split("\n"),
184
				dataIn:Array       = splitText[1].split("\n"),
185
				aColRatio:Array    = getProp( 'colWidth', opts ).split('\t'),
186
				title:String       = getProp( 'title', opts ),
187
				message:String     = getProp( 'message', opts ),
188
				orientation:String = getProp( 'orientation', opts ),
189
				size:String        = getProp( 'size', opts ),
190
				iPageWidth:int     = 0,
191
				dataOut:Array      = [],
192
				columns:Array      = [],
193
				headers:Array,
194
				y:int = 0;
195
			
196
			/* Create the PDF */
197
			pdf = new PDF( Orientation[orientation.toUpperCase()], Unit.MM, Size[size.toUpperCase()] );
198
			pdf.setDisplayMode( Display.FULL_WIDTH );
199
			pdf.addPage();
200
			iPageWidth = pdf.getCurrentPage().w-20;
201
			pdf.textStyle( new RGBColor(0), 1 );
202
			
203
			/* Add the title / message if there is one */
204
			pdf.setFont( new CoreFont(FontFamily.HELVETICA), 14 );
205
			if ( title != "" )
206
			{
207
				pdf.writeText(11, title+"\n");
208
			}
209
			
210
			pdf.setFont( new CoreFont(FontFamily.HELVETICA), 11 );
211
			if ( message != "" )
212
			{
213
				pdf.writeText(11, message+"\n");
214
			}
215
			
216
			/* Data setup. Split up the headers, and then construct the columns */
217
			for ( i=0, iLen=dataIn.length ; i<iLen ; i++ )
218
			{
219
				if ( dataIn[i] != "" )
220
				{
221
					dataOut.push( dataIn[i].split("\t") );
222
				}
223
			}
224
			headers = dataOut.shift();
225
			
226
			for ( i=0, iLen=headers.length ; i<iLen ; i++ )
227
			{
228
				columns.push( new GridColumn( " \n"+headers[i]+"\n ", i.toString(), aColRatio[i]*iPageWidth, 'C' ) );
229
			}
230
			
231
			var grid:Grid = new Grid(
232
				dataOut,                  /* 1. data */
233
				iPageWidth,               /* 2. width */
234
				100,                      /* 3. height */
235
				new RGBColor (0xE0E0E0),  /* 4. headerColor */
236
				new RGBColor (0xFFFFFF),  /* 5. backgroundColor */
237
				true,                     /* 6. alternateRowColor */
238
				new RGBColor ( 0x0 ),     /* 7. borderColor */
239
				.1,                       /* 8. border alpha */
240
				null,                     /* 9. joins */
241
				columns                   /* 10. columns */
242
			);
243
			
244
			pdf.addGrid( grid, 0, y );
245
			return pdf;
246
		}
247
		
248
		
249
		/*
250
		 * Function: strToUTF8
251
		 * Purpose:  Convert a string to the output utf-8
252
		 * Returns:  ByteArray
253
		 * Inputs:   String
254
		 */
255
		private function strToUTF8( str:String ):ByteArray {
256
			var utf8:ByteArray = new ByteArray();
257
			
258
			/* BOM first */
259
			if ( incBom ) {
260
				utf8.writeByte( 0xEF );
261
				utf8.writeByte( 0xBB );
262
				utf8.writeByte( 0xBF );
263
			}
264
			utf8.writeUTFBytes( str );
265
			
266
			return utf8;
267
		}
268
		
269
		
270
		/*
271
		 * Function: strToUTF16LE
272
		 * Purpose:  Convert a string to the output utf-16
273
		 * Returns:  ByteArray
274
		 * Inputs:   String
275
		 * Notes:    The fact that this function is needed is a little annoying. Basically, strings in
276
		 *   AS3 are UTF-16 (with surrogate pairs and everything), but characters which take up less
277
		 *   than 8 bytes appear to be stored as only 8 bytes. This function effective adds the 
278
		 *   padding required, and the BOM
279
		 */
280
		private function strToUTF16LE( str:String ):ByteArray {
281
			var utf16:ByteArray = new ByteArray();
282
			var iChar:uint;
283
			var i:uint=0, iLen:uint = str.length;
284
			
285
			/* BOM first */
286
			if ( incBom ) {
287
				utf16.writeByte( 0xFF );
288
				utf16.writeByte( 0xFE );
289
			}
290
			
291
			while ( i < iLen ) {
292
				iChar = str.charCodeAt(i);
293
				
294
				if ( iChar < 0xFF ) {
295
					/* one byte char */
296
					utf16.writeByte( iChar );
297
					utf16.writeByte( 0 );
298
				} else {
299
					/* two byte char */
300
					utf16.writeByte( iChar & 0x00FF );
301
					utf16.writeByte( iChar >> 8 );
302
				}
303
				
304
				i++;
305
			}
306
			
307
			return utf16;
308
		}
309
	}
310
}
(-)a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/TableTools/media/css/TableTools.css (+321 lines)
Line 0 Link Here
1
/*
2
 * File:        TableTools.css
3
 * Description: Styles for TableTools 2
4
 * Author:      Allan Jardine (www.sprymedia.co.uk)
5
 * Language:    Javascript
6
 * License:     GPL v2 / 3 point BSD
7
 * Project:     DataTables
8
 * 
9
 * Copyright 2009-2012 Allan Jardine, all rights reserved.
10
 *
11
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
12
 *
13
 * CSS name space:
14
 *   DTTT                  DataTables TableTools
15
 *
16
 * Style sheet provides:
17
 *   CONTAINER             TableTools container element and styles applying to all components
18
 *   BUTTON_STYLES         Action specific button styles
19
 *   SELECTING             Row selection styles
20
 *   COLLECTIONS           Drop down list (collection) styles
21
 *   PRINTING              Print display styles
22
 */
23
24
25
/*
26
 * CONTAINER
27
 * TableTools container element and styles applying to all components
28
 */
29
div.DTTT_container {
30
	position: relative;
31
	float: right;
32
	margin-bottom: 1em;
33
}
34
35
button.DTTT_button,
36
div.DTTT_button,
37
a.DTTT_button {
38
	position: relative;
39
	float: left;
40
	margin-right: 3px;
41
	padding: 5px 8px;
42
	border: 1px solid #999;
43
	cursor: pointer;
44
	*cursor: hand;
45
	font-size: 0.88em;
46
	color: black !important;
47
48
	-webkit-border-radius: 2px;
49
	   -moz-border-radius: 2px;
50
	    -ms-border-radius: 2px;
51
	     -o-border-radius: 2px;
52
	        border-radius: 2px;
53
54
	-webkit-box-shadow: 1px 1px 3px #ccc;
55
	   -moz-box-shadow: 1px 1px 3px #ccc;
56
	    -ms-box-shadow: 1px 1px 3px #ccc;
57
	     -o-box-shadow: 1px 1px 3px #ccc;
58
	        box-shadow: 1px 1px 3px #ccc;
59
60
	/* Generated by http://www.colorzilla.com/gradient-editor/ */
61
	background: #ffffff; /* Old browsers */
62
	background: -webkit-linear-gradient(top, #ffffff 0%,#f3f3f3 89%,#f9f9f9 100%); /* Chrome10+,Safari5.1+ */
63
	background:    -moz-linear-gradient(top, #ffffff 0%,#f3f3f3 89%,#f9f9f9 100%); /* FF3.6+ */
64
	background:     -ms-linear-gradient(top, #ffffff 0%,#f3f3f3 89%,#f9f9f9 100%); /* IE10+ */
65
	background:      -o-linear-gradient(top, #ffffff 0%,#f3f3f3 89%,#f9f9f9 100%); /* Opera 11.10+ */
66
	background:         linear-gradient(top, #ffffff 0%,#f3f3f3 89%,#f9f9f9 100%); /* W3C */
67
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f9f9f9',GradientType=0 ); /* IE6-9 */
68
}
69
70
71
/* Buttons are cunning border-box sizing - we can't just use that for A and DIV due to IE6/7 */
72
button.DTTT_button {
73
	height: 30px;
74
	padding: 3px 8px;
75
}
76
77
.DTTT_button embed { 
78
	outline: none;
79
}
80
81
button.DTTT_button:hover,
82
div.DTTT_button:hover,
83
a.DTTT_button:hover {
84
	border: 1px solid #666;
85
	text-decoration: none !important;
86
87
	-webkit-box-shadow: 1px 1px 3px #999;
88
	   -moz-box-shadow: 1px 1px 3px #999;
89
	    -ms-box-shadow: 1px 1px 3px #999;
90
	     -o-box-shadow: 1px 1px 3px #999;
91
	        box-shadow: 1px 1px 3px #999;
92
93
	background: #f3f3f3; /* Old browsers */
94
	background: -webkit-linear-gradient(top, #f3f3f3 0%,#e2e2e2 89%,#f4f4f4 100%); /* Chrome10+,Safari5.1+ */
95
	background:    -moz-linear-gradient(top, #f3f3f3 0%,#e2e2e2 89%,#f4f4f4 100%); /* FF3.6+ */
96
	background:     -ms-linear-gradient(top, #f3f3f3 0%,#e2e2e2 89%,#f4f4f4 100%); /* IE10+ */
97
	background:      -o-linear-gradient(top, #f3f3f3 0%,#e2e2e2 89%,#f4f4f4 100%); /* Opera 11.10+ */
98
	background:         linear-gradient(top, #f3f3f3 0%,#e2e2e2 89%,#f4f4f4 100%); /* W3C */
99
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f3f3f3', endColorstr='#f4f4f4',GradientType=0 ); /* IE6-9 */
100
}
101
102
button.DTTT_disabled,
103
div.DTTT_disabled,
104
a.DTTT_disabled {
105
	color: #999;
106
	border: 1px solid #d0d0d0;
107
	
108
	background: #ffffff; /* Old browsers */
109
	background: -webkit-linear-gradient(top, #ffffff 0%,#f9f9f9 89%,#fafafa 100%); /* Chrome10+,Safari5.1+ */
110
	background:    -moz-linear-gradient(top, #ffffff 0%,#f9f9f9 89%,#fafafa 100%); /* FF3.6+ */
111
	background:     -ms-linear-gradient(top, #ffffff 0%,#f9f9f9 89%,#fafafa 100%); /* IE10+ */
112
	background:      -o-linear-gradient(top, #ffffff 0%,#f9f9f9 89%,#fafafa 100%); /* Opera 11.10+ */
113
	background:         linear-gradient(top, #ffffff 0%,#f9f9f9 89%,#fafafa 100%); /* W3C */
114
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#fafafa',GradientType=0 ); /* IE6-9 */
115
}
116
117
118
119
/*
120
 * BUTTON_STYLES
121
 * Action specific button styles
122
 * If you want images - comment this back in
123
124
a.DTTT_button_csv,
125
a.DTTT_button_xls,
126
a.DTTT_button_copy,
127
a.DTTT_button_pdf,
128
a.DTTT_button_print {
129
	padding-right: 0px;
130
}
131
132
a.DTTT_button_csv span,
133
a.DTTT_button_xls span,
134
a.DTTT_button_copy span,
135
a.DTTT_button_pdf span,
136
a.DTTT_button_print span {
137
	display: inline-block;
138
	height: 24px;
139
	line-height: 24px;
140
	padding-right: 30px;
141
}
142
143
144
a.DTTT_button_csv span { background: url(../images/csv.png) no-repeat bottom right; }
145
a.DTTT_button_csv:hover span { background: url(../images/csv_hover.png) no-repeat center right; }
146
147
a.DTTT_button_xls span { background: url(../images/xls.png) no-repeat center right; }
148
a.DTTT_button_xls:hover span { background: #f0f0f0 url(../images/xls_hover.png) no-repeat center right; }
149
150
a.DTTT_button_copy span { background: url(../images/copy.png) no-repeat center right; }
151
a.DTTT_button_copy:hover span { background: #f0f0f0 url(../images/copy_hover.png) no-repeat center right; }
152
153
a.DTTT_button_pdf span { background: url(../images/pdf.png) no-repeat center right; }
154
a.DTTT_button_pdf:hover span { background: #f0f0f0 url(../images/pdf_hover.png) no-repeat center right; }
155
156
a.DTTT_button_print span { background: url(../images/print.png) no-repeat center right; }
157
a.DTTT_button_print:hover span { background: #f0f0f0 url(../images/print_hover.png) no-repeat center right; }
158
159
 */
160
161
button.DTTT_button_collection span {
162
	padding-right: 17px;
163
	background: url(../images/collection.png) no-repeat center right;
164
}
165
166
button.DTTT_button_collection:hover span {
167
	padding-right: 17px;
168
	background: #f0f0f0 url(../images/collection_hover.png) no-repeat center right;
169
}
170
171
172
/*
173
 * SELECTING
174
 * Row selection styles
175
 */
176
table.DTTT_selectable tbody tr {
177
	cursor: pointer;
178
	*cursor: hand;
179
}
180
181
table.dataTable tr.DTTT_selected.odd {
182
	background-color: #9FAFD1;
183
}
184
185
table.dataTable tr.DTTT_selected.odd td.sorting_1 {
186
	background-color: #9FAFD1;
187
}
188
189
table.dataTable tr.DTTT_selected.odd td.sorting_2 {
190
	background-color: #9FAFD1;
191
}
192
193
table.dataTable tr.DTTT_selected.odd td.sorting_3 {
194
	background-color: #9FAFD1;
195
}
196
197
198
table.dataTable tr.DTTT_selected.even {
199
	background-color: #B0BED9;
200
}
201
202
table.dataTable tr.DTTT_selected.even td.sorting_1 {
203
	background-color: #B0BED9;
204
}
205
206
table.dataTable tr.DTTT_selected.even td.sorting_2 {
207
	background-color: #B0BED9;
208
}
209
210
table.dataTable tr.DTTT_selected.even td.sorting_3 {
211
	background-color: #B0BED9;
212
}
213
214
215
/*
216
 * COLLECTIONS
217
 * Drop down list (collection) styles
218
 */
219
220
div.DTTT_collection {
221
	width: 150px;
222
	padding: 8px 8px 4px 8px;
223
	border: 1px solid #ccc;
224
	border: 1px solid rgba( 0, 0, 0, 0.4 );
225
	background-color: #f3f3f3;
226
	background-color: rgba( 255, 255, 255, 0.3 );
227
	overflow: hidden;
228
	z-index: 2002;
229
230
	-webkit-border-radius: 5px;
231
	   -moz-border-radius: 5px;
232
	    -ms-border-radius: 5px;
233
	     -o-border-radius: 5px;
234
	        border-radius: 5px;
235
	
236
	-webkit-box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3);
237
	   -moz-box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3);
238
	    -ms-box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3);
239
	     -o-box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3);
240
	        box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3);
241
}
242
243
div.DTTT_collection_background {
244
	background: transparent url(../images/background.png) repeat top left;
245
	z-index: 2001;
246
}
247
248
div.DTTT_collection button.DTTT_button,
249
div.DTTT_collection div.DTTT_button,
250
div.DTTT_collection a.DTTT_button {
251
	position: relative;
252
	left: 0;
253
	right: 0;
254
255
	display: block;
256
	float: none;
257
	margin-bottom: 4px;
258
	
259
	-webkit-box-shadow: 1px 1px 3px #999;
260
	   -moz-box-shadow: 1px 1px 3px #999;
261
	    -ms-box-shadow: 1px 1px 3px #999;
262
	     -o-box-shadow: 1px 1px 3px #999;
263
	        box-shadow: 1px 1px 3px #999;
264
}
265
266
267
/*
268
 * PRINTING
269
 * Print display styles
270
 */
271
272
.DTTT_print_info {
273
	position: fixed;
274
	top: 50%;
275
	left: 50%;
276
	width: 400px;
277
	height: 150px;
278
	margin-left: -200px;
279
	margin-top: -75px;
280
	text-align: center;
281
	color: #333;
282
	padding: 10px 30px;
283
284
	background: #ffffff; /* Old browsers */
285
	background: -webkit-linear-gradient(top, #ffffff 0%,#f3f3f3 89%,#f9f9f9 100%); /* Chrome10+,Safari5.1+ */
286
	background:    -moz-linear-gradient(top, #ffffff 0%,#f3f3f3 89%,#f9f9f9 100%); /* FF3.6+ */
287
	background:     -ms-linear-gradient(top, #ffffff 0%,#f3f3f3 89%,#f9f9f9 100%); /* IE10+ */
288
	background:      -o-linear-gradient(top, #ffffff 0%,#f3f3f3 89%,#f9f9f9 100%); /* Opera 11.10+ */
289
	background:         linear-gradient(top, #ffffff 0%,#f3f3f3 89%,#f9f9f9 100%); /* W3C */
290
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f9f9f9',GradientType=0 ); /* IE6-9 */
291
	
292
	opacity: 0.95;
293
294
	border: 1px solid black;
295
	border: 1px solid rgba(0, 0, 0, 0.5);
296
	
297
	-webkit-border-radius: 6px;
298
	   -moz-border-radius: 6px;
299
	    -ms-border-radius: 6px;
300
	     -o-border-radius: 6px;
301
	        border-radius: 6px;
302
	
303
	-webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.5);
304
	   -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.5);
305
	    -ms-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.5);
306
	     -o-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.5);
307
	        box-shadow: 0 3px 7px rgba(0, 0, 0, 0.5);
308
}
309
310
.DTTT_print_info h6 {
311
	font-weight: normal;
312
	font-size: 28px;
313
	line-height: 28px;
314
	margin: 1em;
315
}
316
317
.DTTT_print_info p {
318
	font-size: 14px;
319
	line-height: 20px;
320
}
321
(-)a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/TableTools/media/css/TableTools_JUI.css (+185 lines)
Line 0 Link Here
1
/*
2
 * File:        TableTools.css
3
 * Description: Styles for TableTools 2 with JUI theming
4
 * Author:      Allan Jardine (www.sprymedia.co.uk)
5
 * Language:    Javascript
6
 * License:     LGPL / 3 point BSD
7
 * Project:     DataTables
8
 * 
9
 * Copyright 2010 Allan Jardine, all rights reserved.
10
 *
11
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
12
 *
13
 * Notes:
14
 *   Generally speaking, please refer to the TableTools.css file - this file contains basic
15
 *   modifications to that 'master' stylesheet for ThemeRoller.
16
 *
17
 * CSS name space:
18
 *   DTTT                  DataTables TableTools
19
 *
20
 * Colour dictionary:
21
 *   Button border         #d0d0d0
22
 *   Button border hover   #999999
23
 *   Hover background      #f0f0f0
24
 *   Action blue           #4b66d9
25
 *
26
 * Style sheet provides:
27
 *   CONTAINER             TableTools container element and styles applying to all components
28
 *   SELECTING             Row selection styles
29
 *   COLLECTIONS           Drop down list (collection) styles
30
 *   PRINTING              Print display styles
31
 *   MISC                  Minor misc styles
32
 */
33
34
35
/*
36
 * CONTAINER
37
 * TableTools container element and styles applying to all components
38
 */
39
div.DTTT_container {
40
	position: relative;
41
	float: left;
42
}
43
44
.DTTT_button {
45
	position: relative;
46
	float: left;
47
	margin-right: 3px;
48
	padding: 3px 10px;
49
	border: 1px solid #d0d0d0;
50
	background-color: #fff;
51
	color: #333 !important;
52
	cursor: pointer;
53
	*cursor: hand;
54
}
55
56
.DTTT_button::-moz-focus-inner { 
57
	border: none !important;
58
	padding: 0;
59
}
60
61
62
63
/*
64
 * SELECTING
65
 * Row selection styles
66
 */
67
table.DTTT_selectable tbody tr {
68
	cursor: pointer;
69
	*cursor: hand;
70
}
71
72
table.dataTable tr.DTTT_selected.odd {
73
	background-color: #9FAFD1;
74
}
75
76
table.dataTable tr.DTTT_selected.odd td.sorting_1 {
77
	background-color: #9FAFD1;
78
}
79
80
table.dataTable tr.DTTT_selected.odd td.sorting_2 {
81
	background-color: #9FAFD1;
82
}
83
84
table.dataTable tr.DTTT_selected.odd td.sorting_3 {
85
	background-color: #9FAFD1;
86
}
87
88
89
table.dataTable tr.DTTT_selected.even {
90
	background-color: #B0BED9;
91
}
92
93
table.dataTable tr.DTTT_selected.even td.sorting_1 {
94
	background-color: #B0BED9;
95
}
96
97
table.dataTable tr.DTTT_selected.even td.sorting_2 {
98
	background-color: #B0BED9;
99
}
100
101
table.dataTable tr.DTTT_selected.even td.sorting_3 {
102
	background-color: #B0BED9;
103
}
104
105
106
/*
107
 * COLLECTIONS
108
 * Drop down list (collection) styles
109
 */
110
111
div.DTTT_collection {
112
	width: 150px;
113
	background-color: #f3f3f3;
114
	overflow: hidden;
115
	z-index: 2002;
116
	
117
	box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);
118
	-moz-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);
119
	-webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);
120
}
121
122
div.DTTT_collection_background {
123
	background: url(../images/background.png) repeat top left;
124
	z-index: 2001;
125
}
126
127
div.DTTT_collection button.DTTT_button,
128
div.DTTT_collection div.DTTT_button,
129
div.DTTT_collection a.DTTT_button {
130
	float: none;
131
	width: 100%;
132
	margin-bottom: -0.1em;
133
}
134
135
136
/*
137
 * PRINTING
138
 * Print display styles
139
 */
140
141
.DTTT_print_info {
142
	position: fixed;
143
	top: 50%;
144
	left: 50%;
145
	width: 400px;
146
	height: 150px;
147
	margin-left: -200px;
148
	margin-top: -75px;
149
	text-align: center;
150
	background-color: #3f3f3f;
151
	color: white;
152
	padding: 10px 30px;
153
	
154
	opacity: 0.9;
155
	
156
	border-radius: 5px;
157
	-moz-border-radius: 5px;
158
	-webkit-border-radius: 5px;
159
	
160
	box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);
161
	-moz-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);
162
	-webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);
163
}
164
165
.DTTT_print_info h6 {
166
	font-weight: normal;
167
	font-size: 28px;
168
	line-height: 28px;
169
	margin: 1em;
170
}
171
172
.DTTT_print_info p {
173
	font-size: 14px;
174
	line-height: 20px;
175
}
176
177
178
/*
179
 * MISC
180
 * Minor misc styles
181
 */
182
183
.DTTT_disabled {
184
	color: #999;
185
}
(-)a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/TableTools/media/js/TableTools.js (+2476 lines)
Line 0 Link Here
1
/*
2
 * File:        TableTools.js
3
 * Version:     2.1.5
4
 * Description: Tools and buttons for DataTables
5
 * Author:      Allan Jardine (www.sprymedia.co.uk)
6
 * Language:    Javascript
7
 * License:	    GPL v2 or BSD 3 point style
8
 * Project:	    DataTables
9
 * 
10
 * Copyright 2009-2013 Allan Jardine, all rights reserved.
11
 *
12
 * This source file is free software, under either the GPL v2 license or a
13
 * BSD style license, available at:
14
 *   http://datatables.net/license_gpl2
15
 *   http://datatables.net/license_bsd
16
 */
17
18
/* Global scope for TableTools */
19
var TableTools;
20
21
(function($, window, document) {
22
23
/** 
24
 * TableTools provides flexible buttons and other tools for a DataTables enhanced table
25
 * @class TableTools
26
 * @constructor
27
 * @param {Object} oDT DataTables instance
28
 * @param {Object} oOpts TableTools options
29
 * @param {String} oOpts.sSwfPath ZeroClipboard SWF path
30
 * @param {String} oOpts.sRowSelect Row selection options - 'none', 'single' or 'multi'
31
 * @param {Function} oOpts.fnPreRowSelect Callback function just prior to row selection
32
 * @param {Function} oOpts.fnRowSelected Callback function just after row selection
33
 * @param {Function} oOpts.fnRowDeselected Callback function when row is deselected
34
 * @param {Array} oOpts.aButtons List of buttons to be used
35
 */
36
TableTools = function( oDT, oOpts )
37
{
38
	/* Santiy check that we are a new instance */
39
	if ( ! this instanceof TableTools )
40
	{
41
		alert( "Warning: TableTools must be initialised with the keyword 'new'" );
42
	}
43
	
44
	
45
	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
46
	 * Public class variables
47
	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
48
	
49
	/**
50
	 * @namespace Settings object which contains customisable information for TableTools instance
51
	 */
52
	this.s = {
53
		/**
54
		 * Store 'this' so the instance can be retrieved from the settings object
55
		 * @property that
56
		 * @type	 object
57
		 * @default  this
58
		 */
59
		"that": this,
60
		
61
		/** 
62
		 * DataTables settings objects
63
		 * @property dt
64
		 * @type	 object
65
		 * @default  <i>From the oDT init option</i>
66
		 */
67
		"dt": oDT.fnSettings(),
68
		
69
		/**
70
		 * @namespace Print specific information
71
		 */
72
		"print": {
73
			/** 
74
			 * DataTables draw 'start' point before the printing display was shown
75
			 *  @property saveStart
76
			 *  @type	 int
77
			 *  @default  -1
78
		 	 */
79
		  "saveStart": -1,
80
			
81
			/** 
82
			 * DataTables draw 'length' point before the printing display was shown
83
			 *  @property saveLength
84
			 *  @type	 int
85
			 *  @default  -1
86
		 	 */
87
		  "saveLength": -1,
88
		
89
			/** 
90
			 * Page scrolling point before the printing display was shown so it can be restored
91
			 *  @property saveScroll
92
			 *  @type	 int
93
			 *  @default  -1
94
		 	 */
95
		  "saveScroll": -1,
96
		
97
			/** 
98
			 * Wrapped function to end the print display (to maintain scope)
99
			 *  @property funcEnd
100
		 	 *  @type	 Function
101
			 *  @default  function () {}
102
		 	 */
103
		  "funcEnd": function () {}
104
	  },
105
	
106
		/**
107
		 * A unique ID is assigned to each button in each instance
108
		 * @property buttonCounter
109
		 *  @type	 int
110
		 * @default  0
111
		 */
112
	  "buttonCounter": 0,
113
		
114
		/**
115
		 * @namespace Select rows specific information
116
		 */
117
		"select": {
118
			/**
119
			 * Select type - can be 'none', 'single' or 'multi'
120
			 * @property type
121
			 *  @type	 string
122
			 * @default  ""
123
			 */
124
			"type": "",
125
			
126
			/**
127
			 * Array of nodes which are currently selected
128
			 *  @property selected
129
			 *  @type	 array
130
			 *  @default  []
131
			 */
132
			"selected": [],
133
			
134
			/**
135
			 * Function to run before the selection can take place. Will cancel the select if the
136
			 * function returns false
137
			 *  @property preRowSelect
138
			 *  @type	 Function
139
			 *  @default  null
140
			 */
141
			"preRowSelect": null,
142
			
143
			/**
144
			 * Function to run when a row is selected
145
			 *  @property postSelected
146
			 *  @type	 Function
147
			 *  @default  null
148
			 */
149
			"postSelected": null,
150
			
151
			/**
152
			 * Function to run when a row is deselected
153
			 *  @property postDeselected
154
			 *  @type	 Function
155
			 *  @default  null
156
			 */
157
			"postDeselected": null,
158
			
159
			/**
160
			 * Indicate if all rows are selected (needed for server-side processing)
161
			 *  @property all
162
			 *  @type	 boolean
163
			 *  @default  false
164
			 */
165
			"all": false,
166
			
167
			/**
168
			 * Class name to add to selected TR nodes
169
			 *  @property selectedClass
170
			 *  @type	 String
171
			 *  @default  ""
172
			 */
173
			"selectedClass": ""
174
		},
175
		
176
		/**
177
		 * Store of the user input customisation object
178
		 *  @property custom
179
		 *  @type	 object
180
		 *  @default  {}
181
		 */
182
		"custom": {},
183
		
184
		/**
185
		 * SWF movie path
186
		 *  @property swfPath
187
		 *  @type	 string
188
		 *  @default  ""
189
		 */
190
		"swfPath": "",
191
		
192
		/**
193
		 * Default button set
194
		 *  @property buttonSet
195
		 *  @type	 array
196
		 *  @default  []
197
		 */
198
		"buttonSet": [],
199
		
200
		/**
201
		 * When there is more than one TableTools instance for a DataTable, there must be a 
202
		 * master which controls events (row selection etc)
203
		 *  @property master
204
		 *  @type	 boolean
205
		 *  @default  false
206
		 */
207
		"master": false,
208
		
209
		/**
210
		 * Tag names that are used for creating collections and buttons
211
		 *  @namesapce
212
		 */
213
		"tags": {}
214
	};
215
	
216
	
217
	/**
218
	 * @namespace Common and useful DOM elements for the class instance
219
	 */
220
	this.dom = {
221
		/**
222
		 * DIV element that is create and all TableTools buttons (and their children) put into
223
		 *  @property container
224
		 *  @type	 node
225
		 *  @default  null
226
		 */
227
		"container": null,
228
		
229
		/**
230
		 * The table node to which TableTools will be applied
231
		 *  @property table
232
		 *  @type	 node
233
		 *  @default  null
234
		 */
235
		"table": null,
236
		
237
		/**
238
		 * @namespace Nodes used for the print display
239
		 */
240
		"print": {
241
			/**
242
			 * Nodes which have been removed from the display by setting them to display none
243
			 *  @property hidden
244
			 *  @type	 array
245
		 	 *  @default  []
246
			 */
247
		  "hidden": [],
248
			
249
			/**
250
			 * The information display saying telling the user about the print display
251
			 *  @property message
252
			 *  @type	 node
253
		 	 *  @default  null
254
			 */
255
		  "message": null
256
	  },
257
		
258
		/**
259
		 * @namespace Nodes used for a collection display. This contains the currently used collection
260
		 */
261
		"collection": {
262
			/**
263
			 * The div wrapper containing the buttons in the collection (i.e. the menu)
264
			 *  @property collection
265
			 *  @type	 node
266
		 	 *  @default  null
267
			 */
268
			"collection": null,
269
			
270
			/**
271
			 * Background display to provide focus and capture events
272
			 *  @property background
273
			 *  @type	 node
274
		 	 *  @default  null
275
			 */
276
			"background": null
277
		}
278
	};
279
280
	/**
281
	 * @namespace Name space for the classes that this TableTools instance will use
282
	 * @extends TableTools.classes
283
	 */
284
	this.classes = $.extend( true, {}, TableTools.classes );
285
	if ( this.s.dt.bJUI )
286
	{
287
		$.extend( true, this.classes, TableTools.classes_themeroller );
288
	}
289
	
290
	
291
	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
292
	 * Public class methods
293
	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
294
	
295
	/**
296
	 * Retreieve the settings object from an instance
297
	 *  @method fnSettings
298
	 *  @returns {object} TableTools settings object
299
	 */
300
	this.fnSettings = function () {
301
		return this.s;
302
	};
303
	
304
	
305
	/* Constructor logic */
306
	if ( typeof oOpts == 'undefined' )
307
	{
308
		oOpts = {};
309
	}
310
	
311
	this._fnConstruct( oOpts );
312
	
313
	return this;
314
};
315
316
317
318
TableTools.prototype = {
319
	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
320
	 * Public methods
321
	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
322
	
323
	/**
324
	 * Retreieve the settings object from an instance
325
	 *  @returns {array} List of TR nodes which are currently selected
326
	 *  @param {boolean} [filtered=false] Get only selected rows which are  
327
	 *    available given the filtering applied to the table. By default
328
	 *    this is false -  i.e. all rows, regardless of filtering are 
329
	      selected.
330
	 */
331
	"fnGetSelected": function ( filtered )
332
	{
333
		var
334
			out = [],
335
			data = this.s.dt.aoData,
336
			displayed = this.s.dt.aiDisplay,
337
			i, iLen;
338
339
		if ( filtered )
340
		{
341
			// Only consider filtered rows
342
			for ( i=0, iLen=displayed.length ; i<iLen ; i++ )
343
			{
344
				if ( data[ displayed[i] ]._DTTT_selected )
345
				{
346
					out.push( data[ displayed[i] ].nTr );
347
				}
348
			}
349
		}
350
		else
351
		{
352
			// Use all rows
353
			for ( i=0, iLen=data.length ; i<iLen ; i++ )
354
			{
355
				if ( data[i]._DTTT_selected )
356
				{
357
					out.push( data[i].nTr );
358
				}
359
			}
360
		}
361
362
		return out;
363
	},
364
365
366
	/**
367
	 * Get the data source objects/arrays from DataTables for the selected rows (same as
368
	 * fnGetSelected followed by fnGetData on each row from the table)
369
	 *  @returns {array} Data from the TR nodes which are currently selected
370
	 */
371
	"fnGetSelectedData": function ()
372
	{
373
		var out = [];
374
		var data=this.s.dt.aoData;
375
		var i, iLen;
376
377
		for ( i=0, iLen=data.length ; i<iLen ; i++ )
378
		{
379
			if ( data[i]._DTTT_selected )
380
			{
381
				out.push( this.s.dt.oInstance.fnGetData(i) );
382
			}
383
		}
384
385
		return out;
386
	},
387
	
388
	
389
	/**
390
	 * Check to see if a current row is selected or not
391
	 *  @param {Node} n TR node to check if it is currently selected or not
392
	 *  @returns {Boolean} true if select, false otherwise
393
	 */
394
	"fnIsSelected": function ( n )
395
	{
396
		var pos = this.s.dt.oInstance.fnGetPosition( n );
397
		return (this.s.dt.aoData[pos]._DTTT_selected===true) ? true : false;
398
	},
399
400
	
401
	/**
402
	 * Select all rows in the table
403
	 *  @param {boolean} [filtered=false] Select only rows which are available 
404
	 *    given the filtering applied to the table. By default this is false - 
405
	 *    i.e. all rows, regardless of filtering are selected.
406
	 */
407
	"fnSelectAll": function ( filtered )
408
	{
409
		var s = this._fnGetMasterSettings();
410
		
411
		this._fnRowSelect( (filtered === true) ?
412
			s.dt.aiDisplay :
413
			s.dt.aoData
414
		);
415
	},
416
417
	
418
	/**
419
	 * Deselect all rows in the table
420
	 *  @param {boolean} [filtered=false] Deselect only rows which are available 
421
	 *    given the filtering applied to the table. By default this is false - 
422
	 *    i.e. all rows, regardless of filtering are deselected.
423
	 */
424
	"fnSelectNone": function ( filtered )
425
	{
426
		var s = this._fnGetMasterSettings();
427
428
		this._fnRowDeselect( this.fnGetSelected(filtered) );
429
	},
430
431
	
432
	/**
433
	 * Select row(s)
434
	 *  @param {node|object|array} n The row(s) to select. Can be a single DOM
435
	 *    TR node, an array of TR nodes or a jQuery object.
436
	 */
437
	"fnSelect": function ( n )
438
	{
439
		if ( this.s.select.type == "single" )
440
		{
441
			this.fnSelectNone();
442
			this._fnRowSelect( n );
443
		}
444
		else if ( this.s.select.type == "multi" )
445
		{
446
			this._fnRowSelect( n );
447
		}
448
	},
449
450
	
451
	/**
452
	 * Deselect row(s)
453
	 *  @param {node|object|array} n The row(s) to deselect. Can be a single DOM
454
	 *    TR node, an array of TR nodes or a jQuery object.
455
	 */
456
	"fnDeselect": function ( n )
457
	{
458
		this._fnRowDeselect( n );
459
	},
460
	
461
	
462
	/**
463
	 * Get the title of the document - useful for file names. The title is retrieved from either
464
	 * the configuration object's 'title' parameter, or the HTML document title
465
	 *  @param   {Object} oConfig Button configuration object
466
	 *  @returns {String} Button title
467
	 */
468
	"fnGetTitle": function( oConfig )
469
	{
470
		var sTitle = "";
471
		if ( typeof oConfig.sTitle != 'undefined' && oConfig.sTitle !== "" ) {
472
			sTitle = oConfig.sTitle;
473
		} else {
474
			var anTitle = document.getElementsByTagName('title');
475
			if ( anTitle.length > 0 )
476
			{
477
				sTitle = anTitle[0].innerHTML;
478
			}
479
		}
480
		
481
		/* Strip characters which the OS will object to - checking for UTF8 support in the scripting
482
		 * engine
483
		 */
484
		if ( "\u00A1".toString().length < 4 ) {
485
			return sTitle.replace(/[^a-zA-Z0-9_\u00A1-\uFFFF\.,\-_ !\(\)]/g, "");
486
		} else {
487
			return sTitle.replace(/[^a-zA-Z0-9_\.,\-_ !\(\)]/g, "");
488
		}
489
	},
490
	
491
	
492
	/**
493
	 * Calculate a unity array with the column width by proportion for a set of columns to be
494
	 * included for a button. This is particularly useful for PDF creation, where we can use the
495
	 * column widths calculated by the browser to size the columns in the PDF.
496
	 *  @param   {Object} oConfig Button configuration object
497
	 *  @returns {Array} Unity array of column ratios
498
	 */
499
	"fnCalcColRatios": function ( oConfig )
500
	{
501
		var
502
			aoCols = this.s.dt.aoColumns,
503
			aColumnsInc = this._fnColumnTargets( oConfig.mColumns ),
504
			aColWidths = [],
505
			iWidth = 0, iTotal = 0, i, iLen;
506
		
507
		for ( i=0, iLen=aColumnsInc.length ; i<iLen ; i++ )
508
		{
509
			if ( aColumnsInc[i] )
510
			{
511
				iWidth = aoCols[i].nTh.offsetWidth;
512
				iTotal += iWidth;
513
				aColWidths.push( iWidth );
514
			}
515
		}
516
		
517
		for ( i=0, iLen=aColWidths.length ; i<iLen ; i++ )
518
		{
519
			aColWidths[i] = aColWidths[i] / iTotal;
520
		}
521
		
522
		return aColWidths.join('\t');
523
	},
524
	
525
	
526
	/**
527
	 * Get the information contained in a table as a string
528
	 *  @param   {Object} oConfig Button configuration object
529
	 *  @returns {String} Table data as a string
530
	 */
531
	"fnGetTableData": function ( oConfig )
532
	{
533
		/* In future this could be used to get data from a plain HTML source as well as DataTables */
534
		if ( this.s.dt )
535
		{
536
			return this._fnGetDataTablesData( oConfig );
537
		}
538
	},
539
	
540
	
541
	/**
542
	 * Pass text to a flash button instance, which will be used on the button's click handler
543
	 *  @param   {Object} clip Flash button object
544
	 *  @param   {String} text Text to set
545
	 */
546
	"fnSetText": function ( clip, text )
547
	{
548
		this._fnFlashSetText( clip, text );
549
	},
550
	
551
	
552
	/**
553
	 * Resize the flash elements of the buttons attached to this TableTools instance - this is
554
	 * useful for when initialising TableTools when it is hidden (display:none) since sizes can't
555
	 * be calculated at that time.
556
	 */
557
	"fnResizeButtons": function ()
558
	{
559
		for ( var cli in ZeroClipboard_TableTools.clients )
560
		{
561
			if ( cli )
562
			{
563
				var client = ZeroClipboard_TableTools.clients[cli];
564
				if ( typeof client.domElement != 'undefined' &&
565
					 client.domElement.parentNode )
566
				{
567
					client.positionElement();
568
				}
569
			}
570
		}
571
	},
572
	
573
	
574
	/**
575
	 * Check to see if any of the ZeroClipboard client's attached need to be resized
576
	 */
577
	"fnResizeRequired": function ()
578
	{
579
		for ( var cli in ZeroClipboard_TableTools.clients )
580
		{
581
			if ( cli )
582
			{
583
				var client = ZeroClipboard_TableTools.clients[cli];
584
				if ( typeof client.domElement != 'undefined' &&
585
					 client.domElement.parentNode == this.dom.container &&
586
					 client.sized === false )
587
				{
588
					return true;
589
				}
590
			}
591
		}
592
		return false;
593
	},
594
	
595
	
596
	/**
597
	 * Programmatically enable or disable the print view
598
	 *  @param {boolean} [bView=true] Show the print view if true or not given. If false, then
599
	 *    terminate the print view and return to normal.
600
	 *  @param {object} [oConfig={}] Configuration for the print view
601
	 *  @param {boolean} [oConfig.bShowAll=false] Show all rows in the table if true
602
	 *  @param {string} [oConfig.sInfo] Information message, displayed as an overlay to the
603
	 *    user to let them know what the print view is.
604
	 *  @param {string} [oConfig.sMessage] HTML string to show at the top of the document - will
605
	 *    be included in the printed document.
606
	 */
607
	"fnPrint": function ( bView, oConfig )
608
	{
609
		if ( oConfig === undefined )
610
		{
611
			oConfig = {};
612
		}
613
614
		if ( bView === undefined || bView )
615
		{
616
			this._fnPrintStart( oConfig );
617
		}
618
		else
619
		{
620
			this._fnPrintEnd();
621
		}
622
	},
623
	
624
	
625
	/**
626
	 * Show a message to the end user which is nicely styled
627
	 *  @param {string} message The HTML string to show to the user
628
	 *  @param {int} time The duration the message is to be shown on screen for (mS)
629
	 */
630
	"fnInfo": function ( message, time ) {
631
		var nInfo = document.createElement( "div" );
632
		nInfo.className = this.classes.print.info;
633
		nInfo.innerHTML = message;
634
635
		document.body.appendChild( nInfo );
636
		
637
		setTimeout( function() {
638
			$(nInfo).fadeOut( "normal", function() {
639
				document.body.removeChild( nInfo );
640
			} );
641
		}, time );
642
	},
643
	
644
	
645
	
646
	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
647
	 * Private methods (they are of course public in JS, but recommended as private)
648
	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
649
	
650
	/**
651
	 * Constructor logic
652
	 *  @method  _fnConstruct
653
	 *  @param   {Object} oOpts Same as TableTools constructor
654
	 *  @returns void
655
	 *  @private 
656
	 */
657
	"_fnConstruct": function ( oOpts )
658
	{
659
		var that = this;
660
		
661
		this._fnCustomiseSettings( oOpts );
662
		
663
		/* Container element */
664
		this.dom.container = document.createElement( this.s.tags.container );
665
		this.dom.container.className = this.classes.container;
666
		
667
		/* Row selection config */
668
		if ( this.s.select.type != 'none' )
669
		{
670
			this._fnRowSelectConfig();
671
		}
672
		
673
		/* Buttons */
674
		this._fnButtonDefinations( this.s.buttonSet, this.dom.container );
675
		
676
		/* Destructor */
677
		this.s.dt.aoDestroyCallback.push( {
678
			"sName": "TableTools",
679
			"fn": function () {
680
				$(that.s.dt.nTBody).off( 'click.DTTT_Select', 'tr' );
681
				$(that.dom.container).empty();
682
			}
683
		} );
684
	},
685
	
686
	
687
	/**
688
	 * Take the user defined settings and the default settings and combine them.
689
	 *  @method  _fnCustomiseSettings
690
	 *  @param   {Object} oOpts Same as TableTools constructor
691
	 *  @returns void
692
	 *  @private 
693
	 */
694
	"_fnCustomiseSettings": function ( oOpts )
695
	{
696
		/* Is this the master control instance or not? */
697
		if ( typeof this.s.dt._TableToolsInit == 'undefined' )
698
		{
699
			this.s.master = true;
700
			this.s.dt._TableToolsInit = true;
701
		}
702
		
703
		/* We can use the table node from comparisons to group controls */
704
		this.dom.table = this.s.dt.nTable;
705
		
706
		/* Clone the defaults and then the user options */
707
		this.s.custom = $.extend( {}, TableTools.DEFAULTS, oOpts );
708
		
709
		/* Flash file location */
710
		this.s.swfPath = this.s.custom.sSwfPath;
711
		if ( typeof ZeroClipboard_TableTools != 'undefined' )
712
		{
713
			ZeroClipboard_TableTools.moviePath = this.s.swfPath;
714
		}
715
		
716
		/* Table row selecting */
717
		this.s.select.type = this.s.custom.sRowSelect;
718
		this.s.select.preRowSelect = this.s.custom.fnPreRowSelect;
719
		this.s.select.postSelected = this.s.custom.fnRowSelected;
720
		this.s.select.postDeselected = this.s.custom.fnRowDeselected;
721
722
		// Backwards compatibility - allow the user to specify a custom class in the initialiser
723
		if ( this.s.custom.sSelectedClass )
724
		{
725
			this.classes.select.row = this.s.custom.sSelectedClass;
726
		}
727
728
		this.s.tags = this.s.custom.oTags;
729
730
		/* Button set */
731
		this.s.buttonSet = this.s.custom.aButtons;
732
	},
733
	
734
	
735
	/**
736
	 * Take the user input arrays and expand them to be fully defined, and then add them to a given
737
	 * DOM element
738
	 *  @method  _fnButtonDefinations
739
	 *  @param {array} buttonSet Set of user defined buttons
740
	 *  @param {node} wrapper Node to add the created buttons to
741
	 *  @returns void
742
	 *  @private 
743
	 */
744
	"_fnButtonDefinations": function ( buttonSet, wrapper )
745
	{
746
		var buttonDef;
747
		
748
		for ( var i=0, iLen=buttonSet.length ; i<iLen ; i++ )
749
		{
750
			if ( typeof buttonSet[i] == "string" )
751
			{
752
				if ( typeof TableTools.BUTTONS[ buttonSet[i] ] == 'undefined' )
753
				{
754
					alert( "TableTools: Warning - unknown button type: "+buttonSet[i] );
755
					continue;
756
				}
757
				buttonDef = $.extend( {}, TableTools.BUTTONS[ buttonSet[i] ], true );
758
			}
759
			else
760
			{
761
				if ( typeof TableTools.BUTTONS[ buttonSet[i].sExtends ] == 'undefined' )
762
				{
763
					alert( "TableTools: Warning - unknown button type: "+buttonSet[i].sExtends );
764
					continue;
765
				}
766
				var o = $.extend( {}, TableTools.BUTTONS[ buttonSet[i].sExtends ], true );
767
				buttonDef = $.extend( o, buttonSet[i], true );
768
			}
769
			
770
			wrapper.appendChild( this._fnCreateButton( 
771
				buttonDef, 
772
				$(wrapper).hasClass(this.classes.collection.container)
773
			) );
774
		}
775
	},
776
	
777
	
778
	/**
779
	 * Create and configure a TableTools button
780
	 *  @method  _fnCreateButton
781
	 *  @param   {Object} oConfig Button configuration object
782
	 *  @returns {Node} Button element
783
	 *  @private 
784
	 */
785
	"_fnCreateButton": function ( oConfig, bCollectionButton )
786
	{
787
	  var nButton = this._fnButtonBase( oConfig, bCollectionButton );
788
		
789
		if ( oConfig.sAction.match(/flash/) )
790
		{
791
			this._fnFlashConfig( nButton, oConfig );
792
		}
793
		else if ( oConfig.sAction == "text" )
794
		{
795
			this._fnTextConfig( nButton, oConfig );
796
		}
797
		else if ( oConfig.sAction == "div" )
798
		{
799
			this._fnTextConfig( nButton, oConfig );
800
		}
801
		else if ( oConfig.sAction == "collection" )
802
		{
803
			this._fnTextConfig( nButton, oConfig );
804
			this._fnCollectionConfig( nButton, oConfig );
805
		}
806
		
807
		return nButton;
808
	},
809
	
810
	
811
	/**
812
	 * Create the DOM needed for the button and apply some base properties. All buttons start here
813
	 *  @method  _fnButtonBase
814
	 *  @param   {o} oConfig Button configuration object
815
	 *  @returns {Node} DIV element for the button
816
	 *  @private 
817
	 */
818
	"_fnButtonBase": function ( o, bCollectionButton )
819
	{
820
		var sTag, sLiner, sClass;
821
822
		if ( bCollectionButton )
823
		{
824
			sTag = o.sTag !== "default" ? o.sTag : this.s.tags.collection.button;
825
			sLiner = o.sLinerTag !== "default" ? o.sLiner : this.s.tags.collection.liner;
826
			sClass = this.classes.collection.buttons.normal;
827
		}
828
		else
829
		{
830
			sTag = o.sTag !== "default" ? o.sTag : this.s.tags.button;
831
			sLiner = o.sLinerTag !== "default" ? o.sLiner : this.s.tags.liner;
832
			sClass = this.classes.buttons.normal;
833
		}
834
835
		var
836
		  nButton = document.createElement( sTag ),
837
		  nSpan = document.createElement( sLiner ),
838
		  masterS = this._fnGetMasterSettings();
839
		
840
		nButton.className = sClass+" "+o.sButtonClass;
841
		nButton.setAttribute('id', "ToolTables_"+this.s.dt.sInstance+"_"+masterS.buttonCounter );
842
		nButton.appendChild( nSpan );
843
		nSpan.innerHTML = o.sButtonText;
844
		
845
		masterS.buttonCounter++;
846
		
847
		return nButton;
848
	},
849
	
850
	
851
	/**
852
	 * Get the settings object for the master instance. When more than one TableTools instance is
853
	 * assigned to a DataTable, only one of them can be the 'master' (for the select rows). As such,
854
	 * we will typically want to interact with that master for global properties.
855
	 *  @method  _fnGetMasterSettings
856
	 *  @returns {Object} TableTools settings object
857
	 *  @private 
858
	 */
859
	"_fnGetMasterSettings": function ()
860
	{
861
		if ( this.s.master )
862
		{
863
			return this.s;
864
		}
865
		else
866
		{
867
			/* Look for the master which has the same DT as this one */
868
			var instances = TableTools._aInstances;
869
			for ( var i=0, iLen=instances.length ; i<iLen ; i++ )
870
			{
871
				if ( this.dom.table == instances[i].s.dt.nTable )
872
				{
873
					return instances[i].s;
874
				}
875
			}
876
		}
877
	},
878
	
879
	
880
	
881
	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
882
	 * Button collection functions
883
	 */
884
	
885
	/**
886
	 * Create a collection button, when activated will present a drop down list of other buttons
887
	 *  @param   {Node} nButton Button to use for the collection activation
888
	 *  @param   {Object} oConfig Button configuration object
889
	 *  @returns void
890
	 *  @private
891
	 */
892
	"_fnCollectionConfig": function ( nButton, oConfig )
893
	{
894
		var nHidden = document.createElement( this.s.tags.collection.container );
895
		nHidden.style.display = "none";
896
		nHidden.className = this.classes.collection.container;
897
		oConfig._collection = nHidden;
898
		document.body.appendChild( nHidden );
899
		
900
		this._fnButtonDefinations( oConfig.aButtons, nHidden );
901
	},
902
	
903
	
904
	/**
905
	 * Show a button collection
906
	 *  @param   {Node} nButton Button to use for the collection
907
	 *  @param   {Object} oConfig Button configuration object
908
	 *  @returns void
909
	 *  @private
910
	 */
911
	"_fnCollectionShow": function ( nButton, oConfig )
912
	{
913
		var
914
			that = this,
915
			oPos = $(nButton).offset(),
916
			nHidden = oConfig._collection,
917
			iDivX = oPos.left,
918
			iDivY = oPos.top + $(nButton).outerHeight(),
919
			iWinHeight = $(window).height(), iDocHeight = $(document).height(),
920
		 	iWinWidth = $(window).width(), iDocWidth = $(document).width();
921
		
922
		nHidden.style.position = "absolute";
923
		nHidden.style.left = iDivX+"px";
924
		nHidden.style.top = iDivY+"px";
925
		nHidden.style.display = "block";
926
		$(nHidden).css('opacity',0);
927
		
928
		var nBackground = document.createElement('div');
929
		nBackground.style.position = "absolute";
930
		nBackground.style.left = "0px";
931
		nBackground.style.top = "0px";
932
		nBackground.style.height = ((iWinHeight>iDocHeight)? iWinHeight : iDocHeight) +"px";
933
		nBackground.style.width = ((iWinWidth>iDocWidth)? iWinWidth : iDocWidth) +"px";
934
		nBackground.className = this.classes.collection.background;
935
		$(nBackground).css('opacity',0);
936
		
937
		document.body.appendChild( nBackground );
938
		document.body.appendChild( nHidden );
939
		
940
		/* Visual corrections to try and keep the collection visible */
941
		var iDivWidth = $(nHidden).outerWidth();
942
		var iDivHeight = $(nHidden).outerHeight();
943
		
944
		if ( iDivX + iDivWidth > iDocWidth )
945
		{
946
			nHidden.style.left = (iDocWidth-iDivWidth)+"px";
947
		}
948
		
949
		if ( iDivY + iDivHeight > iDocHeight )
950
		{
951
			nHidden.style.top = (iDivY-iDivHeight-$(nButton).outerHeight())+"px";
952
		}
953
	
954
		this.dom.collection.collection = nHidden;
955
		this.dom.collection.background = nBackground;
956
		
957
		/* This results in a very small delay for the end user but it allows the animation to be
958
		 * much smoother. If you don't want the animation, then the setTimeout can be removed
959
		 */
960
		setTimeout( function () {
961
			$(nHidden).animate({"opacity": 1}, 500);
962
			$(nBackground).animate({"opacity": 0.25}, 500);
963
		}, 10 );
964
965
		/* Resize the buttons to the Flash contents fit */
966
		this.fnResizeButtons();
967
		
968
		/* Event handler to remove the collection display */
969
		$(nBackground).click( function () {
970
			that._fnCollectionHide.call( that, null, null );
971
		} );
972
	},
973
	
974
	
975
	/**
976
	 * Hide a button collection
977
	 *  @param   {Node} nButton Button to use for the collection
978
	 *  @param   {Object} oConfig Button configuration object
979
	 *  @returns void
980
	 *  @private
981
	 */
982
	"_fnCollectionHide": function ( nButton, oConfig )
983
	{
984
		if ( oConfig !== null && oConfig.sExtends == 'collection' )
985
		{
986
			return;
987
		}
988
		
989
		if ( this.dom.collection.collection !== null )
990
		{
991
			$(this.dom.collection.collection).animate({"opacity": 0}, 500, function (e) {
992
				this.style.display = "none";
993
			} );
994
			
995
			$(this.dom.collection.background).animate({"opacity": 0}, 500, function (e) {
996
				this.parentNode.removeChild( this );
997
			} );
998
			
999
			this.dom.collection.collection = null;
1000
			this.dom.collection.background = null;
1001
		}
1002
	},
1003
	
1004
	
1005
	
1006
	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
1007
	 * Row selection functions
1008
	 */
1009
	
1010
	/**
1011
	 * Add event handlers to a table to allow for row selection
1012
	 *  @method  _fnRowSelectConfig
1013
	 *  @returns void
1014
	 *  @private 
1015
	 */
1016
	"_fnRowSelectConfig": function ()
1017
	{
1018
		if ( this.s.master )
1019
		{
1020
			var
1021
				that = this, 
1022
				i, iLen, 
1023
				dt = this.s.dt,
1024
				aoOpenRows = this.s.dt.aoOpenRows;
1025
			
1026
			$(dt.nTable).addClass( this.classes.select.table );
1027
			
1028
			$(dt.nTBody).on( 'click.DTTT_Select', 'tr', function(e) {
1029
				/* Sub-table must be ignored (odd that the selector won't do this with >) */
1030
				if ( this.parentNode != dt.nTBody )
1031
				{
1032
					return;
1033
				}
1034
				
1035
				/* Check that we are actually working with a DataTables controlled row */
1036
				if ( dt.oInstance.fnGetData(this) === null )
1037
				{
1038
				    return;
1039
				}
1040
1041
				if ( that.fnIsSelected( this ) )
1042
				{
1043
					that._fnRowDeselect( this, e );
1044
				}
1045
				else if ( that.s.select.type == "single" )
1046
				{
1047
					that.fnSelectNone();
1048
					that._fnRowSelect( this, e );
1049
				}
1050
				else if ( that.s.select.type == "multi" )
1051
				{
1052
					that._fnRowSelect( this, e );
1053
				}
1054
			} );
1055
1056
			// Bind a listener to the DataTable for when new rows are created.
1057
			// This allows rows to be visually selected when they should be and
1058
			// deferred rendering is used.
1059
			dt.oApi._fnCallbackReg( dt, 'aoRowCreatedCallback', function (tr, data, index) {
1060
				if ( dt.aoData[index]._DTTT_selected ) {
1061
					$(tr).addClass( that.classes.select.row );
1062
				}
1063
			}, 'TableTools-SelectAll' );
1064
		}
1065
	},
1066
1067
	/**
1068
	 * Select rows
1069
	 *  @param   {*} src Rows to select - see _fnSelectData for a description of valid inputs
1070
	 *  @private 
1071
	 */
1072
	"_fnRowSelect": function ( src, e )
1073
	{
1074
		var
1075
			that = this,
1076
			data = this._fnSelectData( src ),
1077
			firstTr = data.length===0 ? null : data[0].nTr,
1078
			anSelected = [],
1079
			i, len;
1080
1081
		// Get all the rows that will be selected
1082
		for ( i=0, len=data.length ; i<len ; i++ )
1083
		{
1084
			if ( data[i].nTr )
1085
			{
1086
				anSelected.push( data[i].nTr );
1087
			}
1088
		}
1089
		
1090
		// User defined pre-selection function
1091
		if ( this.s.select.preRowSelect !== null && !this.s.select.preRowSelect.call(this, e, anSelected, true) )
1092
		{
1093
			return;
1094
		}
1095
1096
		// Mark them as selected
1097
		for ( i=0, len=data.length ; i<len ; i++ )
1098
		{
1099
			data[i]._DTTT_selected = true;
1100
1101
			if ( data[i].nTr )
1102
			{
1103
				$(data[i].nTr).addClass( that.classes.select.row );
1104
			}
1105
		}
1106
1107
		// Post-selection function
1108
		if ( this.s.select.postSelected !== null )
1109
		{
1110
			this.s.select.postSelected.call( this, anSelected );
1111
		}
1112
1113
		TableTools._fnEventDispatch( this, 'select', anSelected, true );
1114
	},
1115
1116
	/**
1117
	 * Deselect rows
1118
	 *  @param   {*} src Rows to deselect - see _fnSelectData for a description of valid inputs
1119
	 *  @private 
1120
	 */
1121
	"_fnRowDeselect": function ( src, e )
1122
	{
1123
		var
1124
			that = this,
1125
			data = this._fnSelectData( src ),
1126
			firstTr = data.length===0 ? null : data[0].nTr,
1127
			anDeselectedTrs = [],
1128
			i, len;
1129
1130
		// Get all the rows that will be deselected
1131
		for ( i=0, len=data.length ; i<len ; i++ )
1132
		{
1133
			if ( data[i].nTr )
1134
			{
1135
				anDeselectedTrs.push( data[i].nTr );
1136
			}
1137
		}
1138
1139
		// User defined pre-selection function
1140
		if ( this.s.select.preRowSelect !== null && !this.s.select.preRowSelect.call(this, e, anDeselectedTrs, false) )
1141
		{
1142
			return;
1143
		}
1144
1145
		// Mark them as deselected
1146
		for ( i=0, len=data.length ; i<len ; i++ )
1147
		{
1148
			data[i]._DTTT_selected = false;
1149
1150
			if ( data[i].nTr )
1151
			{
1152
				$(data[i].nTr).removeClass( that.classes.select.row );
1153
			}
1154
		}
1155
1156
		// Post-deselection function
1157
		if ( this.s.select.postDeselected !== null )
1158
		{
1159
			this.s.select.postDeselected.call( this, anDeselectedTrs );
1160
		}
1161
1162
		TableTools._fnEventDispatch( this, 'select', anDeselectedTrs, false );
1163
	},
1164
	
1165
	/**
1166
	 * Take a data source for row selection and convert it into aoData points for the DT
1167
	 *   @param {*} src Can be a single DOM TR node, an array of TR nodes (including a
1168
	 *     a jQuery object), a single aoData point from DataTables, an array of aoData
1169
	 *     points or an array of aoData indexes
1170
	 *   @returns {array} An array of aoData points
1171
	 */
1172
	"_fnSelectData": function ( src )
1173
	{
1174
		var out = [], pos, i, iLen;
1175
1176
		if ( src.nodeName )
1177
		{
1178
			// Single node
1179
			pos = this.s.dt.oInstance.fnGetPosition( src );
1180
			out.push( this.s.dt.aoData[pos] );
1181
		}
1182
		else if ( typeof src.length !== 'undefined' )
1183
		{
1184
			// jQuery object or an array of nodes, or aoData points
1185
			for ( i=0, iLen=src.length ; i<iLen ; i++ )
1186
			{
1187
				if ( src[i].nodeName )
1188
				{
1189
					pos = this.s.dt.oInstance.fnGetPosition( src[i] );
1190
					out.push( this.s.dt.aoData[pos] );
1191
				}
1192
				else if ( typeof src[i] === 'number' )
1193
				{
1194
					out.push( this.s.dt.aoData[ src[i] ] );
1195
				}
1196
				else
1197
				{
1198
					out.push( src[i] );
1199
				}
1200
			}
1201
1202
			return out;
1203
		}
1204
		else
1205
		{
1206
			// A single aoData point
1207
			out.push( src );
1208
		}
1209
1210
		return out;
1211
	},
1212
	
1213
	
1214
	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
1215
	 * Text button functions
1216
	 */
1217
	
1218
	/**
1219
	 * Configure a text based button for interaction events
1220
	 *  @method  _fnTextConfig
1221
	 *  @param   {Node} nButton Button element which is being considered
1222
	 *  @param   {Object} oConfig Button configuration object
1223
	 *  @returns void
1224
	 *  @private 
1225
	 */
1226
	"_fnTextConfig": function ( nButton, oConfig )
1227
	{
1228
		var that = this;
1229
		
1230
		if ( oConfig.fnInit !== null )
1231
		{
1232
			oConfig.fnInit.call( this, nButton, oConfig );
1233
		}
1234
		
1235
		if ( oConfig.sToolTip !== "" )
1236
		{
1237
			nButton.title = oConfig.sToolTip;
1238
		}
1239
		
1240
		$(nButton).hover( function () {
1241
			if ( oConfig.fnMouseover !== null )
1242
			{
1243
				oConfig.fnMouseover.call( this, nButton, oConfig, null );
1244
			}
1245
		}, function () {
1246
			if ( oConfig.fnMouseout !== null )
1247
			{
1248
				oConfig.fnMouseout.call( this, nButton, oConfig, null );
1249
			}
1250
		} );
1251
		
1252
		if ( oConfig.fnSelect !== null )
1253
		{
1254
			TableTools._fnEventListen( this, 'select', function (n) {
1255
				oConfig.fnSelect.call( that, nButton, oConfig, n );
1256
			} );
1257
		}
1258
		
1259
		$(nButton).click( function (e) {
1260
			//e.preventDefault();
1261
			
1262
			if ( oConfig.fnClick !== null )
1263
			{
1264
				oConfig.fnClick.call( that, nButton, oConfig, null, e );
1265
			}
1266
			
1267
			/* Provide a complete function to match the behaviour of the flash elements */
1268
			if ( oConfig.fnComplete !== null )
1269
			{
1270
				oConfig.fnComplete.call( that, nButton, oConfig, null, null );
1271
			}
1272
			
1273
			that._fnCollectionHide( nButton, oConfig );
1274
		} );
1275
	},
1276
	
1277
	
1278
	
1279
	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
1280
	 * Flash button functions
1281
	 */
1282
	
1283
	/**
1284
	 * Configure a flash based button for interaction events
1285
	 *  @method  _fnFlashConfig
1286
	 *  @param   {Node} nButton Button element which is being considered
1287
	 *  @param   {o} oConfig Button configuration object
1288
	 *  @returns void
1289
	 *  @private 
1290
	 */
1291
	"_fnFlashConfig": function ( nButton, oConfig )
1292
	{
1293
		var that = this;
1294
		var flash = new ZeroClipboard_TableTools.Client();
1295
		
1296
		if ( oConfig.fnInit !== null )
1297
		{
1298
			oConfig.fnInit.call( this, nButton, oConfig );
1299
		}
1300
		
1301
		flash.setHandCursor( true );
1302
		
1303
		if ( oConfig.sAction == "flash_save" )
1304
		{
1305
			flash.setAction( 'save' );
1306
			flash.setCharSet( (oConfig.sCharSet=="utf16le") ? 'UTF16LE' : 'UTF8' );
1307
			flash.setBomInc( oConfig.bBomInc );
1308
			flash.setFileName( oConfig.sFileName.replace('*', this.fnGetTitle(oConfig)) );
1309
		}
1310
		else if ( oConfig.sAction == "flash_pdf" )
1311
		{
1312
			flash.setAction( 'pdf' );
1313
			flash.setFileName( oConfig.sFileName.replace('*', this.fnGetTitle(oConfig)) );
1314
		}
1315
		else
1316
		{
1317
			flash.setAction( 'copy' );
1318
		}
1319
		
1320
		flash.addEventListener('mouseOver', function(client) {
1321
			if ( oConfig.fnMouseover !== null )
1322
			{
1323
				oConfig.fnMouseover.call( that, nButton, oConfig, flash );
1324
			}
1325
		} );
1326
		
1327
		flash.addEventListener('mouseOut', function(client) {
1328
			if ( oConfig.fnMouseout !== null )
1329
			{
1330
				oConfig.fnMouseout.call( that, nButton, oConfig, flash );
1331
			}
1332
		} );
1333
		
1334
		flash.addEventListener('mouseDown', function(client) {
1335
			if ( oConfig.fnClick !== null )
1336
			{
1337
				oConfig.fnClick.call( that, nButton, oConfig, flash );
1338
			}
1339
		} );
1340
		
1341
		flash.addEventListener('complete', function (client, text) {
1342
			if ( oConfig.fnComplete !== null )
1343
			{
1344
				oConfig.fnComplete.call( that, nButton, oConfig, flash, text );
1345
			}
1346
			that._fnCollectionHide( nButton, oConfig );
1347
		} );
1348
		
1349
		this._fnFlashGlue( flash, nButton, oConfig.sToolTip );
1350
	},
1351
	
1352
	
1353
	/**
1354
	 * Wait until the id is in the DOM before we "glue" the swf. Note that this function will call
1355
	 * itself (using setTimeout) until it completes successfully
1356
	 *  @method  _fnFlashGlue
1357
	 *  @param   {Object} clip Zero clipboard object
1358
	 *  @param   {Node} node node to glue swf to
1359
	 *  @param   {String} text title of the flash movie
1360
	 *  @returns void
1361
	 *  @private 
1362
	 */
1363
	"_fnFlashGlue": function ( flash, node, text )
1364
	{
1365
		var that = this;
1366
		var id = node.getAttribute('id');
1367
		
1368
		if ( document.getElementById(id) )
1369
		{
1370
			flash.glue( node, text );
1371
		}
1372
		else
1373
		{
1374
			setTimeout( function () {
1375
				that._fnFlashGlue( flash, node, text );
1376
			}, 100 );
1377
		}
1378
	},
1379
	
1380
	
1381
	/**
1382
	 * Set the text for the flash clip to deal with
1383
	 * 
1384
	 * This function is required for large information sets. There is a limit on the 
1385
	 * amount of data that can be transferred between Javascript and Flash in a single call, so
1386
	 * we use this method to build up the text in Flash by sending over chunks. It is estimated
1387
	 * that the data limit is around 64k, although it is undocumented, and appears to be different
1388
	 * between different flash versions. We chunk at 8KiB.
1389
	 *  @method  _fnFlashSetText
1390
	 *  @param   {Object} clip the ZeroClipboard object
1391
	 *  @param   {String} sData the data to be set
1392
	 *  @returns void
1393
	 *  @private 
1394
	 */
1395
	"_fnFlashSetText": function ( clip, sData )
1396
	{
1397
		var asData = this._fnChunkData( sData, 8192 );
1398
		
1399
		clip.clearText();
1400
		for ( var i=0, iLen=asData.length ; i<iLen ; i++ )
1401
		{
1402
			clip.appendText( asData[i] );
1403
		}
1404
	},
1405
	
1406
	
1407
	
1408
	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
1409
	 * Data retrieval functions
1410
	 */
1411
	
1412
	/**
1413
	 * Convert the mixed columns variable into a boolean array the same size as the columns, which
1414
	 * indicates which columns we want to include
1415
	 *  @method  _fnColumnTargets
1416
	 *  @param   {String|Array} mColumns The columns to be included in data retrieval. If a string
1417
	 *			 then it can take the value of "visible" or "hidden" (to include all visible or
1418
	 *			 hidden columns respectively). Or an array of column indexes
1419
	 *  @returns {Array} A boolean array the length of the columns of the table, which each value
1420
	 *			 indicating if the column is to be included or not
1421
	 *  @private 
1422
	 */
1423
	"_fnColumnTargets": function ( mColumns )
1424
	{
1425
		var aColumns = [];
1426
		var dt = this.s.dt;
1427
		
1428
		if ( typeof mColumns == "object" )
1429
		{
1430
			for ( i=0, iLen=dt.aoColumns.length ; i<iLen ; i++ )
1431
			{
1432
				aColumns.push( false );
1433
			}
1434
			
1435
			for ( i=0, iLen=mColumns.length ; i<iLen ; i++ )
1436
			{
1437
				aColumns[ mColumns[i] ] = true;
1438
			}
1439
		}
1440
		else if ( mColumns == "visible" )
1441
		{
1442
			for ( i=0, iLen=dt.aoColumns.length ; i<iLen ; i++ )
1443
			{
1444
				aColumns.push( dt.aoColumns[i].bVisible ? true : false );
1445
			}
1446
		}
1447
		else if ( mColumns == "hidden" )
1448
		{
1449
			for ( i=0, iLen=dt.aoColumns.length ; i<iLen ; i++ )
1450
			{
1451
				aColumns.push( dt.aoColumns[i].bVisible ? false : true );
1452
			}
1453
		}
1454
		else if ( mColumns == "sortable" )
1455
		{
1456
			for ( i=0, iLen=dt.aoColumns.length ; i<iLen ; i++ )
1457
			{
1458
				aColumns.push( dt.aoColumns[i].bSortable ? true : false );
1459
			}
1460
		}
1461
		else /* all */
1462
		{
1463
			for ( i=0, iLen=dt.aoColumns.length ; i<iLen ; i++ )
1464
			{
1465
				aColumns.push( true );
1466
			}
1467
		}
1468
		
1469
		return aColumns;
1470
	},
1471
	
1472
	
1473
	/**
1474
	 * New line character(s) depend on the platforms
1475
	 *  @method  method
1476
	 *  @param   {Object} oConfig Button configuration object - only interested in oConfig.sNewLine
1477
	 *  @returns {String} Newline character
1478
	 */
1479
	"_fnNewline": function ( oConfig )
1480
	{
1481
		if ( oConfig.sNewLine == "auto" )
1482
		{
1483
			return navigator.userAgent.match(/Windows/) ? "\r\n" : "\n";
1484
		}
1485
		else
1486
		{
1487
			return oConfig.sNewLine;
1488
		}
1489
	},
1490
	
1491
	
1492
	/**
1493
	 * Get data from DataTables' internals and format it for output
1494
	 *  @method  _fnGetDataTablesData
1495
	 *  @param   {Object} oConfig Button configuration object
1496
	 *  @param   {String} oConfig.sFieldBoundary Field boundary for the data cells in the string
1497
	 *  @param   {String} oConfig.sFieldSeperator Field separator for the data cells
1498
	 *  @param   {String} oConfig.sNewline New line options
1499
	 *  @param   {Mixed} oConfig.mColumns Which columns should be included in the output
1500
	 *  @param   {Boolean} oConfig.bHeader Include the header
1501
	 *  @param   {Boolean} oConfig.bFooter Include the footer
1502
	 *  @param   {Boolean} oConfig.bSelectedOnly Include only the selected rows in the output
1503
	 *  @returns {String} Concatenated string of data
1504
	 *  @private 
1505
	 */
1506
	"_fnGetDataTablesData": function ( oConfig )
1507
	{
1508
		var i, iLen, j, jLen;
1509
		var aRow, aData=[], sLoopData='', arr;
1510
		var dt = this.s.dt, tr, child;
1511
		var regex = new RegExp(oConfig.sFieldBoundary, "g"); /* Do it here for speed */
1512
		var aColumnsInc = this._fnColumnTargets( oConfig.mColumns );
1513
		var bSelectedOnly = (typeof oConfig.bSelectedOnly != 'undefined') ? oConfig.bSelectedOnly : false;
1514
		
1515
		/*
1516
		 * Header
1517
		 */
1518
		if ( oConfig.bHeader )
1519
		{
1520
			aRow = [];
1521
			
1522
			for ( i=0, iLen=dt.aoColumns.length ; i<iLen ; i++ )
1523
			{
1524
				if ( aColumnsInc[i] )
1525
				{
1526
					sLoopData = dt.aoColumns[i].sTitle.replace(/\n/g," ").replace( /<.*?>/g, "" ).replace(/^\s+|\s+$/g,"");
1527
					sLoopData = this._fnHtmlDecode( sLoopData );
1528
					
1529
					aRow.push( this._fnBoundData( sLoopData, oConfig.sFieldBoundary, regex ) );
1530
				}
1531
			}
1532
1533
			aData.push( aRow.join(oConfig.sFieldSeperator) );
1534
		}
1535
		
1536
		/*
1537
		 * Body
1538
		 */
1539
		var aDataIndex = dt.aiDisplay;
1540
		var aSelected = this.fnGetSelected();
1541
		if ( this.s.select.type !== "none" && bSelectedOnly && aSelected.length !== 0 )
1542
		{
1543
			aDataIndex = [];
1544
			for ( i=0, iLen=aSelected.length ; i<iLen ; i++ )
1545
			{
1546
				aDataIndex.push( dt.oInstance.fnGetPosition( aSelected[i] ) );
1547
			}
1548
		}
1549
		
1550
		for ( j=0, jLen=aDataIndex.length ; j<jLen ; j++ )
1551
		{
1552
			tr = dt.aoData[ aDataIndex[j] ].nTr;
1553
			aRow = [];
1554
			
1555
			/* Columns */
1556
			for ( i=0, iLen=dt.aoColumns.length ; i<iLen ; i++ )
1557
			{
1558
				if ( aColumnsInc[i] )
1559
				{
1560
					/* Convert to strings (with small optimisation) */
1561
					var mTypeData = dt.oApi._fnGetCellData( dt, aDataIndex[j], i, 'display' );
1562
					if ( oConfig.fnCellRender )
1563
					{
1564
						sLoopData = oConfig.fnCellRender( mTypeData, i, tr, aDataIndex[j] )+"";
1565
					}
1566
					else if ( typeof mTypeData == "string" )
1567
					{
1568
						/* Strip newlines, replace img tags with alt attr. and finally strip html... */
1569
						sLoopData = mTypeData.replace(/\n/g," ");
1570
						sLoopData =
1571
						 	sLoopData.replace(/<img.*?\s+alt\s*=\s*(?:"([^"]+)"|'([^']+)'|([^\s>]+)).*?>/gi,
1572
						 		'$1$2$3');
1573
						sLoopData = sLoopData.replace( /<.*?>/g, "" );
1574
					}
1575
					else
1576
					{
1577
						sLoopData = mTypeData+"";
1578
					}
1579
					
1580
					/* Trim and clean the data */
1581
					sLoopData = sLoopData.replace(/^\s+/, '').replace(/\s+$/, '');
1582
					sLoopData = this._fnHtmlDecode( sLoopData );
1583
					
1584
					/* Bound it and add it to the total data */
1585
					aRow.push( this._fnBoundData( sLoopData, oConfig.sFieldBoundary, regex ) );
1586
				}
1587
			}
1588
      
1589
			aData.push( aRow.join(oConfig.sFieldSeperator) );
1590
      
1591
			/* Details rows from fnOpen */
1592
			if ( oConfig.bOpenRows )
1593
			{
1594
				arr = $.grep(dt.aoOpenRows, function(o) { return o.nParent === tr; });
1595
				
1596
				if ( arr.length === 1 )
1597
				{
1598
					sLoopData = this._fnBoundData( $('td', arr[0].nTr).html(), oConfig.sFieldBoundary, regex );
1599
					aData.push( sLoopData );
1600
				}
1601
			}
1602
		}
1603
		
1604
		/*
1605
		 * Footer
1606
		 */
1607
		if ( oConfig.bFooter && dt.nTFoot !== null )
1608
		{
1609
			aRow = [];
1610
			
1611
			for ( i=0, iLen=dt.aoColumns.length ; i<iLen ; i++ )
1612
			{
1613
				if ( aColumnsInc[i] && dt.aoColumns[i].nTf !== null )
1614
				{
1615
					sLoopData = dt.aoColumns[i].nTf.innerHTML.replace(/\n/g," ").replace( /<.*?>/g, "" );
1616
					sLoopData = this._fnHtmlDecode( sLoopData );
1617
					
1618
					aRow.push( this._fnBoundData( sLoopData, oConfig.sFieldBoundary, regex ) );
1619
				}
1620
			}
1621
			
1622
			aData.push( aRow.join(oConfig.sFieldSeperator) );
1623
		}
1624
		
1625
		_sLastData = aData.join( this._fnNewline(oConfig) );
1626
		return _sLastData;
1627
	},
1628
	
1629
	
1630
	/**
1631
	 * Wrap data up with a boundary string
1632
	 *  @method  _fnBoundData
1633
	 *  @param   {String} sData data to bound
1634
	 *  @param   {String} sBoundary bounding char(s)
1635
	 *  @param   {RegExp} regex search for the bounding chars - constructed outside for efficiency
1636
	 *			 in the loop
1637
	 *  @returns {String} bound data
1638
	 *  @private 
1639
	 */
1640
	"_fnBoundData": function ( sData, sBoundary, regex )
1641
	{
1642
		if ( sBoundary === "" )
1643
		{
1644
			return sData;
1645
		}
1646
		else
1647
		{
1648
			return sBoundary + sData.replace(regex, sBoundary+sBoundary) + sBoundary;
1649
		}
1650
	},
1651
	
1652
	
1653
	/**
1654
	 * Break a string up into an array of smaller strings
1655
	 *  @method  _fnChunkData
1656
	 *  @param   {String} sData data to be broken up
1657
	 *  @param   {Int} iSize chunk size
1658
	 *  @returns {Array} String array of broken up text
1659
	 *  @private 
1660
	 */
1661
	"_fnChunkData": function ( sData, iSize )
1662
	{
1663
		var asReturn = [];
1664
		var iStrlen = sData.length;
1665
		
1666
		for ( var i=0 ; i<iStrlen ; i+=iSize )
1667
		{
1668
			if ( i+iSize < iStrlen )
1669
			{
1670
				asReturn.push( sData.substring( i, i+iSize ) );
1671
			}
1672
			else
1673
			{
1674
				asReturn.push( sData.substring( i, iStrlen ) );
1675
			}
1676
		}
1677
		
1678
		return asReturn;
1679
	},
1680
	
1681
	
1682
	/**
1683
	 * Decode HTML entities
1684
	 *  @method  _fnHtmlDecode
1685
	 *  @param   {String} sData encoded string
1686
	 *  @returns {String} decoded string
1687
	 *  @private 
1688
	 */
1689
	"_fnHtmlDecode": function ( sData )
1690
	{
1691
		if ( sData.indexOf('&') === -1 )
1692
		{
1693
			return sData;
1694
		}
1695
		
1696
		var n = document.createElement('div');
1697
1698
		return sData.replace( /&([^\s]*);/g, function( match, match2 ) {
1699
			if ( match.substr(1, 1) === '#' )
1700
			{
1701
				return String.fromCharCode( Number(match2.substr(1)) );
1702
			}
1703
			else
1704
			{
1705
				n.innerHTML = match;
1706
				return n.childNodes[0].nodeValue;
1707
			}
1708
		} );
1709
	},
1710
	
1711
	
1712
	
1713
	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
1714
	 * Printing functions
1715
	 */
1716
	
1717
	/**
1718
	 * Show print display
1719
	 *  @method  _fnPrintStart
1720
	 *  @param   {Event} e Event object
1721
	 *  @param   {Object} oConfig Button configuration object
1722
	 *  @returns void
1723
	 *  @private 
1724
	 */
1725
	"_fnPrintStart": function ( oConfig )
1726
	{
1727
	  var that = this;
1728
	  var oSetDT = this.s.dt;
1729
	  
1730
		/* Parse through the DOM hiding everything that isn't needed for the table */
1731
		this._fnPrintHideNodes( oSetDT.nTable );
1732
		
1733
		/* Show the whole table */
1734
		this.s.print.saveStart = oSetDT._iDisplayStart;
1735
		this.s.print.saveLength = oSetDT._iDisplayLength;
1736
1737
		if ( oConfig.bShowAll )
1738
		{
1739
			oSetDT._iDisplayStart = 0;
1740
			oSetDT._iDisplayLength = -1;
1741
			oSetDT.oApi._fnCalculateEnd( oSetDT );
1742
			oSetDT.oApi._fnDraw( oSetDT );
1743
		}
1744
		
1745
		/* Adjust the display for scrolling which might be done by DataTables */
1746
		if ( oSetDT.oScroll.sX !== "" || oSetDT.oScroll.sY !== "" )
1747
		{
1748
			this._fnPrintScrollStart( oSetDT );
1749
1750
			// If the table redraws while in print view, the DataTables scrolling
1751
			// setup would hide the header, so we need to readd it on draw
1752
			$(this.s.dt.nTable).bind('draw.DTTT_Print', function () {
1753
				that._fnPrintScrollStart( oSetDT );
1754
			} );
1755
		}
1756
		
1757
		/* Remove the other DataTables feature nodes - but leave the table! and info div */
1758
		var anFeature = oSetDT.aanFeatures;
1759
		for ( var cFeature in anFeature )
1760
		{
1761
			if ( cFeature != 'i' && cFeature != 't' && cFeature.length == 1 )
1762
			{
1763
				for ( var i=0, iLen=anFeature[cFeature].length ; i<iLen ; i++ )
1764
				{
1765
					this.dom.print.hidden.push( {
1766
						"node": anFeature[cFeature][i],
1767
						"display": "block"
1768
					} );
1769
					anFeature[cFeature][i].style.display = "none";
1770
				}
1771
			}
1772
		}
1773
		
1774
		/* Print class can be used for styling */
1775
		$(document.body).addClass( this.classes.print.body );
1776
1777
		/* Show information message to let the user know what is happening */
1778
		if ( oConfig.sInfo !== "" )
1779
		{
1780
			this.fnInfo( oConfig.sInfo, 3000 );
1781
		}
1782
1783
		/* Add a message at the top of the page */
1784
		if ( oConfig.sMessage )
1785
		{
1786
			this.dom.print.message = document.createElement( "div" );
1787
			this.dom.print.message.className = this.classes.print.message;
1788
			this.dom.print.message.innerHTML = oConfig.sMessage;
1789
			document.body.insertBefore( this.dom.print.message, document.body.childNodes[0] );
1790
		}
1791
		
1792
		/* Cache the scrolling and the jump to the top of the page */
1793
		this.s.print.saveScroll = $(window).scrollTop();
1794
		window.scrollTo( 0, 0 );
1795
1796
		/* Bind a key event listener to the document for the escape key -
1797
		 * it is removed in the callback
1798
		 */
1799
		$(document).bind( "keydown.DTTT", function(e) {
1800
			/* Only interested in the escape key */
1801
			if ( e.keyCode == 27 )
1802
			{
1803
				e.preventDefault();
1804
				that._fnPrintEnd.call( that, e );
1805
			}
1806
		} );
1807
	},
1808
	
1809
	
1810
	/**
1811
	 * Printing is finished, resume normal display
1812
	 *  @method  _fnPrintEnd
1813
	 *  @param   {Event} e Event object
1814
	 *  @returns void
1815
	 *  @private 
1816
	 */
1817
	"_fnPrintEnd": function ( e )
1818
	{
1819
		var that = this;
1820
		var oSetDT = this.s.dt;
1821
		var oSetPrint = this.s.print;
1822
		var oDomPrint = this.dom.print;
1823
		
1824
		/* Show all hidden nodes */
1825
		this._fnPrintShowNodes();
1826
		
1827
		/* Restore DataTables' scrolling */
1828
		if ( oSetDT.oScroll.sX !== "" || oSetDT.oScroll.sY !== "" )
1829
		{
1830
			$(this.s.dt.nTable).unbind('draw.DTTT_Print');
1831
1832
			this._fnPrintScrollEnd();
1833
		}
1834
		
1835
		/* Restore the scroll */
1836
		window.scrollTo( 0, oSetPrint.saveScroll );
1837
		
1838
		/* Drop the print message */
1839
		if ( oDomPrint.message !== null )
1840
		{
1841
			document.body.removeChild( oDomPrint.message );
1842
			oDomPrint.message = null;
1843
		}
1844
		
1845
		/* Styling class */
1846
		$(document.body).removeClass( 'DTTT_Print' );
1847
		
1848
		/* Restore the table length */
1849
		oSetDT._iDisplayStart = oSetPrint.saveStart;
1850
		oSetDT._iDisplayLength = oSetPrint.saveLength;
1851
		oSetDT.oApi._fnCalculateEnd( oSetDT );
1852
		oSetDT.oApi._fnDraw( oSetDT );
1853
		
1854
		$(document).unbind( "keydown.DTTT" );
1855
	},
1856
	
1857
	
1858
	/**
1859
	 * Take account of scrolling in DataTables by showing the full table
1860
	 *  @returns void
1861
	 *  @private 
1862
	 */
1863
	"_fnPrintScrollStart": function ()
1864
	{
1865
		var 
1866
			oSetDT = this.s.dt,
1867
			nScrollHeadInner = oSetDT.nScrollHead.getElementsByTagName('div')[0],
1868
			nScrollHeadTable = nScrollHeadInner.getElementsByTagName('table')[0],
1869
			nScrollBody = oSetDT.nTable.parentNode;
1870
1871
		/* Copy the header in the thead in the body table, this way we show one single table when
1872
		 * in print view. Note that this section of code is more or less verbatim from DT 1.7.0
1873
		 */
1874
		var nTheadSize = oSetDT.nTable.getElementsByTagName('thead');
1875
		if ( nTheadSize.length > 0 )
1876
		{
1877
			oSetDT.nTable.removeChild( nTheadSize[0] );
1878
		}
1879
		
1880
		if ( oSetDT.nTFoot !== null )
1881
		{
1882
			var nTfootSize = oSetDT.nTable.getElementsByTagName('tfoot');
1883
			if ( nTfootSize.length > 0 )
1884
			{
1885
				oSetDT.nTable.removeChild( nTfootSize[0] );
1886
			}
1887
		}
1888
		
1889
		nTheadSize = oSetDT.nTHead.cloneNode(true);
1890
		oSetDT.nTable.insertBefore( nTheadSize, oSetDT.nTable.childNodes[0] );
1891
		
1892
		if ( oSetDT.nTFoot !== null )
1893
		{
1894
			nTfootSize = oSetDT.nTFoot.cloneNode(true);
1895
			oSetDT.nTable.insertBefore( nTfootSize, oSetDT.nTable.childNodes[1] );
1896
		}
1897
		
1898
		/* Now adjust the table's viewport so we can actually see it */
1899
		if ( oSetDT.oScroll.sX !== "" )
1900
		{
1901
			oSetDT.nTable.style.width = $(oSetDT.nTable).outerWidth()+"px";
1902
			nScrollBody.style.width = $(oSetDT.nTable).outerWidth()+"px";
1903
			nScrollBody.style.overflow = "visible";
1904
		}
1905
		
1906
		if ( oSetDT.oScroll.sY !== "" )
1907
		{
1908
			nScrollBody.style.height = $(oSetDT.nTable).outerHeight()+"px";
1909
			nScrollBody.style.overflow = "visible";
1910
		}
1911
	},
1912
	
1913
	
1914
	/**
1915
	 * Take account of scrolling in DataTables by showing the full table. Note that the redraw of
1916
	 * the DataTable that we do will actually deal with the majority of the hard work here
1917
	 *  @returns void
1918
	 *  @private 
1919
	 */
1920
	"_fnPrintScrollEnd": function ()
1921
	{
1922
		var 
1923
			oSetDT = this.s.dt,
1924
			nScrollBody = oSetDT.nTable.parentNode;
1925
		
1926
		if ( oSetDT.oScroll.sX !== "" )
1927
		{
1928
			nScrollBody.style.width = oSetDT.oApi._fnStringToCss( oSetDT.oScroll.sX );
1929
			nScrollBody.style.overflow = "auto";
1930
		}
1931
		
1932
		if ( oSetDT.oScroll.sY !== "" )
1933
		{
1934
			nScrollBody.style.height = oSetDT.oApi._fnStringToCss( oSetDT.oScroll.sY );
1935
			nScrollBody.style.overflow = "auto";
1936
		}
1937
	},
1938
	
1939
	
1940
	/**
1941
	 * Resume the display of all TableTools hidden nodes
1942
	 *  @method  _fnPrintShowNodes
1943
	 *  @returns void
1944
	 *  @private 
1945
	 */
1946
	"_fnPrintShowNodes": function ( )
1947
	{
1948
	  var anHidden = this.dom.print.hidden;
1949
	  
1950
		for ( var i=0, iLen=anHidden.length ; i<iLen ; i++ )
1951
		{
1952
			anHidden[i].node.style.display = anHidden[i].display;
1953
		}
1954
		anHidden.splice( 0, anHidden.length );
1955
	},
1956
	
1957
	
1958
	/**
1959
	 * Hide nodes which are not needed in order to display the table. Note that this function is
1960
	 * recursive
1961
	 *  @method  _fnPrintHideNodes
1962
	 *  @param   {Node} nNode Element which should be showing in a 'print' display
1963
	 *  @returns void
1964
	 *  @private 
1965
	 */
1966
	"_fnPrintHideNodes": function ( nNode )
1967
	{
1968
	  var anHidden = this.dom.print.hidden;
1969
	  
1970
		var nParent = nNode.parentNode;
1971
		var nChildren = nParent.childNodes;
1972
		for ( var i=0, iLen=nChildren.length ; i<iLen ; i++ )
1973
		{
1974
			if ( nChildren[i] != nNode && nChildren[i].nodeType == 1 )
1975
			{
1976
				/* If our node is shown (don't want to show nodes which were previously hidden) */
1977
				var sDisplay = $(nChildren[i]).css("display");
1978
			 	if ( sDisplay != "none" )
1979
				{
1980
					/* Cache the node and it's previous state so we can restore it */
1981
					anHidden.push( {
1982
						"node": nChildren[i],
1983
						"display": sDisplay
1984
					} );
1985
					nChildren[i].style.display = "none";
1986
				}
1987
			}
1988
		}
1989
		
1990
		if ( nParent.nodeName != "BODY" )
1991
		{
1992
			this._fnPrintHideNodes( nParent );
1993
		}
1994
	}
1995
};
1996
1997
1998
1999
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
2000
 * Static variables
2001
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2002
2003
/**
2004
 * Store of all instances that have been created of TableTools, so one can look up other (when
2005
 * there is need of a master)
2006
 *  @property _aInstances
2007
 *  @type	 Array
2008
 *  @default  []
2009
 *  @private
2010
 */
2011
TableTools._aInstances = [];
2012
2013
2014
/**
2015
 * Store of all listeners and their callback functions
2016
 *  @property _aListeners
2017
 *  @type	 Array
2018
 *  @default  []
2019
 */
2020
TableTools._aListeners = [];
2021
2022
2023
2024
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
2025
 * Static methods
2026
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2027
2028
/**
2029
 * Get an array of all the master instances
2030
 *  @method  fnGetMasters
2031
 *  @returns {Array} List of master TableTools instances
2032
 *  @static
2033
 */
2034
TableTools.fnGetMasters = function ()
2035
{
2036
	var a = [];
2037
	for ( var i=0, iLen=TableTools._aInstances.length ; i<iLen ; i++ )
2038
	{
2039
		if ( TableTools._aInstances[i].s.master )
2040
		{
2041
			a.push( TableTools._aInstances[i] );
2042
		}
2043
	}
2044
	return a;
2045
};
2046
2047
/**
2048
 * Get the master instance for a table node (or id if a string is given)
2049
 *  @method  fnGetInstance
2050
 *  @returns {Object} ID of table OR table node, for which we want the TableTools instance
2051
 *  @static
2052
 */
2053
TableTools.fnGetInstance = function ( node )
2054
{
2055
	if ( typeof node != 'object' )
2056
	{
2057
		node = document.getElementById(node);
2058
	}
2059
	
2060
	for ( var i=0, iLen=TableTools._aInstances.length ; i<iLen ; i++ )
2061
	{
2062
		if ( TableTools._aInstances[i].s.master && TableTools._aInstances[i].dom.table == node )
2063
		{
2064
			return TableTools._aInstances[i];
2065
		}
2066
	}
2067
	return null;
2068
};
2069
2070
2071
/**
2072
 * Add a listener for a specific event
2073
 *  @method  _fnEventListen
2074
 *  @param   {Object} that Scope of the listening function (i.e. 'this' in the caller)
2075
 *  @param   {String} type Event type
2076
 *  @param   {Function} fn Function
2077
 *  @returns void
2078
 *  @private
2079
 *  @static
2080
 */
2081
TableTools._fnEventListen = function ( that, type, fn )
2082
{
2083
	TableTools._aListeners.push( {
2084
		"that": that,
2085
		"type": type,
2086
		"fn": fn
2087
	} );
2088
};
2089
	
2090
2091
/**
2092
 * An event has occurred - look up every listener and fire it off. We check that the event we are
2093
 * going to fire is attached to the same table (using the table node as reference) before firing
2094
 *  @method  _fnEventDispatch
2095
 *  @param   {Object} that Scope of the listening function (i.e. 'this' in the caller)
2096
 *  @param   {String} type Event type
2097
 *  @param   {Node} node Element that the event occurred on (may be null)
2098
 *  @param   {boolean} [selected] Indicate if the node was selected (true) or deselected (false)
2099
 *  @returns void
2100
 *  @private
2101
 *  @static
2102
 */
2103
TableTools._fnEventDispatch = function ( that, type, node, selected )
2104
{
2105
	var listeners = TableTools._aListeners;
2106
	for ( var i=0, iLen=listeners.length ; i<iLen ; i++ )
2107
	{
2108
		if ( that.dom.table == listeners[i].that.dom.table && listeners[i].type == type )
2109
		{
2110
			listeners[i].fn( node, selected );
2111
		}
2112
	}
2113
};
2114
2115
2116
2117
2118
2119
2120
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
2121
 * Constants
2122
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2123
2124
2125
2126
TableTools.buttonBase = {
2127
	// Button base
2128
	"sAction": "text",
2129
	"sTag": "default",
2130
	"sLinerTag": "default",
2131
	"sButtonClass": "DTTT_button_text",
2132
	"sButtonText": "Button text",
2133
	"sTitle": "",
2134
	"sToolTip": "",
2135
2136
	// Common button specific options
2137
	"sCharSet": "utf8",
2138
	"bBomInc": false,
2139
	"sFileName": "*.csv",
2140
	"sFieldBoundary": "",
2141
	"sFieldSeperator": "\t",
2142
	"sNewLine": "auto",
2143
	"mColumns": "all", /* "all", "visible", "hidden" or array of column integers */
2144
	"bHeader": true,
2145
	"bFooter": true,
2146
	"bOpenRows": false,
2147
	"bSelectedOnly": false,
2148
2149
	// Callbacks
2150
	"fnMouseover": null,
2151
	"fnMouseout": null,
2152
	"fnClick": null,
2153
	"fnSelect": null,
2154
	"fnComplete": null,
2155
	"fnInit": null,
2156
	"fnCellRender": null
2157
};
2158
2159
2160
/**
2161
 * @namespace Default button configurations
2162
 */
2163
TableTools.BUTTONS = {
2164
	"csv": $.extend( {}, TableTools.buttonBase, {
2165
		"sAction": "flash_save",
2166
		"sButtonClass": "DTTT_button_csv",
2167
		"sButtonText": "CSV",
2168
		"sFieldBoundary": '"',
2169
		"sFieldSeperator": ",",
2170
		"fnClick": function( nButton, oConfig, flash ) {
2171
			this.fnSetText( flash, this.fnGetTableData(oConfig) );
2172
		}
2173
	} ),
2174
2175
	"xls": $.extend( {}, TableTools.buttonBase, {
2176
		"sAction": "flash_save",
2177
		"sCharSet": "utf16le",
2178
		"bBomInc": true,
2179
		"sButtonClass": "DTTT_button_xls",
2180
		"sButtonText": "Excel",
2181
		"fnClick": function( nButton, oConfig, flash ) {
2182
			this.fnSetText( flash, this.fnGetTableData(oConfig) );
2183
		}
2184
	} ),
2185
2186
	"copy": $.extend( {}, TableTools.buttonBase, {
2187
		"sAction": "flash_copy",
2188
		"sButtonClass": "DTTT_button_copy",
2189
		"sButtonText": "Copy",
2190
		"fnClick": function( nButton, oConfig, flash ) {
2191
			this.fnSetText( flash, this.fnGetTableData(oConfig) );
2192
		},
2193
		"fnComplete": function(nButton, oConfig, flash, text) {
2194
			var
2195
				lines = text.split('\n').length,
2196
				len = this.s.dt.nTFoot === null ? lines-1 : lines-2,
2197
				plural = (len==1) ? "" : "s";
2198
			this.fnInfo( '<h6>Table copied</h6>'+
2199
				'<p>Copied '+len+' row'+plural+' to the clipboard.</p>',
2200
				1500
2201
			);
2202
		}
2203
	} ),
2204
2205
	"pdf": $.extend( {}, TableTools.buttonBase, {
2206
		"sAction": "flash_pdf",
2207
		"sNewLine": "\n",
2208
		"sFileName": "*.pdf",
2209
		"sButtonClass": "DTTT_button_pdf",
2210
		"sButtonText": "PDF",
2211
		"sPdfOrientation": "portrait",
2212
		"sPdfSize": "A4",
2213
		"sPdfMessage": "",
2214
		"fnClick": function( nButton, oConfig, flash ) {
2215
			this.fnSetText( flash, 
2216
				"title:"+ this.fnGetTitle(oConfig) +"\n"+
2217
				"message:"+ oConfig.sPdfMessage +"\n"+
2218
				"colWidth:"+ this.fnCalcColRatios(oConfig) +"\n"+
2219
				"orientation:"+ oConfig.sPdfOrientation +"\n"+
2220
				"size:"+ oConfig.sPdfSize +"\n"+
2221
				"--/TableToolsOpts--\n" +
2222
				this.fnGetTableData(oConfig)
2223
			);
2224
		}
2225
	} ),
2226
2227
	"print": $.extend( {}, TableTools.buttonBase, {
2228
		"sInfo": "<h6>Print view</h6><p>Please use your browser's print function to "+
2229
		  "print this table. Press escape when finished.",
2230
		"sMessage": null,
2231
		"bShowAll": true,
2232
		"sToolTip": "View print view",
2233
		"sButtonClass": "DTTT_button_print",
2234
		"sButtonText": "Print",
2235
		"fnClick": function ( nButton, oConfig ) {
2236
			this.fnPrint( true, oConfig );
2237
		}
2238
	} ),
2239
2240
	"text": $.extend( {}, TableTools.buttonBase ),
2241
2242
	"select": $.extend( {}, TableTools.buttonBase, {
2243
		"sButtonText": "Select button",
2244
		"fnSelect": function( nButton, oConfig ) {
2245
			if ( this.fnGetSelected().length !== 0 ) {
2246
				$(nButton).removeClass( this.classes.buttons.disabled );
2247
			} else {
2248
				$(nButton).addClass( this.classes.buttons.disabled );
2249
			}
2250
		},
2251
		"fnInit": function( nButton, oConfig ) {
2252
			$(nButton).addClass( this.classes.buttons.disabled );
2253
		}
2254
	} ),
2255
2256
	"select_single": $.extend( {}, TableTools.buttonBase, {
2257
		"sButtonText": "Select button",
2258
		"fnSelect": function( nButton, oConfig ) {
2259
			var iSelected = this.fnGetSelected().length;
2260
			if ( iSelected == 1 ) {
2261
				$(nButton).removeClass( this.classes.buttons.disabled );
2262
			} else {
2263
				$(nButton).addClass( this.classes.buttons.disabled );
2264
			}
2265
		},
2266
		"fnInit": function( nButton, oConfig ) {
2267
			$(nButton).addClass( this.classes.buttons.disabled );
2268
		}
2269
	} ),
2270
2271
	"select_all": $.extend( {}, TableTools.buttonBase, {
2272
		"sButtonText": "Select all",
2273
		"fnClick": function( nButton, oConfig ) {
2274
			this.fnSelectAll();
2275
		},
2276
		"fnSelect": function( nButton, oConfig ) {
2277
			if ( this.fnGetSelected().length == this.s.dt.fnRecordsDisplay() ) {
2278
				$(nButton).addClass( this.classes.buttons.disabled );
2279
			} else {
2280
				$(nButton).removeClass( this.classes.buttons.disabled );
2281
			}
2282
		}
2283
	} ),
2284
2285
	"select_none": $.extend( {}, TableTools.buttonBase, {
2286
		"sButtonText": "Deselect all",
2287
		"fnClick": function( nButton, oConfig ) {
2288
			this.fnSelectNone();
2289
		},
2290
		"fnSelect": function( nButton, oConfig ) {
2291
			if ( this.fnGetSelected().length !== 0 ) {
2292
				$(nButton).removeClass( this.classes.buttons.disabled );
2293
			} else {
2294
				$(nButton).addClass( this.classes.buttons.disabled );
2295
			}
2296
		},
2297
		"fnInit": function( nButton, oConfig ) {
2298
			$(nButton).addClass( this.classes.buttons.disabled );
2299
		}
2300
	} ),
2301
2302
	"ajax": $.extend( {}, TableTools.buttonBase, {
2303
		"sAjaxUrl": "/xhr.php",
2304
		"sButtonText": "Ajax button",
2305
		"fnClick": function( nButton, oConfig ) {
2306
			var sData = this.fnGetTableData(oConfig);
2307
			$.ajax( {
2308
				"url": oConfig.sAjaxUrl,
2309
				"data": [
2310
					{ "name": "tableData", "value": sData }
2311
				],
2312
				"success": oConfig.fnAjaxComplete,
2313
				"dataType": "json",
2314
				"type": "POST", 
2315
				"cache": false,
2316
				"error": function () {
2317
					alert( "Error detected when sending table data to server" );
2318
				}
2319
			} );
2320
		},
2321
		"fnAjaxComplete": function( json ) {
2322
			alert( 'Ajax complete' );
2323
		}
2324
	} ),
2325
2326
	"div": $.extend( {}, TableTools.buttonBase, {
2327
		"sAction": "div",
2328
		"sTag": "div",
2329
		"sButtonClass": "DTTT_nonbutton",
2330
		"sButtonText": "Text button"
2331
	} ),
2332
2333
	"collection": $.extend( {}, TableTools.buttonBase, {
2334
		"sAction": "collection",
2335
		"sButtonClass": "DTTT_button_collection",
2336
		"sButtonText": "Collection",
2337
		"fnClick": function( nButton, oConfig ) {
2338
			this._fnCollectionShow(nButton, oConfig);
2339
		}
2340
	} )
2341
};
2342
/*
2343
 *  on* callback parameters:
2344
 *  	1. node - button element
2345
 *  	2. object - configuration object for this button
2346
 *  	3. object - ZeroClipboard reference (flash button only)
2347
 *  	4. string - Returned string from Flash (flash button only - and only on 'complete')
2348
 */
2349
2350
2351
2352
/**
2353
 * @namespace Classes used by TableTools - allows the styles to be override easily.
2354
 *   Note that when TableTools initialises it will take a copy of the classes object
2355
 *   and will use its internal copy for the remainder of its run time.
2356
 */
2357
TableTools.classes = {
2358
	"container": "DTTT_container",
2359
	"buttons": {
2360
		"normal": "DTTT_button",
2361
		"disabled": "DTTT_disabled"
2362
	},
2363
	"collection": {
2364
		"container": "DTTT_collection",
2365
		"background": "DTTT_collection_background",
2366
		"buttons": {
2367
			"normal": "DTTT_button",
2368
			"disabled": "DTTT_disabled"
2369
		}
2370
	},
2371
	"select": {
2372
		"table": "DTTT_selectable",
2373
		"row": "DTTT_selected"
2374
	},
2375
	"print": {
2376
		"body": "DTTT_Print",
2377
		"info": "DTTT_print_info",
2378
		"message": "DTTT_PrintMessage"
2379
	}
2380
};
2381
2382
2383
/**
2384
 * @namespace ThemeRoller classes - built in for compatibility with DataTables' 
2385
 *   bJQueryUI option.
2386
 */
2387
TableTools.classes_themeroller = {
2388
	"container": "DTTT_container ui-buttonset ui-buttonset-multi",
2389
	"buttons": {
2390
		"normal": "DTTT_button ui-button ui-state-default"
2391
	},
2392
	"collection": {
2393
		"container": "DTTT_collection ui-buttonset ui-buttonset-multi"
2394
	}
2395
};
2396
2397
2398
/**
2399
 * @namespace TableTools default settings for initialisation
2400
 */
2401
TableTools.DEFAULTS = {
2402
	"sSwfPath":        "media/swf/copy_csv_xls_pdf.swf",
2403
	"sRowSelect":      "none",
2404
	"sSelectedClass":  null,
2405
	"fnPreRowSelect":  null,
2406
	"fnRowSelected":   null,
2407
	"fnRowDeselected": null,
2408
	"aButtons":        [ "copy", "csv", "xls", "pdf", "print" ],
2409
	"oTags": {
2410
		"container": "div",
2411
		"button": "a", // We really want to use buttons here, but Firefox and IE ignore the
2412
		                 // click on the Flash element in the button (but not mouse[in|out]).
2413
		"liner": "span",
2414
		"collection": {
2415
			"container": "div",
2416
			"button": "a",
2417
			"liner": "span"
2418
		}
2419
	}
2420
};
2421
2422
2423
/**
2424
 * Name of this class
2425
 *  @constant CLASS
2426
 *  @type	 String
2427
 *  @default  TableTools
2428
 */
2429
TableTools.prototype.CLASS = "TableTools";
2430
2431
2432
/**
2433
 * TableTools version
2434
 *  @constant  VERSION
2435
 *  @type	  String
2436
 *  @default   See code
2437
 */
2438
TableTools.VERSION = "2.1.5";
2439
TableTools.prototype.VERSION = TableTools.VERSION;
2440
2441
2442
2443
2444
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
2445
 * Initialisation
2446
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2447
2448
/*
2449
 * Register a new feature with DataTables
2450
 */
2451
if ( typeof $.fn.dataTable == "function" &&
2452
	 typeof $.fn.dataTableExt.fnVersionCheck == "function" &&
2453
	 $.fn.dataTableExt.fnVersionCheck('1.9.0') )
2454
{
2455
	$.fn.dataTableExt.aoFeatures.push( {
2456
		"fnInit": function( oDTSettings ) {
2457
			var oOpts = typeof oDTSettings.oInit.oTableTools != 'undefined' ? 
2458
				oDTSettings.oInit.oTableTools : {};
2459
			
2460
			var oTT = new TableTools( oDTSettings.oInstance, oOpts );
2461
			TableTools._aInstances.push( oTT );
2462
			
2463
			return oTT.dom.container;
2464
		},
2465
		"cFeature": "T",
2466
		"sFeature": "TableTools"
2467
	} );
2468
}
2469
else
2470
{
2471
	alert( "Warning: TableTools 2 requires DataTables 1.9.0 or newer - www.datatables.net/download");
2472
}
2473
2474
$.fn.DataTable.TableTools = TableTools;
2475
2476
})(jQuery, window, document);
(-)a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/TableTools/media/js/TableTools.min.js (+77 lines)
Line 0 Link Here
1
// Simple Set Clipboard System
2
// Author: Joseph Huckaby
3
var ZeroClipboard_TableTools={version:"1.0.4-TableTools2",clients:{},moviePath:"",nextId:1,$:function(a){"string"==typeof a&&(a=document.getElementById(a));a.addClass||(a.hide=function(){this.style.display="none"},a.show=function(){this.style.display=""},a.addClass=function(a){this.removeClass(a);this.className+=" "+a},a.removeClass=function(a){this.className=this.className.replace(RegExp("\\s*"+a+"\\s*")," ").replace(/^\s+/,"").replace(/\s+$/,"")},a.hasClass=function(a){return!!this.className.match(RegExp("\\s*"+
4
a+"\\s*"))});return a},setMoviePath:function(a){this.moviePath=a},dispatch:function(a,b,c){(a=this.clients[a])&&a.receiveEvent(b,c)},register:function(a,b){this.clients[a]=b},getDOMObjectPosition:function(a){var b={left:0,top:0,width:a.width?a.width:a.offsetWidth,height:a.height?a.height:a.offsetHeight};""!=a.style.width&&(b.width=a.style.width.replace("px",""));""!=a.style.height&&(b.height=a.style.height.replace("px",""));for(;a;)b.left+=a.offsetLeft,b.top+=a.offsetTop,a=a.offsetParent;return b},
5
Client:function(a){this.handlers={};this.id=ZeroClipboard_TableTools.nextId++;this.movieId="ZeroClipboard_TableToolsMovie_"+this.id;ZeroClipboard_TableTools.register(this.id,this);a&&this.glue(a)}};
6
ZeroClipboard_TableTools.Client.prototype={id:0,ready:!1,movie:null,clipText:"",fileName:"",action:"copy",handCursorEnabled:!0,cssEffects:!0,handlers:null,sized:!1,glue:function(a,b){this.domElement=ZeroClipboard_TableTools.$(a);var c=99;this.domElement.style.zIndex&&(c=parseInt(this.domElement.style.zIndex)+1);var d=ZeroClipboard_TableTools.getDOMObjectPosition(this.domElement);this.div=document.createElement("div");var e=this.div.style;e.position="absolute";e.left="0px";e.top="0px";e.width=d.width+
7
"px";e.height=d.height+"px";e.zIndex=c;"undefined"!=typeof b&&""!=b&&(this.div.title=b);0!=d.width&&0!=d.height&&(this.sized=!0);this.domElement&&(this.domElement.appendChild(this.div),this.div.innerHTML=this.getHTML(d.width,d.height))},positionElement:function(){var a=ZeroClipboard_TableTools.getDOMObjectPosition(this.domElement),b=this.div.style;b.position="absolute";b.width=a.width+"px";b.height=a.height+"px";0!=a.width&&0!=a.height&&(this.sized=!0,b=this.div.childNodes[0],b.width=a.width,b.height=
8
a.height)},getHTML:function(a,b){var c="",d="id="+this.id+"&width="+a+"&height="+b;if(navigator.userAgent.match(/MSIE/))var e=location.href.match(/^https/i)?"https://":"http://",c=c+('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="'+e+'download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0" width="'+a+'" height="'+b+'" id="'+this.movieId+'" align="middle"><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="false" /><param name="movie" value="'+
9
ZeroClipboard_TableTools.moviePath+'" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="quality" value="best" /><param name="bgcolor" value="#ffffff" /><param name="flashvars" value="'+d+'"/><param name="wmode" value="transparent"/></object>');else c+='<embed id="'+this.movieId+'" src="'+ZeroClipboard_TableTools.moviePath+'" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="'+a+'" height="'+b+'" name="'+this.movieId+'" align="middle" allowScriptAccess="always" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="'+
10
d+'" wmode="transparent" />';return c},hide:function(){this.div&&(this.div.style.left="-2000px")},show:function(){this.reposition()},destroy:function(){if(this.domElement&&this.div){this.hide();this.div.innerHTML="";var a=document.getElementsByTagName("body")[0];try{a.removeChild(this.div)}catch(b){}this.div=this.domElement=null}},reposition:function(a){a&&((this.domElement=ZeroClipboard_TableTools.$(a))||this.hide());if(this.domElement&&this.div){var a=ZeroClipboard_TableTools.getDOMObjectPosition(this.domElement),
11
b=this.div.style;b.left=""+a.left+"px";b.top=""+a.top+"px"}},clearText:function(){this.clipText="";this.ready&&this.movie.clearText()},appendText:function(a){this.clipText+=a;this.ready&&this.movie.appendText(a)},setText:function(a){this.clipText=a;this.ready&&this.movie.setText(a)},setCharSet:function(a){this.charSet=a;this.ready&&this.movie.setCharSet(a)},setBomInc:function(a){this.incBom=a;this.ready&&this.movie.setBomInc(a)},setFileName:function(a){this.fileName=a;this.ready&&this.movie.setFileName(a)},
12
setAction:function(a){this.action=a;this.ready&&this.movie.setAction(a)},addEventListener:function(a,b){a=a.toString().toLowerCase().replace(/^on/,"");this.handlers[a]||(this.handlers[a]=[]);this.handlers[a].push(b)},setHandCursor:function(a){this.handCursorEnabled=a;this.ready&&this.movie.setHandCursor(a)},setCSSEffects:function(a){this.cssEffects=!!a},receiveEvent:function(a,b){a=a.toString().toLowerCase().replace(/^on/,"");switch(a){case "load":this.movie=document.getElementById(this.movieId);
13
if(!this.movie){var c=this;setTimeout(function(){c.receiveEvent("load",null)},1);return}if(!this.ready&&navigator.userAgent.match(/Firefox/)&&navigator.userAgent.match(/Windows/)){c=this;setTimeout(function(){c.receiveEvent("load",null)},100);this.ready=!0;return}this.ready=!0;this.movie.clearText();this.movie.appendText(this.clipText);this.movie.setFileName(this.fileName);this.movie.setAction(this.action);this.movie.setCharSet(this.charSet);this.movie.setBomInc(this.incBom);this.movie.setHandCursor(this.handCursorEnabled);
14
break;case "mouseover":this.domElement&&this.cssEffects&&this.recoverActive&&this.domElement.addClass("active");break;case "mouseout":this.domElement&&this.cssEffects&&(this.recoverActive=!1,this.domElement.hasClass("active")&&(this.domElement.removeClass("active"),this.recoverActive=!0));break;case "mousedown":this.domElement&&this.cssEffects&&this.domElement.addClass("active");break;case "mouseup":this.domElement&&this.cssEffects&&(this.domElement.removeClass("active"),this.recoverActive=!1)}if(this.handlers[a])for(var d=
15
0,e=this.handlers[a].length;d<e;d++){var f=this.handlers[a][d];if("function"==typeof f)f(this,b);else if("object"==typeof f&&2==f.length)f[0][f[1]](this,b);else if("string"==typeof f)window[f](this,b)}}};
16
17
18
/*
19
 * File:        TableTools.min.js
20
 * Version:     2.1.5
21
 * Author:      Allan Jardine (www.sprymedia.co.uk)
22
 * 
23
 * Copyright 2009-2012 Allan Jardine, all rights reserved.
24
 *
25
 * This source file is free software, under either the GPL v2 license or a
26
 * BSD (3 point) style license, as supplied with this software.
27
 * 
28
 * This source file is distributed in the hope that it will be useful, but 
29
 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
30
 * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.
31
 */
32
var TableTools;
33
(function(e,n,g){TableTools=function(a,b){!this instanceof TableTools&&alert("Warning: TableTools must be initialised with the keyword 'new'");this.s={that:this,dt:a.fnSettings(),print:{saveStart:-1,saveLength:-1,saveScroll:-1,funcEnd:function(){}},buttonCounter:0,select:{type:"",selected:[],preRowSelect:null,postSelected:null,postDeselected:null,all:!1,selectedClass:""},custom:{},swfPath:"",buttonSet:[],master:!1,tags:{}};this.dom={container:null,table:null,print:{hidden:[],message:null},collection:{collection:null,
34
background:null}};this.classes=e.extend(!0,{},TableTools.classes);this.s.dt.bJUI&&e.extend(!0,this.classes,TableTools.classes_themeroller);this.fnSettings=function(){return this.s};"undefined"==typeof b&&(b={});this._fnConstruct(b);return this};TableTools.prototype={fnGetSelected:function(a){var b=[],c=this.s.dt.aoData,d=this.s.dt.aiDisplay,f;if(a){a=0;for(f=d.length;a<f;a++)c[d[a]]._DTTT_selected&&b.push(c[d[a]].nTr)}else{a=0;for(f=c.length;a<f;a++)c[a]._DTTT_selected&&b.push(c[a].nTr)}return b},
35
fnGetSelectedData:function(){var a=[],b=this.s.dt.aoData,c,d;c=0;for(d=b.length;c<d;c++)b[c]._DTTT_selected&&a.push(this.s.dt.oInstance.fnGetData(c));return a},fnIsSelected:function(a){a=this.s.dt.oInstance.fnGetPosition(a);return!0===this.s.dt.aoData[a]._DTTT_selected?!0:!1},fnSelectAll:function(a){var b=this._fnGetMasterSettings();this._fnRowSelect(!0===a?b.dt.aiDisplay:b.dt.aoData)},fnSelectNone:function(a){this._fnGetMasterSettings();this._fnRowDeselect(this.fnGetSelected(a))},fnSelect:function(a){"single"==
36
this.s.select.type?(this.fnSelectNone(),this._fnRowSelect(a)):"multi"==this.s.select.type&&this._fnRowSelect(a)},fnDeselect:function(a){this._fnRowDeselect(a)},fnGetTitle:function(a){var b="";"undefined"!=typeof a.sTitle&&""!==a.sTitle?b=a.sTitle:(a=g.getElementsByTagName("title"),0<a.length&&(b=a[0].innerHTML));return 4>"\u00a1".toString().length?b.replace(/[^a-zA-Z0-9_\u00A1-\uFFFF\.,\-_ !\(\)]/g,""):b.replace(/[^a-zA-Z0-9_\.,\-_ !\(\)]/g,"")},fnCalcColRatios:function(a){var b=this.s.dt.aoColumns,
37
a=this._fnColumnTargets(a.mColumns),c=[],d=0,f=0,e,g;e=0;for(g=a.length;e<g;e++)a[e]&&(d=b[e].nTh.offsetWidth,f+=d,c.push(d));e=0;for(g=c.length;e<g;e++)c[e]/=f;return c.join("\t")},fnGetTableData:function(a){if(this.s.dt)return this._fnGetDataTablesData(a)},fnSetText:function(a,b){this._fnFlashSetText(a,b)},fnResizeButtons:function(){for(var a in ZeroClipboard_TableTools.clients)if(a){var b=ZeroClipboard_TableTools.clients[a];"undefined"!=typeof b.domElement&&b.domElement.parentNode&&b.positionElement()}},
38
fnResizeRequired:function(){for(var a in ZeroClipboard_TableTools.clients)if(a){var b=ZeroClipboard_TableTools.clients[a];if("undefined"!=typeof b.domElement&&b.domElement.parentNode==this.dom.container&&!1===b.sized)return!0}return!1},fnPrint:function(a,b){void 0===b&&(b={});void 0===a||a?this._fnPrintStart(b):this._fnPrintEnd()},fnInfo:function(a,b){var c=g.createElement("div");c.className=this.classes.print.info;c.innerHTML=a;g.body.appendChild(c);setTimeout(function(){e(c).fadeOut("normal",function(){g.body.removeChild(c)})},
39
b)},_fnConstruct:function(a){var b=this;this._fnCustomiseSettings(a);this.dom.container=g.createElement(this.s.tags.container);this.dom.container.className=this.classes.container;"none"!=this.s.select.type&&this._fnRowSelectConfig();this._fnButtonDefinations(this.s.buttonSet,this.dom.container);this.s.dt.aoDestroyCallback.push({sName:"TableTools",fn:function(){e(b.s.dt.nTBody).off("click.DTTT_Select","tr");e(b.dom.container).empty()}})},_fnCustomiseSettings:function(a){"undefined"==typeof this.s.dt._TableToolsInit&&
40
(this.s.master=!0,this.s.dt._TableToolsInit=!0);this.dom.table=this.s.dt.nTable;this.s.custom=e.extend({},TableTools.DEFAULTS,a);this.s.swfPath=this.s.custom.sSwfPath;"undefined"!=typeof ZeroClipboard_TableTools&&(ZeroClipboard_TableTools.moviePath=this.s.swfPath);this.s.select.type=this.s.custom.sRowSelect;this.s.select.preRowSelect=this.s.custom.fnPreRowSelect;this.s.select.postSelected=this.s.custom.fnRowSelected;this.s.select.postDeselected=this.s.custom.fnRowDeselected;this.s.custom.sSelectedClass&&
41
(this.classes.select.row=this.s.custom.sSelectedClass);this.s.tags=this.s.custom.oTags;this.s.buttonSet=this.s.custom.aButtons},_fnButtonDefinations:function(a,b){for(var c,d=0,f=a.length;d<f;d++){if("string"==typeof a[d]){if("undefined"==typeof TableTools.BUTTONS[a[d]]){alert("TableTools: Warning - unknown button type: "+a[d]);continue}c=e.extend({},TableTools.BUTTONS[a[d]],!0)}else{if("undefined"==typeof TableTools.BUTTONS[a[d].sExtends]){alert("TableTools: Warning - unknown button type: "+a[d].sExtends);
42
continue}c=e.extend({},TableTools.BUTTONS[a[d].sExtends],!0);c=e.extend(c,a[d],!0)}b.appendChild(this._fnCreateButton(c,e(b).hasClass(this.classes.collection.container)))}},_fnCreateButton:function(a,b){var c=this._fnButtonBase(a,b);a.sAction.match(/flash/)?this._fnFlashConfig(c,a):"text"==a.sAction?this._fnTextConfig(c,a):"div"==a.sAction?this._fnTextConfig(c,a):"collection"==a.sAction&&(this._fnTextConfig(c,a),this._fnCollectionConfig(c,a));return c},_fnButtonBase:function(a,b){var c,d,f;b?(c="default"!==
43
a.sTag?a.sTag:this.s.tags.collection.button,d="default"!==a.sLinerTag?a.sLiner:this.s.tags.collection.liner,f=this.classes.collection.buttons.normal):(c="default"!==a.sTag?a.sTag:this.s.tags.button,d="default"!==a.sLinerTag?a.sLiner:this.s.tags.liner,f=this.classes.buttons.normal);c=g.createElement(c);d=g.createElement(d);var e=this._fnGetMasterSettings();c.className=f+" "+a.sButtonClass;c.setAttribute("id","ToolTables_"+this.s.dt.sInstance+"_"+e.buttonCounter);c.appendChild(d);d.innerHTML=a.sButtonText;
44
e.buttonCounter++;return c},_fnGetMasterSettings:function(){if(this.s.master)return this.s;for(var a=TableTools._aInstances,b=0,c=a.length;b<c;b++)if(this.dom.table==a[b].s.dt.nTable)return a[b].s},_fnCollectionConfig:function(a,b){var c=g.createElement(this.s.tags.collection.container);c.style.display="none";c.className=this.classes.collection.container;b._collection=c;g.body.appendChild(c);this._fnButtonDefinations(b.aButtons,c)},_fnCollectionShow:function(a,b){var c=this,d=e(a).offset(),f=b._collection,
45
j=d.left,d=d.top+e(a).outerHeight(),m=e(n).height(),h=e(g).height(),k=e(n).width(),o=e(g).width();f.style.position="absolute";f.style.left=j+"px";f.style.top=d+"px";f.style.display="block";e(f).css("opacity",0);var l=g.createElement("div");l.style.position="absolute";l.style.left="0px";l.style.top="0px";l.style.height=(m>h?m:h)+"px";l.style.width=(k>o?k:o)+"px";l.className=this.classes.collection.background;e(l).css("opacity",0);g.body.appendChild(l);g.body.appendChild(f);m=e(f).outerWidth();k=e(f).outerHeight();
46
j+m>o&&(f.style.left=o-m+"px");d+k>h&&(f.style.top=d-k-e(a).outerHeight()+"px");this.dom.collection.collection=f;this.dom.collection.background=l;setTimeout(function(){e(f).animate({opacity:1},500);e(l).animate({opacity:0.25},500)},10);this.fnResizeButtons();e(l).click(function(){c._fnCollectionHide.call(c,null,null)})},_fnCollectionHide:function(a,b){!(null!==b&&"collection"==b.sExtends)&&null!==this.dom.collection.collection&&(e(this.dom.collection.collection).animate({opacity:0},500,function(){this.style.display=
47
"none"}),e(this.dom.collection.background).animate({opacity:0},500,function(){this.parentNode.removeChild(this)}),this.dom.collection.collection=null,this.dom.collection.background=null)},_fnRowSelectConfig:function(){if(this.s.master){var a=this,b=this.s.dt;e(b.nTable).addClass(this.classes.select.table);e(b.nTBody).on("click.DTTT_Select","tr",function(c){this.parentNode==b.nTBody&&null!==b.oInstance.fnGetData(this)&&(a.fnIsSelected(this)?a._fnRowDeselect(this,c):"single"==a.s.select.type?(a.fnSelectNone(),
48
a._fnRowSelect(this,c)):"multi"==a.s.select.type&&a._fnRowSelect(this,c))});b.oApi._fnCallbackReg(b,"aoRowCreatedCallback",function(c,d,f){b.aoData[f]._DTTT_selected&&e(c).addClass(a.classes.select.row)},"TableTools-SelectAll")}},_fnRowSelect:function(a,b){var c=this._fnSelectData(a),d=[],f,j;f=0;for(j=c.length;f<j;f++)c[f].nTr&&d.push(c[f].nTr);if(null===this.s.select.preRowSelect||this.s.select.preRowSelect.call(this,b,d,!0)){f=0;for(j=c.length;f<j;f++)c[f]._DTTT_selected=!0,c[f].nTr&&e(c[f].nTr).addClass(this.classes.select.row);
49
null!==this.s.select.postSelected&&this.s.select.postSelected.call(this,d);TableTools._fnEventDispatch(this,"select",d,!0)}},_fnRowDeselect:function(a,b){var c=this._fnSelectData(a),d=[],f,j;f=0;for(j=c.length;f<j;f++)c[f].nTr&&d.push(c[f].nTr);if(null===this.s.select.preRowSelect||this.s.select.preRowSelect.call(this,b,d,!1)){f=0;for(j=c.length;f<j;f++)c[f]._DTTT_selected=!1,c[f].nTr&&e(c[f].nTr).removeClass(this.classes.select.row);null!==this.s.select.postDeselected&&this.s.select.postDeselected.call(this,
50
d);TableTools._fnEventDispatch(this,"select",d,!1)}},_fnSelectData:function(a){var b=[],c,d,f;if(a.nodeName)c=this.s.dt.oInstance.fnGetPosition(a),b.push(this.s.dt.aoData[c]);else if("undefined"!==typeof a.length){d=0;for(f=a.length;d<f;d++)a[d].nodeName?(c=this.s.dt.oInstance.fnGetPosition(a[d]),b.push(this.s.dt.aoData[c])):"number"===typeof a[d]?b.push(this.s.dt.aoData[a[d]]):b.push(a[d])}else b.push(a);return b},_fnTextConfig:function(a,b){var c=this;null!==b.fnInit&&b.fnInit.call(this,a,b);""!==
51
b.sToolTip&&(a.title=b.sToolTip);e(a).hover(function(){b.fnMouseover!==null&&b.fnMouseover.call(this,a,b,null)},function(){b.fnMouseout!==null&&b.fnMouseout.call(this,a,b,null)});null!==b.fnSelect&&TableTools._fnEventListen(this,"select",function(d){b.fnSelect.call(c,a,b,d)});e(a).click(function(d){b.fnClick!==null&&b.fnClick.call(c,a,b,null,d);b.fnComplete!==null&&b.fnComplete.call(c,a,b,null,null);c._fnCollectionHide(a,b)})},_fnFlashConfig:function(a,b){var c=this,d=new ZeroClipboard_TableTools.Client;
52
null!==b.fnInit&&b.fnInit.call(this,a,b);d.setHandCursor(!0);"flash_save"==b.sAction?(d.setAction("save"),d.setCharSet("utf16le"==b.sCharSet?"UTF16LE":"UTF8"),d.setBomInc(b.bBomInc),d.setFileName(b.sFileName.replace("*",this.fnGetTitle(b)))):"flash_pdf"==b.sAction?(d.setAction("pdf"),d.setFileName(b.sFileName.replace("*",this.fnGetTitle(b)))):d.setAction("copy");d.addEventListener("mouseOver",function(){b.fnMouseover!==null&&b.fnMouseover.call(c,a,b,d)});d.addEventListener("mouseOut",function(){b.fnMouseout!==
53
null&&b.fnMouseout.call(c,a,b,d)});d.addEventListener("mouseDown",function(){b.fnClick!==null&&b.fnClick.call(c,a,b,d)});d.addEventListener("complete",function(f,e){b.fnComplete!==null&&b.fnComplete.call(c,a,b,d,e);c._fnCollectionHide(a,b)});this._fnFlashGlue(d,a,b.sToolTip)},_fnFlashGlue:function(a,b,c){var d=this,f=b.getAttribute("id");g.getElementById(f)?a.glue(b,c):setTimeout(function(){d._fnFlashGlue(a,b,c)},100)},_fnFlashSetText:function(a,b){var c=this._fnChunkData(b,8192);a.clearText();for(var d=
54
0,f=c.length;d<f;d++)a.appendText(c[d])},_fnColumnTargets:function(a){var b=[],c=this.s.dt;if("object"==typeof a){i=0;for(iLen=c.aoColumns.length;i<iLen;i++)b.push(!1);i=0;for(iLen=a.length;i<iLen;i++)b[a[i]]=!0}else if("visible"==a){i=0;for(iLen=c.aoColumns.length;i<iLen;i++)b.push(c.aoColumns[i].bVisible?!0:!1)}else if("hidden"==a){i=0;for(iLen=c.aoColumns.length;i<iLen;i++)b.push(c.aoColumns[i].bVisible?!1:!0)}else if("sortable"==a){i=0;for(iLen=c.aoColumns.length;i<iLen;i++)b.push(c.aoColumns[i].bSortable?
55
!0:!1)}else{i=0;for(iLen=c.aoColumns.length;i<iLen;i++)b.push(!0)}return b},_fnNewline:function(a){return"auto"==a.sNewLine?navigator.userAgent.match(/Windows/)?"\r\n":"\n":a.sNewLine},_fnGetDataTablesData:function(a){var b,c,d,f,j,g=[],h="",k=this.s.dt,o,l=RegExp(a.sFieldBoundary,"g"),n=this._fnColumnTargets(a.mColumns);d="undefined"!=typeof a.bSelectedOnly?a.bSelectedOnly:!1;if(a.bHeader){j=[];b=0;for(c=k.aoColumns.length;b<c;b++)n[b]&&(h=k.aoColumns[b].sTitle.replace(/\n/g," ").replace(/<.*?>/g,
56
"").replace(/^\s+|\s+$/g,""),h=this._fnHtmlDecode(h),j.push(this._fnBoundData(h,a.sFieldBoundary,l)));g.push(j.join(a.sFieldSeperator))}var p=k.aiDisplay;f=this.fnGetSelected();if("none"!==this.s.select.type&&d&&0!==f.length){p=[];b=0;for(c=f.length;b<c;b++)p.push(k.oInstance.fnGetPosition(f[b]))}d=0;for(f=p.length;d<f;d++){o=k.aoData[p[d]].nTr;j=[];b=0;for(c=k.aoColumns.length;b<c;b++)n[b]&&(h=k.oApi._fnGetCellData(k,p[d],b,"display"),a.fnCellRender?h=a.fnCellRender(h,b,o,p[d])+"":"string"==typeof h?
57
(h=h.replace(/\n/g," "),h=h.replace(/<img.*?\s+alt\s*=\s*(?:"([^"]+)"|'([^']+)'|([^\s>]+)).*?>/gi,"$1$2$3"),h=h.replace(/<.*?>/g,"")):h+="",h=h.replace(/^\s+/,"").replace(/\s+$/,""),h=this._fnHtmlDecode(h),j.push(this._fnBoundData(h,a.sFieldBoundary,l)));g.push(j.join(a.sFieldSeperator));a.bOpenRows&&(b=e.grep(k.aoOpenRows,function(a){return a.nParent===o}),1===b.length&&(h=this._fnBoundData(e("td",b[0].nTr).html(),a.sFieldBoundary,l),g.push(h)))}if(a.bFooter&&null!==k.nTFoot){j=[];b=0;for(c=k.aoColumns.length;b<
58
c;b++)n[b]&&null!==k.aoColumns[b].nTf&&(h=k.aoColumns[b].nTf.innerHTML.replace(/\n/g," ").replace(/<.*?>/g,""),h=this._fnHtmlDecode(h),j.push(this._fnBoundData(h,a.sFieldBoundary,l)));g.push(j.join(a.sFieldSeperator))}return _sLastData=g.join(this._fnNewline(a))},_fnBoundData:function(a,b,c){return""===b?a:b+a.replace(c,b+b)+b},_fnChunkData:function(a,b){for(var c=[],d=a.length,f=0;f<d;f+=b)f+b<d?c.push(a.substring(f,f+b)):c.push(a.substring(f,d));return c},_fnHtmlDecode:function(a){if(-1===a.indexOf("&"))return a;
59
var b=g.createElement("div");return a.replace(/&([^\s]*);/g,function(a,d){if("#"===a.substr(1,1))return String.fromCharCode(Number(d.substr(1)));b.innerHTML=a;return b.childNodes[0].nodeValue})},_fnPrintStart:function(a){var b=this,c=this.s.dt;this._fnPrintHideNodes(c.nTable);this.s.print.saveStart=c._iDisplayStart;this.s.print.saveLength=c._iDisplayLength;a.bShowAll&&(c._iDisplayStart=0,c._iDisplayLength=-1,c.oApi._fnCalculateEnd(c),c.oApi._fnDraw(c));if(""!==c.oScroll.sX||""!==c.oScroll.sY)this._fnPrintScrollStart(c),
60
e(this.s.dt.nTable).bind("draw.DTTT_Print",function(){b._fnPrintScrollStart(c)});var d=c.aanFeatures,f;for(f in d)if("i"!=f&&"t"!=f&&1==f.length)for(var j=0,m=d[f].length;j<m;j++)this.dom.print.hidden.push({node:d[f][j],display:"block"}),d[f][j].style.display="none";e(g.body).addClass(this.classes.print.body);""!==a.sInfo&&this.fnInfo(a.sInfo,3E3);a.sMessage&&(this.dom.print.message=g.createElement("div"),this.dom.print.message.className=this.classes.print.message,this.dom.print.message.innerHTML=
61
a.sMessage,g.body.insertBefore(this.dom.print.message,g.body.childNodes[0]));this.s.print.saveScroll=e(n).scrollTop();n.scrollTo(0,0);e(g).bind("keydown.DTTT",function(a){if(a.keyCode==27){a.preventDefault();b._fnPrintEnd.call(b,a)}})},_fnPrintEnd:function(){var a=this.s.dt,b=this.s.print,c=this.dom.print;this._fnPrintShowNodes();if(""!==a.oScroll.sX||""!==a.oScroll.sY)e(this.s.dt.nTable).unbind("draw.DTTT_Print"),this._fnPrintScrollEnd();n.scrollTo(0,b.saveScroll);null!==c.message&&(g.body.removeChild(c.message),
62
c.message=null);e(g.body).removeClass("DTTT_Print");a._iDisplayStart=b.saveStart;a._iDisplayLength=b.saveLength;a.oApi._fnCalculateEnd(a);a.oApi._fnDraw(a);e(g).unbind("keydown.DTTT")},_fnPrintScrollStart:function(){var a=this.s.dt;a.nScrollHead.getElementsByTagName("div")[0].getElementsByTagName("table");var b=a.nTable.parentNode,c=a.nTable.getElementsByTagName("thead");0<c.length&&a.nTable.removeChild(c[0]);null!==a.nTFoot&&(c=a.nTable.getElementsByTagName("tfoot"),0<c.length&&a.nTable.removeChild(c[0]));
63
c=a.nTHead.cloneNode(!0);a.nTable.insertBefore(c,a.nTable.childNodes[0]);null!==a.nTFoot&&(c=a.nTFoot.cloneNode(!0),a.nTable.insertBefore(c,a.nTable.childNodes[1]));""!==a.oScroll.sX&&(a.nTable.style.width=e(a.nTable).outerWidth()+"px",b.style.width=e(a.nTable).outerWidth()+"px",b.style.overflow="visible");""!==a.oScroll.sY&&(b.style.height=e(a.nTable).outerHeight()+"px",b.style.overflow="visible")},_fnPrintScrollEnd:function(){var a=this.s.dt,b=a.nTable.parentNode;""!==a.oScroll.sX&&(b.style.width=
64
a.oApi._fnStringToCss(a.oScroll.sX),b.style.overflow="auto");""!==a.oScroll.sY&&(b.style.height=a.oApi._fnStringToCss(a.oScroll.sY),b.style.overflow="auto")},_fnPrintShowNodes:function(){for(var a=this.dom.print.hidden,b=0,c=a.length;b<c;b++)a[b].node.style.display=a[b].display;a.splice(0,a.length)},_fnPrintHideNodes:function(a){for(var b=this.dom.print.hidden,c=a.parentNode,d=c.childNodes,f=0,g=d.length;f<g;f++)if(d[f]!=a&&1==d[f].nodeType){var m=e(d[f]).css("display");"none"!=m&&(b.push({node:d[f],
65
display:m}),d[f].style.display="none")}"BODY"!=c.nodeName&&this._fnPrintHideNodes(c)}};TableTools._aInstances=[];TableTools._aListeners=[];TableTools.fnGetMasters=function(){for(var a=[],b=0,c=TableTools._aInstances.length;b<c;b++)TableTools._aInstances[b].s.master&&a.push(TableTools._aInstances[b]);return a};TableTools.fnGetInstance=function(a){"object"!=typeof a&&(a=g.getElementById(a));for(var b=0,c=TableTools._aInstances.length;b<c;b++)if(TableTools._aInstances[b].s.master&&TableTools._aInstances[b].dom.table==
66
a)return TableTools._aInstances[b];return null};TableTools._fnEventListen=function(a,b,c){TableTools._aListeners.push({that:a,type:b,fn:c})};TableTools._fnEventDispatch=function(a,b,c,d){for(var f=TableTools._aListeners,e=0,g=f.length;e<g;e++)a.dom.table==f[e].that.dom.table&&f[e].type==b&&f[e].fn(c,d)};TableTools.buttonBase={sAction:"text",sTag:"default",sLinerTag:"default",sButtonClass:"DTTT_button_text",sButtonText:"Button text",sTitle:"",sToolTip:"",sCharSet:"utf8",bBomInc:!1,sFileName:"*.csv",
67
sFieldBoundary:"",sFieldSeperator:"\t",sNewLine:"auto",mColumns:"all",bHeader:!0,bFooter:!0,bOpenRows:!1,bSelectedOnly:!1,fnMouseover:null,fnMouseout:null,fnClick:null,fnSelect:null,fnComplete:null,fnInit:null,fnCellRender:null};TableTools.BUTTONS={csv:e.extend({},TableTools.buttonBase,{sAction:"flash_save",sButtonClass:"DTTT_button_csv",sButtonText:"CSV",sFieldBoundary:'"',sFieldSeperator:",",fnClick:function(a,b,c){this.fnSetText(c,this.fnGetTableData(b))}}),xls:e.extend({},TableTools.buttonBase,
68
{sAction:"flash_save",sCharSet:"utf16le",bBomInc:!0,sButtonClass:"DTTT_button_xls",sButtonText:"Excel",fnClick:function(a,b,c){this.fnSetText(c,this.fnGetTableData(b))}}),copy:e.extend({},TableTools.buttonBase,{sAction:"flash_copy",sButtonClass:"DTTT_button_copy",sButtonText:"Copy",fnClick:function(a,b,c){this.fnSetText(c,this.fnGetTableData(b))},fnComplete:function(a,b,c,d){a=d.split("\n").length;a=null===this.s.dt.nTFoot?a-1:a-2;this.fnInfo("<h6>Table copied</h6><p>Copied "+a+" row"+(1==a?"":"s")+
69
" to the clipboard.</p>",1500)}}),pdf:e.extend({},TableTools.buttonBase,{sAction:"flash_pdf",sNewLine:"\n",sFileName:"*.pdf",sButtonClass:"DTTT_button_pdf",sButtonText:"PDF",sPdfOrientation:"portrait",sPdfSize:"A4",sPdfMessage:"",fnClick:function(a,b,c){this.fnSetText(c,"title:"+this.fnGetTitle(b)+"\nmessage:"+b.sPdfMessage+"\ncolWidth:"+this.fnCalcColRatios(b)+"\norientation:"+b.sPdfOrientation+"\nsize:"+b.sPdfSize+"\n--/TableToolsOpts--\n"+this.fnGetTableData(b))}}),print:e.extend({},TableTools.buttonBase,
70
{sInfo:"<h6>Print view</h6><p>Please use your browser's print function to print this table. Press escape when finished.",sMessage:null,bShowAll:!0,sToolTip:"View print view",sButtonClass:"DTTT_button_print",sButtonText:"Print",fnClick:function(a,b){this.fnPrint(!0,b)}}),text:e.extend({},TableTools.buttonBase),select:e.extend({},TableTools.buttonBase,{sButtonText:"Select button",fnSelect:function(a){0!==this.fnGetSelected().length?e(a).removeClass(this.classes.buttons.disabled):e(a).addClass(this.classes.buttons.disabled)},
71
fnInit:function(a){e(a).addClass(this.classes.buttons.disabled)}}),select_single:e.extend({},TableTools.buttonBase,{sButtonText:"Select button",fnSelect:function(a){1==this.fnGetSelected().length?e(a).removeClass(this.classes.buttons.disabled):e(a).addClass(this.classes.buttons.disabled)},fnInit:function(a){e(a).addClass(this.classes.buttons.disabled)}}),select_all:e.extend({},TableTools.buttonBase,{sButtonText:"Select all",fnClick:function(){this.fnSelectAll()},fnSelect:function(a){this.fnGetSelected().length==
72
this.s.dt.fnRecordsDisplay()?e(a).addClass(this.classes.buttons.disabled):e(a).removeClass(this.classes.buttons.disabled)}}),select_none:e.extend({},TableTools.buttonBase,{sButtonText:"Deselect all",fnClick:function(){this.fnSelectNone()},fnSelect:function(a){0!==this.fnGetSelected().length?e(a).removeClass(this.classes.buttons.disabled):e(a).addClass(this.classes.buttons.disabled)},fnInit:function(a){e(a).addClass(this.classes.buttons.disabled)}}),ajax:e.extend({},TableTools.buttonBase,{sAjaxUrl:"/xhr.php",
73
sButtonText:"Ajax button",fnClick:function(a,b){var c=this.fnGetTableData(b);e.ajax({url:b.sAjaxUrl,data:[{name:"tableData",value:c}],success:b.fnAjaxComplete,dataType:"json",type:"POST",cache:!1,error:function(){alert("Error detected when sending table data to server")}})},fnAjaxComplete:function(){alert("Ajax complete")}}),div:e.extend({},TableTools.buttonBase,{sAction:"div",sTag:"div",sButtonClass:"DTTT_nonbutton",sButtonText:"Text button"}),collection:e.extend({},TableTools.buttonBase,{sAction:"collection",
74
sButtonClass:"DTTT_button_collection",sButtonText:"Collection",fnClick:function(a,b){this._fnCollectionShow(a,b)}})};TableTools.classes={container:"DTTT_container",buttons:{normal:"DTTT_button",disabled:"DTTT_disabled"},collection:{container:"DTTT_collection",background:"DTTT_collection_background",buttons:{normal:"DTTT_button",disabled:"DTTT_disabled"}},select:{table:"DTTT_selectable",row:"DTTT_selected"},print:{body:"DTTT_Print",info:"DTTT_print_info",message:"DTTT_PrintMessage"}};TableTools.classes_themeroller=
75
{container:"DTTT_container ui-buttonset ui-buttonset-multi",buttons:{normal:"DTTT_button ui-button ui-state-default"},collection:{container:"DTTT_collection ui-buttonset ui-buttonset-multi"}};TableTools.DEFAULTS={sSwfPath:"media/swf/copy_csv_xls_pdf.swf",sRowSelect:"none",sSelectedClass:null,fnPreRowSelect:null,fnRowSelected:null,fnRowDeselected:null,aButtons:["copy","csv","xls","pdf","print"],oTags:{container:"div",button:"a",liner:"span",collection:{container:"div",button:"a",liner:"span"}}};TableTools.prototype.CLASS=
76
"TableTools";TableTools.VERSION="2.1.5";TableTools.prototype.VERSION=TableTools.VERSION;"function"==typeof e.fn.dataTable&&"function"==typeof e.fn.dataTableExt.fnVersionCheck&&e.fn.dataTableExt.fnVersionCheck("1.9.0")?e.fn.dataTableExt.aoFeatures.push({fnInit:function(a){a=new TableTools(a.oInstance,"undefined"!=typeof a.oInit.oTableTools?a.oInit.oTableTools:{});TableTools._aInstances.push(a);return a.dom.container},cFeature:"T",sFeature:"TableTools"}):alert("Warning: TableTools 2 requires DataTables 1.9.0 or newer - www.datatables.net/download");
77
e.fn.DataTable.TableTools=TableTools})(jQuery,window,document);
(-)a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/TableTools/media/js/ZeroClipboard.js (+367 lines)
Line 0 Link Here
1
// Simple Set Clipboard System
2
// Author: Joseph Huckaby
3
4
var ZeroClipboard_TableTools = {
5
	
6
	version: "1.0.4-TableTools2",
7
	clients: {}, // registered upload clients on page, indexed by id
8
	moviePath: '', // URL to movie
9
	nextId: 1, // ID of next movie
10
	
11
	$: function(thingy) {
12
		// simple DOM lookup utility function
13
		if (typeof(thingy) == 'string') thingy = document.getElementById(thingy);
14
		if (!thingy.addClass) {
15
			// extend element with a few useful methods
16
			thingy.hide = function() { this.style.display = 'none'; };
17
			thingy.show = function() { this.style.display = ''; };
18
			thingy.addClass = function(name) { this.removeClass(name); this.className += ' ' + name; };
19
			thingy.removeClass = function(name) {
20
				this.className = this.className.replace( new RegExp("\\s*" + name + "\\s*"), " ").replace(/^\s+/, '').replace(/\s+$/, '');
21
			};
22
			thingy.hasClass = function(name) {
23
				return !!this.className.match( new RegExp("\\s*" + name + "\\s*") );
24
			}
25
		}
26
		return thingy;
27
	},
28
	
29
	setMoviePath: function(path) {
30
		// set path to ZeroClipboard.swf
31
		this.moviePath = path;
32
	},
33
	
34
	dispatch: function(id, eventName, args) {
35
		// receive event from flash movie, send to client		
36
		var client = this.clients[id];
37
		if (client) {
38
			client.receiveEvent(eventName, args);
39
		}
40
	},
41
	
42
	register: function(id, client) {
43
		// register new client to receive events
44
		this.clients[id] = client;
45
	},
46
	
47
	getDOMObjectPosition: function(obj) {
48
		// get absolute coordinates for dom element
49
		var info = {
50
			left: 0, 
51
			top: 0, 
52
			width: obj.width ? obj.width : obj.offsetWidth, 
53
			height: obj.height ? obj.height : obj.offsetHeight
54
		};
55
		
56
		if ( obj.style.width != "" )
57
			info.width = obj.style.width.replace("px","");
58
		
59
		if ( obj.style.height != "" )
60
			info.height = obj.style.height.replace("px","");
61
62
		while (obj) {
63
			info.left += obj.offsetLeft;
64
			info.top += obj.offsetTop;
65
			obj = obj.offsetParent;
66
		}
67
68
		return info;
69
	},
70
	
71
	Client: function(elem) {
72
		// constructor for new simple upload client
73
		this.handlers = {};
74
		
75
		// unique ID
76
		this.id = ZeroClipboard_TableTools.nextId++;
77
		this.movieId = 'ZeroClipboard_TableToolsMovie_' + this.id;
78
		
79
		// register client with singleton to receive flash events
80
		ZeroClipboard_TableTools.register(this.id, this);
81
		
82
		// create movie
83
		if (elem) this.glue(elem);
84
	}
85
};
86
87
ZeroClipboard_TableTools.Client.prototype = {
88
	
89
	id: 0, // unique ID for us
90
	ready: false, // whether movie is ready to receive events or not
91
	movie: null, // reference to movie object
92
	clipText: '', // text to copy to clipboard
93
	fileName: '', // default file save name
94
	action: 'copy', // action to perform
95
	handCursorEnabled: true, // whether to show hand cursor, or default pointer cursor
96
	cssEffects: true, // enable CSS mouse effects on dom container
97
	handlers: null, // user event handlers
98
	sized: false,
99
	
100
	glue: function(elem, title) {
101
		// glue to DOM element
102
		// elem can be ID or actual DOM element object
103
		this.domElement = ZeroClipboard_TableTools.$(elem);
104
		
105
		// float just above object, or zIndex 99 if dom element isn't set
106
		var zIndex = 99;
107
		if (this.domElement.style.zIndex) {
108
			zIndex = parseInt(this.domElement.style.zIndex) + 1;
109
		}
110
		
111
		// find X/Y position of domElement
112
		var box = ZeroClipboard_TableTools.getDOMObjectPosition(this.domElement);
113
		
114
		// create floating DIV above element
115
		this.div = document.createElement('div');
116
		var style = this.div.style;
117
		style.position = 'absolute';
118
		style.left = '0px';
119
		style.top = '0px';
120
		style.width = (box.width) + 'px';
121
		style.height = box.height + 'px';
122
		style.zIndex = zIndex;
123
		
124
		if ( typeof title != "undefined" && title != "" ) {
125
			this.div.title = title;
126
		}
127
		if ( box.width != 0 && box.height != 0 ) {
128
			this.sized = true;
129
		}
130
		
131
		// style.backgroundColor = '#f00'; // debug
132
		if ( this.domElement ) {
133
			this.domElement.appendChild(this.div);
134
			this.div.innerHTML = this.getHTML( box.width, box.height );
135
		}
136
	},
137
	
138
	positionElement: function() {
139
		var box = ZeroClipboard_TableTools.getDOMObjectPosition(this.domElement);
140
		var style = this.div.style;
141
		
142
		style.position = 'absolute';
143
		//style.left = (this.domElement.offsetLeft)+'px';
144
		//style.top = this.domElement.offsetTop+'px';
145
		style.width = box.width + 'px';
146
		style.height = box.height + 'px';
147
		
148
		if ( box.width != 0 && box.height != 0 ) {
149
			this.sized = true;
150
		} else {
151
			return;
152
		}
153
		
154
		var flash = this.div.childNodes[0];
155
		flash.width = box.width;
156
		flash.height = box.height;
157
	},
158
	
159
	getHTML: function(width, height) {
160
		// return HTML for movie
161
		var html = '';
162
		var flashvars = 'id=' + this.id + 
163
			'&width=' + width + 
164
			'&height=' + height;
165
			
166
		if (navigator.userAgent.match(/MSIE/)) {
167
			// IE gets an OBJECT tag
168
			var protocol = location.href.match(/^https/i) ? 'https://' : 'http://';
169
			html += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="'+protocol+'download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0" width="'+width+'" height="'+height+'" id="'+this.movieId+'" align="middle"><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="false" /><param name="movie" value="'+ZeroClipboard_TableTools.moviePath+'" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="quality" value="best" /><param name="bgcolor" value="#ffffff" /><param name="flashvars" value="'+flashvars+'"/><param name="wmode" value="transparent"/></object>';
170
		}
171
		else {
172
			// all other browsers get an EMBED tag
173
			html += '<embed id="'+this.movieId+'" src="'+ZeroClipboard_TableTools.moviePath+'" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="'+width+'" height="'+height+'" name="'+this.movieId+'" align="middle" allowScriptAccess="always" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="'+flashvars+'" wmode="transparent" />';
174
		}
175
		return html;
176
	},
177
	
178
	hide: function() {
179
		// temporarily hide floater offscreen
180
		if (this.div) {
181
			this.div.style.left = '-2000px';
182
		}
183
	},
184
	
185
	show: function() {
186
		// show ourselves after a call to hide()
187
		this.reposition();
188
	},
189
	
190
	destroy: function() {
191
		// destroy control and floater
192
		if (this.domElement && this.div) {
193
			this.hide();
194
			this.div.innerHTML = '';
195
			
196
			var body = document.getElementsByTagName('body')[0];
197
			try { body.removeChild( this.div ); } catch(e) {;}
198
			
199
			this.domElement = null;
200
			this.div = null;
201
		}
202
	},
203
	
204
	reposition: function(elem) {
205
		// reposition our floating div, optionally to new container
206
		// warning: container CANNOT change size, only position
207
		if (elem) {
208
			this.domElement = ZeroClipboard_TableTools.$(elem);
209
			if (!this.domElement) this.hide();
210
		}
211
		
212
		if (this.domElement && this.div) {
213
			var box = ZeroClipboard_TableTools.getDOMObjectPosition(this.domElement);
214
			var style = this.div.style;
215
			style.left = '' + box.left + 'px';
216
			style.top = '' + box.top + 'px';
217
		}
218
	},
219
	
220
	clearText: function() {
221
		// clear the text to be copy / saved
222
		this.clipText = '';
223
		if (this.ready) this.movie.clearText();
224
	},
225
	
226
	appendText: function(newText) {
227
		// append text to that which is to be copied / saved
228
		this.clipText += newText;
229
		if (this.ready) { this.movie.appendText(newText) ;}
230
	},
231
	
232
	setText: function(newText) {
233
		// set text to be copied to be copied / saved
234
		this.clipText = newText;
235
		if (this.ready) { this.movie.setText(newText) ;}
236
	},
237
	
238
	setCharSet: function(charSet) {
239
		// set the character set (UTF16LE or UTF8)
240
		this.charSet = charSet;
241
		if (this.ready) { this.movie.setCharSet(charSet) ;}
242
	},
243
	
244
	setBomInc: function(bomInc) {
245
		// set if the BOM should be included or not
246
		this.incBom = bomInc;
247
		if (this.ready) { this.movie.setBomInc(bomInc) ;}
248
	},
249
	
250
	setFileName: function(newText) {
251
		// set the file name
252
		this.fileName = newText;
253
		if (this.ready) this.movie.setFileName(newText);
254
	},
255
	
256
	setAction: function(newText) {
257
		// set action (save or copy)
258
		this.action = newText;
259
		if (this.ready) this.movie.setAction(newText);
260
	},
261
	
262
	addEventListener: function(eventName, func) {
263
		// add user event listener for event
264
		// event types: load, queueStart, fileStart, fileComplete, queueComplete, progress, error, cancel
265
		eventName = eventName.toString().toLowerCase().replace(/^on/, '');
266
		if (!this.handlers[eventName]) this.handlers[eventName] = [];
267
		this.handlers[eventName].push(func);
268
	},
269
	
270
	setHandCursor: function(enabled) {
271
		// enable hand cursor (true), or default arrow cursor (false)
272
		this.handCursorEnabled = enabled;
273
		if (this.ready) this.movie.setHandCursor(enabled);
274
	},
275
	
276
	setCSSEffects: function(enabled) {
277
		// enable or disable CSS effects on DOM container
278
		this.cssEffects = !!enabled;
279
	},
280
	
281
	receiveEvent: function(eventName, args) {
282
		// receive event from flash
283
		eventName = eventName.toString().toLowerCase().replace(/^on/, '');
284
		
285
		// special behavior for certain events
286
		switch (eventName) {
287
			case 'load':
288
				// movie claims it is ready, but in IE this isn't always the case...
289
				// bug fix: Cannot extend EMBED DOM elements in Firefox, must use traditional function
290
				this.movie = document.getElementById(this.movieId);
291
				if (!this.movie) {
292
					var self = this;
293
					setTimeout( function() { self.receiveEvent('load', null); }, 1 );
294
					return;
295
				}
296
				
297
				// firefox on pc needs a "kick" in order to set these in certain cases
298
				if (!this.ready && navigator.userAgent.match(/Firefox/) && navigator.userAgent.match(/Windows/)) {
299
					var self = this;
300
					setTimeout( function() { self.receiveEvent('load', null); }, 100 );
301
					this.ready = true;
302
					return;
303
				}
304
				
305
				this.ready = true;
306
				this.movie.clearText();
307
				this.movie.appendText( this.clipText );
308
				this.movie.setFileName( this.fileName );
309
				this.movie.setAction( this.action );
310
				this.movie.setCharSet( this.charSet );
311
				this.movie.setBomInc( this.incBom );
312
				this.movie.setHandCursor( this.handCursorEnabled );
313
				break;
314
			
315
			case 'mouseover':
316
				if (this.domElement && this.cssEffects) {
317
					//this.domElement.addClass('hover');
318
					if (this.recoverActive) this.domElement.addClass('active');
319
				}
320
				break;
321
			
322
			case 'mouseout':
323
				if (this.domElement && this.cssEffects) {
324
					this.recoverActive = false;
325
					if (this.domElement.hasClass('active')) {
326
						this.domElement.removeClass('active');
327
						this.recoverActive = true;
328
					}
329
					//this.domElement.removeClass('hover');
330
				}
331
				break;
332
			
333
			case 'mousedown':
334
				if (this.domElement && this.cssEffects) {
335
					this.domElement.addClass('active');
336
				}
337
				break;
338
			
339
			case 'mouseup':
340
				if (this.domElement && this.cssEffects) {
341
					this.domElement.removeClass('active');
342
					this.recoverActive = false;
343
				}
344
				break;
345
		} // switch eventName
346
		
347
		if (this.handlers[eventName]) {
348
			for (var idx = 0, len = this.handlers[eventName].length; idx < len; idx++) {
349
				var func = this.handlers[eventName][idx];
350
			
351
				if (typeof(func) == 'function') {
352
					// actual function reference
353
					func(this, args);
354
				}
355
				else if ((typeof(func) == 'object') && (func.length == 2)) {
356
					// PHP style object + method, i.e. [myObject, 'myMethod']
357
					func[0][ func[1] ](this, args);
358
				}
359
				else if (typeof(func) == 'string') {
360
					// name of function
361
					window[func](this, args);
362
				}
363
			} // foreach event handler defined
364
		} // user defined handler for event
365
	}
366
	
367
};
(-)a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/TableTools/multi_instance.html (+499 lines)
Line 0 Link Here
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2
<html>
3
	<head>
4
		<meta http-equiv="content-type" content="text/html; charset=utf-8">
5
		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
6
		
7
		<title>TableTools example</title>
8
		<style type="text/css" title="currentStyle">
9
			@import "../../media/css/demo_page.css";
10
			@import "../../media/css/demo_table.css";
11
			@import "media/css/TableTools.css";
12
		</style>
13
		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
14
		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
15
		<script type="text/javascript" charset="utf-8" src="media/js/ZeroClipboard.js"></script>
16
		<script type="text/javascript" charset="utf-8" src="media/js/TableTools.js"></script>
17
		<script type="text/javascript" charset="utf-8">
18
			$(document).ready( function () {
19
				$('#example').dataTable( {
20
					"sDom": 'T<"clear">lfrtip<"clear spacer">T'
21
				} );
22
			} );
23
		</script>
24
	</head>
25
	<body id="dt_example">
26
		<div id="container">
27
			<div class="full_width big">
28
				TableTools example - multiple toolbars
29
			</div>
30
			
31
			<h1>Preamble</h1>
32
			<p>Like all DataTables control elements, TableTools can have multiple instances specified in the <i>sDom</i> parameter of DataTables. This will create two TableTools toolbars next to the table, providing the same functions. An example of when this might be useful is to show the toolbar both above and below the table - as is done in this example.</p>
33
			
34
			
35
			<h1>Live example</h1>
36
			<div id="demo">
37
<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
38
	<thead>
39
		<tr>
40
			<th>Rendering engine</th>
41
			<th>Browser</th>
42
			<th>Platform(s)</th>
43
			<th>Engine version</th>
44
			<th>CSS grade</th>
45
		</tr>
46
	</thead>
47
	<tfoot>
48
		<tr>
49
			<th>Rendering engine</th>
50
			<th>Browser</th>
51
			<th>Platform(s)</th>
52
			<th>Engine version</th>
53
			<th>CSS grade</th>
54
		</tr>
55
	</tfoot>
56
	<tbody>
57
		<tr class="odd_gradeX">
58
			<td>Trident</td>
59
			<td>Internet Explorer 4.0</td>
60
			<td>Win 95+ (Entity: &amp;)</td>
61
			<td class="center">4</td>
62
			<td class="center">X</td>
63
		</tr>
64
		<tr class="even_gradeC">
65
			<td>Trident</td>
66
			<td>Internet Explorer 5.0</td>
67
			<td>Win 95+</td>
68
			<td class="center">5</td>
69
			<td class="center">C</td>
70
		</tr>
71
		<tr class="odd_gradeA">
72
			<td>Trident</td>
73
			<td>Internet Explorer 5.5</td>
74
			<td>Win 95+</td>
75
			<td class="center">5.5</td>
76
			<td class="center">A</td>
77
		</tr>
78
		<tr class="even_gradeA">
79
			<td>Trident</td>
80
			<td>Internet Explorer 6</td>
81
			<td>Win 98+</td>
82
			<td class="center">6</td>
83
			<td class="center">A</td>
84
		</tr>
85
		<tr class="odd_gradeA">
86
			<td>Trident</td>
87
			<td>Internet Explorer 7</td>
88
			<td>Win XP SP2+</td>
89
			<td class="center">7</td>
90
			<td class="center">A</td>
91
		</tr>
92
		<tr class="even_gradeA">
93
			<td>Trident</td>
94
			<td>AOL browser (AOL desktop)</td>
95
			<td>Win XP</td>
96
			<td class="center">6</td>
97
			<td class="center">A</td>
98
		</tr>
99
		<tr class="odd_gradeA">
100
			<td>Gecko (UTF-8: $¢€)</td>
101
			<td>Firefox 1.0</td>
102
			<td>Win 98+ / OSX.2+</td>
103
			<td class="center">1.7</td>
104
			<td class="center">A</td>
105
		</tr>
106
		<tr class="even_gradeA">
107
			<td>Gecko</td>
108
			<td>Firefox 1.5</td>
109
			<td>Win 98+ / OSX.2+</td>
110
			<td class="center">1.8</td>
111
			<td class="center">A</td>
112
		</tr>
113
		<tr class="odd_gradeA">
114
			<td>Gecko</td>
115
			<td>Firefox 2.0</td>
116
			<td>Win 98+ / OSX.2+</td>
117
			<td class="center">1.8</td>
118
			<td class="center">A</td>
119
		</tr>
120
		<tr class="even_gradeA">
121
			<td>Gecko</td>
122
			<td>Firefox 3.0</td>
123
			<td>Win 2k+ / OSX.3+</td>
124
			<td class="center">1.9</td>
125
			<td class="center">A</td>
126
		</tr>
127
		<tr class="odd_gradeA">
128
			<td>Gecko</td>
129
			<td>Camino 1.0</td>
130
			<td>OSX.2+</td>
131
			<td class="center">1.8</td>
132
			<td class="center">A</td>
133
		</tr>
134
		<tr class="even_gradeA">
135
			<td>Gecko</td>
136
			<td>Camino 1.5</td>
137
			<td>OSX.3+</td>
138
			<td class="center">1.8</td>
139
			<td class="center">A</td>
140
		</tr>
141
		<tr class="odd_gradeA">
142
			<td>Gecko</td>
143
			<td>Netscape 7.2</td>
144
			<td>Win 95+ / Mac OS 8.6-9.2</td>
145
			<td class="center">1.7</td>
146
			<td class="center">A</td>
147
		</tr>
148
		<tr class="even_gradeA">
149
			<td>Gecko</td>
150
			<td>Netscape Browser 8</td>
151
			<td>Win 98SE+</td>
152
			<td class="center">1.7</td>
153
			<td class="center">A</td>
154
		</tr>
155
		<tr class="odd_gradeA">
156
			<td>Gecko</td>
157
			<td>Netscape Navigator 9</td>
158
			<td>Win 98+ / OSX.2+</td>
159
			<td class="center">1.8</td>
160
			<td class="center">A</td>
161
		</tr>
162
		<tr class="even_gradeA">
163
			<td>Gecko</td>
164
			<td>Mozilla 1.0</td>
165
			<td>Win 95+ / OSX.1+</td>
166
			<td class="center">1</td>
167
			<td class="center">A</td>
168
		</tr>
169
		<tr class="odd_gradeA">
170
			<td>Gecko</td>
171
			<td>Mozilla 1.1</td>
172
			<td>Win 95+ / OSX.1+</td>
173
			<td class="center">1.1</td>
174
			<td class="center">A</td>
175
		</tr>
176
		<tr class="even_gradeA">
177
			<td>Gecko</td>
178
			<td>Mozilla 1.2</td>
179
			<td>Win 95+ / OSX.1+</td>
180
			<td class="center">1.2</td>
181
			<td class="center">A</td>
182
		</tr>
183
		<tr class="odd_gradeA">
184
			<td>Gecko</td>
185
			<td>Mozilla 1.3</td>
186
			<td>Win 95+ / OSX.1+</td>
187
			<td class="center">1.3</td>
188
			<td class="center">A</td>
189
		</tr>
190
		<tr class="even_gradeA">
191
			<td>Gecko</td>
192
			<td>Mozilla 1.4</td>
193
			<td>Win 95+ / OSX.1+</td>
194
			<td class="center">1.4</td>
195
			<td class="center">A</td>
196
		</tr>
197
		<tr class="odd_gradeA">
198
			<td>Gecko</td>
199
			<td>Mozilla 1.5</td>
200
			<td>Win 95+ / OSX.1+</td>
201
			<td class="center">1.5</td>
202
			<td class="center">A</td>
203
		</tr>
204
		<tr class="even_gradeA">
205
			<td>Gecko</td>
206
			<td>Mozilla 1.6</td>
207
			<td>Win 95+ / OSX.1+</td>
208
			<td class="center">1.6</td>
209
			<td class="center">A</td>
210
		</tr>
211
		<tr class="odd_gradeA">
212
			<td>Gecko</td>
213
			<td>Mozilla 1.7</td>
214
			<td>Win 98+ / OSX.1+</td>
215
			<td class="center">1.7</td>
216
			<td class="center">A</td>
217
		</tr>
218
		<tr class="even_gradeA">
219
			<td>Gecko</td>
220
			<td>Mozilla 1.8</td>
221
			<td>Win 98+ / OSX.1+</td>
222
			<td class="center">1.8</td>
223
			<td class="center">A</td>
224
		</tr>
225
		<tr class="odd_gradeA">
226
			<td>Gecko</td>
227
			<td>Seamonkey 1.1</td>
228
			<td>Win 98+ / OSX.2+</td>
229
			<td class="center">1.8</td>
230
			<td class="center">A</td>
231
		</tr>
232
		<tr class="even_gradeA">
233
			<td>Gecko</td>
234
			<td>Epiphany 2.20</td>
235
			<td>Gnome</td>
236
			<td class="center">1.8</td>
237
			<td class="center">A</td>
238
		</tr>
239
		<tr class="odd_gradeA">
240
			<td>Webkit</td>
241
			<td>Safari 1.2</td>
242
			<td>OSX.3</td>
243
			<td class="center">125.5</td>
244
			<td class="center">A</td>
245
		</tr>
246
		<tr class="even_gradeA">
247
			<td>Webkit</td>
248
			<td>Safari 1.3</td>
249
			<td>OSX.3</td>
250
			<td class="center">312.8</td>
251
			<td class="center">A</td>
252
		</tr>
253
		<tr class="odd_gradeA">
254
			<td>Webkit</td>
255
			<td>Safari 2.0</td>
256
			<td>OSX.4+</td>
257
			<td class="center">419.3</td>
258
			<td class="center">A</td>
259
		</tr>
260
		<tr class="even_gradeA">
261
			<td>Webkit</td>
262
			<td>Safari 3.0</td>
263
			<td>OSX.4+</td>
264
			<td class="center">522.1</td>
265
			<td class="center">A</td>
266
		</tr>
267
		<tr class="odd_gradeA">
268
			<td>Webkit</td>
269
			<td>OmniWeb 5.5</td>
270
			<td>OSX.4+</td>
271
			<td class="center">420</td>
272
			<td class="center">A</td>
273
		</tr>
274
		<tr class="even_gradeA">
275
			<td>Webkit</td>
276
			<td>iPod Touch / iPhone</td>
277
			<td>iPod</td>
278
			<td class="center">420.1</td>
279
			<td class="center">A</td>
280
		</tr>
281
		<tr class="odd_gradeA">
282
			<td>Webkit</td>
283
			<td>S60</td>
284
			<td>S60</td>
285
			<td class="center">413</td>
286
			<td class="center">A</td>
287
		</tr>
288
		<tr class="even_gradeA">
289
			<td>Presto</td>
290
			<td>Opera 7.0</td>
291
			<td>Win 95+ / OSX.1+</td>
292
			<td class="center">-</td>
293
			<td class="center">A</td>
294
		</tr>
295
		<tr class="odd_gradeA">
296
			<td>Presto</td>
297
			<td>Opera 7.5</td>
298
			<td>Win 95+ / OSX.2+</td>
299
			<td class="center">-</td>
300
			<td class="center">A</td>
301
		</tr>
302
		<tr class="even_gradeA">
303
			<td>Presto</td>
304
			<td>Opera 8.0</td>
305
			<td>Win 95+ / OSX.2+</td>
306
			<td class="center">-</td>
307
			<td class="center">A</td>
308
		</tr>
309
		<tr class="odd_gradeA">
310
			<td>Presto</td>
311
			<td>Opera 8.5</td>
312
			<td>Win 95+ / OSX.2+</td>
313
			<td class="center">-</td>
314
			<td class="center">A</td>
315
		</tr>
316
		<tr class="even_gradeA">
317
			<td>Presto</td>
318
			<td>Opera 9.0</td>
319
			<td>Win 95+ / OSX.3+</td>
320
			<td class="center">-</td>
321
			<td class="center">A</td>
322
		</tr>
323
		<tr class="odd_gradeA">
324
			<td>Presto</td>
325
			<td>Opera 9.2</td>
326
			<td>Win 88+ / OSX.3+</td>
327
			<td class="center">-</td>
328
			<td class="center">A</td>
329
		</tr>
330
		<tr class="even_gradeA">
331
			<td>Presto</td>
332
			<td>Opera 9.5</td>
333
			<td>Win 88+ / OSX.3+</td>
334
			<td class="center">-</td>
335
			<td class="center">A</td>
336
		</tr>
337
		<tr class="odd_gradeA">
338
			<td>Presto</td>
339
			<td>Opera for Wii</td>
340
			<td>Wii</td>
341
			<td class="center">-</td>
342
			<td class="center">A</td>
343
		</tr>
344
		<tr class="even_gradeA">
345
			<td>Presto</td>
346
			<td>Nokia N800</td>
347
			<td>N800</td>
348
			<td class="center">-</td>
349
			<td class="center">A</td>
350
		</tr>
351
		<tr class="odd_gradeA">
352
			<td>Presto</td>
353
			<td>Nintendo DS browser</td>
354
			<td>Nintendo DS</td>
355
			<td class="center">8.5</td>
356
			<td class="center">C/A<sup>1</sup></td>
357
		</tr>
358
		<tr class="even_gradeC">
359
			<td>KHTML</td>
360
			<td>Konqureror 3.1</td>
361
			<td>KDE 3.1</td>
362
			<td class="center">3.1</td>
363
			<td class="center">C</td>
364
		</tr>
365
		<tr class="odd_gradeA">
366
			<td>KHTML</td>
367
			<td>Konqureror 3.3</td>
368
			<td>KDE 3.3</td>
369
			<td class="center">3.3</td>
370
			<td class="center">A</td>
371
		</tr>
372
		<tr class="even_gradeA">
373
			<td>KHTML</td>
374
			<td>Konqureror 3.5</td>
375
			<td>KDE 3.5</td>
376
			<td class="center">3.5</td>
377
			<td class="center">A</td>
378
		</tr>
379
		<tr class="odd_gradeX">
380
			<td>Tasman</td>
381
			<td>Internet Explorer 4.5</td>
382
			<td>Mac OS 8-9</td>
383
			<td class="center">-</td>
384
			<td class="center">X</td>
385
		</tr>
386
		<tr class="even_gradeC">
387
			<td>Tasman</td>
388
			<td>Internet Explorer 5.1</td>
389
			<td>Mac OS 7.6-9</td>
390
			<td class="center">1</td>
391
			<td class="center">C</td>
392
		</tr>
393
		<tr class="odd_gradeC">
394
			<td>Tasman</td>
395
			<td>Internet Explorer 5.2</td>
396
			<td>Mac OS 8-X</td>
397
			<td class="center">1</td>
398
			<td class="center">C</td>
399
		</tr>
400
		<tr class="even_gradeA">
401
			<td>Misc</td>
402
			<td>NetFront 3.1</td>
403
			<td>Embedded devices</td>
404
			<td class="center">-</td>
405
			<td class="center">C</td>
406
		</tr>
407
		<tr class="odd_gradeA">
408
			<td>Misc</td>
409
			<td>NetFront 3.4</td>
410
			<td>Embedded devices</td>
411
			<td class="center">-</td>
412
			<td class="center">A</td>
413
		</tr>
414
		<tr class="even_gradeX">
415
			<td>Misc</td>
416
			<td>Dillo 0.8</td>
417
			<td>Embedded devices</td>
418
			<td class="center">-</td>
419
			<td class="center">X</td>
420
		</tr>
421
		<tr class="odd_gradeX">
422
			<td>Misc</td>
423
			<td>Links</td>
424
			<td>Text only</td>
425
			<td class="center">-</td>
426
			<td class="center">X</td>
427
		</tr>
428
		<tr class="even_gradeX">
429
			<td>Misc</td>
430
			<td>Lynx</td>
431
			<td>Text only</td>
432
			<td class="center">-</td>
433
			<td class="center">X</td>
434
		</tr>
435
		<tr class="odd_gradeC">
436
			<td>Misc</td>
437
			<td>IE Mobile</td>
438
			<td>Windows Mobile 6</td>
439
			<td class="center">-</td>
440
			<td class="center">C</td>
441
		</tr>
442
		<tr class="even_gradeC">
443
			<td>Misc</td>
444
			<td>PSP browser</td>
445
			<td>PSP</td>
446
			<td class="center">-</td>
447
			<td class="center">C</td>
448
		</tr>
449
		<tr class="odd_gradeU">
450
			<td>Other browsers</td>
451
			<td>All others</td>
452
			<td>-</td>
453
			<td class="center">-</td>
454
			<td class="center">U</td>
455
		</tr>
456
	</tbody>
457
</table>
458
			</div>
459
			<div class="spacer"></div>
460
			
461
			
462
			<h1>Initialisation code</h1>
463
			<pre>$(document).ready( function () {
464
	$('#example').dataTable( {
465
		"sDom": 'T&lt;"clear"&gt;lfrtip&lt;"clear spacer"&gt;T'
466
	} );
467
} );</pre>
468
469
470
			<h1>Other examples</h1>
471
			<ul>
472
				<li><a href="index.html">Basic initialisation</a></li>
473
				<li><a href="swf_path.html">Setting the SWF path</a></li>
474
				<li><a href="alter_buttons.html">Custom button arrangement</a></li>
475
				<li><a href="button_text.html">Button text alteration</a></li>
476
				<li><a href="collection.html">Using button collections</a></li>
477
				<li><a href="theme.html">Using jQuery UI themes</a></li>
478
				<li><a href="bootstrap.html">Styling with Twitter Bootstrap</a></li>
479
				<li><a href="multi_instance.html">Multiple TableTools toolbars for a single table</a></li>
480
				<li><a href="multiple_tables.html">Multiple DataTables with a single initialisation</a></li>
481
				<li><a href="select_multi.html">User selectable rows (multiple rows)</a></li>
482
				<li><a href="select_single.html">User selectable rows (single row)</a></li>
483
				<li><a href="alt_init.html">Alternative initialisation using 'new TableTools()'</a></li>
484
				<li><a href="defaults.html">Altering the TableTools defaults</a></li>
485
				<li><a href="plug-in.html">TableTools plug-in buttons</a></li>
486
				<li><a href="pdf_message.html">Customising the PDF output (adding text and orientation)</a></li>
487
			</ul>
488
			
489
			
490
			<div id="footer" style="text-align:center;">
491
				<span style="font-size:10px;">
492
					TableTools and DataTables &copy; Allan Jardine 2009-2011.<br>
493
					Flash 10 save / copy operations are performed by a modified version of <a href="http://code.google.com/p/zeroclipboard/">Zero Clipboard</a>.<br>
494
					The icons used in the toolbar are modified from <a href="http://www.addictedtocoffee.de/">Oliver Twardowski's</a> <a href="http://www.smashingmagazine.com/2009/05/20/flavour-extended-the-ultimate-icon-set-for-web-designers/">Flavours Icon set</a>.
495
				</span>
496
			</div>
497
		</div>
498
	</body>
499
</html>
(-)a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/TableTools/multiple_tables.html (+296 lines)
Line 0 Link Here
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2
<html>
3
	<head>
4
		<meta http-equiv="content-type" content="text/html; charset=utf-8">
5
		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
6
		
7
		<title>TableTools example</title>
8
		<style type="text/css" title="currentStyle">
9
			@import "../../media/css/demo_page.css";
10
			@import "../../media/css/demo_table.css";
11
			@import "media/css/TableTools.css";
12
		</style>
13
		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
14
		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
15
		<script type="text/javascript" charset="utf-8" src="media/js/ZeroClipboard.js"></script>
16
		<script type="text/javascript" charset="utf-8" src="media/js/TableTools.js"></script>
17
		<script type="text/javascript" charset="utf-8">
18
			$(document).ready( function () {
19
				$('table.display').dataTable( {
20
					"sDom": 'T<"clear">lfrtip'
21
				} );
22
			} );
23
		</script>
24
	</head>
25
	<body id="dt_example">
26
		<div id="container">
27
			<div class="full_width big">
28
				TableTools example - multiple tables
29
			</div>
30
			
31
			<h1>Preamble</h1>
32
			<p>This example shows how multiple tables can be initialised with DataTables and TableTools in a single call to the $().dataTable() function. Basically it works as you would expect - no special considerations need be made!</p>
33
			
34
			<h1>Live example</h1>
35
			<div id="demo">
36
<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
37
	<thead>
38
		<tr>
39
			<th>Rendering engine</th>
40
			<th>Browser</th>
41
			<th>Platform(s)</th>
42
			<th>Engine version</th>
43
			<th>CSS grade</th>
44
		</tr>
45
	</thead>
46
	<tbody>
47
		<tr class="odd_gradeX">
48
			<td>Trident</td>
49
			<td>Internet Explorer 4.0</td>
50
			<td>Win 95+ (Entity: &amp;)</td>
51
			<td class="center">4</td>
52
			<td class="center">X</td>
53
		</tr>
54
		<tr class="even_gradeC">
55
			<td>Trident</td>
56
			<td>Internet Explorer 5.0</td>
57
			<td>Win 95+</td>
58
			<td class="center">5</td>
59
			<td class="center">C</td>
60
		</tr>
61
		<tr class="odd_gradeA">
62
			<td>Trident</td>
63
			<td>Internet Explorer 5.5</td>
64
			<td>Win 95+</td>
65
			<td class="center">5.5</td>
66
			<td class="center">A</td>
67
		</tr>
68
		<tr class="even_gradeA">
69
			<td>Trident</td>
70
			<td>Internet Explorer 6</td>
71
			<td>Win 98+</td>
72
			<td class="center">6</td>
73
			<td class="center">A</td>
74
		</tr>
75
		<tr class="odd_gradeA">
76
			<td>Trident</td>
77
			<td>Internet Explorer 7</td>
78
			<td>Win XP SP2+</td>
79
			<td class="center">7</td>
80
			<td class="center">A</td>
81
		</tr>
82
		<tr class="even_gradeA">
83
			<td>Trident</td>
84
			<td>AOL browser (AOL desktop)</td>
85
			<td>Win XP</td>
86
			<td class="center">6</td>
87
			<td class="center">A</td>
88
		</tr>
89
	</tbody>
90
</table>
91
92
93
<table cellpadding="0" cellspacing="0" border="0" class="display" id="example2">
94
	<thead>
95
		<tr>
96
			<th>Rendering engine</th>
97
			<th>Browser</th>
98
			<th>Platform(s)</th>
99
			<th>Engine version</th>
100
			<th>CSS grade</th>
101
		</tr>
102
	</thead>
103
	<tfoot>
104
		<tr>
105
			<th>Rendering engine</th>
106
			<th>Browser</th>
107
			<th>Platform(s)</th>
108
			<th>Engine version</th>
109
			<th>CSS grade</th>
110
		</tr>
111
	</tfoot>
112
	<tbody>
113
		<tr class="odd_gradeA">
114
			<td>Gecko (UTF-8: $¢€)</td>
115
			<td>Firefox 1.0</td>
116
			<td>Win 98+ / OSX.2+</td>
117
			<td class="center">1.7</td>
118
			<td class="center">A</td>
119
		</tr>
120
		<tr class="even_gradeA">
121
			<td>Gecko</td>
122
			<td>Firefox 1.5</td>
123
			<td>Win 98+ / OSX.2+</td>
124
			<td class="center">1.8</td>
125
			<td class="center">A</td>
126
		</tr>
127
		<tr class="odd_gradeA">
128
			<td>Gecko</td>
129
			<td>Firefox 2.0</td>
130
			<td>Win 98+ / OSX.2+</td>
131
			<td class="center">1.8</td>
132
			<td class="center">A</td>
133
		</tr>
134
		<tr class="even_gradeA">
135
			<td>Gecko</td>
136
			<td>Firefox 3.0</td>
137
			<td>Win 2k+ / OSX.3+</td>
138
			<td class="center">1.9</td>
139
			<td class="center">A</td>
140
		</tr>
141
		<tr class="odd_gradeA">
142
			<td>Gecko</td>
143
			<td>Camino 1.0</td>
144
			<td>OSX.2+</td>
145
			<td class="center">1.8</td>
146
			<td class="center">A</td>
147
		</tr>
148
		<tr class="even_gradeA">
149
			<td>Gecko</td>
150
			<td>Camino 1.5</td>
151
			<td>OSX.3+</td>
152
			<td class="center">1.8</td>
153
			<td class="center">A</td>
154
		</tr>
155
		<tr class="odd_gradeA">
156
			<td>Gecko</td>
157
			<td>Netscape 7.2</td>
158
			<td>Win 95+ / Mac OS 8.6-9.2</td>
159
			<td class="center">1.7</td>
160
			<td class="center">A</td>
161
		</tr>
162
		<tr class="even_gradeA">
163
			<td>Gecko</td>
164
			<td>Netscape Browser 8</td>
165
			<td>Win 98SE+</td>
166
			<td class="center">1.7</td>
167
			<td class="center">A</td>
168
		</tr>
169
		<tr class="odd_gradeA">
170
			<td>Gecko</td>
171
			<td>Netscape Navigator 9</td>
172
			<td>Win 98+ / OSX.2+</td>
173
			<td class="center">1.8</td>
174
			<td class="center">A</td>
175
		</tr>
176
		<tr class="even_gradeA">
177
			<td>Gecko</td>
178
			<td>Mozilla 1.0</td>
179
			<td>Win 95+ / OSX.1+</td>
180
			<td class="center">1</td>
181
			<td class="center">A</td>
182
		</tr>
183
		<tr class="odd_gradeA">
184
			<td>Gecko</td>
185
			<td>Mozilla 1.1</td>
186
			<td>Win 95+ / OSX.1+</td>
187
			<td class="center">1.1</td>
188
			<td class="center">A</td>
189
		</tr>
190
		<tr class="even_gradeA">
191
			<td>Gecko</td>
192
			<td>Mozilla 1.2</td>
193
			<td>Win 95+ / OSX.1+</td>
194
			<td class="center">1.2</td>
195
			<td class="center">A</td>
196
		</tr>
197
		<tr class="odd_gradeA">
198
			<td>Gecko</td>
199
			<td>Mozilla 1.3</td>
200
			<td>Win 95+ / OSX.1+</td>
201
			<td class="center">1.3</td>
202
			<td class="center">A</td>
203
		</tr>
204
		<tr class="even_gradeA">
205
			<td>Gecko</td>
206
			<td>Mozilla 1.4</td>
207
			<td>Win 95+ / OSX.1+</td>
208
			<td class="center">1.4</td>
209
			<td class="center">A</td>
210
		</tr>
211
		<tr class="odd_gradeA">
212
			<td>Gecko</td>
213
			<td>Mozilla 1.5</td>
214
			<td>Win 95+ / OSX.1+</td>
215
			<td class="center">1.5</td>
216
			<td class="center">A</td>
217
		</tr>
218
		<tr class="even_gradeA">
219
			<td>Gecko</td>
220
			<td>Mozilla 1.6</td>
221
			<td>Win 95+ / OSX.1+</td>
222
			<td class="center">1.6</td>
223
			<td class="center">A</td>
224
		</tr>
225
		<tr class="odd_gradeA">
226
			<td>Gecko</td>
227
			<td>Mozilla 1.7</td>
228
			<td>Win 98+ / OSX.1+</td>
229
			<td class="center">1.7</td>
230
			<td class="center">A</td>
231
		</tr>
232
		<tr class="even_gradeA">
233
			<td>Gecko</td>
234
			<td>Mozilla 1.8</td>
235
			<td>Win 98+ / OSX.1+</td>
236
			<td class="center">1.8</td>
237
			<td class="center">A</td>
238
		</tr>
239
		<tr class="odd_gradeA">
240
			<td>Gecko</td>
241
			<td>Seamonkey 1.1</td>
242
			<td>Win 98+ / OSX.2+</td>
243
			<td class="center">1.8</td>
244
			<td class="center">A</td>
245
		</tr>
246
		<tr class="even_gradeA">
247
			<td>Gecko</td>
248
			<td>Epiphany 2.20</td>
249
			<td>Gnome</td>
250
			<td class="center">1.8</td>
251
			<td class="center">A</td>
252
		</tr>
253
	</tbody>
254
</table>
255
			</div>
256
			<div class="spacer"></div>
257
			
258
			
259
			<h1>Initialisation code</h1>
260
			<pre>$(document).ready( function () {
261
	$('#example').dataTable( {
262
		"sDom": 'T&lt;"clear"&gt;lfrtip'
263
	} );
264
} );</pre>
265
266
267
			<h1>Other examples</h1>
268
			<ul>
269
				<li><a href="index.html">Basic initialisation</a></li>
270
				<li><a href="swf_path.html">Setting the SWF path</a></li>
271
				<li><a href="alter_buttons.html">Custom button arrangement</a></li>
272
				<li><a href="button_text.html">Button text alteration</a></li>
273
				<li><a href="collection.html">Using button collections</a></li>
274
				<li><a href="theme.html">Using jQuery UI themes</a></li>
275
				<li><a href="bootstrap.html">Styling with Twitter Bootstrap</a></li>
276
				<li><a href="multi_instance.html">Multiple TableTools toolbars for a single table</a></li>
277
				<li><a href="multiple_tables.html">Multiple DataTables with a single initialisation</a></li>
278
				<li><a href="select_multi.html">User selectable rows (multiple rows)</a></li>
279
				<li><a href="select_single.html">User selectable rows (single row)</a></li>
280
				<li><a href="alt_init.html">Alternative initialisation using 'new TableTools()'</a></li>
281
				<li><a href="defaults.html">Altering the TableTools defaults</a></li>
282
				<li><a href="plug-in.html">TableTools plug-in buttons</a></li>
283
				<li><a href="pdf_message.html">Customising the PDF output (adding text and orientation)</a></li>
284
			</ul>
285
			
286
			
287
			<div id="footer" style="text-align:center;">
288
				<span style="font-size:10px;">
289
					TableTools and DataTables &copy; Allan Jardine 2009-2011.<br>
290
					Flash 10 save / copy operations are performed by a modified version of <a href="http://code.google.com/p/zeroclipboard/">Zero Clipboard</a>.<br>
291
					The icons used in the toolbar are modified from <a href="http://www.addictedtocoffee.de/">Oliver Twardowski's</a> <a href="http://www.smashingmagazine.com/2009/05/20/flavour-extended-the-ultimate-icon-set-for-web-designers/">Flavours Icon set</a>.
292
				</span>
293
			</div>
294
		</div>
295
	</body>
296
</html>
(-)a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/TableTools/pdf_message.html (+524 lines)
Line 0 Link Here
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2
<html>
3
	<head>
4
		<meta http-equiv="content-type" content="text/html; charset=utf-8">
5
		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
6
		
7
		<title>TableTools example</title>
8
		<style type="text/css" title="currentStyle">
9
			@import "../../media/css/demo_page.css";
10
			@import "../../media/css/demo_table.css";
11
			@import "media/css/TableTools.css";
12
		</style>
13
		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
14
		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
15
		<script type="text/javascript" charset="utf-8" src="media/js/ZeroClipboard.js"></script>
16
		<script type="text/javascript" charset="utf-8" src="media/js/TableTools.js"></script>
17
		<script type="text/javascript" charset="utf-8">
18
			$(document).ready( function () {
19
				$('#example').dataTable( {
20
					"sDom": 'T<"clear">lfrtip',
21
					"oTableTools": {
22
						"aButtons": [
23
							"copy",
24
							"csv",
25
							"xls",
26
							{
27
								"sExtends": "pdf",
28
								"sPdfOrientation": "landscape",
29
								"sPdfMessage": "Your custom message would go here."
30
							},
31
							"print"
32
						]
33
					}
34
				} );
35
			} );
36
		</script>
37
	</head>
38
	<body id="dt_example">
39
		<div id="container">
40
			<div class="full_width big">
41
				TableTools example
42
			</div>
43
			
44
			<h1>Preamble</h1>
45
			<p>This example shows how you can add a message to the saved PDF using the 'sPdfMessage' parameter. It also shows that the orientation of the output PDF can be changed to landscape which is useful if you have a lot of columns.</p>
46
			
47
			<h1>Live example</h1>
48
			<div id="demo">
49
<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
50
	<thead>
51
		<tr>
52
			<th>Rendering engine</th>
53
			<th>Browser</th>
54
			<th>Platform(s)</th>
55
			<th>Engine version</th>
56
			<th>CSS grade</th>
57
		</tr>
58
	</thead>
59
	<tfoot>
60
		<tr>
61
			<th>Rendering engine</th>
62
			<th>Browser</th>
63
			<th>Platform(s)</th>
64
			<th>Engine version</th>
65
			<th>CSS grade</th>
66
		</tr>
67
	</tfoot>
68
	<tbody>
69
		<tr class="odd_gradeX">
70
			<td>Trident</td>
71
			<td>Internet Explorer 4.0</td>
72
			<td>Win 95+ (Entity: &amp;)</td>
73
			<td class="center">4</td>
74
			<td class="center">X</td>
75
		</tr>
76
		<tr class="even_gradeC">
77
			<td>Trident</td>
78
			<td>Internet Explorer 5.0</td>
79
			<td>Win 95+</td>
80
			<td class="center">5</td>
81
			<td class="center">C</td>
82
		</tr>
83
		<tr class="odd_gradeA">
84
			<td>Trident</td>
85
			<td>Internet Explorer 5.5</td>
86
			<td>Win 95+</td>
87
			<td class="center">5.5</td>
88
			<td class="center">A</td>
89
		</tr>
90
		<tr class="even_gradeA">
91
			<td>Trident</td>
92
			<td>Internet Explorer 6</td>
93
			<td>Win 98+</td>
94
			<td class="center">6</td>
95
			<td class="center">A</td>
96
		</tr>
97
		<tr class="odd_gradeA">
98
			<td>Trident</td>
99
			<td>Internet Explorer 7</td>
100
			<td>Win XP SP2+</td>
101
			<td class="center">7</td>
102
			<td class="center">A</td>
103
		</tr>
104
		<tr class="even_gradeA">
105
			<td>Trident</td>
106
			<td>AOL browser (AOL desktop)</td>
107
			<td>Win XP</td>
108
			<td class="center">6</td>
109
			<td class="center">A</td>
110
		</tr>
111
		<tr class="odd_gradeA">
112
			<td>Gecko (UTF-8: $¢€)</td>
113
			<td>Firefox 1.0</td>
114
			<td>Win 98+ / OSX.2+</td>
115
			<td class="center">1.7</td>
116
			<td class="center">A</td>
117
		</tr>
118
		<tr class="even_gradeA">
119
			<td>Gecko</td>
120
			<td>Firefox 1.5</td>
121
			<td>Win 98+ / OSX.2+</td>
122
			<td class="center">1.8</td>
123
			<td class="center">A</td>
124
		</tr>
125
		<tr class="odd_gradeA">
126
			<td>Gecko</td>
127
			<td>Firefox 2.0</td>
128
			<td>Win 98+ / OSX.2+</td>
129
			<td class="center">1.8</td>
130
			<td class="center">A</td>
131
		</tr>
132
		<tr class="even_gradeA">
133
			<td>Gecko</td>
134
			<td>Firefox 3.0</td>
135
			<td>Win 2k+ / OSX.3+</td>
136
			<td class="center">1.9</td>
137
			<td class="center">A</td>
138
		</tr>
139
		<tr class="odd_gradeA">
140
			<td>Gecko</td>
141
			<td>Camino 1.0</td>
142
			<td>OSX.2+</td>
143
			<td class="center">1.8</td>
144
			<td class="center">A</td>
145
		</tr>
146
		<tr class="even_gradeA">
147
			<td>Gecko</td>
148
			<td>Camino 1.5</td>
149
			<td>OSX.3+</td>
150
			<td class="center">1.8</td>
151
			<td class="center">A</td>
152
		</tr>
153
		<tr class="odd_gradeA">
154
			<td>Gecko</td>
155
			<td>Netscape 7.2</td>
156
			<td>Win 95+ / Mac OS 8.6-9.2</td>
157
			<td class="center">1.7</td>
158
			<td class="center">A</td>
159
		</tr>
160
		<tr class="even_gradeA">
161
			<td>Gecko</td>
162
			<td>Netscape Browser 8</td>
163
			<td>Win 98SE+</td>
164
			<td class="center">1.7</td>
165
			<td class="center">A</td>
166
		</tr>
167
		<tr class="odd_gradeA">
168
			<td>Gecko</td>
169
			<td>Netscape Navigator 9</td>
170
			<td>Win 98+ / OSX.2+</td>
171
			<td class="center">1.8</td>
172
			<td class="center">A</td>
173
		</tr>
174
		<tr class="even_gradeA">
175
			<td>Gecko</td>
176
			<td>Mozilla 1.0</td>
177
			<td>Win 95+ / OSX.1+</td>
178
			<td class="center">1</td>
179
			<td class="center">A</td>
180
		</tr>
181
		<tr class="odd_gradeA">
182
			<td>Gecko</td>
183
			<td>Mozilla 1.1</td>
184
			<td>Win 95+ / OSX.1+</td>
185
			<td class="center">1.1</td>
186
			<td class="center">A</td>
187
		</tr>
188
		<tr class="even_gradeA">
189
			<td>Gecko</td>
190
			<td>Mozilla 1.2</td>
191
			<td>Win 95+ / OSX.1+</td>
192
			<td class="center">1.2</td>
193
			<td class="center">A</td>
194
		</tr>
195
		<tr class="odd_gradeA">
196
			<td>Gecko</td>
197
			<td>Mozilla 1.3</td>
198
			<td>Win 95+ / OSX.1+</td>
199
			<td class="center">1.3</td>
200
			<td class="center">A</td>
201
		</tr>
202
		<tr class="even_gradeA">
203
			<td>Gecko</td>
204
			<td>Mozilla 1.4</td>
205
			<td>Win 95+ / OSX.1+</td>
206
			<td class="center">1.4</td>
207
			<td class="center">A</td>
208
		</tr>
209
		<tr class="odd_gradeA">
210
			<td>Gecko</td>
211
			<td>Mozilla 1.5</td>
212
			<td>Win 95+ / OSX.1+</td>
213
			<td class="center">1.5</td>
214
			<td class="center">A</td>
215
		</tr>
216
		<tr class="even_gradeA">
217
			<td>Gecko</td>
218
			<td>Mozilla 1.6</td>
219
			<td>Win 95+ / OSX.1+</td>
220
			<td class="center">1.6</td>
221
			<td class="center">A</td>
222
		</tr>
223
		<tr class="odd_gradeA">
224
			<td>Gecko</td>
225
			<td>Mozilla 1.7</td>
226
			<td>Win 98+ / OSX.1+</td>
227
			<td class="center">1.7</td>
228
			<td class="center">A</td>
229
		</tr>
230
		<tr class="even_gradeA">
231
			<td>Gecko</td>
232
			<td>Mozilla 1.8</td>
233
			<td>Win 98+ / OSX.1+</td>
234
			<td class="center">1.8</td>
235
			<td class="center">A</td>
236
		</tr>
237
		<tr class="odd_gradeA">
238
			<td>Gecko</td>
239
			<td>Seamonkey 1.1</td>
240
			<td>Win 98+ / OSX.2+</td>
241
			<td class="center">1.8</td>
242
			<td class="center">A</td>
243
		</tr>
244
		<tr class="even_gradeA">
245
			<td>Gecko</td>
246
			<td>Epiphany 2.20</td>
247
			<td>Gnome</td>
248
			<td class="center">1.8</td>
249
			<td class="center">A</td>
250
		</tr>
251
		<tr class="odd_gradeA">
252
			<td>Webkit</td>
253
			<td>Safari 1.2</td>
254
			<td>OSX.3</td>
255
			<td class="center">125.5</td>
256
			<td class="center">A</td>
257
		</tr>
258
		<tr class="even_gradeA">
259
			<td>Webkit</td>
260
			<td>Safari 1.3</td>
261
			<td>OSX.3</td>
262
			<td class="center">312.8</td>
263
			<td class="center">A</td>
264
		</tr>
265
		<tr class="odd_gradeA">
266
			<td>Webkit</td>
267
			<td>Safari 2.0</td>
268
			<td>OSX.4+</td>
269
			<td class="center">419.3</td>
270
			<td class="center">A</td>
271
		</tr>
272
		<tr class="even_gradeA">
273
			<td>Webkit</td>
274
			<td>Safari 3.0</td>
275
			<td>OSX.4+</td>
276
			<td class="center">522.1</td>
277
			<td class="center">A</td>
278
		</tr>
279
		<tr class="odd_gradeA">
280
			<td>Webkit</td>
281
			<td>OmniWeb 5.5</td>
282
			<td>OSX.4+</td>
283
			<td class="center">420</td>
284
			<td class="center">A</td>
285
		</tr>
286
		<tr class="even_gradeA">
287
			<td>Webkit</td>
288
			<td>iPod Touch / iPhone</td>
289
			<td>iPod</td>
290
			<td class="center">420.1</td>
291
			<td class="center">A</td>
292
		</tr>
293
		<tr class="odd_gradeA">
294
			<td>Webkit</td>
295
			<td>S60</td>
296
			<td>S60</td>
297
			<td class="center">413</td>
298
			<td class="center">A</td>
299
		</tr>
300
		<tr class="even_gradeA">
301
			<td>Presto</td>
302
			<td>Opera 7.0</td>
303
			<td>Win 95+ / OSX.1+</td>
304
			<td class="center">-</td>
305
			<td class="center">A</td>
306
		</tr>
307
		<tr class="odd_gradeA">
308
			<td>Presto</td>
309
			<td>Opera 7.5</td>
310
			<td>Win 95+ / OSX.2+</td>
311
			<td class="center">-</td>
312
			<td class="center">A</td>
313
		</tr>
314
		<tr class="even_gradeA">
315
			<td>Presto</td>
316
			<td>Opera 8.0</td>
317
			<td>Win 95+ / OSX.2+</td>
318
			<td class="center">-</td>
319
			<td class="center">A</td>
320
		</tr>
321
		<tr class="odd_gradeA">
322
			<td>Presto</td>
323
			<td>Opera 8.5</td>
324
			<td>Win 95+ / OSX.2+</td>
325
			<td class="center">-</td>
326
			<td class="center">A</td>
327
		</tr>
328
		<tr class="even_gradeA">
329
			<td>Presto</td>
330
			<td>Opera 9.0</td>
331
			<td>Win 95+ / OSX.3+</td>
332
			<td class="center">-</td>
333
			<td class="center">A</td>
334
		</tr>
335
		<tr class="odd_gradeA">
336
			<td>Presto</td>
337
			<td>Opera 9.2</td>
338
			<td>Win 88+ / OSX.3+</td>
339
			<td class="center">-</td>
340
			<td class="center">A</td>
341
		</tr>
342
		<tr class="even_gradeA">
343
			<td>Presto</td>
344
			<td>Opera 9.5</td>
345
			<td>Win 88+ / OSX.3+</td>
346
			<td class="center">-</td>
347
			<td class="center">A</td>
348
		</tr>
349
		<tr class="odd_gradeA">
350
			<td>Presto</td>
351
			<td>Opera for Wii</td>
352
			<td>Wii</td>
353
			<td class="center">-</td>
354
			<td class="center">A</td>
355
		</tr>
356
		<tr class="even_gradeA">
357
			<td>Presto</td>
358
			<td>Nokia N800</td>
359
			<td>N800</td>
360
			<td class="center">-</td>
361
			<td class="center">A</td>
362
		</tr>
363
		<tr class="odd_gradeA">
364
			<td>Presto</td>
365
			<td>Nintendo DS browser</td>
366
			<td>Nintendo DS</td>
367
			<td class="center">8.5</td>
368
			<td class="center">C/A<sup>1</sup></td>
369
		</tr>
370
		<tr class="even_gradeC">
371
			<td>KHTML</td>
372
			<td>Konqureror 3.1</td>
373
			<td>KDE 3.1</td>
374
			<td class="center">3.1</td>
375
			<td class="center">C</td>
376
		</tr>
377
		<tr class="odd_gradeA">
378
			<td>KHTML</td>
379
			<td>Konqureror 3.3</td>
380
			<td>KDE 3.3</td>
381
			<td class="center">3.3</td>
382
			<td class="center">A</td>
383
		</tr>
384
		<tr class="even_gradeA">
385
			<td>KHTML</td>
386
			<td>Konqureror 3.5</td>
387
			<td>KDE 3.5</td>
388
			<td class="center">3.5</td>
389
			<td class="center">A</td>
390
		</tr>
391
		<tr class="odd_gradeX">
392
			<td>Tasman</td>
393
			<td>Internet Explorer 4.5</td>
394
			<td>Mac OS 8-9</td>
395
			<td class="center">-</td>
396
			<td class="center">X</td>
397
		</tr>
398
		<tr class="even_gradeC">
399
			<td>Tasman</td>
400
			<td>Internet Explorer 5.1</td>
401
			<td>Mac OS 7.6-9</td>
402
			<td class="center">1</td>
403
			<td class="center">C</td>
404
		</tr>
405
		<tr class="odd_gradeC">
406
			<td>Tasman</td>
407
			<td>Internet Explorer 5.2</td>
408
			<td>Mac OS 8-X</td>
409
			<td class="center">1</td>
410
			<td class="center">C</td>
411
		</tr>
412
		<tr class="even_gradeA">
413
			<td>Misc</td>
414
			<td>NetFront 3.1</td>
415
			<td>Embedded devices</td>
416
			<td class="center">-</td>
417
			<td class="center">C</td>
418
		</tr>
419
		<tr class="odd_gradeA">
420
			<td>Misc</td>
421
			<td>NetFront 3.4</td>
422
			<td>Embedded devices</td>
423
			<td class="center">-</td>
424
			<td class="center">A</td>
425
		</tr>
426
		<tr class="even_gradeX">
427
			<td>Misc</td>
428
			<td>Dillo 0.8</td>
429
			<td>Embedded devices</td>
430
			<td class="center">-</td>
431
			<td class="center">X</td>
432
		</tr>
433
		<tr class="odd_gradeX">
434
			<td>Misc</td>
435
			<td>Links</td>
436
			<td>Text only</td>
437
			<td class="center">-</td>
438
			<td class="center">X</td>
439
		</tr>
440
		<tr class="even_gradeX">
441
			<td>Misc</td>
442
			<td>Lynx</td>
443
			<td>Text only</td>
444
			<td class="center">-</td>
445
			<td class="center">X</td>
446
		</tr>
447
		<tr class="odd_gradeC">
448
			<td>Misc</td>
449
			<td>IE Mobile</td>
450
			<td>Windows Mobile 6</td>
451
			<td class="center">-</td>
452
			<td class="center">C</td>
453
		</tr>
454
		<tr class="even_gradeC">
455
			<td>Misc</td>
456
			<td>PSP browser</td>
457
			<td>PSP</td>
458
			<td class="center">-</td>
459
			<td class="center">C</td>
460
		</tr>
461
		<tr class="odd_gradeU">
462
			<td>Other browsers</td>
463
			<td>All others</td>
464
			<td>-</td>
465
			<td class="center">-</td>
466
			<td class="center">U</td>
467
		</tr>
468
	</tbody>
469
</table>
470
			</div>
471
			<div class="spacer"></div>
472
			
473
			
474
			<h1>Initialisation code</h1>
475
			<pre>$(document).ready( function () {
476
	$('#example').dataTable( {
477
		"sDom": 'T&lt;"clear"&gt;lfrtip',
478
		"oTableTools": {
479
			"aButtons": [
480
				"copy",
481
				"csv",
482
				"xls",
483
				{
484
					"sExtends": "pdf",
485
					"sPdfOrientation": "landscape",
486
					"sPdfMessage": "Your custom message would go here."
487
				}
488
				"print"
489
			]
490
		}
491
	} );
492
} );</pre>
493
494
495
			<h1>Other examples</h1>
496
			<ul>
497
				<li><a href="index.html">Basic initialisation</a></li>
498
				<li><a href="swf_path.html">Setting the SWF path</a></li>
499
				<li><a href="alter_buttons.html">Custom button arrangement</a></li>
500
				<li><a href="button_text.html">Button text alteration</a></li>
501
				<li><a href="collection.html">Using button collections</a></li>
502
				<li><a href="theme.html">Using jQuery UI themes</a></li>
503
				<li><a href="bootstrap.html">Styling with Twitter Bootstrap</a></li>
504
				<li><a href="multi_instance.html">Multiple TableTools toolbars for a single table</a></li>
505
				<li><a href="multiple_tables.html">Multiple DataTables with a single initialisation</a></li>
506
				<li><a href="select_multi.html">User selectable rows (multiple rows)</a></li>
507
				<li><a href="select_single.html">User selectable rows (single row)</a></li>
508
				<li><a href="alt_init.html">Alternative initialisation using 'new TableTools()'</a></li>
509
				<li><a href="defaults.html">Altering the TableTools defaults</a></li>
510
				<li><a href="plug-in.html">TableTools plug-in buttons</a></li>
511
				<li><a href="pdf_message.html">Customising the PDF output (adding text and orientation)</a></li>
512
			</ul>
513
			
514
			
515
			<div id="footer" style="text-align:center;">
516
				<span style="font-size:10px;">
517
					TableTools and DataTables &copy; Allan Jardine 2009-2011.<br>
518
					Flash 10 save / copy operations are performed by a modified version of <a href="http://code.google.com/p/zeroclipboard/">Zero Clipboard</a>.<br>
519
					The icons used in the toolbar are modified from <a href="http://www.addictedtocoffee.de/">Oliver Twardowski's</a> <a href="http://www.smashingmagazine.com/2009/05/20/flavour-extended-the-ultimate-icon-set-for-web-designers/">Flavours Icon set</a>.
520
				</span>
521
			</div>
522
		</div>
523
	</body>
524
</html>
(-)a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/TableTools/plug-in.html (+539 lines)
Line 0 Link Here
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2
<html>
3
	<head>
4
		<meta http-equiv="content-type" content="text/html; charset=utf-8">
5
		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
6
		
7
		<title>TableTools example</title>
8
		<style type="text/css" title="currentStyle">
9
			@import "../../media/css/demo_page.css";
10
			@import "../../media/css/demo_table.css";
11
			@import "media/css/TableTools.css";
12
		</style>
13
		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
14
		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
15
		<script type="text/javascript" charset="utf-8" src="media/js/ZeroClipboard.js"></script>
16
		<script type="text/javascript" charset="utf-8" src="media/js/TableTools.js"></script>
17
		<script type="text/javascript" charset="utf-8">
18
			TableTools.BUTTONS.copy_to_div = $.extend( true, TableTools.buttonBase, {
19
				"sNewLine": "<br>",
20
				"sButtonText": "Copy to element",
21
				"sDiv": "",
22
				"fnClick": function( nButton, oConfig ) {
23
					document.getElementById(oConfig.sDiv).innerHTML = 
24
						this.fnGetTableData(oConfig);
25
				}
26
			} );
27
			
28
			$(document).ready( function () {
29
				$('#example').dataTable( {
30
					"sDom": 'T<"clear">lfrtip',
31
					"oTableTools": {
32
						"aButtons": [
33
							{
34
								"sExtends":    "copy_to_div",
35
								"sButtonText": "Copy to div",
36
								"sDiv":        "copy",
37
							}
38
						]
39
					}
40
				} );
41
			} );
42
		</script>
43
	</head>
44
	<body id="dt_example">
45
		<div id="container">
46
			<div class="full_width big">
47
				TableTools example - plug-ins
48
			</div>
49
			
50
			<h1>Preamble</h1>
51
			<p>Plug-ins in TableTools take the form of additional buttons types, which provide extra options and flexibility for TableTools. This example shows how a plug-in button type can be defined and then used in the TableTools initialisation. Note that the <i>TableTools.buttonBase</i> object is extended with our required parameters - this base object provides default values for all of the options TableTools can work with, so they don't all have to be defined in our button.</p>
52
			<p>Additional plug-ins for TableTools can be found <a href="http://datatables.net/extras/tabletools/plug-ins">on the DataTables.net site</a>. The example plug-in here shows a button which is used to insert the data from the table into a given element.</p>
53
			
54
			<h1>Live example</h1>
55
			
56
			<div id="copy" class="box" style="height: 100px; overflow: auto"></div>
57
			<div id="demo">
58
<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
59
	<thead>
60
		<tr>
61
			<th>Rendering engine</th>
62
			<th>Browser</th>
63
			<th>Platform(s)</th>
64
			<th>Engine version</th>
65
			<th>CSS grade</th>
66
		</tr>
67
	</thead>
68
	<tfoot>
69
		<tr>
70
			<th>Rendering engine</th>
71
			<th>Browser</th>
72
			<th>Platform(s)</th>
73
			<th>Engine version</th>
74
			<th>CSS grade</th>
75
		</tr>
76
	</tfoot>
77
	<tbody>
78
		<tr class="odd_gradeX">
79
			<td>Trident</td>
80
			<td>Internet Explorer 4.0</td>
81
			<td>Win 95+ (Entity: &amp;)</td>
82
			<td class="center">4</td>
83
			<td class="center">X</td>
84
		</tr>
85
		<tr class="even_gradeC">
86
			<td>Trident</td>
87
			<td>Internet Explorer 5.0</td>
88
			<td>Win 95+</td>
89
			<td class="center">5</td>
90
			<td class="center">C</td>
91
		</tr>
92
		<tr class="odd_gradeA">
93
			<td>Trident</td>
94
			<td>Internet Explorer 5.5</td>
95
			<td>Win 95+</td>
96
			<td class="center">5.5</td>
97
			<td class="center">A</td>
98
		</tr>
99
		<tr class="even_gradeA">
100
			<td>Trident</td>
101
			<td>Internet Explorer 6</td>
102
			<td>Win 98+</td>
103
			<td class="center">6</td>
104
			<td class="center">A</td>
105
		</tr>
106
		<tr class="odd_gradeA">
107
			<td>Trident</td>
108
			<td>Internet Explorer 7</td>
109
			<td>Win XP SP2+</td>
110
			<td class="center">7</td>
111
			<td class="center">A</td>
112
		</tr>
113
		<tr class="even_gradeA">
114
			<td>Trident</td>
115
			<td>AOL browser (AOL desktop)</td>
116
			<td>Win XP</td>
117
			<td class="center">6</td>
118
			<td class="center">A</td>
119
		</tr>
120
		<tr class="odd_gradeA">
121
			<td>Gecko (UTF-8: $¢€)</td>
122
			<td>Firefox 1.0</td>
123
			<td>Win 98+ / OSX.2+</td>
124
			<td class="center">1.7</td>
125
			<td class="center">A</td>
126
		</tr>
127
		<tr class="even_gradeA">
128
			<td>Gecko</td>
129
			<td>Firefox 1.5</td>
130
			<td>Win 98+ / OSX.2+</td>
131
			<td class="center">1.8</td>
132
			<td class="center">A</td>
133
		</tr>
134
		<tr class="odd_gradeA">
135
			<td>Gecko</td>
136
			<td>Firefox 2.0</td>
137
			<td>Win 98+ / OSX.2+</td>
138
			<td class="center">1.8</td>
139
			<td class="center">A</td>
140
		</tr>
141
		<tr class="even_gradeA">
142
			<td>Gecko</td>
143
			<td>Firefox 3.0</td>
144
			<td>Win 2k+ / OSX.3+</td>
145
			<td class="center">1.9</td>
146
			<td class="center">A</td>
147
		</tr>
148
		<tr class="odd_gradeA">
149
			<td>Gecko</td>
150
			<td>Camino 1.0</td>
151
			<td>OSX.2+</td>
152
			<td class="center">1.8</td>
153
			<td class="center">A</td>
154
		</tr>
155
		<tr class="even_gradeA">
156
			<td>Gecko</td>
157
			<td>Camino 1.5</td>
158
			<td>OSX.3+</td>
159
			<td class="center">1.8</td>
160
			<td class="center">A</td>
161
		</tr>
162
		<tr class="odd_gradeA">
163
			<td>Gecko</td>
164
			<td>Netscape 7.2</td>
165
			<td>Win 95+ / Mac OS 8.6-9.2</td>
166
			<td class="center">1.7</td>
167
			<td class="center">A</td>
168
		</tr>
169
		<tr class="even_gradeA">
170
			<td>Gecko</td>
171
			<td>Netscape Browser 8</td>
172
			<td>Win 98SE+</td>
173
			<td class="center">1.7</td>
174
			<td class="center">A</td>
175
		</tr>
176
		<tr class="odd_gradeA">
177
			<td>Gecko</td>
178
			<td>Netscape Navigator 9</td>
179
			<td>Win 98+ / OSX.2+</td>
180
			<td class="center">1.8</td>
181
			<td class="center">A</td>
182
		</tr>
183
		<tr class="even_gradeA">
184
			<td>Gecko</td>
185
			<td>Mozilla 1.0</td>
186
			<td>Win 95+ / OSX.1+</td>
187
			<td class="center">1</td>
188
			<td class="center">A</td>
189
		</tr>
190
		<tr class="odd_gradeA">
191
			<td>Gecko</td>
192
			<td>Mozilla 1.1</td>
193
			<td>Win 95+ / OSX.1+</td>
194
			<td class="center">1.1</td>
195
			<td class="center">A</td>
196
		</tr>
197
		<tr class="even_gradeA">
198
			<td>Gecko</td>
199
			<td>Mozilla 1.2</td>
200
			<td>Win 95+ / OSX.1+</td>
201
			<td class="center">1.2</td>
202
			<td class="center">A</td>
203
		</tr>
204
		<tr class="odd_gradeA">
205
			<td>Gecko</td>
206
			<td>Mozilla 1.3</td>
207
			<td>Win 95+ / OSX.1+</td>
208
			<td class="center">1.3</td>
209
			<td class="center">A</td>
210
		</tr>
211
		<tr class="even_gradeA">
212
			<td>Gecko</td>
213
			<td>Mozilla 1.4</td>
214
			<td>Win 95+ / OSX.1+</td>
215
			<td class="center">1.4</td>
216
			<td class="center">A</td>
217
		</tr>
218
		<tr class="odd_gradeA">
219
			<td>Gecko</td>
220
			<td>Mozilla 1.5</td>
221
			<td>Win 95+ / OSX.1+</td>
222
			<td class="center">1.5</td>
223
			<td class="center">A</td>
224
		</tr>
225
		<tr class="even_gradeA">
226
			<td>Gecko</td>
227
			<td>Mozilla 1.6</td>
228
			<td>Win 95+ / OSX.1+</td>
229
			<td class="center">1.6</td>
230
			<td class="center">A</td>
231
		</tr>
232
		<tr class="odd_gradeA">
233
			<td>Gecko</td>
234
			<td>Mozilla 1.7</td>
235
			<td>Win 98+ / OSX.1+</td>
236
			<td class="center">1.7</td>
237
			<td class="center">A</td>
238
		</tr>
239
		<tr class="even_gradeA">
240
			<td>Gecko</td>
241
			<td>Mozilla 1.8</td>
242
			<td>Win 98+ / OSX.1+</td>
243
			<td class="center">1.8</td>
244
			<td class="center">A</td>
245
		</tr>
246
		<tr class="odd_gradeA">
247
			<td>Gecko</td>
248
			<td>Seamonkey 1.1</td>
249
			<td>Win 98+ / OSX.2+</td>
250
			<td class="center">1.8</td>
251
			<td class="center">A</td>
252
		</tr>
253
		<tr class="even_gradeA">
254
			<td>Gecko</td>
255
			<td>Epiphany 2.20</td>
256
			<td>Gnome</td>
257
			<td class="center">1.8</td>
258
			<td class="center">A</td>
259
		</tr>
260
		<tr class="odd_gradeA">
261
			<td>Webkit</td>
262
			<td>Safari 1.2</td>
263
			<td>OSX.3</td>
264
			<td class="center">125.5</td>
265
			<td class="center">A</td>
266
		</tr>
267
		<tr class="even_gradeA">
268
			<td>Webkit</td>
269
			<td>Safari 1.3</td>
270
			<td>OSX.3</td>
271
			<td class="center">312.8</td>
272
			<td class="center">A</td>
273
		</tr>
274
		<tr class="odd_gradeA">
275
			<td>Webkit</td>
276
			<td>Safari 2.0</td>
277
			<td>OSX.4+</td>
278
			<td class="center">419.3</td>
279
			<td class="center">A</td>
280
		</tr>
281
		<tr class="even_gradeA">
282
			<td>Webkit</td>
283
			<td>Safari 3.0</td>
284
			<td>OSX.4+</td>
285
			<td class="center">522.1</td>
286
			<td class="center">A</td>
287
		</tr>
288
		<tr class="odd_gradeA">
289
			<td>Webkit</td>
290
			<td>OmniWeb 5.5</td>
291
			<td>OSX.4+</td>
292
			<td class="center">420</td>
293
			<td class="center">A</td>
294
		</tr>
295
		<tr class="even_gradeA">
296
			<td>Webkit</td>
297
			<td>iPod Touch / iPhone</td>
298
			<td>iPod</td>
299
			<td class="center">420.1</td>
300
			<td class="center">A</td>
301
		</tr>
302
		<tr class="odd_gradeA">
303
			<td>Webkit</td>
304
			<td>S60</td>
305
			<td>S60</td>
306
			<td class="center">413</td>
307
			<td class="center">A</td>
308
		</tr>
309
		<tr class="even_gradeA">
310
			<td>Presto</td>
311
			<td>Opera 7.0</td>
312
			<td>Win 95+ / OSX.1+</td>
313
			<td class="center">-</td>
314
			<td class="center">A</td>
315
		</tr>
316
		<tr class="odd_gradeA">
317
			<td>Presto</td>
318
			<td>Opera 7.5</td>
319
			<td>Win 95+ / OSX.2+</td>
320
			<td class="center">-</td>
321
			<td class="center">A</td>
322
		</tr>
323
		<tr class="even_gradeA">
324
			<td>Presto</td>
325
			<td>Opera 8.0</td>
326
			<td>Win 95+ / OSX.2+</td>
327
			<td class="center">-</td>
328
			<td class="center">A</td>
329
		</tr>
330
		<tr class="odd_gradeA">
331
			<td>Presto</td>
332
			<td>Opera 8.5</td>
333
			<td>Win 95+ / OSX.2+</td>
334
			<td class="center">-</td>
335
			<td class="center">A</td>
336
		</tr>
337
		<tr class="even_gradeA">
338
			<td>Presto</td>
339
			<td>Opera 9.0</td>
340
			<td>Win 95+ / OSX.3+</td>
341
			<td class="center">-</td>
342
			<td class="center">A</td>
343
		</tr>
344
		<tr class="odd_gradeA">
345
			<td>Presto</td>
346
			<td>Opera 9.2</td>
347
			<td>Win 88+ / OSX.3+</td>
348
			<td class="center">-</td>
349
			<td class="center">A</td>
350
		</tr>
351
		<tr class="even_gradeA">
352
			<td>Presto</td>
353
			<td>Opera 9.5</td>
354
			<td>Win 88+ / OSX.3+</td>
355
			<td class="center">-</td>
356
			<td class="center">A</td>
357
		</tr>
358
		<tr class="odd_gradeA">
359
			<td>Presto</td>
360
			<td>Opera for Wii</td>
361
			<td>Wii</td>
362
			<td class="center">-</td>
363
			<td class="center">A</td>
364
		</tr>
365
		<tr class="even_gradeA">
366
			<td>Presto</td>
367
			<td>Nokia N800</td>
368
			<td>N800</td>
369
			<td class="center">-</td>
370
			<td class="center">A</td>
371
		</tr>
372
		<tr class="odd_gradeA">
373
			<td>Presto</td>
374
			<td>Nintendo DS browser</td>
375
			<td>Nintendo DS</td>
376
			<td class="center">8.5</td>
377
			<td class="center">C/A<sup>1</sup></td>
378
		</tr>
379
		<tr class="even_gradeC">
380
			<td>KHTML</td>
381
			<td>Konqureror 3.1</td>
382
			<td>KDE 3.1</td>
383
			<td class="center">3.1</td>
384
			<td class="center">C</td>
385
		</tr>
386
		<tr class="odd_gradeA">
387
			<td>KHTML</td>
388
			<td>Konqureror 3.3</td>
389
			<td>KDE 3.3</td>
390
			<td class="center">3.3</td>
391
			<td class="center">A</td>
392
		</tr>
393
		<tr class="even_gradeA">
394
			<td>KHTML</td>
395
			<td>Konqureror 3.5</td>
396
			<td>KDE 3.5</td>
397
			<td class="center">3.5</td>
398
			<td class="center">A</td>
399
		</tr>
400
		<tr class="odd_gradeX">
401
			<td>Tasman</td>
402
			<td>Internet Explorer 4.5</td>
403
			<td>Mac OS 8-9</td>
404
			<td class="center">-</td>
405
			<td class="center">X</td>
406
		</tr>
407
		<tr class="even_gradeC">
408
			<td>Tasman</td>
409
			<td>Internet Explorer 5.1</td>
410
			<td>Mac OS 7.6-9</td>
411
			<td class="center">1</td>
412
			<td class="center">C</td>
413
		</tr>
414
		<tr class="odd_gradeC">
415
			<td>Tasman</td>
416
			<td>Internet Explorer 5.2</td>
417
			<td>Mac OS 8-X</td>
418
			<td class="center">1</td>
419
			<td class="center">C</td>
420
		</tr>
421
		<tr class="even_gradeA">
422
			<td>Misc</td>
423
			<td>NetFront 3.1</td>
424
			<td>Embedded devices</td>
425
			<td class="center">-</td>
426
			<td class="center">C</td>
427
		</tr>
428
		<tr class="odd_gradeA">
429
			<td>Misc</td>
430
			<td>NetFront 3.4</td>
431
			<td>Embedded devices</td>
432
			<td class="center">-</td>
433
			<td class="center">A</td>
434
		</tr>
435
		<tr class="even_gradeX">
436
			<td>Misc</td>
437
			<td>Dillo 0.8</td>
438
			<td>Embedded devices</td>
439
			<td class="center">-</td>
440
			<td class="center">X</td>
441
		</tr>
442
		<tr class="odd_gradeX">
443
			<td>Misc</td>
444
			<td>Links</td>
445
			<td>Text only</td>
446
			<td class="center">-</td>
447
			<td class="center">X</td>
448
		</tr>
449
		<tr class="even_gradeX">
450
			<td>Misc</td>
451
			<td>Lynx</td>
452
			<td>Text only</td>
453
			<td class="center">-</td>
454
			<td class="center">X</td>
455
		</tr>
456
		<tr class="odd_gradeC">
457
			<td>Misc</td>
458
			<td>IE Mobile</td>
459
			<td>Windows Mobile 6</td>
460
			<td class="center">-</td>
461
			<td class="center">C</td>
462
		</tr>
463
		<tr class="even_gradeC">
464
			<td>Misc</td>
465
			<td>PSP browser</td>
466
			<td>PSP</td>
467
			<td class="center">-</td>
468
			<td class="center">C</td>
469
		</tr>
470
		<tr class="odd_gradeU">
471
			<td>Other browsers</td>
472
			<td>All others</td>
473
			<td>-</td>
474
			<td class="center">-</td>
475
			<td class="center">U</td>
476
		</tr>
477
	</tbody>
478
</table>
479
			</div>
480
			<div class="spacer"></div>
481
			
482
			
483
			<h1>Initialisation code</h1>
484
			<pre>TableTools.BUTTONS.copy_to_div = $.extend( true, TableTools.buttonBase, {
485
	"sNewLine": "&lt;br&gt;",
486
	"sButtonText": "Copy to element",
487
	"sDiv": "",
488
	"fnClick": function( nButton, oConfig ) {
489
		document.getElementById(oConfig.sDiv).innerHTML = 
490
			this.fnGetTableData(oConfig);
491
	}
492
} );
493
494
$(document).ready( function () {
495
	$('#example').dataTable( {
496
		"sDom": 'T&lt;"clear"&gt;lfrtip',
497
		"oTableTools": {
498
			"aButtons": [
499
				{
500
					"sExtends":    "copy_to_div",
501
					"sButtonText": "Copy to div",
502
					"sDiv":        "copy",
503
				}
504
			]
505
		}
506
	} );
507
} );</pre>
508
509
510
			<h1>Other examples</h1>
511
			<ul>
512
				<li><a href="index.html">Basic initialisation</a></li>
513
				<li><a href="swf_path.html">Setting the SWF path</a></li>
514
				<li><a href="alter_buttons.html">Custom button arrangement</a></li>
515
				<li><a href="button_text.html">Button text alteration</a></li>
516
				<li><a href="collection.html">Using button collections</a></li>
517
				<li><a href="theme.html">Using jQuery UI themes</a></li>
518
				<li><a href="bootstrap.html">Styling with Twitter Bootstrap</a></li>
519
				<li><a href="multi_instance.html">Multiple TableTools toolbars for a single table</a></li>
520
				<li><a href="multiple_tables.html">Multiple DataTables with a single initialisation</a></li>
521
				<li><a href="select_multi.html">User selectable rows (multiple rows)</a></li>
522
				<li><a href="select_single.html">User selectable rows (single row)</a></li>
523
				<li><a href="alt_init.html">Alternative initialisation using 'new TableTools()'</a></li>
524
				<li><a href="defaults.html">Altering the TableTools defaults</a></li>
525
				<li><a href="plug-in.html">TableTools plug-in buttons</a></li>
526
				<li><a href="pdf_message.html">Customising the PDF output (adding text and orientation)</a></li>
527
			</ul>
528
			
529
			
530
			<div id="footer" style="text-align:center;">
531
				<span style="font-size:10px;">
532
					TableTools and DataTables &copy; Allan Jardine 2009-2011.<br>
533
					Flash 10 save / copy operations are performed by a modified version of <a href="http://code.google.com/p/zeroclipboard/">Zero Clipboard</a>.<br>
534
					The icons used in the toolbar are modified from <a href="http://www.addictedtocoffee.de/">Oliver Twardowski's</a> <a href="http://www.smashingmagazine.com/2009/05/20/flavour-extended-the-ultimate-icon-set-for-web-designers/">Flavours Icon set</a>.
535
				</span>
536
			</div>
537
		</div>
538
	</body>
539
</html>
(-)a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/TableTools/select_multi.html (+507 lines)
Line 0 Link Here
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2
<html>
3
	<head>
4
		<meta http-equiv="content-type" content="text/html; charset=utf-8">
5
		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
6
		
7
		<title>TableTools example</title>
8
		<style type="text/css" title="currentStyle">
9
			@import "../../media/css/demo_page.css";
10
			@import "../../media/css/demo_table.css";
11
			@import "media/css/TableTools.css";
12
		</style>
13
		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
14
		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
15
		<script type="text/javascript" charset="utf-8" src="media/js/ZeroClipboard.js"></script>
16
		<script type="text/javascript" charset="utf-8" src="media/js/TableTools.js"></script>
17
		<script type="text/javascript" charset="utf-8">
18
			$(document).ready( function () {
19
				$('#example').dataTable( {
20
					"sDom": 'T<"clear">lfrtip',
21
					"oTableTools": {
22
						"sRowSelect": "multi",
23
						"aButtons": [ "select_all", "select_none" ]
24
					}
25
				} );
26
			} );
27
		</script>
28
	</head>
29
	<body id="dt_example">
30
		<div id="container">
31
			<div class="full_width big">
32
				TableTools example - multi-row select
33
			</div>
34
			
35
			<h1>Preamble</h1>
36
			<p>As well as providing a button toolbar, TableTools provides everything needed to have selectable rows in the table. Row selection is turned off by default in TableTools, but can be enabled using the <i>sRowSelect</i> parameter, set to either 'multi' or 'single'. When set the end user can select rows by simply clicking on them. TableTools provides <a href="http://datatables.net/extras/tabletools/api">a set of API methods</a> and <a href="http://datatables.net/extras/tabletools/initialisation">callbacks</a> for controlling and monitoring the row selection in TableTools. There are also a number of <a href="http://datatables.net/extras/tabletools/buttons">pre-defined buttons</a> to provide functions such as select-all and select-none, as shown in this example.</p>
37
			
38
			
39
			<h1>Live example</h1>
40
			<div id="demo">
41
<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
42
	<thead>
43
		<tr>
44
			<th>Rendering engine</th>
45
			<th>Browser</th>
46
			<th>Platform(s)</th>
47
			<th>Engine version</th>
48
			<th>CSS grade</th>
49
		</tr>
50
	</thead>
51
	<tfoot>
52
		<tr>
53
			<th>Rendering engine</th>
54
			<th>Browser</th>
55
			<th>Platform(s)</th>
56
			<th>Engine version</th>
57
			<th>CSS grade</th>
58
		</tr>
59
	</tfoot>
60
	<tbody>
61
		<tr class="odd_gradeX">
62
			<td>Trident</td>
63
			<td>Internet Explorer 4.0</td>
64
			<td>Win 95+ (Entity: &amp;)</td>
65
			<td class="center">4</td>
66
			<td class="center">X</td>
67
		</tr>
68
		<tr class="even_gradeC">
69
			<td>Trident</td>
70
			<td>Internet Explorer 5.0</td>
71
			<td>Win 95+</td>
72
			<td class="center">5</td>
73
			<td class="center">C</td>
74
		</tr>
75
		<tr class="odd_gradeA">
76
			<td>Trident</td>
77
			<td>Internet Explorer 5.5</td>
78
			<td>Win 95+</td>
79
			<td class="center">5.5</td>
80
			<td class="center">A</td>
81
		</tr>
82
		<tr class="even_gradeA">
83
			<td>Trident</td>
84
			<td>Internet Explorer 6</td>
85
			<td>Win 98+</td>
86
			<td class="center">6</td>
87
			<td class="center">A</td>
88
		</tr>
89
		<tr class="odd_gradeA">
90
			<td>Trident</td>
91
			<td>Internet Explorer 7</td>
92
			<td>Win XP SP2+</td>
93
			<td class="center">7</td>
94
			<td class="center">A</td>
95
		</tr>
96
		<tr class="even_gradeA">
97
			<td>Trident</td>
98
			<td>AOL browser (AOL desktop)</td>
99
			<td>Win XP</td>
100
			<td class="center">6</td>
101
			<td class="center">A</td>
102
		</tr>
103
		<tr class="odd_gradeA">
104
			<td>Gecko (UTF-8: $¢€)</td>
105
			<td>Firefox 1.0</td>
106
			<td>Win 98+ / OSX.2+</td>
107
			<td class="center">1.7</td>
108
			<td class="center">A</td>
109
		</tr>
110
		<tr class="even_gradeA">
111
			<td>Gecko</td>
112
			<td>Firefox 1.5</td>
113
			<td>Win 98+ / OSX.2+</td>
114
			<td class="center">1.8</td>
115
			<td class="center">A</td>
116
		</tr>
117
		<tr class="odd_gradeA">
118
			<td>Gecko</td>
119
			<td>Firefox 2.0</td>
120
			<td>Win 98+ / OSX.2+</td>
121
			<td class="center">1.8</td>
122
			<td class="center">A</td>
123
		</tr>
124
		<tr class="even_gradeA">
125
			<td>Gecko</td>
126
			<td>Firefox 3.0</td>
127
			<td>Win 2k+ / OSX.3+</td>
128
			<td class="center">1.9</td>
129
			<td class="center">A</td>
130
		</tr>
131
		<tr class="odd_gradeA">
132
			<td>Gecko</td>
133
			<td>Camino 1.0</td>
134
			<td>OSX.2+</td>
135
			<td class="center">1.8</td>
136
			<td class="center">A</td>
137
		</tr>
138
		<tr class="even_gradeA">
139
			<td>Gecko</td>
140
			<td>Camino 1.5</td>
141
			<td>OSX.3+</td>
142
			<td class="center">1.8</td>
143
			<td class="center">A</td>
144
		</tr>
145
		<tr class="odd_gradeA">
146
			<td>Gecko</td>
147
			<td>Netscape 7.2</td>
148
			<td>Win 95+ / Mac OS 8.6-9.2</td>
149
			<td class="center">1.7</td>
150
			<td class="center">A</td>
151
		</tr>
152
		<tr class="even_gradeA">
153
			<td>Gecko</td>
154
			<td>Netscape Browser 8</td>
155
			<td>Win 98SE+</td>
156
			<td class="center">1.7</td>
157
			<td class="center">A</td>
158
		</tr>
159
		<tr class="odd_gradeA">
160
			<td>Gecko</td>
161
			<td>Netscape Navigator 9</td>
162
			<td>Win 98+ / OSX.2+</td>
163
			<td class="center">1.8</td>
164
			<td class="center">A</td>
165
		</tr>
166
		<tr class="even_gradeA">
167
			<td>Gecko</td>
168
			<td>Mozilla 1.0</td>
169
			<td>Win 95+ / OSX.1+</td>
170
			<td class="center">1</td>
171
			<td class="center">A</td>
172
		</tr>
173
		<tr class="odd_gradeA">
174
			<td>Gecko</td>
175
			<td>Mozilla 1.1</td>
176
			<td>Win 95+ / OSX.1+</td>
177
			<td class="center">1.1</td>
178
			<td class="center">A</td>
179
		</tr>
180
		<tr class="even_gradeA">
181
			<td>Gecko</td>
182
			<td>Mozilla 1.2</td>
183
			<td>Win 95+ / OSX.1+</td>
184
			<td class="center">1.2</td>
185
			<td class="center">A</td>
186
		</tr>
187
		<tr class="odd_gradeA">
188
			<td>Gecko</td>
189
			<td>Mozilla 1.3</td>
190
			<td>Win 95+ / OSX.1+</td>
191
			<td class="center">1.3</td>
192
			<td class="center">A</td>
193
		</tr>
194
		<tr class="even_gradeA">
195
			<td>Gecko</td>
196
			<td>Mozilla 1.4</td>
197
			<td>Win 95+ / OSX.1+</td>
198
			<td class="center">1.4</td>
199
			<td class="center">A</td>
200
		</tr>
201
		<tr class="odd_gradeA">
202
			<td>Gecko</td>
203
			<td>Mozilla 1.5</td>
204
			<td>Win 95+ / OSX.1+</td>
205
			<td class="center">1.5</td>
206
			<td class="center">A</td>
207
		</tr>
208
		<tr class="even_gradeA">
209
			<td>Gecko</td>
210
			<td>Mozilla 1.6</td>
211
			<td>Win 95+ / OSX.1+</td>
212
			<td class="center">1.6</td>
213
			<td class="center">A</td>
214
		</tr>
215
		<tr class="odd_gradeA">
216
			<td>Gecko</td>
217
			<td>Mozilla 1.7</td>
218
			<td>Win 98+ / OSX.1+</td>
219
			<td class="center">1.7</td>
220
			<td class="center">A</td>
221
		</tr>
222
		<tr class="even_gradeA">
223
			<td>Gecko</td>
224
			<td>Mozilla 1.8</td>
225
			<td>Win 98+ / OSX.1+</td>
226
			<td class="center">1.8</td>
227
			<td class="center">A</td>
228
		</tr>
229
		<tr class="odd_gradeA">
230
			<td>Gecko</td>
231
			<td>Seamonkey 1.1</td>
232
			<td>Win 98+ / OSX.2+</td>
233
			<td class="center">1.8</td>
234
			<td class="center">A</td>
235
		</tr>
236
		<tr class="even_gradeA">
237
			<td>Gecko</td>
238
			<td>Epiphany 2.20</td>
239
			<td>Gnome</td>
240
			<td class="center">1.8</td>
241
			<td class="center">A</td>
242
		</tr>
243
		<tr class="odd_gradeA">
244
			<td>Webkit</td>
245
			<td>Safari 1.2</td>
246
			<td>OSX.3</td>
247
			<td class="center">125.5</td>
248
			<td class="center">A</td>
249
		</tr>
250
		<tr class="even_gradeA">
251
			<td>Webkit</td>
252
			<td>Safari 1.3</td>
253
			<td>OSX.3</td>
254
			<td class="center">312.8</td>
255
			<td class="center">A</td>
256
		</tr>
257
		<tr class="odd_gradeA">
258
			<td>Webkit</td>
259
			<td>Safari 2.0</td>
260
			<td>OSX.4+</td>
261
			<td class="center">419.3</td>
262
			<td class="center">A</td>
263
		</tr>
264
		<tr class="even_gradeA">
265
			<td>Webkit</td>
266
			<td>Safari 3.0</td>
267
			<td>OSX.4+</td>
268
			<td class="center">522.1</td>
269
			<td class="center">A</td>
270
		</tr>
271
		<tr class="odd_gradeA">
272
			<td>Webkit</td>
273
			<td>OmniWeb 5.5</td>
274
			<td>OSX.4+</td>
275
			<td class="center">420</td>
276
			<td class="center">A</td>
277
		</tr>
278
		<tr class="even_gradeA">
279
			<td>Webkit</td>
280
			<td>iPod Touch / iPhone</td>
281
			<td>iPod</td>
282
			<td class="center">420.1</td>
283
			<td class="center">A</td>
284
		</tr>
285
		<tr class="odd_gradeA">
286
			<td>Webkit</td>
287
			<td>S60</td>
288
			<td>S60</td>
289
			<td class="center">413</td>
290
			<td class="center">A</td>
291
		</tr>
292
		<tr class="even_gradeA">
293
			<td>Presto</td>
294
			<td>Opera 7.0</td>
295
			<td>Win 95+ / OSX.1+</td>
296
			<td class="center">-</td>
297
			<td class="center">A</td>
298
		</tr>
299
		<tr class="odd_gradeA">
300
			<td>Presto</td>
301
			<td>Opera 7.5</td>
302
			<td>Win 95+ / OSX.2+</td>
303
			<td class="center">-</td>
304
			<td class="center">A</td>
305
		</tr>
306
		<tr class="even_gradeA">
307
			<td>Presto</td>
308
			<td>Opera 8.0</td>
309
			<td>Win 95+ / OSX.2+</td>
310
			<td class="center">-</td>
311
			<td class="center">A</td>
312
		</tr>
313
		<tr class="odd_gradeA">
314
			<td>Presto</td>
315
			<td>Opera 8.5</td>
316
			<td>Win 95+ / OSX.2+</td>
317
			<td class="center">-</td>
318
			<td class="center">A</td>
319
		</tr>
320
		<tr class="even_gradeA">
321
			<td>Presto</td>
322
			<td>Opera 9.0</td>
323
			<td>Win 95+ / OSX.3+</td>
324
			<td class="center">-</td>
325
			<td class="center">A</td>
326
		</tr>
327
		<tr class="odd_gradeA">
328
			<td>Presto</td>
329
			<td>Opera 9.2</td>
330
			<td>Win 88+ / OSX.3+</td>
331
			<td class="center">-</td>
332
			<td class="center">A</td>
333
		</tr>
334
		<tr class="even_gradeA">
335
			<td>Presto</td>
336
			<td>Opera 9.5</td>
337
			<td>Win 88+ / OSX.3+</td>
338
			<td class="center">-</td>
339
			<td class="center">A</td>
340
		</tr>
341
		<tr class="odd_gradeA">
342
			<td>Presto</td>
343
			<td>Opera for Wii</td>
344
			<td>Wii</td>
345
			<td class="center">-</td>
346
			<td class="center">A</td>
347
		</tr>
348
		<tr class="even_gradeA">
349
			<td>Presto</td>
350
			<td>Nokia N800</td>
351
			<td>N800</td>
352
			<td class="center">-</td>
353
			<td class="center">A</td>
354
		</tr>
355
		<tr class="odd_gradeA">
356
			<td>Presto</td>
357
			<td>Nintendo DS browser</td>
358
			<td>Nintendo DS</td>
359
			<td class="center">8.5</td>
360
			<td class="center">C/A<sup>1</sup></td>
361
		</tr>
362
		<tr class="even_gradeC">
363
			<td>KHTML</td>
364
			<td>Konqureror 3.1</td>
365
			<td>KDE 3.1</td>
366
			<td class="center">3.1</td>
367
			<td class="center">C</td>
368
		</tr>
369
		<tr class="odd_gradeA">
370
			<td>KHTML</td>
371
			<td>Konqureror 3.3</td>
372
			<td>KDE 3.3</td>
373
			<td class="center">3.3</td>
374
			<td class="center">A</td>
375
		</tr>
376
		<tr class="even_gradeA">
377
			<td>KHTML</td>
378
			<td>Konqureror 3.5</td>
379
			<td>KDE 3.5</td>
380
			<td class="center">3.5</td>
381
			<td class="center">A</td>
382
		</tr>
383
		<tr class="odd_gradeX">
384
			<td>Tasman</td>
385
			<td>Internet Explorer 4.5</td>
386
			<td>Mac OS 8-9</td>
387
			<td class="center">-</td>
388
			<td class="center">X</td>
389
		</tr>
390
		<tr class="even_gradeC">
391
			<td>Tasman</td>
392
			<td>Internet Explorer 5.1</td>
393
			<td>Mac OS 7.6-9</td>
394
			<td class="center">1</td>
395
			<td class="center">C</td>
396
		</tr>
397
		<tr class="odd_gradeC">
398
			<td>Tasman</td>
399
			<td>Internet Explorer 5.2</td>
400
			<td>Mac OS 8-X</td>
401
			<td class="center">1</td>
402
			<td class="center">C</td>
403
		</tr>
404
		<tr class="even_gradeA">
405
			<td>Misc</td>
406
			<td>NetFront 3.1</td>
407
			<td>Embedded devices</td>
408
			<td class="center">-</td>
409
			<td class="center">C</td>
410
		</tr>
411
		<tr class="odd_gradeA">
412
			<td>Misc</td>
413
			<td>NetFront 3.4</td>
414
			<td>Embedded devices</td>
415
			<td class="center">-</td>
416
			<td class="center">A</td>
417
		</tr>
418
		<tr class="even_gradeX">
419
			<td>Misc</td>
420
			<td>Dillo 0.8</td>
421
			<td>Embedded devices</td>
422
			<td class="center">-</td>
423
			<td class="center">X</td>
424
		</tr>
425
		<tr class="odd_gradeX">
426
			<td>Misc</td>
427
			<td>Links</td>
428
			<td>Text only</td>
429
			<td class="center">-</td>
430
			<td class="center">X</td>
431
		</tr>
432
		<tr class="even_gradeX">
433
			<td>Misc</td>
434
			<td>Lynx</td>
435
			<td>Text only</td>
436
			<td class="center">-</td>
437
			<td class="center">X</td>
438
		</tr>
439
		<tr class="odd_gradeC">
440
			<td>Misc</td>
441
			<td>IE Mobile</td>
442
			<td>Windows Mobile 6</td>
443
			<td class="center">-</td>
444
			<td class="center">C</td>
445
		</tr>
446
		<tr class="even_gradeC">
447
			<td>Misc</td>
448
			<td>PSP browser</td>
449
			<td>PSP</td>
450
			<td class="center">-</td>
451
			<td class="center">C</td>
452
		</tr>
453
		<tr class="odd_gradeU">
454
			<td>Other browsers</td>
455
			<td>All others</td>
456
			<td>-</td>
457
			<td class="center">-</td>
458
			<td class="center">U</td>
459
		</tr>
460
	</tbody>
461
</table>
462
			</div>
463
			<div class="spacer"></div>
464
			
465
			
466
			<h1>Initialisation code</h1>
467
			<pre>$(document).ready( function () {
468
	$('#example').dataTable( {
469
		"sDom": 'T&lt;"clear"&gt;lfrtip',
470
		"oTableTools": {
471
			"sRowSelect": "multi",
472
			"aButtons": [ "select_all", "select_none" ]
473
		}
474
	} );
475
} );</pre>
476
477
478
			<h1>Other examples</h1>
479
			<ul>
480
				<li><a href="index.html">Basic initialisation</a></li>
481
				<li><a href="swf_path.html">Setting the SWF path</a></li>
482
				<li><a href="alter_buttons.html">Custom button arrangement</a></li>
483
				<li><a href="button_text.html">Button text alteration</a></li>
484
				<li><a href="collection.html">Using button collections</a></li>
485
				<li><a href="theme.html">Using jQuery UI themes</a></li>
486
				<li><a href="bootstrap.html">Styling with Twitter Bootstrap</a></li>
487
				<li><a href="multi_instance.html">Multiple TableTools toolbars for a single table</a></li>
488
				<li><a href="multiple_tables.html">Multiple DataTables with a single initialisation</a></li>
489
				<li><a href="select_multi.html">User selectable rows (multiple rows)</a></li>
490
				<li><a href="select_single.html">User selectable rows (single row)</a></li>
491
				<li><a href="alt_init.html">Alternative initialisation using 'new TableTools()'</a></li>
492
				<li><a href="defaults.html">Altering the TableTools defaults</a></li>
493
				<li><a href="plug-in.html">TableTools plug-in buttons</a></li>
494
				<li><a href="pdf_message.html">Customising the PDF output (adding text and orientation)</a></li>
495
			</ul>
496
			
497
			
498
			<div id="footer" style="text-align:center;">
499
				<span style="font-size:10px;">
500
					TableTools and DataTables &copy; Allan Jardine 2009-2011.<br>
501
					Flash 10 save / copy operations are performed by a modified version of <a href="http://code.google.com/p/zeroclipboard/">Zero Clipboard</a>.<br>
502
					The icons used in the toolbar are modified from <a href="http://www.addictedtocoffee.de/">Oliver Twardowski's</a> <a href="http://www.smashingmagazine.com/2009/05/20/flavour-extended-the-ultimate-icon-set-for-web-designers/">Flavours Icon set</a>.
503
				</span>
504
			</div>
505
		</div>
506
	</body>
507
</html>
(-)a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/TableTools/select_single.html (+505 lines)
Line 0 Link Here
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2
<html>
3
	<head>
4
		<meta http-equiv="content-type" content="text/html; charset=utf-8">
5
		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
6
		
7
		<title>TableTools example</title>
8
		<style type="text/css" title="currentStyle">
9
			@import "../../media/css/demo_page.css";
10
			@import "../../media/css/demo_table.css";
11
			@import "media/css/TableTools.css";
12
		</style>
13
		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
14
		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
15
		<script type="text/javascript" charset="utf-8" src="media/js/ZeroClipboard.js"></script>
16
		<script type="text/javascript" charset="utf-8" src="media/js/TableTools.js"></script>
17
		<script type="text/javascript" charset="utf-8">
18
			$(document).ready( function () {
19
				$('#example').dataTable( {
20
					"sDom": 'T<"clear">lfrtip',
21
					"oTableTools": {
22
						"sRowSelect": "single"
23
					}
24
				} );
25
			} );
26
		</script>
27
	</head>
28
	<body id="dt_example">
29
		<div id="container">
30
			<div class="full_width big">
31
				TableTools example - single row selection
32
			</div>
33
			
34
			<h1>Preamble</h1>
35
			<p>As well as providing a button toolbar, TableTools provides everything needed to have selectable rows in the table. Row selection is turned off by default in TableTools, but can be enabled using the <i>sRowSelect</i> parameter, set to either 'multi' or 'single'. When set the end user can select rows by simply clicking on them. TableTools provides <a href="http://datatables.net/extras/tabletools/api">a set of API methods</a> and <a href="http://datatables.net/extras/tabletools/initialisation">callbacks</a> for controlling and monitoring the row selection in TableTools. This example shows single row selection enabled.</p>
36
			
37
			
38
			<h1>Live example</h1>
39
			<div id="demo">
40
<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
41
	<thead>
42
		<tr>
43
			<th>Rendering engine</th>
44
			<th>Browser</th>
45
			<th>Platform(s)</th>
46
			<th>Engine version</th>
47
			<th>CSS grade</th>
48
		</tr>
49
	</thead>
50
	<tfoot>
51
		<tr>
52
			<th>Rendering engine</th>
53
			<th>Browser</th>
54
			<th>Platform(s)</th>
55
			<th>Engine version</th>
56
			<th>CSS grade</th>
57
		</tr>
58
	</tfoot>
59
	<tbody>
60
		<tr class="odd_gradeX">
61
			<td>Trident</td>
62
			<td>Internet Explorer 4.0</td>
63
			<td>Win 95+ (Entity: &amp;)</td>
64
			<td class="center">4</td>
65
			<td class="center">X</td>
66
		</tr>
67
		<tr class="even_gradeC">
68
			<td>Trident</td>
69
			<td>Internet Explorer 5.0</td>
70
			<td>Win 95+</td>
71
			<td class="center">5</td>
72
			<td class="center">C</td>
73
		</tr>
74
		<tr class="odd_gradeA">
75
			<td>Trident</td>
76
			<td>Internet Explorer 5.5</td>
77
			<td>Win 95+</td>
78
			<td class="center">5.5</td>
79
			<td class="center">A</td>
80
		</tr>
81
		<tr class="even_gradeA">
82
			<td>Trident</td>
83
			<td>Internet Explorer 6</td>
84
			<td>Win 98+</td>
85
			<td class="center">6</td>
86
			<td class="center">A</td>
87
		</tr>
88
		<tr class="odd_gradeA">
89
			<td>Trident</td>
90
			<td>Internet Explorer 7</td>
91
			<td>Win XP SP2+</td>
92
			<td class="center">7</td>
93
			<td class="center">A</td>
94
		</tr>
95
		<tr class="even_gradeA">
96
			<td>Trident</td>
97
			<td>AOL browser (AOL desktop)</td>
98
			<td>Win XP</td>
99
			<td class="center">6</td>
100
			<td class="center">A</td>
101
		</tr>
102
		<tr class="odd_gradeA">
103
			<td>Gecko (UTF-8: $¢€)</td>
104
			<td>Firefox 1.0</td>
105
			<td>Win 98+ / OSX.2+</td>
106
			<td class="center">1.7</td>
107
			<td class="center">A</td>
108
		</tr>
109
		<tr class="even_gradeA">
110
			<td>Gecko</td>
111
			<td>Firefox 1.5</td>
112
			<td>Win 98+ / OSX.2+</td>
113
			<td class="center">1.8</td>
114
			<td class="center">A</td>
115
		</tr>
116
		<tr class="odd_gradeA">
117
			<td>Gecko</td>
118
			<td>Firefox 2.0</td>
119
			<td>Win 98+ / OSX.2+</td>
120
			<td class="center">1.8</td>
121
			<td class="center">A</td>
122
		</tr>
123
		<tr class="even_gradeA">
124
			<td>Gecko</td>
125
			<td>Firefox 3.0</td>
126
			<td>Win 2k+ / OSX.3+</td>
127
			<td class="center">1.9</td>
128
			<td class="center">A</td>
129
		</tr>
130
		<tr class="odd_gradeA">
131
			<td>Gecko</td>
132
			<td>Camino 1.0</td>
133
			<td>OSX.2+</td>
134
			<td class="center">1.8</td>
135
			<td class="center">A</td>
136
		</tr>
137
		<tr class="even_gradeA">
138
			<td>Gecko</td>
139
			<td>Camino 1.5</td>
140
			<td>OSX.3+</td>
141
			<td class="center">1.8</td>
142
			<td class="center">A</td>
143
		</tr>
144
		<tr class="odd_gradeA">
145
			<td>Gecko</td>
146
			<td>Netscape 7.2</td>
147
			<td>Win 95+ / Mac OS 8.6-9.2</td>
148
			<td class="center">1.7</td>
149
			<td class="center">A</td>
150
		</tr>
151
		<tr class="even_gradeA">
152
			<td>Gecko</td>
153
			<td>Netscape Browser 8</td>
154
			<td>Win 98SE+</td>
155
			<td class="center">1.7</td>
156
			<td class="center">A</td>
157
		</tr>
158
		<tr class="odd_gradeA">
159
			<td>Gecko</td>
160
			<td>Netscape Navigator 9</td>
161
			<td>Win 98+ / OSX.2+</td>
162
			<td class="center">1.8</td>
163
			<td class="center">A</td>
164
		</tr>
165
		<tr class="even_gradeA">
166
			<td>Gecko</td>
167
			<td>Mozilla 1.0</td>
168
			<td>Win 95+ / OSX.1+</td>
169
			<td class="center">1</td>
170
			<td class="center">A</td>
171
		</tr>
172
		<tr class="odd_gradeA">
173
			<td>Gecko</td>
174
			<td>Mozilla 1.1</td>
175
			<td>Win 95+ / OSX.1+</td>
176
			<td class="center">1.1</td>
177
			<td class="center">A</td>
178
		</tr>
179
		<tr class="even_gradeA">
180
			<td>Gecko</td>
181
			<td>Mozilla 1.2</td>
182
			<td>Win 95+ / OSX.1+</td>
183
			<td class="center">1.2</td>
184
			<td class="center">A</td>
185
		</tr>
186
		<tr class="odd_gradeA">
187
			<td>Gecko</td>
188
			<td>Mozilla 1.3</td>
189
			<td>Win 95+ / OSX.1+</td>
190
			<td class="center">1.3</td>
191
			<td class="center">A</td>
192
		</tr>
193
		<tr class="even_gradeA">
194
			<td>Gecko</td>
195
			<td>Mozilla 1.4</td>
196
			<td>Win 95+ / OSX.1+</td>
197
			<td class="center">1.4</td>
198
			<td class="center">A</td>
199
		</tr>
200
		<tr class="odd_gradeA">
201
			<td>Gecko</td>
202
			<td>Mozilla 1.5</td>
203
			<td>Win 95+ / OSX.1+</td>
204
			<td class="center">1.5</td>
205
			<td class="center">A</td>
206
		</tr>
207
		<tr class="even_gradeA">
208
			<td>Gecko</td>
209
			<td>Mozilla 1.6</td>
210
			<td>Win 95+ / OSX.1+</td>
211
			<td class="center">1.6</td>
212
			<td class="center">A</td>
213
		</tr>
214
		<tr class="odd_gradeA">
215
			<td>Gecko</td>
216
			<td>Mozilla 1.7</td>
217
			<td>Win 98+ / OSX.1+</td>
218
			<td class="center">1.7</td>
219
			<td class="center">A</td>
220
		</tr>
221
		<tr class="even_gradeA">
222
			<td>Gecko</td>
223
			<td>Mozilla 1.8</td>
224
			<td>Win 98+ / OSX.1+</td>
225
			<td class="center">1.8</td>
226
			<td class="center">A</td>
227
		</tr>
228
		<tr class="odd_gradeA">
229
			<td>Gecko</td>
230
			<td>Seamonkey 1.1</td>
231
			<td>Win 98+ / OSX.2+</td>
232
			<td class="center">1.8</td>
233
			<td class="center">A</td>
234
		</tr>
235
		<tr class="even_gradeA">
236
			<td>Gecko</td>
237
			<td>Epiphany 2.20</td>
238
			<td>Gnome</td>
239
			<td class="center">1.8</td>
240
			<td class="center">A</td>
241
		</tr>
242
		<tr class="odd_gradeA">
243
			<td>Webkit</td>
244
			<td>Safari 1.2</td>
245
			<td>OSX.3</td>
246
			<td class="center">125.5</td>
247
			<td class="center">A</td>
248
		</tr>
249
		<tr class="even_gradeA">
250
			<td>Webkit</td>
251
			<td>Safari 1.3</td>
252
			<td>OSX.3</td>
253
			<td class="center">312.8</td>
254
			<td class="center">A</td>
255
		</tr>
256
		<tr class="odd_gradeA">
257
			<td>Webkit</td>
258
			<td>Safari 2.0</td>
259
			<td>OSX.4+</td>
260
			<td class="center">419.3</td>
261
			<td class="center">A</td>
262
		</tr>
263
		<tr class="even_gradeA">
264
			<td>Webkit</td>
265
			<td>Safari 3.0</td>
266
			<td>OSX.4+</td>
267
			<td class="center">522.1</td>
268
			<td class="center">A</td>
269
		</tr>
270
		<tr class="odd_gradeA">
271
			<td>Webkit</td>
272
			<td>OmniWeb 5.5</td>
273
			<td>OSX.4+</td>
274
			<td class="center">420</td>
275
			<td class="center">A</td>
276
		</tr>
277
		<tr class="even_gradeA">
278
			<td>Webkit</td>
279
			<td>iPod Touch / iPhone</td>
280
			<td>iPod</td>
281
			<td class="center">420.1</td>
282
			<td class="center">A</td>
283
		</tr>
284
		<tr class="odd_gradeA">
285
			<td>Webkit</td>
286
			<td>S60</td>
287
			<td>S60</td>
288
			<td class="center">413</td>
289
			<td class="center">A</td>
290
		</tr>
291
		<tr class="even_gradeA">
292
			<td>Presto</td>
293
			<td>Opera 7.0</td>
294
			<td>Win 95+ / OSX.1+</td>
295
			<td class="center">-</td>
296
			<td class="center">A</td>
297
		</tr>
298
		<tr class="odd_gradeA">
299
			<td>Presto</td>
300
			<td>Opera 7.5</td>
301
			<td>Win 95+ / OSX.2+</td>
302
			<td class="center">-</td>
303
			<td class="center">A</td>
304
		</tr>
305
		<tr class="even_gradeA">
306
			<td>Presto</td>
307
			<td>Opera 8.0</td>
308
			<td>Win 95+ / OSX.2+</td>
309
			<td class="center">-</td>
310
			<td class="center">A</td>
311
		</tr>
312
		<tr class="odd_gradeA">
313
			<td>Presto</td>
314
			<td>Opera 8.5</td>
315
			<td>Win 95+ / OSX.2+</td>
316
			<td class="center">-</td>
317
			<td class="center">A</td>
318
		</tr>
319
		<tr class="even_gradeA">
320
			<td>Presto</td>
321
			<td>Opera 9.0</td>
322
			<td>Win 95+ / OSX.3+</td>
323
			<td class="center">-</td>
324
			<td class="center">A</td>
325
		</tr>
326
		<tr class="odd_gradeA">
327
			<td>Presto</td>
328
			<td>Opera 9.2</td>
329
			<td>Win 88+ / OSX.3+</td>
330
			<td class="center">-</td>
331
			<td class="center">A</td>
332
		</tr>
333
		<tr class="even_gradeA">
334
			<td>Presto</td>
335
			<td>Opera 9.5</td>
336
			<td>Win 88+ / OSX.3+</td>
337
			<td class="center">-</td>
338
			<td class="center">A</td>
339
		</tr>
340
		<tr class="odd_gradeA">
341
			<td>Presto</td>
342
			<td>Opera for Wii</td>
343
			<td>Wii</td>
344
			<td class="center">-</td>
345
			<td class="center">A</td>
346
		</tr>
347
		<tr class="even_gradeA">
348
			<td>Presto</td>
349
			<td>Nokia N800</td>
350
			<td>N800</td>
351
			<td class="center">-</td>
352
			<td class="center">A</td>
353
		</tr>
354
		<tr class="odd_gradeA">
355
			<td>Presto</td>
356
			<td>Nintendo DS browser</td>
357
			<td>Nintendo DS</td>
358
			<td class="center">8.5</td>
359
			<td class="center">C/A<sup>1</sup></td>
360
		</tr>
361
		<tr class="even_gradeC">
362
			<td>KHTML</td>
363
			<td>Konqureror 3.1</td>
364
			<td>KDE 3.1</td>
365
			<td class="center">3.1</td>
366
			<td class="center">C</td>
367
		</tr>
368
		<tr class="odd_gradeA">
369
			<td>KHTML</td>
370
			<td>Konqureror 3.3</td>
371
			<td>KDE 3.3</td>
372
			<td class="center">3.3</td>
373
			<td class="center">A</td>
374
		</tr>
375
		<tr class="even_gradeA">
376
			<td>KHTML</td>
377
			<td>Konqureror 3.5</td>
378
			<td>KDE 3.5</td>
379
			<td class="center">3.5</td>
380
			<td class="center">A</td>
381
		</tr>
382
		<tr class="odd_gradeX">
383
			<td>Tasman</td>
384
			<td>Internet Explorer 4.5</td>
385
			<td>Mac OS 8-9</td>
386
			<td class="center">-</td>
387
			<td class="center">X</td>
388
		</tr>
389
		<tr class="even_gradeC">
390
			<td>Tasman</td>
391
			<td>Internet Explorer 5.1</td>
392
			<td>Mac OS 7.6-9</td>
393
			<td class="center">1</td>
394
			<td class="center">C</td>
395
		</tr>
396
		<tr class="odd_gradeC">
397
			<td>Tasman</td>
398
			<td>Internet Explorer 5.2</td>
399
			<td>Mac OS 8-X</td>
400
			<td class="center">1</td>
401
			<td class="center">C</td>
402
		</tr>
403
		<tr class="even_gradeA">
404
			<td>Misc</td>
405
			<td>NetFront 3.1</td>
406
			<td>Embedded devices</td>
407
			<td class="center">-</td>
408
			<td class="center">C</td>
409
		</tr>
410
		<tr class="odd_gradeA">
411
			<td>Misc</td>
412
			<td>NetFront 3.4</td>
413
			<td>Embedded devices</td>
414
			<td class="center">-</td>
415
			<td class="center">A</td>
416
		</tr>
417
		<tr class="even_gradeX">
418
			<td>Misc</td>
419
			<td>Dillo 0.8</td>
420
			<td>Embedded devices</td>
421
			<td class="center">-</td>
422
			<td class="center">X</td>
423
		</tr>
424
		<tr class="odd_gradeX">
425
			<td>Misc</td>
426
			<td>Links</td>
427
			<td>Text only</td>
428
			<td class="center">-</td>
429
			<td class="center">X</td>
430
		</tr>
431
		<tr class="even_gradeX">
432
			<td>Misc</td>
433
			<td>Lynx</td>
434
			<td>Text only</td>
435
			<td class="center">-</td>
436
			<td class="center">X</td>
437
		</tr>
438
		<tr class="odd_gradeC">
439
			<td>Misc</td>
440
			<td>IE Mobile</td>
441
			<td>Windows Mobile 6</td>
442
			<td class="center">-</td>
443
			<td class="center">C</td>
444
		</tr>
445
		<tr class="even_gradeC">
446
			<td>Misc</td>
447
			<td>PSP browser</td>
448
			<td>PSP</td>
449
			<td class="center">-</td>
450
			<td class="center">C</td>
451
		</tr>
452
		<tr class="odd_gradeU">
453
			<td>Other browsers</td>
454
			<td>All others</td>
455
			<td>-</td>
456
			<td class="center">-</td>
457
			<td class="center">U</td>
458
		</tr>
459
	</tbody>
460
</table>
461
			</div>
462
			<div class="spacer"></div>
463
			
464
			
465
			<h1>Initialisation code</h1>
466
			<pre>$(document).ready( function () {
467
	$('#example').dataTable( {
468
		"sDom": 'T&lt;"clear"&gt;lfrtip',
469
		"oTableTools": {
470
			"sRowSelect": "single"
471
		}
472
	} );
473
} );</pre>
474
475
476
			<h1>Other examples</h1>
477
			<ul>
478
				<li><a href="index.html">Basic initialisation</a></li>
479
				<li><a href="swf_path.html">Setting the SWF path</a></li>
480
				<li><a href="alter_buttons.html">Custom button arrangement</a></li>
481
				<li><a href="button_text.html">Button text alteration</a></li>
482
				<li><a href="collection.html">Using button collections</a></li>
483
				<li><a href="theme.html">Using jQuery UI themes</a></li>
484
				<li><a href="bootstrap.html">Styling with Twitter Bootstrap</a></li>
485
				<li><a href="multi_instance.html">Multiple TableTools toolbars for a single table</a></li>
486
				<li><a href="multiple_tables.html">Multiple DataTables with a single initialisation</a></li>
487
				<li><a href="select_multi.html">User selectable rows (multiple rows)</a></li>
488
				<li><a href="select_single.html">User selectable rows (single row)</a></li>
489
				<li><a href="alt_init.html">Alternative initialisation using 'new TableTools()'</a></li>
490
				<li><a href="defaults.html">Altering the TableTools defaults</a></li>
491
				<li><a href="plug-in.html">TableTools plug-in buttons</a></li>
492
				<li><a href="pdf_message.html">Customising the PDF output (adding text and orientation)</a></li>
493
			</ul>
494
			
495
			
496
			<div id="footer" style="text-align:center;">
497
				<span style="font-size:10px;">
498
					TableTools and DataTables &copy; Allan Jardine 2009-2011.<br>
499
					Flash 10 save / copy operations are performed by a modified version of <a href="http://code.google.com/p/zeroclipboard/">Zero Clipboard</a>.<br>
500
					The icons used in the toolbar are modified from <a href="http://www.addictedtocoffee.de/">Oliver Twardowski's</a> <a href="http://www.smashingmagazine.com/2009/05/20/flavour-extended-the-ultimate-icon-set-for-web-designers/">Flavours Icon set</a>.
501
				</span>
502
			</div>
503
		</div>
504
	</body>
505
</html>
(-)a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/TableTools/swf_path.html (+505 lines)
Line 0 Link Here
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2
<html>
3
	<head>
4
		<meta http-equiv="content-type" content="text/html; charset=utf-8">
5
		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
6
		
7
		<title>TableTools example</title>
8
		<style type="text/css" title="currentStyle">
9
			@import "../../media/css/demo_page.css";
10
			@import "../../media/css/demo_table.css";
11
			@import "media/css/TableTools.css";
12
		</style>
13
		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
14
		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
15
		<script type="text/javascript" charset="utf-8" src="media/js/ZeroClipboard.js"></script>
16
		<script type="text/javascript" charset="utf-8" src="media/js/TableTools.js"></script>
17
		<script type="text/javascript" charset="utf-8">
18
			$(document).ready( function () {
19
				$('#example').dataTable( {
20
					"sDom": 'T<"clear">lfrtip',
21
					"oTableTools": {
22
						"sSwfPath": "media/swf/copy_csv_xls_pdf.swf"
23
					}
24
				} );
25
			} );
26
		</script>
27
	</head>
28
	<body id="dt_example">
29
		<div id="container">
30
			<div class="full_width big">
31
				TableTools example - setting SWF path
32
			</div>
33
			
34
			<h1>Preamble</h1>
35
			<p>TableTools uses a Flash SWF file to provide the ability to copy text to the system clipboard and save files locally. TableTools must be able to load the SWF file in order to provide these facilities. If you aren't using the same directory structure as the TableTools package, you will need to set this parameter.</p>
36
			<p>Note that TableTools ships with two different SWF files - the only difference between them is that one of them provides the ability to save PDF files while the other doesn't. The trade off is that the PDF capable file is significantly larger in size (56K v 2K).</p>
37
			
38
			<h1>Live example</h1>
39
			<div id="demo">
40
<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
41
	<thead>
42
		<tr>
43
			<th>Rendering engine</th>
44
			<th>Browser</th>
45
			<th>Platform(s)</th>
46
			<th>Engine version</th>
47
			<th>CSS grade</th>
48
		</tr>
49
	</thead>
50
	<tfoot>
51
		<tr>
52
			<th>Rendering engine</th>
53
			<th>Browser</th>
54
			<th>Platform(s)</th>
55
			<th>Engine version</th>
56
			<th>CSS grade</th>
57
		</tr>
58
	</tfoot>
59
	<tbody>
60
		<tr class="odd_gradeX">
61
			<td>Trident</td>
62
			<td>Internet Explorer 4.0</td>
63
			<td>Win 95+ (Entity: &amp;)</td>
64
			<td class="center">4</td>
65
			<td class="center">X</td>
66
		</tr>
67
		<tr class="even_gradeC">
68
			<td>Trident</td>
69
			<td>Internet Explorer 5.0</td>
70
			<td>Win 95+</td>
71
			<td class="center">5</td>
72
			<td class="center">C</td>
73
		</tr>
74
		<tr class="odd_gradeA">
75
			<td>Trident</td>
76
			<td>Internet Explorer 5.5</td>
77
			<td>Win 95+</td>
78
			<td class="center">5.5</td>
79
			<td class="center">A</td>
80
		</tr>
81
		<tr class="even_gradeA">
82
			<td>Trident</td>
83
			<td>Internet Explorer 6</td>
84
			<td>Win 98+</td>
85
			<td class="center">6</td>
86
			<td class="center">A</td>
87
		</tr>
88
		<tr class="odd_gradeA">
89
			<td>Trident</td>
90
			<td>Internet Explorer 7</td>
91
			<td>Win XP SP2+</td>
92
			<td class="center">7</td>
93
			<td class="center">A</td>
94
		</tr>
95
		<tr class="even_gradeA">
96
			<td>Trident</td>
97
			<td>AOL browser (AOL desktop)</td>
98
			<td>Win XP</td>
99
			<td class="center">6</td>
100
			<td class="center">A</td>
101
		</tr>
102
		<tr class="odd_gradeA">
103
			<td>Gecko (UTF-8: $¢€)</td>
104
			<td>Firefox 1.0</td>
105
			<td>Win 98+ / OSX.2+</td>
106
			<td class="center">1.7</td>
107
			<td class="center">A</td>
108
		</tr>
109
		<tr class="even_gradeA">
110
			<td>Gecko</td>
111
			<td>Firefox 1.5</td>
112
			<td>Win 98+ / OSX.2+</td>
113
			<td class="center">1.8</td>
114
			<td class="center">A</td>
115
		</tr>
116
		<tr class="odd_gradeA">
117
			<td>Gecko</td>
118
			<td>Firefox 2.0</td>
119
			<td>Win 98+ / OSX.2+</td>
120
			<td class="center">1.8</td>
121
			<td class="center">A</td>
122
		</tr>
123
		<tr class="even_gradeA">
124
			<td>Gecko</td>
125
			<td>Firefox 3.0</td>
126
			<td>Win 2k+ / OSX.3+</td>
127
			<td class="center">1.9</td>
128
			<td class="center">A</td>
129
		</tr>
130
		<tr class="odd_gradeA">
131
			<td>Gecko</td>
132
			<td>Camino 1.0</td>
133
			<td>OSX.2+</td>
134
			<td class="center">1.8</td>
135
			<td class="center">A</td>
136
		</tr>
137
		<tr class="even_gradeA">
138
			<td>Gecko</td>
139
			<td>Camino 1.5</td>
140
			<td>OSX.3+</td>
141
			<td class="center">1.8</td>
142
			<td class="center">A</td>
143
		</tr>
144
		<tr class="odd_gradeA">
145
			<td>Gecko</td>
146
			<td>Netscape 7.2</td>
147
			<td>Win 95+ / Mac OS 8.6-9.2</td>
148
			<td class="center">1.7</td>
149
			<td class="center">A</td>
150
		</tr>
151
		<tr class="even_gradeA">
152
			<td>Gecko</td>
153
			<td>Netscape Browser 8</td>
154
			<td>Win 98SE+</td>
155
			<td class="center">1.7</td>
156
			<td class="center">A</td>
157
		</tr>
158
		<tr class="odd_gradeA">
159
			<td>Gecko</td>
160
			<td>Netscape Navigator 9</td>
161
			<td>Win 98+ / OSX.2+</td>
162
			<td class="center">1.8</td>
163
			<td class="center">A</td>
164
		</tr>
165
		<tr class="even_gradeA">
166
			<td>Gecko</td>
167
			<td>Mozilla 1.0</td>
168
			<td>Win 95+ / OSX.1+</td>
169
			<td class="center">1</td>
170
			<td class="center">A</td>
171
		</tr>
172
		<tr class="odd_gradeA">
173
			<td>Gecko</td>
174
			<td>Mozilla 1.1</td>
175
			<td>Win 95+ / OSX.1+</td>
176
			<td class="center">1.1</td>
177
			<td class="center">A</td>
178
		</tr>
179
		<tr class="even_gradeA">
180
			<td>Gecko</td>
181
			<td>Mozilla 1.2</td>
182
			<td>Win 95+ / OSX.1+</td>
183
			<td class="center">1.2</td>
184
			<td class="center">A</td>
185
		</tr>
186
		<tr class="odd_gradeA">
187
			<td>Gecko</td>
188
			<td>Mozilla 1.3</td>
189
			<td>Win 95+ / OSX.1+</td>
190
			<td class="center">1.3</td>
191
			<td class="center">A</td>
192
		</tr>
193
		<tr class="even_gradeA">
194
			<td>Gecko</td>
195
			<td>Mozilla 1.4</td>
196
			<td>Win 95+ / OSX.1+</td>
197
			<td class="center">1.4</td>
198
			<td class="center">A</td>
199
		</tr>
200
		<tr class="odd_gradeA">
201
			<td>Gecko</td>
202
			<td>Mozilla 1.5</td>
203
			<td>Win 95+ / OSX.1+</td>
204
			<td class="center">1.5</td>
205
			<td class="center">A</td>
206
		</tr>
207
		<tr class="even_gradeA">
208
			<td>Gecko</td>
209
			<td>Mozilla 1.6</td>
210
			<td>Win 95+ / OSX.1+</td>
211
			<td class="center">1.6</td>
212
			<td class="center">A</td>
213
		</tr>
214
		<tr class="odd_gradeA">
215
			<td>Gecko</td>
216
			<td>Mozilla 1.7</td>
217
			<td>Win 98+ / OSX.1+</td>
218
			<td class="center">1.7</td>
219
			<td class="center">A</td>
220
		</tr>
221
		<tr class="even_gradeA">
222
			<td>Gecko</td>
223
			<td>Mozilla 1.8</td>
224
			<td>Win 98+ / OSX.1+</td>
225
			<td class="center">1.8</td>
226
			<td class="center">A</td>
227
		</tr>
228
		<tr class="odd_gradeA">
229
			<td>Gecko</td>
230
			<td>Seamonkey 1.1</td>
231
			<td>Win 98+ / OSX.2+</td>
232
			<td class="center">1.8</td>
233
			<td class="center">A</td>
234
		</tr>
235
		<tr class="even_gradeA">
236
			<td>Gecko</td>
237
			<td>Epiphany 2.20</td>
238
			<td>Gnome</td>
239
			<td class="center">1.8</td>
240
			<td class="center">A</td>
241
		</tr>
242
		<tr class="odd_gradeA">
243
			<td>Webkit</td>
244
			<td>Safari 1.2</td>
245
			<td>OSX.3</td>
246
			<td class="center">125.5</td>
247
			<td class="center">A</td>
248
		</tr>
249
		<tr class="even_gradeA">
250
			<td>Webkit</td>
251
			<td>Safari 1.3</td>
252
			<td>OSX.3</td>
253
			<td class="center">312.8</td>
254
			<td class="center">A</td>
255
		</tr>
256
		<tr class="odd_gradeA">
257
			<td>Webkit</td>
258
			<td>Safari 2.0</td>
259
			<td>OSX.4+</td>
260
			<td class="center">419.3</td>
261
			<td class="center">A</td>
262
		</tr>
263
		<tr class="even_gradeA">
264
			<td>Webkit</td>
265
			<td>Safari 3.0</td>
266
			<td>OSX.4+</td>
267
			<td class="center">522.1</td>
268
			<td class="center">A</td>
269
		</tr>
270
		<tr class="odd_gradeA">
271
			<td>Webkit</td>
272
			<td>OmniWeb 5.5</td>
273
			<td>OSX.4+</td>
274
			<td class="center">420</td>
275
			<td class="center">A</td>
276
		</tr>
277
		<tr class="even_gradeA">
278
			<td>Webkit</td>
279
			<td>iPod Touch / iPhone</td>
280
			<td>iPod</td>
281
			<td class="center">420.1</td>
282
			<td class="center">A</td>
283
		</tr>
284
		<tr class="odd_gradeA">
285
			<td>Webkit</td>
286
			<td>S60</td>
287
			<td>S60</td>
288
			<td class="center">413</td>
289
			<td class="center">A</td>
290
		</tr>
291
		<tr class="even_gradeA">
292
			<td>Presto</td>
293
			<td>Opera 7.0</td>
294
			<td>Win 95+ / OSX.1+</td>
295
			<td class="center">-</td>
296
			<td class="center">A</td>
297
		</tr>
298
		<tr class="odd_gradeA">
299
			<td>Presto</td>
300
			<td>Opera 7.5</td>
301
			<td>Win 95+ / OSX.2+</td>
302
			<td class="center">-</td>
303
			<td class="center">A</td>
304
		</tr>
305
		<tr class="even_gradeA">
306
			<td>Presto</td>
307
			<td>Opera 8.0</td>
308
			<td>Win 95+ / OSX.2+</td>
309
			<td class="center">-</td>
310
			<td class="center">A</td>
311
		</tr>
312
		<tr class="odd_gradeA">
313
			<td>Presto</td>
314
			<td>Opera 8.5</td>
315
			<td>Win 95+ / OSX.2+</td>
316
			<td class="center">-</td>
317
			<td class="center">A</td>
318
		</tr>
319
		<tr class="even_gradeA">
320
			<td>Presto</td>
321
			<td>Opera 9.0</td>
322
			<td>Win 95+ / OSX.3+</td>
323
			<td class="center">-</td>
324
			<td class="center">A</td>
325
		</tr>
326
		<tr class="odd_gradeA">
327
			<td>Presto</td>
328
			<td>Opera 9.2</td>
329
			<td>Win 88+ / OSX.3+</td>
330
			<td class="center">-</td>
331
			<td class="center">A</td>
332
		</tr>
333
		<tr class="even_gradeA">
334
			<td>Presto</td>
335
			<td>Opera 9.5</td>
336
			<td>Win 88+ / OSX.3+</td>
337
			<td class="center">-</td>
338
			<td class="center">A</td>
339
		</tr>
340
		<tr class="odd_gradeA">
341
			<td>Presto</td>
342
			<td>Opera for Wii</td>
343
			<td>Wii</td>
344
			<td class="center">-</td>
345
			<td class="center">A</td>
346
		</tr>
347
		<tr class="even_gradeA">
348
			<td>Presto</td>
349
			<td>Nokia N800</td>
350
			<td>N800</td>
351
			<td class="center">-</td>
352
			<td class="center">A</td>
353
		</tr>
354
		<tr class="odd_gradeA">
355
			<td>Presto</td>
356
			<td>Nintendo DS browser</td>
357
			<td>Nintendo DS</td>
358
			<td class="center">8.5</td>
359
			<td class="center">C/A<sup>1</sup></td>
360
		</tr>
361
		<tr class="even_gradeC">
362
			<td>KHTML</td>
363
			<td>Konqureror 3.1</td>
364
			<td>KDE 3.1</td>
365
			<td class="center">3.1</td>
366
			<td class="center">C</td>
367
		</tr>
368
		<tr class="odd_gradeA">
369
			<td>KHTML</td>
370
			<td>Konqureror 3.3</td>
371
			<td>KDE 3.3</td>
372
			<td class="center">3.3</td>
373
			<td class="center">A</td>
374
		</tr>
375
		<tr class="even_gradeA">
376
			<td>KHTML</td>
377
			<td>Konqureror 3.5</td>
378
			<td>KDE 3.5</td>
379
			<td class="center">3.5</td>
380
			<td class="center">A</td>
381
		</tr>
382
		<tr class="odd_gradeX">
383
			<td>Tasman</td>
384
			<td>Internet Explorer 4.5</td>
385
			<td>Mac OS 8-9</td>
386
			<td class="center">-</td>
387
			<td class="center">X</td>
388
		</tr>
389
		<tr class="even_gradeC">
390
			<td>Tasman</td>
391
			<td>Internet Explorer 5.1</td>
392
			<td>Mac OS 7.6-9</td>
393
			<td class="center">1</td>
394
			<td class="center">C</td>
395
		</tr>
396
		<tr class="odd_gradeC">
397
			<td>Tasman</td>
398
			<td>Internet Explorer 5.2</td>
399
			<td>Mac OS 8-X</td>
400
			<td class="center">1</td>
401
			<td class="center">C</td>
402
		</tr>
403
		<tr class="even_gradeA">
404
			<td>Misc</td>
405
			<td>NetFront 3.1</td>
406
			<td>Embedded devices</td>
407
			<td class="center">-</td>
408
			<td class="center">C</td>
409
		</tr>
410
		<tr class="odd_gradeA">
411
			<td>Misc</td>
412
			<td>NetFront 3.4</td>
413
			<td>Embedded devices</td>
414
			<td class="center">-</td>
415
			<td class="center">A</td>
416
		</tr>
417
		<tr class="even_gradeX">
418
			<td>Misc</td>
419
			<td>Dillo 0.8</td>
420
			<td>Embedded devices</td>
421
			<td class="center">-</td>
422
			<td class="center">X</td>
423
		</tr>
424
		<tr class="odd_gradeX">
425
			<td>Misc</td>
426
			<td>Links</td>
427
			<td>Text only</td>
428
			<td class="center">-</td>
429
			<td class="center">X</td>
430
		</tr>
431
		<tr class="even_gradeX">
432
			<td>Misc</td>
433
			<td>Lynx</td>
434
			<td>Text only</td>
435
			<td class="center">-</td>
436
			<td class="center">X</td>
437
		</tr>
438
		<tr class="odd_gradeC">
439
			<td>Misc</td>
440
			<td>IE Mobile</td>
441
			<td>Windows Mobile 6</td>
442
			<td class="center">-</td>
443
			<td class="center">C</td>
444
		</tr>
445
		<tr class="even_gradeC">
446
			<td>Misc</td>
447
			<td>PSP browser</td>
448
			<td>PSP</td>
449
			<td class="center">-</td>
450
			<td class="center">C</td>
451
		</tr>
452
		<tr class="odd_gradeU">
453
			<td>Other browsers</td>
454
			<td>All others</td>
455
			<td>-</td>
456
			<td class="center">-</td>
457
			<td class="center">U</td>
458
		</tr>
459
	</tbody>
460
</table>
461
			</div>
462
			<div class="spacer"></div>
463
			
464
			
465
			<h1>Initialisation code</h1>
466
			<pre>$(document).ready( function () {
467
	$('#example').dataTable( {
468
		"sDom": 'T&lt;"clear"&gt;lfrtip',
469
		"oTableTools": {
470
			"sSwfPath": "media/swf/copy_csv_xls_pdf.swf"
471
		}
472
	} );
473
} );</pre>
474
475
476
			<h1>Other examples</h1>
477
			<ul>
478
				<li><a href="index.html">Basic initialisation</a></li>
479
				<li><a href="swf_path.html">Setting the SWF path</a></li>
480
				<li><a href="alter_buttons.html">Custom button arrangement</a></li>
481
				<li><a href="button_text.html">Button text alteration</a></li>
482
				<li><a href="collection.html">Using button collections</a></li>
483
				<li><a href="theme.html">Using jQuery UI themes</a></li>
484
				<li><a href="bootstrap.html">Styling with Twitter Bootstrap</a></li>
485
				<li><a href="multi_instance.html">Multiple TableTools toolbars for a single table</a></li>
486
				<li><a href="multiple_tables.html">Multiple DataTables with a single initialisation</a></li>
487
				<li><a href="select_multi.html">User selectable rows (multiple rows)</a></li>
488
				<li><a href="select_single.html">User selectable rows (single row)</a></li>
489
				<li><a href="alt_init.html">Alternative initialisation using 'new TableTools()'</a></li>
490
				<li><a href="defaults.html">Altering the TableTools defaults</a></li>
491
				<li><a href="plug-in.html">TableTools plug-in buttons</a></li>
492
				<li><a href="pdf_message.html">Customising the PDF output (adding text and orientation)</a></li>
493
			</ul>
494
			
495
			
496
			<div id="footer" style="text-align:center;">
497
				<span style="font-size:10px;">
498
					TableTools and DataTables &copy; Allan Jardine 2009-2011.<br>
499
					Flash 10 save / copy operations are performed by a modified version of <a href="http://code.google.com/p/zeroclipboard/">Zero Clipboard</a>.<br>
500
					The icons used in the toolbar are modified from <a href="http://www.addictedtocoffee.de/">Oliver Twardowski's</a> <a href="http://www.smashingmagazine.com/2009/05/20/flavour-extended-the-ultimate-icon-set-for-web-designers/">Flavours Icon set</a>.
501
				</span>
502
			</div>
503
		</div>
504
	</body>
505
</html>
(-)a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/TableTools/tabs.html (+348 lines)
Line 0 Link Here
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2
<html>
3
	<head>
4
		<meta http-equiv="content-type" content="text/html; charset=utf-8">
5
		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
6
		
7
		<title>TableTools example</title>
8
		<style type="text/css" title="currentStyle">
9
			@import "../../media/css/demo_page.css";
10
			@import "../../media/css/demo_table_jui.css";
11
			@import "../../examples/examples_support/themes/smoothness/jquery-ui-1.8.4.custom.css";
12
			@import "media/css/TableTools_JUI.css";
13
			.ui-tabs .ui-tabs-panel { padding: 10px }
14
		</style>
15
		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
16
		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
17
		<script type="text/javascript" charset="utf-8" src="../../examples/examples_support/jquery-ui-tabs.js"></script>
18
		<script type="text/javascript" charset="utf-8" src="media/js/ZeroClipboard.js"></script>
19
		<script type="text/javascript" charset="utf-8" src="media/js/TableTools.js"></script>
20
		<script type="text/javascript" charset="utf-8">
21
			$(document).ready(function() {
22
				$("#tabs").tabs( {
23
					"show": function(event, ui) {
24
						var jqTable = $('table.display', ui.panel);
25
						if ( jqTable.length > 0 ) {
26
							var oTableTools = TableTools.fnGetInstance( jqTable[0] );
27
							if ( oTableTools != null && oTableTools.fnResizeRequired() )
28
							{
29
								/* A resize of TableTools' buttons and DataTables' columns is only required on the
30
								 * first visible draw of the table
31
								 */
32
								jqTable.dataTable().fnAdjustColumnSizing();
33
								oTableTools.fnResizeButtons();
34
							}
35
						}
36
					}
37
				} );
38
				
39
				$('#example1').dataTable( {
40
					"bJQueryUI": true,
41
					"sPaginationType": "full_numbers",
42
					"sDom": '<"H"Tfr>t<"F"ip>'
43
				} );
44
				
45
				$('#example2').dataTable( {
46
					"bJQueryUI": true,
47
					"sPaginationType": "full_numbers",
48
					"sDom": '<"H"Tfr>t<"F"ip>'
49
				} );
50
			} );
51
		</script>
52
	</head>
53
	<body id="dt_example">
54
		<div id="container">
55
			<div class="full_width big">
56
				TableTools example
57
			</div>
58
			
59
			<h1>Preamble</h1>
60
			<p>This example shows the basic initialisation of TableTools by simply including the 'T' marker in DataTables' sDom parameter. This tell DataTables to insert the TableTools toolbar in that location. Remember to include the Javascript and CSS source files as well!</p>
61
			<p>It is worth noting that you might need to <a href="swf_path.html">set the <i>sSwfPath</i> parameter</a> to tell TableTools where to find the SWF file for copy and file save.</p>
62
			
63
			<h1>Live example</h1>
64
			<div id="demo">
65
				<div id="tabs">
66
					<ul>
67
						<li><a href="#tabs-1">Trident browsers</a></li>
68
						<li><a href="#tabs-2">Gecko browsers</a></li>
69
					</ul>
70
					
71
					<div id="tabs-1">
72
<table cellpadding="0" cellspacing="0" border="0" class="display" id="example1">
73
	<thead>
74
		<tr>
75
			<th>Rendering engine</th>
76
			<th>Browser</th>
77
			<th>Platform(s)</th>
78
			<th>Engine version</th>
79
			<th>Grade</th>
80
		</tr>
81
	</thead>
82
	<tfoot>
83
		<tr>
84
			<th>Rendering engine</th>
85
			<th>Browser</th>
86
			<th>Platform(s)</th>
87
			<th>Engine version</th>
88
			<th>Grade</th>
89
		</tr>
90
	</tfoot>
91
	<tbody>
92
		<tr class="odd gradeX">
93
			<td>Trident</td>
94
			<td>Internet
95
				 Explorer 4.0</td>
96
			<td>Win 95+</td>
97
			<td class="center">4</td>
98
			<td class="center">X</td>
99
		</tr>
100
		<tr class="odd gradeC">
101
			<td>Trident</td>
102
			<td>Internet
103
				 Explorer 5.0</td>
104
			<td>Win 95+</td>
105
			<td class="center">5</td>
106
			<td class="center">C</td>
107
		</tr>
108
		<tr class="odd gradeA">
109
			<td>Trident</td>
110
			<td>Internet
111
				 Explorer 5.5</td>
112
			<td>Win 95+</td>
113
			<td class="center">5.5</td>
114
			<td class="center">A</td>
115
		</tr>
116
		<tr class="odd gradeA">
117
			<td>Trident</td>
118
			<td>Internet
119
				 Explorer 6</td>
120
			<td>Win 98+</td>
121
			<td class="center">6</td>
122
			<td class="center">A</td>
123
		</tr>
124
		<tr class="odd gradeA">
125
			<td>Trident</td>
126
			<td>Internet Explorer 7</td>
127
			<td>Win XP SP2+</td>
128
			<td class="center">7</td>
129
			<td class="center">A</td>
130
		</tr>
131
		<tr class="odd gradeA">
132
			<td>Trident</td>
133
			<td>AOL browser (AOL desktop)</td>
134
			<td>Win XP</td>
135
			<td class="center">6</td>
136
			<td class="center">A</td>
137
		</tr>
138
	<tbody>
139
</table>
140
					</div>
141
142
143
					<div id="tabs-2">
144
<table cellpadding="0" cellspacing="0" border="0" class="display" id="example2">
145
	<thead>
146
		<tr>
147
			<th>Rendering engine</th>
148
			<th>Browser</th>
149
			<th>Platform(s)</th>
150
			<th>Engine version</th>
151
			<th>Grade</th>
152
		</tr>
153
	</thead>
154
	<tfoot>
155
		<tr>
156
			<th>Rendering engine</th>
157
			<th>Browser</th>
158
			<th>Platform(s)</th>
159
			<th>Engine version</th>
160
			<th>Grade</th>
161
		</tr>
162
	</tfoot>
163
	<tbody>
164
		<tr class="gradeA">
165
			<td>Gecko</td>
166
			<td>Firefox 1.0</td>
167
			<td>Win 98+ / OSX.2+</td>
168
			<td class="center">1.7</td>
169
			<td class="center">A</td>
170
		</tr>
171
		<tr class="gradeA">
172
			<td>Gecko</td>
173
			<td>Firefox 1.5</td>
174
			<td>Win 98+ / OSX.2+</td>
175
			<td class="center">1.8</td>
176
			<td class="center">A</td>
177
		</tr>
178
		<tr class="gradeA">
179
			<td>Gecko</td>
180
			<td>Firefox 2.0</td>
181
			<td>Win 98+ / OSX.2+</td>
182
			<td class="center">1.8</td>
183
			<td class="center">A</td>
184
		</tr>
185
		<tr class="gradeA">
186
			<td>Gecko</td>
187
			<td>Firefox 3.0</td>
188
			<td>Win 2k+ / OSX.3+</td>
189
			<td class="center">1.9</td>
190
			<td class="center">A</td>
191
		</tr>
192
		<tr class="gradeA">
193
			<td>Gecko</td>
194
			<td>Camino 1.0</td>
195
			<td>OSX.2+</td>
196
			<td class="center">1.8</td>
197
			<td class="center">A</td>
198
		</tr>
199
		<tr class="gradeA">
200
			<td>Gecko</td>
201
			<td>Camino 1.5</td>
202
			<td>OSX.3+</td>
203
			<td class="center">1.8</td>
204
			<td class="center">A</td>
205
		</tr>
206
		<tr class="gradeA">
207
			<td>Gecko</td>
208
			<td>Netscape 7.2</td>
209
			<td>Win 95+ / Mac OS 8.6-9.2</td>
210
			<td class="center">1.7</td>
211
			<td class="center">A</td>
212
		</tr>
213
		<tr class="gradeA">
214
			<td>Gecko</td>
215
			<td>Netscape Browser 8</td>
216
			<td>Win 98SE+</td>
217
			<td class="center">1.7</td>
218
			<td class="center">A</td>
219
		</tr>
220
		<tr class="gradeA">
221
			<td>Gecko</td>
222
			<td>Netscape Navigator 9</td>
223
			<td>Win 98+ / OSX.2+</td>
224
			<td class="center">1.8</td>
225
			<td class="center">A</td>
226
		</tr>
227
		<tr class="gradeA">
228
			<td>Gecko</td>
229
			<td>Mozilla 1.0</td>
230
			<td>Win 95+ / OSX.1+</td>
231
			<td class="center">1</td>
232
			<td class="center">A</td>
233
		</tr>
234
		<tr class="gradeA">
235
			<td>Gecko</td>
236
			<td>Mozilla 1.1</td>
237
			<td>Win 95+ / OSX.1+</td>
238
			<td class="center">1.1</td>
239
			<td class="center">A</td>
240
		</tr>
241
		<tr class="gradeA">
242
			<td>Gecko</td>
243
			<td>Mozilla 1.2</td>
244
			<td>Win 95+ / OSX.1+</td>
245
			<td class="center">1.2</td>
246
			<td class="center">A</td>
247
		</tr>
248
		<tr class="gradeA">
249
			<td>Gecko</td>
250
			<td>Mozilla 1.3</td>
251
			<td>Win 95+ / OSX.1+</td>
252
			<td class="center">1.3</td>
253
			<td class="center">A</td>
254
		</tr>
255
		<tr class="gradeA">
256
			<td>Gecko</td>
257
			<td>Mozilla 1.4</td>
258
			<td>Win 95+ / OSX.1+</td>
259
			<td class="center">1.4</td>
260
			<td class="center">A</td>
261
		</tr>
262
		<tr class="gradeA">
263
			<td>Gecko</td>
264
			<td>Mozilla 1.5</td>
265
			<td>Win 95+ / OSX.1+</td>
266
			<td class="center">1.5</td>
267
			<td class="center">A</td>
268
		</tr>
269
		<tr class="gradeA">
270
			<td>Gecko</td>
271
			<td>Mozilla 1.6</td>
272
			<td>Win 95+ / OSX.1+</td>
273
			<td class="center">1.6</td>
274
			<td class="center">A</td>
275
		</tr>
276
		<tr class="gradeA">
277
			<td>Gecko</td>
278
			<td>Mozilla 1.7</td>
279
			<td>Win 98+ / OSX.1+</td>
280
			<td class="center">1.7</td>
281
			<td class="center">A</td>
282
		</tr>
283
		<tr class="gradeA">
284
			<td>Gecko</td>
285
			<td>Mozilla 1.8</td>
286
			<td>Win 98+ / OSX.1+</td>
287
			<td class="center">1.8</td>
288
			<td class="center">A</td>
289
		</tr>
290
		<tr class="gradeA">
291
			<td>Gecko</td>
292
			<td>Seamonkey 1.1</td>
293
			<td>Win 98+ / OSX.2+</td>
294
			<td class="center">1.8</td>
295
			<td class="center">A</td>
296
		</tr>
297
		<tr class="gradeA">
298
			<td>Gecko</td>
299
			<td>Epiphany 2.20</td>
300
			<td>Gnome</td>
301
			<td class="center">1.8</td>
302
			<td class="center">A</td>
303
		</tr>
304
	</tbody>
305
</table>
306
					</div>
307
				</div>
308
			</div>
309
			<div class="spacer"></div>
310
			
311
			<h1>Initialisation code</h1>
312
			<pre>$(document).ready( function () {
313
	$('#example').dataTable( {
314
		"sDom": 'T&lt;"clear"&gt;lfrtip'
315
	} );
316
} );</pre>
317
318
319
			<h1>Other examples</h1>
320
			<ul>
321
				<li><a href="index.html">Basic initialisation</a></li>
322
				<li><a href="swf_path.html">Setting the SWF path</a></li>
323
				<li><a href="alter_buttons.html">Custom button arrangement</a></li>
324
				<li><a href="button_text.html">Button text alteration</a></li>
325
				<li><a href="collection.html">Using button collections</a></li>
326
				<li><a href="theme.html">Using jQuery UI themes</a></li>
327
				<li><a href="bootstrap.html">Styling with Twitter Bootstrap</a></li>
328
				<li><a href="multi_instance.html">Multiple TableTools toolbars for a single table</a></li>
329
				<li><a href="multiple_tables.html">Multiple DataTables with a single initialisation</a></li>
330
				<li><a href="select_multi.html">User selectable rows (multiple rows)</a></li>
331
				<li><a href="select_single.html">User selectable rows (single row)</a></li>
332
				<li><a href="alt_init.html">Alternative initialisation using 'new TableTools()'</a></li>
333
				<li><a href="defaults.html">Altering the TableTools defaults</a></li>
334
				<li><a href="plug-in.html">TableTools plug-in buttons</a></li>
335
				<li><a href="pdf_message.html">Customising the PDF output (adding text and orientation)</a></li>
336
			</ul>
337
			
338
			
339
			<div id="footer" style="text-align:center;">
340
				<span style="font-size:10px;">
341
					TableTools and DataTables &copy; Allan Jardine 2009-2011.<br>
342
					Flash 10 save / copy operations are performed by a modified version of <a href="http://code.google.com/p/zeroclipboard/">Zero Clipboard</a>.<br>
343
					The icons used in the toolbar are modified from <a href="http://www.addictedtocoffee.de/">Oliver Twardowski's</a> <a href="http://www.smashingmagazine.com/2009/05/20/flavour-extended-the-ultimate-icon-set-for-web-designers/">Flavours Icon set</a>.
344
				</span>
345
			</div>
346
		</div>
347
	</body>
348
</html>
(-)a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/TableTools/theme.html (-1 / +524 lines)
Line 0 Link Here
0
- 
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2
<html>
3
	<head>
4
		<meta http-equiv="content-type" content="text/html; charset=utf-8">
5
		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
6
		
7
		<title>TableTools example</title>
8
		<style type="text/css" title="currentStyle">
9
			@import "../../media/css/demo_page.css";
10
			@import "../../media/css/demo_table_jui.css";
11
			@import "../../examples/examples_support/themes/smoothness/jquery-ui-1.8.4.custom.css";
12
			@import "media/css/TableTools_JUI.css";
13
		</style>
14
		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
15
		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
16
		<script type="text/javascript" charset="utf-8" src="media/js/ZeroClipboard.js"></script>
17
		<script type="text/javascript" charset="utf-8" src="media/js/TableTools.js"></script>
18
		<script type="text/javascript" charset="utf-8">
19
			$(document).ready( function () {
20
				$('#example').dataTable( {
21
					"bJQueryUI": true,
22
					"sPaginationType": "full_numbers",
23
					"sDom": '<"H"Tfr>t<"F"ip>',
24
					"oTableTools": {
25
						"aButtons": [
26
							"copy", "csv", "xls", "pdf",
27
							{
28
								"sExtends":    "collection",
29
								"sButtonText": "Save",
30
								"aButtons":    [ "csv", "xls", "pdf" ]
31
							}
32
						]
33
					}
34
				} );
35
			} );
36
		</script>
37
	</head>
38
	<body id="dt_example">
39
		<div id="container">
40
			<div class="full_width big">
41
				TableTools example - jQuery UI theming
42
			</div>
43
			
44
			<h1>Preamble</h1>
45
			<p>Like DataTables, TableTools can be styled by a jQuery UI theme. The required classes for the theming with TableTools are added automatically when the <i>bJQueryUI</i> option is detected from DataTables. This example shows that in action, and also defines a button collection to show the themeing there.</p>
46
			
47
			
48
			<h1>Live example</h1>
49
			<div id="demo">
50
<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
51
	<thead>
52
		<tr>
53
			<th>Rendering engine</th>
54
			<th>Browser</th>
55
			<th>Platform(s)</th>
56
			<th>Engine version</th>
57
			<th>CSS grade</th>
58
		</tr>
59
	</thead>
60
	<tfoot>
61
		<tr>
62
			<th>Rendering engine</th>
63
			<th>Browser</th>
64
			<th>Platform(s)</th>
65
			<th>Engine version</th>
66
			<th>CSS grade</th>
67
		</tr>
68
	</tfoot>
69
	<tbody>
70
		<tr class="odd_gradeX">
71
			<td>Trident</td>
72
			<td>Internet Explorer 4.0</td>
73
			<td>Win 95+ (Entity: &amp;)</td>
74
			<td class="center">4</td>
75
			<td class="center">X</td>
76
		</tr>
77
		<tr class="even_gradeC">
78
			<td>Trident</td>
79
			<td>Internet Explorer 5.0</td>
80
			<td>Win 95+</td>
81
			<td class="center">5</td>
82
			<td class="center">C</td>
83
		</tr>
84
		<tr class="odd_gradeA">
85
			<td>Trident</td>
86
			<td>Internet Explorer 5.5</td>
87
			<td>Win 95+</td>
88
			<td class="center">5.5</td>
89
			<td class="center">A</td>
90
		</tr>
91
		<tr class="even_gradeA">
92
			<td>Trident</td>
93
			<td>Internet Explorer 6</td>
94
			<td>Win 98+</td>
95
			<td class="center">6</td>
96
			<td class="center">A</td>
97
		</tr>
98
		<tr class="odd_gradeA">
99
			<td>Trident</td>
100
			<td>Internet Explorer 7</td>
101
			<td>Win XP SP2+</td>
102
			<td class="center">7</td>
103
			<td class="center">A</td>
104
		</tr>
105
		<tr class="even_gradeA">
106
			<td>Trident</td>
107
			<td>AOL browser (AOL desktop)</td>
108
			<td>Win XP</td>
109
			<td class="center">6</td>
110
			<td class="center">A</td>
111
		</tr>
112
		<tr class="odd_gradeA">
113
			<td>Gecko (UTF-8: $¢€)</td>
114
			<td>Firefox 1.0</td>
115
			<td>Win 98+ / OSX.2+</td>
116
			<td class="center">1.7</td>
117
			<td class="center">A</td>
118
		</tr>
119
		<tr class="even_gradeA">
120
			<td>Gecko</td>
121
			<td>Firefox 1.5</td>
122
			<td>Win 98+ / OSX.2+</td>
123
			<td class="center">1.8</td>
124
			<td class="center">A</td>
125
		</tr>
126
		<tr class="odd_gradeA">
127
			<td>Gecko</td>
128
			<td>Firefox 2.0</td>
129
			<td>Win 98+ / OSX.2+</td>
130
			<td class="center">1.8</td>
131
			<td class="center">A</td>
132
		</tr>
133
		<tr class="even_gradeA">
134
			<td>Gecko</td>
135
			<td>Firefox 3.0</td>
136
			<td>Win 2k+ / OSX.3+</td>
137
			<td class="center">1.9</td>
138
			<td class="center">A</td>
139
		</tr>
140
		<tr class="odd_gradeA">
141
			<td>Gecko</td>
142
			<td>Camino 1.0</td>
143
			<td>OSX.2+</td>
144
			<td class="center">1.8</td>
145
			<td class="center">A</td>
146
		</tr>
147
		<tr class="even_gradeA">
148
			<td>Gecko</td>
149
			<td>Camino 1.5</td>
150
			<td>OSX.3+</td>
151
			<td class="center">1.8</td>
152
			<td class="center">A</td>
153
		</tr>
154
		<tr class="odd_gradeA">
155
			<td>Gecko</td>
156
			<td>Netscape 7.2</td>
157
			<td>Win 95+ / Mac OS 8.6-9.2</td>
158
			<td class="center">1.7</td>
159
			<td class="center">A</td>
160
		</tr>
161
		<tr class="even_gradeA">
162
			<td>Gecko</td>
163
			<td>Netscape Browser 8</td>
164
			<td>Win 98SE+</td>
165
			<td class="center">1.7</td>
166
			<td class="center">A</td>
167
		</tr>
168
		<tr class="odd_gradeA">
169
			<td>Gecko</td>
170
			<td>Netscape Navigator 9</td>
171
			<td>Win 98+ / OSX.2+</td>
172
			<td class="center">1.8</td>
173
			<td class="center">A</td>
174
		</tr>
175
		<tr class="even_gradeA">
176
			<td>Gecko</td>
177
			<td>Mozilla 1.0</td>
178
			<td>Win 95+ / OSX.1+</td>
179
			<td class="center">1</td>
180
			<td class="center">A</td>
181
		</tr>
182
		<tr class="odd_gradeA">
183
			<td>Gecko</td>
184
			<td>Mozilla 1.1</td>
185
			<td>Win 95+ / OSX.1+</td>
186
			<td class="center">1.1</td>
187
			<td class="center">A</td>
188
		</tr>
189
		<tr class="even_gradeA">
190
			<td>Gecko</td>
191
			<td>Mozilla 1.2</td>
192
			<td>Win 95+ / OSX.1+</td>
193
			<td class="center">1.2</td>
194
			<td class="center">A</td>
195
		</tr>
196
		<tr class="odd_gradeA">
197
			<td>Gecko</td>
198
			<td>Mozilla 1.3</td>
199
			<td>Win 95+ / OSX.1+</td>
200
			<td class="center">1.3</td>
201
			<td class="center">A</td>
202
		</tr>
203
		<tr class="even_gradeA">
204
			<td>Gecko</td>
205
			<td>Mozilla 1.4</td>
206
			<td>Win 95+ / OSX.1+</td>
207
			<td class="center">1.4</td>
208
			<td class="center">A</td>
209
		</tr>
210
		<tr class="odd_gradeA">
211
			<td>Gecko</td>
212
			<td>Mozilla 1.5</td>
213
			<td>Win 95+ / OSX.1+</td>
214
			<td class="center">1.5</td>
215
			<td class="center">A</td>
216
		</tr>
217
		<tr class="even_gradeA">
218
			<td>Gecko</td>
219
			<td>Mozilla 1.6</td>
220
			<td>Win 95+ / OSX.1+</td>
221
			<td class="center">1.6</td>
222
			<td class="center">A</td>
223
		</tr>
224
		<tr class="odd_gradeA">
225
			<td>Gecko</td>
226
			<td>Mozilla 1.7</td>
227
			<td>Win 98+ / OSX.1+</td>
228
			<td class="center">1.7</td>
229
			<td class="center">A</td>
230
		</tr>
231
		<tr class="even_gradeA">
232
			<td>Gecko</td>
233
			<td>Mozilla 1.8</td>
234
			<td>Win 98+ / OSX.1+</td>
235
			<td class="center">1.8</td>
236
			<td class="center">A</td>
237
		</tr>
238
		<tr class="odd_gradeA">
239
			<td>Gecko</td>
240
			<td>Seamonkey 1.1</td>
241
			<td>Win 98+ / OSX.2+</td>
242
			<td class="center">1.8</td>
243
			<td class="center">A</td>
244
		</tr>
245
		<tr class="even_gradeA">
246
			<td>Gecko</td>
247
			<td>Epiphany 2.20</td>
248
			<td>Gnome</td>
249
			<td class="center">1.8</td>
250
			<td class="center">A</td>
251
		</tr>
252
		<tr class="odd_gradeA">
253
			<td>Webkit</td>
254
			<td>Safari 1.2</td>
255
			<td>OSX.3</td>
256
			<td class="center">125.5</td>
257
			<td class="center">A</td>
258
		</tr>
259
		<tr class="even_gradeA">
260
			<td>Webkit</td>
261
			<td>Safari 1.3</td>
262
			<td>OSX.3</td>
263
			<td class="center">312.8</td>
264
			<td class="center">A</td>
265
		</tr>
266
		<tr class="odd_gradeA">
267
			<td>Webkit</td>
268
			<td>Safari 2.0</td>
269
			<td>OSX.4+</td>
270
			<td class="center">419.3</td>
271
			<td class="center">A</td>
272
		</tr>
273
		<tr class="even_gradeA">
274
			<td>Webkit</td>
275
			<td>Safari 3.0</td>
276
			<td>OSX.4+</td>
277
			<td class="center">522.1</td>
278
			<td class="center">A</td>
279
		</tr>
280
		<tr class="odd_gradeA">
281
			<td>Webkit</td>
282
			<td>OmniWeb 5.5</td>
283
			<td>OSX.4+</td>
284
			<td class="center">420</td>
285
			<td class="center">A</td>
286
		</tr>
287
		<tr class="even_gradeA">
288
			<td>Webkit</td>
289
			<td>iPod Touch / iPhone</td>
290
			<td>iPod</td>
291
			<td class="center">420.1</td>
292
			<td class="center">A</td>
293
		</tr>
294
		<tr class="odd_gradeA">
295
			<td>Webkit</td>
296
			<td>S60</td>
297
			<td>S60</td>
298
			<td class="center">413</td>
299
			<td class="center">A</td>
300
		</tr>
301
		<tr class="even_gradeA">
302
			<td>Presto</td>
303
			<td>Opera 7.0</td>
304
			<td>Win 95+ / OSX.1+</td>
305
			<td class="center">-</td>
306
			<td class="center">A</td>
307
		</tr>
308
		<tr class="odd_gradeA">
309
			<td>Presto</td>
310
			<td>Opera 7.5</td>
311
			<td>Win 95+ / OSX.2+</td>
312
			<td class="center">-</td>
313
			<td class="center">A</td>
314
		</tr>
315
		<tr class="even_gradeA">
316
			<td>Presto</td>
317
			<td>Opera 8.0</td>
318
			<td>Win 95+ / OSX.2+</td>
319
			<td class="center">-</td>
320
			<td class="center">A</td>
321
		</tr>
322
		<tr class="odd_gradeA">
323
			<td>Presto</td>
324
			<td>Opera 8.5</td>
325
			<td>Win 95+ / OSX.2+</td>
326
			<td class="center">-</td>
327
			<td class="center">A</td>
328
		</tr>
329
		<tr class="even_gradeA">
330
			<td>Presto</td>
331
			<td>Opera 9.0</td>
332
			<td>Win 95+ / OSX.3+</td>
333
			<td class="center">-</td>
334
			<td class="center">A</td>
335
		</tr>
336
		<tr class="odd_gradeA">
337
			<td>Presto</td>
338
			<td>Opera 9.2</td>
339
			<td>Win 88+ / OSX.3+</td>
340
			<td class="center">-</td>
341
			<td class="center">A</td>
342
		</tr>
343
		<tr class="even_gradeA">
344
			<td>Presto</td>
345
			<td>Opera 9.5</td>
346
			<td>Win 88+ / OSX.3+</td>
347
			<td class="center">-</td>
348
			<td class="center">A</td>
349
		</tr>
350
		<tr class="odd_gradeA">
351
			<td>Presto</td>
352
			<td>Opera for Wii</td>
353
			<td>Wii</td>
354
			<td class="center">-</td>
355
			<td class="center">A</td>
356
		</tr>
357
		<tr class="even_gradeA">
358
			<td>Presto</td>
359
			<td>Nokia N800</td>
360
			<td>N800</td>
361
			<td class="center">-</td>
362
			<td class="center">A</td>
363
		</tr>
364
		<tr class="odd_gradeA">
365
			<td>Presto</td>
366
			<td>Nintendo DS browser</td>
367
			<td>Nintendo DS</td>
368
			<td class="center">8.5</td>
369
			<td class="center">C/A<sup>1</sup></td>
370
		</tr>
371
		<tr class="even_gradeC">
372
			<td>KHTML</td>
373
			<td>Konqureror 3.1</td>
374
			<td>KDE 3.1</td>
375
			<td class="center">3.1</td>
376
			<td class="center">C</td>
377
		</tr>
378
		<tr class="odd_gradeA">
379
			<td>KHTML</td>
380
			<td>Konqureror 3.3</td>
381
			<td>KDE 3.3</td>
382
			<td class="center">3.3</td>
383
			<td class="center">A</td>
384
		</tr>
385
		<tr class="even_gradeA">
386
			<td>KHTML</td>
387
			<td>Konqureror 3.5</td>
388
			<td>KDE 3.5</td>
389
			<td class="center">3.5</td>
390
			<td class="center">A</td>
391
		</tr>
392
		<tr class="odd_gradeX">
393
			<td>Tasman</td>
394
			<td>Internet Explorer 4.5</td>
395
			<td>Mac OS 8-9</td>
396
			<td class="center">-</td>
397
			<td class="center">X</td>
398
		</tr>
399
		<tr class="even_gradeC">
400
			<td>Tasman</td>
401
			<td>Internet Explorer 5.1</td>
402
			<td>Mac OS 7.6-9</td>
403
			<td class="center">1</td>
404
			<td class="center">C</td>
405
		</tr>
406
		<tr class="odd_gradeC">
407
			<td>Tasman</td>
408
			<td>Internet Explorer 5.2</td>
409
			<td>Mac OS 8-X</td>
410
			<td class="center">1</td>
411
			<td class="center">C</td>
412
		</tr>
413
		<tr class="even_gradeA">
414
			<td>Misc</td>
415
			<td>NetFront 3.1</td>
416
			<td>Embedded devices</td>
417
			<td class="center">-</td>
418
			<td class="center">C</td>
419
		</tr>
420
		<tr class="odd_gradeA">
421
			<td>Misc</td>
422
			<td>NetFront 3.4</td>
423
			<td>Embedded devices</td>
424
			<td class="center">-</td>
425
			<td class="center">A</td>
426
		</tr>
427
		<tr class="even_gradeX">
428
			<td>Misc</td>
429
			<td>Dillo 0.8</td>
430
			<td>Embedded devices</td>
431
			<td class="center">-</td>
432
			<td class="center">X</td>
433
		</tr>
434
		<tr class="odd_gradeX">
435
			<td>Misc</td>
436
			<td>Links</td>
437
			<td>Text only</td>
438
			<td class="center">-</td>
439
			<td class="center">X</td>
440
		</tr>
441
		<tr class="even_gradeX">
442
			<td>Misc</td>
443
			<td>Lynx</td>
444
			<td>Text only</td>
445
			<td class="center">-</td>
446
			<td class="center">X</td>
447
		</tr>
448
		<tr class="odd_gradeC">
449
			<td>Misc</td>
450
			<td>IE Mobile</td>
451
			<td>Windows Mobile 6</td>
452
			<td class="center">-</td>
453
			<td class="center">C</td>
454
		</tr>
455
		<tr class="even_gradeC">
456
			<td>Misc</td>
457
			<td>PSP browser</td>
458
			<td>PSP</td>
459
			<td class="center">-</td>
460
			<td class="center">C</td>
461
		</tr>
462
		<tr class="odd_gradeU">
463
			<td>Other browsers</td>
464
			<td>All others</td>
465
			<td>-</td>
466
			<td class="center">-</td>
467
			<td class="center">U</td>
468
		</tr>
469
	</tbody>
470
</table>
471
			</div>
472
			<div class="spacer"></div>
473
			
474
			
475
			<h1>Initialisation code</h1>
476
			<pre>$(document).ready( function () {
477
	$('#example').dataTable( {
478
		"bJQueryUI": true,
479
		"sPaginationType": "full_numbers",
480
		"sDom": '&lt;"H"Tfr&gt;t&lt;"F"ip&gt;',
481
		"oTableTools": {
482
			"aButtons": [
483
				"copy", "csv", "xls", "pdf",
484
				{
485
					"sExtends":    "collection",
486
					"sButtonText": "Save",
487
					"aButtons":    [ "csv", "xls", "pdf" ]
488
				}
489
			]
490
		}
491
	} );
492
} );</pre>
493
494
495
			<h1>Other examples</h1>
496
			<ul>
497
				<li><a href="index.html">Basic initialisation</a></li>
498
				<li><a href="swf_path.html">Setting the SWF path</a></li>
499
				<li><a href="alter_buttons.html">Custom button arrangement</a></li>
500
				<li><a href="button_text.html">Button text alteration</a></li>
501
				<li><a href="collection.html">Using button collections</a></li>
502
				<li><a href="theme.html">Using jQuery UI themes</a></li>
503
				<li><a href="bootstrap.html">Styling with Twitter Bootstrap</a></li>
504
				<li><a href="multi_instance.html">Multiple TableTools toolbars for a single table</a></li>
505
				<li><a href="multiple_tables.html">Multiple DataTables with a single initialisation</a></li>
506
				<li><a href="select_multi.html">User selectable rows (multiple rows)</a></li>
507
				<li><a href="select_single.html">User selectable rows (single row)</a></li>
508
				<li><a href="alt_init.html">Alternative initialisation using 'new TableTools()'</a></li>
509
				<li><a href="defaults.html">Altering the TableTools defaults</a></li>
510
				<li><a href="plug-in.html">TableTools plug-in buttons</a></li>
511
				<li><a href="pdf_message.html">Customising the PDF output (adding text and orientation)</a></li>
512
			</ul>
513
			
514
			
515
			<div id="footer" style="text-align:center;">
516
				<span style="font-size:10px;">
517
					TableTools and DataTables &copy; Allan Jardine 2009-2011.<br>
518
					Flash 10 save / copy operations are performed by a modified version of <a href="http://code.google.com/p/zeroclipboard/">Zero Clipboard</a>.<br>
519
					The icons used in the toolbar are modified from <a href="http://www.addictedtocoffee.de/">Oliver Twardowski's</a> <a href="http://www.smashingmagazine.com/2009/05/20/flavour-extended-the-ultimate-icon-set-for-web-designers/">Flavours Icon set</a>.
520
				</span>
521
			</div>
522
		</div>
523
	</body>
524
</html>

Return to bug 6427