[Checkins] SVN: z3c.formjsdemo/trunk/src/z3c/formjsdemo/tree/ make edit form update the title displayed at the top of the page.

Paul Carduner paulcarduner at gmail.com
Wed Aug 22 21:52:29 EDT 2007


Log message for revision 79152:
  make edit form update the title displayed at the top of the page.

Changed:
  U   z3c.formjsdemo/trunk/src/z3c/formjsdemo/tree/browser.py
  U   z3c.formjsdemo/trunk/src/z3c/formjsdemo/tree/treenode.pt

-=-
Modified: z3c.formjsdemo/trunk/src/z3c/formjsdemo/tree/browser.py
===================================================================
--- z3c.formjsdemo/trunk/src/z3c/formjsdemo/tree/browser.py	2007-08-22 23:34:52 UTC (rev 79151)
+++ z3c.formjsdemo/trunk/src/z3c/formjsdemo/tree/browser.py	2007-08-23 01:52:27 UTC (rev 79152)
@@ -39,7 +39,6 @@
 
 SESSION_KEY = 'z3c.formjsdemo.tree'
 
-
 class PrefixForm(object):
 
     postfix = ''
@@ -57,6 +56,7 @@
         info = repr(event).replace('<','&lt;').replace('>','&gt;').replace('"',"'")
         return '$("#server-events-container").append("<div>%s</div>")' % info
 
+
 class TreeNodeInlineAddForm(PrefixForm, EventsForm, form.AddForm):
     """Form for adding a tree node.
 
@@ -104,11 +104,18 @@
     render = form.AddForm.render
 
 
-class TreeNodeForm(layout.FormLayoutSupport,
+class TreeNodeForm(PrefixForm, layout.FormLayoutSupport,
                    form.Form):
 
+    postfix = 'main' # distinguish prefix from others on the page.
     fields = field.Fields(interfaces.ITreeNode).select('title')
 
+    def updateWidgets(self):
+        self.widgets = getMultiAdapter(
+            (self, self.request, self.getContent()), IWidgets)
+        self.widgets.mode = DISPLAY_MODE
+        self.widgets.update()
+
     @jsfunction.function('tree')
     def expandNode(self, url, expanderId, contractorId, containerId):
         """Expand the node that using the given prefix and url"""
@@ -214,7 +221,12 @@
         inlineform = TreeNodeInlineForm(self.context, self.request)
         inlineform.update()
         titleId = inlineform.widgets['title'].id
-        return '$("#%s").html("%s")' % (titleId, self.context.title)
+        mainform = TreeNodeForm(self.context, self.request)
+        mainform.update()
+        mainTitleId = mainform.widgets['title'].id
+        lines = ['$("#%s").html("%s")' % (titleId, self.context.title),
+                 '$("#%s").html("%s")' % (mainTitleId, self.context.title)]
+        return '\n'.join(lines)
 
     def render(self):
         if self._applyChangesWasCalled:

Modified: z3c.formjsdemo/trunk/src/z3c/formjsdemo/tree/treenode.pt
===================================================================
--- z3c.formjsdemo/trunk/src/z3c/formjsdemo/tree/treenode.pt	2007-08-22 23:34:52 UTC (rev 79151)
+++ z3c.formjsdemo/trunk/src/z3c/formjsdemo/tree/treenode.pt	2007-08-23 01:52:27 UTC (rev 79152)
@@ -1,5 +1,5 @@
 <script type="text/javascript" tal:content="view/jsFunctions/render"></script>
-<h2>The Root is: <strong tal:content="context/title" /></h2>
+<h2>The Root is: <strong tal:content="structure view/widgets/title/render" /></h2>
 <p>And here is the tree:</p>
 
 <div id="tree" tal:content="structure context/@@inline" />



More information about the Checkins mailing list