Module: check_mk
Branch: master
Commit: 1819dc2027cdd7b2459706bbecb2cf5e1bb278ff
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=1819dc2027cdd7…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Tue Nov 24 13:33:42 2015 +0100
Fixed border styling in table layouts with multiple columns
---
web/htdocs/views.css | 6 ++++++
web/htdocs/views.py | 19 +++++++++++++++----
web/plugins/views/layouts.py | 14 ++++++++------
3 files changed, 29 insertions(+), 10 deletions(-)
diff --git a/web/htdocs/views.css b/web/htdocs/views.css
index f30ab00..a3aeee6 100644
--- a/web/htdocs/views.css
+++ b/web/htdocs/views.css
@@ -231,6 +231,12 @@ td.groupheader {
padding: 0;
}
+table.data tr.data > td.gap,
+table.data tr > td.last_col,
+table.data tr > th.last_col {
+ border-right: 0;
+}
+
td.gap, table.data .checkbox_hover.gap {
background-image: url("images/contentframe_background.jpg");
background-attachment: fixed;
diff --git a/web/htdocs/views.py b/web/htdocs/views.py
index c132678..fd9d9c1 100644
--- a/web/htdocs/views.py
+++ b/web/htdocs/views.py
@@ -2058,9 +2058,15 @@ def execute_hooks(hook):
else:
pass
-def paint(p, row, tdattrs=""):
+def paint(p, row, tdattrs="", is_last_painter=False):
tdclass, content = prepare_paint(p, row)
+ if is_last_painter:
+ if tdclass == None:
+ tdclass = "last_col"
+ else:
+ tdclass += " last_col"
+
if tdclass:
html.write("<td %s class=\"%s\">%s</td>\n" %
(tdattrs, tdclass, content))
else:
@@ -2288,7 +2294,7 @@ def sort_url(view, painter, join_index):
return ','.join(p)
-def paint_header(view, p):
+def paint_header(view, p, is_last_column_header=False):
# The variable p is a tuple with the following components:
# p[0] --> painter object, from multisite_painters[]
# p[1] --> view name to link to or None (not needed here)
@@ -2309,7 +2315,7 @@ def paint_header(view, p):
# Important for links:
# - Add the display options (Keeping the same display options as current)
# - Link to _self (Always link to the current frame)
- thclass = ''
+ classes = []
onclick = ''
title = ''
if 'L' in html.display_options \
@@ -2321,10 +2327,15 @@ def paint_header(view, p):
if hasattr(html, 'title_display_options'):
params.append(('display_options', html.title_display_options))
- thclass = ' class="sort %s"' % get_primary_sorter_order(view,
painter)
+ classes += [ "sort", get_primary_sorter_order(view, painter) ]
onclick = ' onclick="location.href=\'%s\'"' %
html.makeuri(params, 'sort')
title = ' title="%s"' % (_('Sort by %s') % t)
+ if is_last_column_header:
+ classes.append("last_col")
+
+ thclass = classes and (" class=\"%s\"" % "
".join(classes)) or ""
+
html.write("<th%s%s%s>%s</th>" % (thclass, onclick, title, t))
def register_events(row):
diff --git a/web/plugins/views/layouts.py b/web/plugins/views/layouts.py
index 567ca53..923cbdf 100644
--- a/web/plugins/views/layouts.py
+++ b/web/plugins/views/layouts.py
@@ -377,8 +377,11 @@ def render_grouped_list(rows, view, group_painters, painters,
num_columns, show_
else:
html.write('<th></th>')
- for p in painters:
- paint_header(view, p)
+ last_painter = painters[-1]
+ for painter in painters:
+ is_last_column_header = painter == last_painter
+ paint_header(view, painter, is_last_column_header)
+
if n < num_columns:
html.write('<td class=gap></td>')
@@ -401,7 +404,6 @@ def render_grouped_list(rows, view, group_painters, painters,
num_columns, show_
return members
- index = 0
visible_row_number = 0
for row in rows:
register_events(row) # needed for playing sounds
@@ -481,11 +483,11 @@ def render_grouped_list(rows, view, group_painters, painters,
num_columns, show_
if show_checkboxes:
render_checkbox_td(view, row, num_painters)
- for p in painters:
- paint(p, row)
+ last_painter = painters[-1]
+ for painter in painters:
+ paint(painter, row, is_last_painter=last_painter==painter)
column += 1
- index += 1
if group_open:
for i in range(column-1, num_columns):