[rhmessaging-commits] rhmessaging commits: r1753 - in mgmt: notes and 1 other directory.
rhmessaging-commits at lists.jboss.org
rhmessaging-commits at lists.jboss.org
Mon Mar 3 12:30:06 EST 2008
Author: justi9
Date: 2008-03-03 12:30:06 -0500 (Mon, 03 Mar 2008)
New Revision: 1753
Modified:
mgmt/cumin/python/cumin/broker.py
mgmt/cumin/python/cumin/client.py
mgmt/cumin/python/cumin/queue.py
mgmt/cumin/python/cumin/system.py
mgmt/cumin/python/cumin/widgets.py
mgmt/cumin/python/cumin/widgets.strings
mgmt/notes/justin-todo.txt
Log:
Add a checkbox to table headers for selecting or deselecting all table
items.
Modified: mgmt/cumin/python/cumin/broker.py
===================================================================
--- mgmt/cumin/python/cumin/broker.py 2008-03-03 17:28:57 UTC (rev 1752)
+++ mgmt/cumin/python/cumin/broker.py 2008-03-03 17:30:06 UTC (rev 1753)
@@ -20,7 +20,7 @@
def __init__(self, app, name):
super(BrokerSet, self).__init__(app, name)
- self.ids = CheckboxIdColumn(app, "id")
+ self.ids = CheckboxIdColumn(app, "id", self)
self.add_column(self.ids)
self.add_form_parameter(self.ids)
Modified: mgmt/cumin/python/cumin/client.py
===================================================================
--- mgmt/cumin/python/cumin/client.py 2008-03-03 17:28:57 UTC (rev 1752)
+++ mgmt/cumin/python/cumin/client.py 2008-03-03 17:30:06 UTC (rev 1753)
@@ -15,7 +15,7 @@
def __init__(self, app, name):
super(ClientSet, self).__init__(app, name)
- self.ids = CheckboxIdColumn(app, "id")
+ self.ids = CheckboxIdColumn(app, "id", self)
self.add_column(self.ids)
col = self.AddressColumn(app, "addr")
@@ -329,7 +329,7 @@
def __init__(self, app, name):
super(ClientSessionSet, self).__init__(app, name)
- self.ids = CheckboxIdColumn(app, "id")
+ self.ids = CheckboxIdColumn(app, "id", self)
self.add_column(self.ids)
col = self.NameColumn(app, "name")
Modified: mgmt/cumin/python/cumin/queue.py
===================================================================
--- mgmt/cumin/python/cumin/queue.py 2008-03-03 17:28:57 UTC (rev 1752)
+++ mgmt/cumin/python/cumin/queue.py 2008-03-03 17:30:06 UTC (rev 1753)
@@ -20,7 +20,7 @@
def __init__(self, app, name):
super(QueueSet, self).__init__(app, name)
- self.ids = CheckboxIdColumn(app, "id")
+ self.ids = CheckboxIdColumn(app, "id", self)
self.add_column(self.ids)
col = self.NameColumn(app, "name")
Modified: mgmt/cumin/python/cumin/system.py
===================================================================
--- mgmt/cumin/python/cumin/system.py 2008-03-03 17:28:57 UTC (rev 1752)
+++ mgmt/cumin/python/cumin/system.py 2008-03-03 17:30:06 UTC (rev 1753)
@@ -13,7 +13,7 @@
def __init__(self, app, name):
super(SystemSet, self).__init__(app, name)
- self.ids = CheckboxIdColumn(app, "id")
+ self.ids = CheckboxIdColumn(app, "id", self)
self.add_column(self.ids)
self.add_form_parameter(self.ids)
Modified: mgmt/cumin/python/cumin/widgets.py
===================================================================
--- mgmt/cumin/python/cumin/widgets.py 2008-03-03 17:28:57 UTC (rev 1752)
+++ mgmt/cumin/python/cumin/widgets.py 2008-03-03 17:30:06 UTC (rev 1753)
@@ -494,25 +494,35 @@
return fmt_rate(stat.rate(binding), "msg", "sec")
class CheckboxIdColumn(SqlTableColumn):
- def __init__(self, app, name):
+ def __init__(self, app, name, form):
super(CheckboxIdColumn, self).__init__(app, name)
+ self.form = form
+ self.header_class = CheckboxIdColumnHeader
+
param = IntegerParameter(app, "param")
self.add_parameter(param)
- self.__list = ListParameter(app, "id", param)
- self.add_parameter(self.__list)
+ self.ids = ListParameter(app, "id", param)
+ self.add_parameter(self.ids)
def get(self, session):
- return self.__list.get(session)
+ return self.ids.get(session)
def clear(self, session):
- self.__list.set(session, list())
+ self.ids.set(session, list())
def do_render(self, session, data):
- name = self.__list.path()
+ name = self.ids.path()
id = data[self.name]
- attr = id in self.__list.get(session) and "checked=\"checked\"" or ""
+ attr = id in self.ids.get(session) and "checked=\"checked\"" or ""
t = "<td><input type=\"checkbox\" name=\"%s\" value=\"%i\" %s/></td>"
return t % (name, id, attr)
+
+class CheckboxIdColumnHeader(ItemTableColumnHeader):
+ def render_form_id(self, session, object):
+ return self.column.form.path()
+
+ def render_elem_name(self, session, object):
+ return self.column.ids.path()
Modified: mgmt/cumin/python/cumin/widgets.strings
===================================================================
--- mgmt/cumin/python/cumin/widgets.strings 2008-03-03 17:28:57 UTC (rev 1752)
+++ mgmt/cumin/python/cumin/widgets.strings 2008-03-03 17:30:06 UTC (rev 1753)
@@ -186,3 +186,21 @@
[TableHeader.item_html]
<th class="{item_class}"><a href="{item_href}">{item_content}</a></th>
+
+[CheckboxIdColumnHeader.javascript]
+function checkAll(control_id, form_id, elem_name) {
+ control = document.getElementById(control_id)
+ form = document.getElementById(form_id);
+
+ for (i = 0; i < form.elements.length; i++) {
+ elem = form.elements[i];
+
+ if (elem.name == elem_name) {
+ elem.checked = control.checked;
+ }
+ }
+}
+
+[CheckboxIdColumnHeader.html]
+<th><input id="{id}" type="checkbox"
+ onclick="checkAll('{id}', '{form_id}', '{elem_name}')"/></th>
Modified: mgmt/notes/justin-todo.txt
===================================================================
--- mgmt/notes/justin-todo.txt 2008-03-03 17:28:57 UTC (rev 1752)
+++ mgmt/notes/justin-todo.txt 2008-03-03 17:30:06 UTC (rev 1753)
@@ -1,7 +1,5 @@
Current
- * Bulk actions: Add javascript for the check-all behavior
-
* Tables: Add sort direction icon
* Tables: Make null values in tables dashes, not zeroes
More information about the rhmessaging-commits
mailing list