Module: check_mk
Branch: master
Commit: 95d5b38e6eec84ec754b0b141e22f81a3a2f28fb
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=95d5b38e6eec84…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Thu Feb 2 09:28:51 2012 +0100
ValueSpec: make CascadingDropdown sorted
---
web/htdocs/valuespec.py | 11 +++++++++--
1 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/web/htdocs/valuespec.py b/web/htdocs/valuespec.py
index 11bb85a..8707a3f 100644
--- a/web/htdocs/valuespec.py
+++ b/web/htdocs/valuespec.py
@@ -597,6 +597,7 @@ class CascadingDropdown(ValueSpec):
self._choices = kwargs["choices"]
self._separator = kwargs.get("separator", ", ")
self._html_separator = kwargs.get("html_separator",
"<br>")
+ self._sorted = kwargs.get("sorted", True)
def canonical_value(self):
if self._choices[0][2]:
@@ -612,8 +613,14 @@ class CascadingDropdown(ValueSpec):
if value == val or (
type(value) == tuple and value[0] == val):
def_val = nr
- html.select(varprefix + "_sel", options, def_val,
- onchange="valuespec_cascading_change(this, '%s',
%d);" % (varprefix, len(self._choices)))
+
+ vp = varprefix + "_sel"
+ onchange="valuespec_cascading_change(this, '%s', %d);" %
(varprefix, len(self._choices))
+ if self._sorted:
+ html.select(vp, options, def_val, onchange=onchange)
+ else:
+ html.sorted_select(vp, options, def_val, onchange=onchange)
+
html.write(self._html_separator)
for nr, (val, title, vs) in enumerate(self._choices):
if vs: