[dev] [cvs] commit: incubator/beatnik index.php listzones.php incubator/beatnik/js beatnik.js incubator/beatnik/js/src beatnik.js incubator/beatnik/lib Beatnik.php base.php incubator/beatnik/po beatnik.pot incubator/beatnik/templates ...

Chuck Hagenbuch chuck at horde.org
Sat Aug 5 14:24:58 PDT 2006


Quoting Ben Klang <ben at alkaloid.net>:

>>> Why make the client-side browser do striping when Horde can do it   
>>>  faster and without relying on JS?
>>
>> Because that's how we are going to stripe tables in all apps. Most   
>> apps have already been converted to this method.
> Ok,  I didn't realize this.  What was the motivation?

Jan did answer, but since I was responsible for this I feel like I  
should respond also. :) The idea is that row striping is a  
presentation detail. For large tables, having class="row[Even|Odd]" on  
every tr - worse, on every td - adds a bunch of markup to the table  
for no reason other than achieving that presentation detail. By  
instead sending a small js file to the client - which can be cached -  
table size is decreased and the markup is cleaner. Also, it's a pain  
to add tracking code wherever we generate a table to stripe rows and  
it clutters up code and templates. Removing it makes the code nicer  
and a bit more maintainable; instead we maintain a single small js  
file that works on all HTML tables.

-chuck

-- 
"we are plastered to the windshield of the bus that is time." - Chris


More information about the dev mailing list