towards client-side filtering and sorting
[plewww.git] / planetlab / js / plc_paginate.js
1 /* $Id$ */
2
3 /* when a table gets paginated, displays context info */
4 function plc_table_update_paginaters (opts,tablename) {
5
6   if(!("currentPage" in opts)) { return; }
7     
8   var p = document.createElement('p');
9   var t = document.getElementById(tablename+'-fdtablePaginaterWrapTop');
10   var b = document.getElementById(tablename+'-fdtablePaginaterWrapBottom');
11
12   var first = ((opts.currentPage-1) * opts.rowsPerPage) +1;
13   var last = Math.min((opts.currentPage * opts.rowsPerPage),opts.totalRows);
14   var items_text = "Items [" + first + " - " + last + "] of " + opts.totalRows;
15   var page_text = "Page " + opts.currentPage + " of " + Math.ceil(opts.totalRows / opts.rowsPerPage);
16   var label = items_text + " --- " + page_text;
17
18   p.className = "paginationText";    
19   p.appendChild(document.createTextNode(label));
20                 
21   /*  t.insertBefore(p.cloneNode(true), t.firstChild); */
22   b.appendChild(p);
23 }
24
25
26 /* locates a table from its id and alters the classname to reflect new table size */
27 function plc_table_setsize (table_id,size_id,def_size) {
28   var table=document.getElementById(table_id);
29   var size_area=document.getElementById(size_id);
30   var paginate=/paginate-\d+/;
31   if ( ! size_area.value ) {
32     size_area.value=def_size;
33   }
34   var size=size_area.value;
35   table.className=table.className.replace(paginate,"paginate-"+size); 
36   tablePaginater.init(table_id);
37 }
38
39 function plc_table_filter_resetsize(table_id, size_id, size) {
40   var table=document.getElementById(table_id);
41   var size_area=document.getElementById(size_id);
42   var paginate=/paginate-\d+/;
43   size_area.value=size;
44   table.className=table.className.replace(paginate,"paginate-"+size); 
45   tablePaginater.init(table_id);
46 }
47