Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses

Re: Introducing FilterOnClick for Perl

by bageler (Hermit)
on Oct 16, 2005 at 21:37 UTC ( #500613=note: print w/replies, xml ) Need Help??

in reply to Introducing FilterOnClick for Perl

I _just_ implemented a similar functionality to an AJAX based website for log viewing. I send the data to the client then do sorting (no filtering yet, but the OP has me inspired :) ) based on the data stored in local browser memory, rather than having to re-query the servers each time. Not very perlish, but here's what I did in case anyone is interested.
var logs = new Array();function ListLogs(response) { theDoc.getElem +entById('logResults').deleteTFoot(); for (var i=0;i<response.getElementsByTagName('log').length;i++) { var members = response.getElementsByTagName('log')[i]; var columns = new Array('time','passfail','protocol','status', +'bytes','url'); var values = new Array(); for (var j=0;j<members.childNodes.length;j++) { var node = members.childNodes[j]; for (var k=0;k<columns.length;k++) { if (no +de.nodeName == columns[k] && node.firstChild) { values[columns[k]] = node.firstChild.nodeValue; } } } logs.push(values); addLog(values); } resort('url'); } var sortColumn = 'time'; function mysort(a,b) { if (a[sortColumn] > b[sortColumn]) return 1; if (a[sortColumn] < b[sortColumn]) return -1; if (a[sortColumn] == b[sortColumn]) return 0; } function resort(byfield) { theDoc.getElementById('logResults').dele +teTFoot(); sortColumn = byfield; var tmp = logs.sort(mysort); for (var i=0;i<logs.length;i++) { var a = logs[i]; addLog(a); } }

The function addLog(rec) simply adds a row to the table of log entries.

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://500613]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (4)
As of 2022-10-05 15:01 GMT
Find Nodes?
    Voting Booth?
    My preferred way to holiday/vacation is:

    Results (24 votes). Check out past polls.