(bug 11330) Improper use of WebRequest::getIntOrNull()
[mediawiki.git] / skins / common / allmessages.js
blob9f07a48101a50db34a7f41a2465781110632d971
1 var allmessages_nodelist = false;
2 var allmessages_modified = false;
3 var allmessages_timeout = false;
4 var allmessages_running = false;
6 function allmessagesmodified() {
7         allmessages_modified = !allmessages_modified;
8         allmessagesfilter();
11 function allmessagesfilter() {
12         if ( allmessages_timeout )
13                 window.clearTimeout( allmessages_timeout );
15         if ( !allmessages_running )
16                 allmessages_timeout = window.setTimeout( 'allmessagesfilter_do();', 500 );
19 function allmessagesfilter_do() {
20         if ( !allmessages_nodelist )
21                 return;
23         var text = document.getElementById('allmessagesinput').value.toLowerCase();
24         var nodef = allmessages_modified;
26         allmessages_running = true;
28         for ( var name in allmessages_nodelist ) {
29                 var nodes = allmessages_nodelist[name];
30                 var display = ( name.toLowerCase().indexOf( text ) == -1 ? 'none' : '' );
32                 for ( var i = 0; i < nodes.length; i++)
33                         nodes[i].style.display =
34                                 ( nodes[i].className == "def" && nodef
35                                   ? 'none' : display );
36         }
38         if ( text != document.getElementById('allmessagesinput').value.toLowerCase() ||
39              nodef != allmessages_modified )
40                 allmessagesfilter_do();  // repeat
42         allmessages_running = false;
45 function allmessagesfilter_init() {
46         if ( allmessages_nodelist )
47                 return;
49         var nodelist = new Array();
50         var templist = new Array();
52         var table = document.getElementById('allmessagestable');
53         if ( !table ) return;
55         var rows = document.getElementsByTagName('tr');
56         for ( var i = 0; i < rows.length; i++ ) {
57                 var id = rows[i].getAttribute('id')
58                 if ( id && id.substring(0,16) != 'sp-allmessages-r' ) continue;
59                 templist[ id ] = rows[i];
60         }
62         var spans = table.getElementsByTagName('span');
63         for ( var i = 0; i < spans.length; i++ ) {
64                 var id = spans[i].getAttribute('id')
65                 if ( id && id.substring(0,17) != 'sp-allmessages-i-' ) continue;
66                 if ( !spans[i].firstChild || spans[i].firstChild.nodeType != 3 ) continue;
68                 var nodes = new Array();
69                 var row1 = templist[ id.replace('i', 'r1') ];
70                 var row2 = templist[ id.replace('i', 'r2') ];
72                 if ( row1 ) nodes[nodes.length] = row1;
73                 if ( row2 ) nodes[nodes.length] = row2;
74                 nodelist[ spans[i].firstChild.nodeValue ] = nodes;
75         }
77         var k = document.getElementById('allmessagesfilter');
78         if (k) { k.style.display = ''; }
80         allmessages_nodelist = nodelist;
83 hookEvent( "load", allmessagesfilter_init );