Module: check_mk
Branch: master
Commit: 87ca1815b80b0d4344b7406ac35a208d27e98dfc
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=87ca1815b80b0d…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Mon Mar 12 13:43:23 2012 +0100
ListOf: fix replacing of magic
---
web/htdocs/htmllib.py | 10 ++++++++++
web/htdocs/valuespec.py | 2 ++
2 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/web/htdocs/htmllib.py b/web/htdocs/htmllib.py
index cc81e2f..f10e9d1 100644
--- a/web/htdocs/htmllib.py
+++ b/web/htdocs/htmllib.py
@@ -174,10 +174,17 @@ class html:
self.context_buttons_open = False
self.mobile = False
self.buffering = True
+ self.transformations = []
def set_buffering(self, b):
self.buffering = b
+ def push_transformation(self, tf):
+ self.transformations.append(tf)
+
+ def pop_transformation(self):
+ del self.transformations[-1]
+
def plugin_stylesheets(self):
global plugin_stylesheets
try:
@@ -201,6 +208,9 @@ class html:
self.link_target = framename
def write(self, text):
+ for tf in self.transformations:
+ text = tf(text)
+
if type(text) == unicode:
text = text.encode("utf-8")
if self.buffering:
diff --git a/web/htdocs/valuespec.py b/web/htdocs/valuespec.py
index 7026177..d43887e 100644
--- a/web/htdocs/valuespec.py
+++ b/web/htdocs/valuespec.py
@@ -539,6 +539,7 @@ class ListOf(ValueSpec):
# Actual table of currently existing entries
html.write('<table class="valuespec_listof"
id="%s_table">' % varprefix)
for nr, v in enumerate(value):
+ html.push_transformation(lambda x: x.replace(self._magic, str(nr+1)))
html.write('<tr><td class=vlof_buttons>')
html.hidden_field(varprefix + "_indexof_%d" % (nr+1), "")
# reconstruct order after moving stuff
self.del_button(varprefix, nr+1)
@@ -547,6 +548,7 @@ class ListOf(ValueSpec):
html.write("</td><td class=vlof_content>")
self._valuespec.render_input(varprefix + "_%d" % (nr+1), v)
html.write("</td></tr>")
+ html.pop_transformation()
html.write("</table>")
html.write("<br>")
html.jsbutton(varprefix + "_add", self._add_label,