[Seaside] Cleaning up tables for IE

Boris Popov boris at deepcovelabs.com
Tue Aug 28 16:24:18 UTC 2007


You knew this was coming... I've been cleaning up our reporting
component to finally dead with IE's treatment of empty data cells and
just wanted to poke others' brains about ways they've dealt with similar
problems. As we all know IE really likes having values in data cells, if
it does not it will not apply most of styling like borders and such.
It's fairly easy to address this on the reporting side by printing
non-breaking spaces when textual values for cells are empty, but it gets
tricky for those cases where cells use arbitrary rendering blocks to
spit out anchors, images and what not. In that case its really down to
the cell to determine if there's content just prior to closing of the
tag and if there isn't any, print  .

So far I'm looking at possibly adding this as a workaround,

WATableCellTag>>before
 super before.
 position := self document stream position.

WATableCellTag >>after
 position = self document stream position ifTrue: [canvas space].
 super after.

But this only gets you half-way, because doing things like,

html tableData: [html strong: '']

will still break IE's rendering. I can't think of any reasonably clean
and generic way of determining whether table cell contents are
semantically "empty" as far as IE's point of view is other than to start
weeding out these cases one by one, which I don't mind. Thoughts?

Cheers!

-Boris

-- 
+1.604.689.0322
DeepCove Labs Ltd.
4th floor 595 Howe Street
Vancouver, Canada V6C 2T5
http://tinyurl.com/r7uw4

boris at deepcovelabs.com

CONFIDENTIALITY NOTICE

This email is intended only for the persons named in the message
header. Unless otherwise indicated, it contains information that is
private and confidential. If you have received it in error, please
notify the sender and delete the entire message including any
attachments.

Thank you.



More information about the seaside mailing list