1 sdump('D_TRACE','Loading grid_list.js\n');
3 function grid_list_init(p) {
4 sdump('D_GRID_LIST',"TESTING: grid_list.js: " + mw.G['main_test_variable'] + '\n');
5 sdump('D_CONSTRUCTOR',arg_dump(arguments));
7 p.grid = p.node.getElementsByAttribute('name','grid')[0];
8 //p.popup = p.node.getElementsByTagName('popup')[0];
9 p.grid_columns = p.grid.firstChild;
10 p.grid_rows = p.grid.lastChild;
12 p._context_function = function (ev) { alert('default _context_function'); };
13 //p.popup.addEventListener('popupshowing',function (ev) { return p._context_function(ev); },false);
15 grid_list_make_columns( p, p.cols )
17 p.clear_grid = function () {
18 sdump('D_GRID_LIST','p.clear_grid()\n');
19 while( p.grid_rows.childNodes.length > 1 ) {
20 p.grid_rows.removeChild( p.grid_rows.lastChild );
24 p.add_rows = function (new_rows) {
25 sdump('D_GRID_LIST','p.add_rows()\n');
26 return grid_list_add_rows(p,new_rows);
29 p.remove_row_by_id = function (id) {
30 sdump('D_GRID_LIST','p.remove_row_by_id()\n');
31 return grid_list_remove_row_by_id(p,id);
34 p.register_context_builder = function (f) {
35 sdump('D_GRID_LIST','p.register_context_builder(' + f + ')\n');
36 return p._context_function = f;
39 sdump('D_TRACE_EXIT',arg_dump(arguments));
43 function grid_list_make_columns( p, cols ) {
44 sdump('D_GRID_LIST',arg_dump(arguments,{2:'.length'}));
45 sdump('D_TRACE_ENTER',arg_dump(arguments));
47 // cols[ idx ] = { 'id':???, 'label':???, 'primary':???, 'flex':??? }
48 var header = p.w.document.createElement('row');
49 p.grid_rows.appendChild( header );
50 for (var i = 0; i < cols.length; i++) {
52 sdump('D_GRID_LIST','Col ' + i + ' : ' + js2JSON( col ) + '\n');
53 var gridcol = d.createElement( 'column' );
54 p.grid_columns.appendChild( gridcol );
56 gridcol.setAttribute( j, col[j] );
58 var th = p.w.document.createElement('label');
59 header.appendChild( th );
60 th.setAttribute('value', col.label);
61 th.setAttribute('style','font-weight: bold;');
63 sdump('D_TRACE_EXIT',arg_dump(arguments));
66 function grid_list_add_rows( p, new_rows ) {
67 sdump('D_GRID_LIST',arg_dump(arguments,{2:'.length'}));
68 sdump('D_TRACE_ENTER',arg_dump(arguments));
69 for (var i = 0; i < new_rows.length; i++) {
70 var new_row = new_rows[i];
72 p.grid_rows.appendChild( new_row );
75 sdump('D_TRACE_EXIT',arg_dump(arguments));
78 function grid_list_remove_row_by_id( p, id ) {
79 sdump('D_GRID_LIST',arg_dump(arguments));
80 var row = p.grid_rows.getElementsByAttribute('id',id)[0];
81 p.grid_rows.removeChild( row );