[Checkins] SVN: z3c.formext/branches/sagblmi-morecomponent/src/z3c/formext/form.py scriptTag call now scriptCode. So it's now possible to only have related script code for the form without scriptTag
Laurent Mignon
Laurent.Mignon at softwareag.com
Thu Feb 26 12:22:20 EST 2009
Log message for revision 97326:
scriptTag call now scriptCode. So it's now possible to only have related script code for the form without scriptTag
Changed:
U z3c.formext/branches/sagblmi-morecomponent/src/z3c/formext/form.py
-=-
Modified: z3c.formext/branches/sagblmi-morecomponent/src/z3c/formext/form.py
===================================================================
--- z3c.formext/branches/sagblmi-morecomponent/src/z3c/formext/form.py 2009-02-26 17:15:48 UTC (rev 97325)
+++ z3c.formext/branches/sagblmi-morecomponent/src/z3c/formext/form.py 2009-02-26 17:22:20 UTC (rev 97326)
@@ -22,14 +22,12 @@
import zope.interface
from zope.app.pagetemplate.viewpagetemplatefile import ViewPageTemplateFile
from zope.i18n import translate
-from zope.pagetemplate.interfaces import IPageTemplate
from zope.schema.fieldproperty import FieldProperty
from zope.security.proxy import removeSecurityProxy
import z3c.form.form
from z3c.form.button import Button, Buttons
from z3c.form.button import ButtonAction
-from z3c.form.button import ButtonAction
from z3c.form.interfaces import IFormLayer
from z3c.form.util import SelectionManager
from z3c.formjs.ajax import AJAXHandler, AJAXHandlers
@@ -73,21 +71,17 @@
' %%s\n'
' });' % dep)
+
class ScriptProvider(object):
script = ''
scriptDependencies = ()
@property
- def scriptTag(self):
- tagWrap = '<script type="text/javascript" language="Javascript">\n%s\n</script>'
+ def scriptCode(self):
closureWrap = ' (function(){\n%s\n})();'
+ script = self.script
- depWraps = '%s'
- for dep in self.scriptDependencies:
- depWraps = depWraps % dependencyWrap(dep)
-
- script = self.script
if hasattr(script, '__call__'):
#this is a page template.
script = script()
@@ -97,8 +91,15 @@
jsVars = '\n'.join([' var %s=%s;' % (name,
jsonEncode(prop(self), context=self.request))
for name, prop in self.jsproperties.items()])
+ depWraps = '%s'
+ for dep in self.scriptDependencies:
+ depWraps = depWraps % dependencyWrap(dep)
+ return closureWrap % (depWraps % ('%s\n%s' % (jsVars, script)))
- return tagWrap % (closureWrap % (depWraps % ('%s\n%s' % (jsVars, script))))
+ @property
+ def scriptTag(self):
+ tagWrap = '<script type="text/javascript" language="Javascript">\n%s\n</script>'
+ return tagWrap % (self.scriptCode)
class ScriptPagelet(ScriptProvider, AJAXRequestHandler, BrowserPagelet):
More information about the Checkins
mailing list