Author: eallen
Date: 2011-02-15 15:33:16 +0000 (Tue, 15 Feb 2011)
New Revision: 4526
Modified:
trunk/wooly/python/wooly/table.py
trunk/wooly/python/wooly/table.strings
Log:
Allowed some table header styles to be overridden
Modified: trunk/wooly/python/wooly/table.py
===================================================================
--- trunk/wooly/python/wooly/table.py 2011-02-15 15:26:27 UTC (rev 4525)
+++ trunk/wooly/python/wooly/table.py 2011-02-15 15:33:16 UTC (rev 4526)
@@ -60,7 +60,7 @@
def render_colspan(self, session):
return len(self.get_visible_columns(session))
-
+
def render_rows(self, session):
data = self.get_data(session)
@@ -131,9 +131,26 @@
return branch.marshal()
+ def render_header_title(self, session):
+ sort = self.table.sort.get(session)
+ ascending = self.table.ascending.get(session)
+
+ dir = ascending and "ascending" or "descending"
+ if sort == self.name:
+ dir = ascending and "descending" or "ascending"
+
+ name = self.render_header_content(session)
+ if not name:
+ name = self.name
+
+ return "Click to sort in %s order by %s" % (dir, name)
+
def render_header_content(self, session):
pass
+ def render_header_link_class(self, session):
+ pass
+
def render_cell_content(self, session, record):
pass
@@ -155,14 +172,39 @@
class TableColumnHeader(TableChild):
def render_class(self, session):
- return self.parent.render_class(session)
+ cls = self.parent.render_class(session)
+ align = self.parent.render_text_align(session)
+ if align is "right":
+ return " ".join(("ralign", cls))
+ return cls
+ def render_link_class(self, session):
+ return self.parent.render_header_link_class(session)
+
def render_href(self, session):
return self.parent.render_header_href(session)
def render_content(self, session):
return self.parent.render_header_content(session)
+ def render_sorted_dir(self, session):
+ container = self.table
+ sel = container.sort.get(session)
+ asc = container.ascending.get(session)
+
+ if sel == self.parent.name:
+ if asc:
+ return "up"
+ else:
+ return "down"
+ elif asc:
+ return "unsorted_up"
+ else:
+ return "unsorted_down"
+
+ def render_title(self, session):
+ return self.parent.render_header_title(session)
+
class TableColumnCell(TableChild):
def render_class(self, session, record):
return self.parent.render_class(session)
Modified: trunk/wooly/python/wooly/table.strings
===================================================================
--- trunk/wooly/python/wooly/table.strings 2011-02-15 15:26:27 UTC (rev 4525)
+++ trunk/wooly/python/wooly/table.strings 2011-02-15 15:33:16 UTC (rev 4526)
@@ -53,7 +53,7 @@
}
[TableColumnHeader.html]
-<th class="{class}"><a
href="{href}">{content}</a></th>
+<th class="{class}"><a class="{link_class}"
title="{title}" href="{href}"><span><span
class="{sorted_dir}">{content}</span></span></a></th>
[TableColumnCell.html]
<td class="{class}">{content}</td>
Show replies by date