Module: check_mk
Branch: master
Commit: 9ef39def0bea2d47c79f4b3af3ce2e283a0e979e
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=9ef39def0bea2d…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Thu Dec 15 12:08:53 2016 +0100
Cleaned up togglebutton a bit
Change-Id: I1af05f9bc5d5bd2fee7432bd30ed6ef6daf56768
---
web/htdocs/views.py | 57 ++++++++++++++++++++++++-----------------------------
web/htdocs/wato.py | 10 ++++++++++
2 files changed, 36 insertions(+), 31 deletions(-)
diff --git a/web/htdocs/views.py b/web/htdocs/views.py
index ccabfb0..a4c1cbc 100644
--- a/web/htdocs/views.py
+++ b/web/htdocs/views.py
@@ -1994,7 +1994,7 @@ def view_optiondial(view, option, choices, help):
def view_optiondial_off(option):
html.write('<div class="optiondial off %s"></div>' %
option)
-# FIXME: Consolidate toggle rendering functions
+# FIXME: Consolidate with html.toggle_button() rendering functions
def toggler(id, icon, help, onclick, value, hidden = False):
html.begin_context_buttons() # just to be sure
hide = hidden and ' style="display:none"' or ''
@@ -2023,25 +2023,25 @@ def ajax_set_viewoption():
po.save_to_config()
-# FIXME: Consolidate toggle rendering functions
-def togglebutton_off(id, icon, hidden = False):
- html.begin_context_buttons()
- hide = hidden and ' style="display:none"' or ''
- html.write('<div id="%s_off" class="togglebutton off
%s"%s>'
- '<img src="images/icon_%s.png"></div>' %
(id, icon, hide, icon))
+def togglebutton(id, isopen, icon, help, hidden=False, disabled=False):
+ html.begin_context_buttons() # TODO: Check all calls. If done before, remove this!
-
-# FIXME: Consolidate toggle rendering functions
-def togglebutton(id, isopen, icon, help, hidden = False):
- html.begin_context_buttons()
- if isopen:
- cssclass = "down"
+ if disabled:
+ state = "off" if disabled else "on"
+ cssclass = ""
+ help = ""
else:
- cssclass = "up"
+ state = "on"
+ if isopen:
+ cssclass = "down"
+ else:
+ cssclass = "up"
+
hide = hidden and ' style="display:none"' or ''
- html.write('<div id="%s_on" class="togglebutton %s %s"
title="%s" '
+ html.write('<div id="%s_%s" class="togglebutton %s %s %s"
title="%s" '
'onclick="view_toggle_form(this,
\'%s\');"%s>'
- '<img src="images/icon_%s.png"></div>' %
(id, icon, cssclass, help, id, hide, icon))
+ '<img src="images/icon_%s.png"></div>' % \
+ (id, state, state, icon, cssclass, help, id, hide, icon))
def show_context_links(thisview, show_filters,
@@ -2054,34 +2054,29 @@ def show_context_links(thisview, show_filters,
filter_isopen = html.var("filled_in") != "filter" and
thisview.get("mustsearch")
if display_options.enabled(display_options.F):
- if len(show_filters) > 0:
- if html.var("filled_in") == "filter":
- icon = "filters_set"
- help = _("The current data is being filtered")
- else:
- icon = "filters"
- help = _("Set a filter for refining the shown data")
- togglebutton("filters", filter_isopen, icon, help)
+ if html.var("filled_in") == "filter":
+ icon = "filters_set"
+ help = _("The current data is being filtered")
else:
- togglebutton_off("filters", "filters")
+ icon = "filters"
+ help = _("Set a filter for refining the shown data")
+ togglebutton("filters", filter_isopen, icon, help, disabled=not
show_filters)
if display_options.enabled(display_options.D):
- if painter_options.painter_option_form_enabled():
- togglebutton("painteroptions", False, "painteroptions",
_("Modify display options"))
- else:
- togglebutton_off("painteroptions", "painteroptions")
+ togglebutton("painteroptions", False, "painteroptions",
_("Modify display options"),
+ disabled=not painter_options.painter_option_form_enabled())
if display_options.enabled(display_options.C):
togglebutton("commands", False, "commands", _("Execute
commands on hosts, services and other objects"),
hidden = not enable_commands)
- togglebutton_off("commands", "commands", hidden =
enable_commands)
+ togglebutton("commands", False, "commands", "",
hidden=enable_commands, disabled=True)
selection_enabled = (enable_commands and enable_checkboxes) or
thisview.get("force_checkboxes")
if not thisview.get("force_checkboxes"):
toggler("checkbox", "checkbox", _("Enable/Disable
checkboxes for selecting rows for commands"),
"location.href='%s';" %
html.makeuri([('show_checkboxes', show_checkboxes and '0' or
'1')]),
show_checkboxes, hidden = True) # not selection_enabled)
- togglebutton_off("checkbox", "checkbox", hidden = not
thisview.get("force_checkboxes"))
+ togglebutton("checkbox", False, "checkbox", "",
hidden=not thisview.get("force_checkboxes"), disabled=True)
html.javascript('g_selection_enabled = %s;' % (selection_enabled and
'true' or 'false'))
if display_options.enabled(display_options.O):
diff --git a/web/htdocs/wato.py b/web/htdocs/wato.py
index 65a374a..640ff2b 100644
--- a/web/htdocs/wato.py
+++ b/web/htdocs/wato.py
@@ -11984,6 +11984,16 @@ def mode_rulesets(phase, group=None):
return title
elif phase == "buttons":
+ if html.has_var("filtered"):
+ filter_isopen = True
+ icon = "filters_set"
+ help = _("The current data is being filtered")
+ else:
+ filter_isopen = False
+ icon = "filters"
+ help = _("Set a filter for refining the shown data")
+ togglebutton("filters", filter_isopen, icon, help)
+
if only_host:
home_button()
if group != "static":