[Checkins]
SVN: z3c.formjs/branches/pcardune-client-notify-r87806/src/z3c/formjs/jsfunction.
make sure namespaces don't get clobbered if they've already
been initialized.
Paul Carduner
paulcarduner at gmail.com
Sat Jul 12 18:39:43 EDT 2008
Log message for revision 88303:
make sure namespaces don't get clobbered if they've already been initialized.
Changed:
U z3c.formjs/branches/pcardune-client-notify-r87806/src/z3c/formjs/jsfunction.py
U z3c.formjs/branches/pcardune-client-notify-r87806/src/z3c/formjs/jsfunction.txt
-=-
Modified: z3c.formjs/branches/pcardune-client-notify-r87806/src/z3c/formjs/jsfunction.py
===================================================================
--- z3c.formjs/branches/pcardune-client-notify-r87806/src/z3c/formjs/jsfunction.py 2008-07-12 22:26:58 UTC (rev 88302)
+++ z3c.formjs/branches/pcardune-client-notify-r87806/src/z3c/formjs/jsfunction.py 2008-07-12 22:39:43 UTC (rev 88303)
@@ -93,15 +93,17 @@
result += '}\n'
# initialize namespaces
+ namespaces = filter(lambda k: bool(k),self._functions.keys())
+ namespaces.sort() # sort namespaces and ignore top level empty namespace.
rendered = []
- for nsIndex, ns in enumerate(sorted(self._functions.keys())):
+ for nsIndex, ns in enumerate(namespaces):
if ns and nsIndex == 0:
result += 'var '
parts = ns.split('.')
for index in xrange(len(ns)):
path = '.'.join(parts[:index+1])
if path not in rendered:
- result += '%s = {};\n' % path
+ result += '%s = %s || {};\n' % (path, path)
rendered.append(path)
for ns, funcs in self._functions.items():
Modified: z3c.formjs/branches/pcardune-client-notify-r87806/src/z3c/formjs/jsfunction.txt
===================================================================
--- z3c.formjs/branches/pcardune-client-notify-r87806/src/z3c/formjs/jsfunction.txt 2008-07-12 22:26:58 UTC (rev 88302)
+++ z3c.formjs/branches/pcardune-client-notify-r87806/src/z3c/formjs/jsfunction.txt 2008-07-12 22:39:43 UTC (rev 88303)
@@ -30,7 +30,7 @@
The functions can be rendered directly:
>>> print View.jsFunctions.render()
- var hw = {};
+ var hw = hw || {};
hw.showHelloWorldMessage = function() {
alert('Hello World!');
};
@@ -49,9 +49,9 @@
{'showHelloWorldMessage': <JSFunction showHelloWorldMessage>}}>
>>> print View.jsFunctions.render()
- var z3c = {};
- z3c.formjs = {};
- z3c.formjs.hw = {};
+ var z3c = z3c || {};
+ z3c.formjs = z3c.formjs || {};
+ z3c.formjs.hw = z3c.formjs.hw || {};
z3c.formjs.hw.showHelloWorldMessage = function() {
alert('Hello World!');
};
@@ -78,9 +78,9 @@
'z3c.formjs': {'bar': <JSFunction bar>}}>
>>> print View.jsFunctions.render()
- var z3c = {};
- z3c.formjs = {};
- z3c.formjs.hw = {};
+ var z3c = z3c || {};
+ z3c.formjs = z3c.formjs || {};
+ z3c.formjs.hw = z3c.formjs.hw || {};
z3c.formjs.hw.foo = function() {
alert('Foo');
};
@@ -102,9 +102,9 @@
>>> viewlet.update()
>>> print viewlet.render()
<script type="text/javascript">
- var z3c = {};
- z3c.formjs = {};
- z3c.formjs.hw = {};
+ var z3c = z3c || {};
+ z3c.formjs = z3c.formjs || {};
+ z3c.formjs.hw = z3c.formjs.hw || {};
z3c.formjs.hw.foo = function() {
alert('Foo');
};
@@ -154,7 +154,7 @@
var show1 = function () {
alert('Hello World!');
}
- ns1 = {};
+ var ns1 = ns1 || {};
ns1.show1 = function() {
alert('Hello World!');
};
@@ -173,7 +173,7 @@
... return u"alert('Title' + title);"
>>> print View.jsFunctions.render()
- var ns = {};
+ var ns = ns || {};
ns.show = function(title) {
alert('Title' + title);
};
More information about the Checkins
mailing list