[Checkins] SVN: z3c.reference/trunk/ Seting the new input data from
an editor updated the html content via
Juergen Kartnaller
juergen at kartnaller.at
Fri Sep 21 06:26:07 EDT 2007
Log message for revision 79787:
Seting the new input data from an editor updated the html content via
javascript.
Extended the widget to render all relevant data into hidden fields
Changed:
U z3c.reference/trunk/CHANGES.txt
U z3c.reference/trunk/setup.py
U z3c.reference/trunk/src/z3c/reference/browser/README.txt
U z3c.reference/trunk/src/z3c/reference/browser/opener.pt
U z3c.reference/trunk/src/z3c/reference/browser/resources/reference.editor.js
U z3c.reference/trunk/src/z3c/reference/browser/resources/z3c_reference.js
U z3c.reference/trunk/src/z3c/reference/browser/views.py
U z3c.reference/trunk/src/z3c/reference/browser/widget.pt
U z3c.reference/trunk/src/z3c/reference/browser/widget.py
-=-
Modified: z3c.reference/trunk/CHANGES.txt
===================================================================
--- z3c.reference/trunk/CHANGES.txt 2007-09-21 10:25:43 UTC (rev 79786)
+++ z3c.reference/trunk/CHANGES.txt 2007-09-21 10:26:06 UTC (rev 79787)
@@ -5,6 +5,11 @@
After
=====
+- seting the new input data from an editor updated the html content via
+ javascript
+
+- extended the widget to render all relevant data into hidden fields
+
- image widget with list of aspect ratios
2007/09/16 1.0.0a4:
Modified: z3c.reference/trunk/setup.py
===================================================================
--- z3c.reference/trunk/setup.py 2007-09-21 10:25:43 UTC (rev 79786)
+++ z3c.reference/trunk/setup.py 2007-09-21 10:26:06 UTC (rev 79787)
@@ -25,6 +25,7 @@
),
install_requires = [
'setuptools',
+ 'simplejson',
'ZODB3',
'BeautifulSoup',
'zc.resourcelibrary',
Modified: z3c.reference/trunk/src/z3c/reference/browser/README.txt
===================================================================
--- z3c.reference/trunk/src/z3c/reference/browser/README.txt 2007-09-21 10:25:43 UTC (rev 79786)
+++ z3c.reference/trunk/src/z3c/reference/browser/README.txt 2007-09-21 10:26:06 UTC (rev 79787)
@@ -82,11 +82,12 @@
>>> print widget()
<a class="popupwindow" href="http://127.0.0.1/Intro/viewReferenceEditor.html?target=&settingName=introRefs&name=field.intro" id="field.intro.tag" name="field.intro" onclick="" rel="window">
- <span>Undefined</span>
+ <span id="field.intro.title">Undefined</span>
</a>
<input class="hiddenType" id="field.intro.target" name="field.intro.target" type="hidden" value="" rel="window" />
<input class="hiddenType" id="field.intro.formData" name="field.intro.formData" type="hidden" value="" rel="window" />
<input class="hiddenType" id="field.intro.refId" name="field.intro.refId" type="hidden" value="" rel="window" />
+ <input class="hiddenType" id="field.intro.settingName" name="field.intro.settingName" type="hidden" value="introRefs" rel="window" />
If we store a empty request/form we will get the following error::
Modified: z3c.reference/trunk/src/z3c/reference/browser/opener.pt
===================================================================
--- z3c.reference/trunk/src/z3c/reference/browser/opener.pt 2007-09-21 10:25:43 UTC (rev 79786)
+++ z3c.reference/trunk/src/z3c/reference/browser/opener.pt 2007-09-21 10:26:06 UTC (rev 79787)
@@ -2,4 +2,6 @@
<span tal:condition="view/target/@@zmi_icon | nothing"
tal:content="structure view/target/@@zmi_icon"/>
</tal:block>
-<span tal:content="view/title"/>
+<span id=""
+ tal:attributes="id view/spanTitleId"
+ tal:content="view/title"/>
Modified: z3c.reference/trunk/src/z3c/reference/browser/resources/reference.editor.js
===================================================================
--- z3c.reference/trunk/src/z3c/reference/browser/resources/reference.editor.js 2007-09-21 10:25:43 UTC (rev 79786)
+++ z3c.reference/trunk/src/z3c/reference/browser/resources/reference.editor.js 2007-09-21 10:26:06 UTC (rev 79787)
@@ -8,9 +8,8 @@
function saveAndClose(){
query = $($("form")[0]).formSerialize();
- //TODO: more parameters to fully update the widget
- // - see z3c.reference.js/setReference
- window.opener.setReferenceInput(name, currentTargetUid, query);
+ var title = $("input[@id=form.title]").val();
+ window.opener.setReferenceInput(name, currentTargetUid, query, title);
window.close();
}
Modified: z3c.reference/trunk/src/z3c/reference/browser/resources/z3c_reference.js
===================================================================
--- z3c.reference/trunk/src/z3c/reference/browser/resources/z3c_reference.js 2007-09-21 10:25:43 UTC (rev 79786)
+++ z3c.reference/trunk/src/z3c/reference/browser/resources/z3c_reference.js 2007-09-21 10:26:06 UTC (rev 79787)
@@ -25,15 +25,22 @@
// called by popupwindow to write formdata back to opener
// parameter elementid: input name in which to write into
// parameter value: formdata string
-// TODO: more parameter to fully update the widget
-// - title
-// - image on/off
-function setReferenceInput(name, targetUid, query){
- $j("input[@name="+name+".target]").val(targetUid);
- $j("input[@name="+name+".formData]").val(query);
+function setReferenceInput(name, targetUid, query, title){
+ $j("input[@name="+name+".target]").val(targetUid);
+ $j("input[@name="+name+".formData]").val(query);
+ $j("span[@id="+name+".title]").empty().append(title);
+
+ var a = $j("a[@name="+name+"]");
+ var url = a.attr("href");
+ url = url.split('?')[0]
+ + '?target=' + $j("input[@name="+name+".target]").val()
+ + '&settingName=' + $j("input[@name="+name+".settingName]").val()
+ + '&name=' + name;
+ a.attr('href', url);
}
function getReferenceInputData(name){
return $j("input[@name="+name+".formData]").val()
}
+
Modified: z3c.reference/trunk/src/z3c/reference/browser/views.py
===================================================================
--- z3c.reference/trunk/src/z3c/reference/browser/views.py 2007-09-21 10:25:43 UTC (rev 79786)
+++ z3c.reference/trunk/src/z3c/reference/browser/views.py 2007-09-21 10:26:06 UTC (rev 79787)
@@ -120,8 +120,11 @@
class DefaultViewReferenceOpener(object):
interface.implements(interfaces.IViewReferenceOpener)
+
__call__ = ViewPageTemplateFile('opener.pt')
+ prefix = ''
+
def __init__(self, context, request):
self.context = context
self.request = request
@@ -140,7 +143,11 @@
return IZopeDublinCore(self.context).title
return u'Undefined'
+ @property
+ def spanTitleId(self):
+ return self.prefix + '.title'
+
class ViewReferenceEditorDispatcher(object):
"""Return the edit IViewReferenceEditor for the target context
Modified: z3c.reference/trunk/src/z3c/reference/browser/widget.pt
===================================================================
--- z3c.reference/trunk/src/z3c/reference/browser/widget.pt 2007-09-21 10:25:43 UTC (rev 79786)
+++ z3c.reference/trunk/src/z3c/reference/browser/widget.pt 2007-09-21 10:26:06 UTC (rev 79787)
@@ -1,8 +1,3 @@
-<!--
-TODO: create a javascript button
-<input type="button"
- tal:replace="structure options/removeButton" />
--->
<a href=""
tal:replace="structure options/linkTag">editor link</a>
<input type="hidden"
@@ -11,3 +6,5 @@
tal:replace="structure options/formDataInput" />
<input type="hidden"
tal:replace="structure options/refIdInput" />
+<input type="hidden"
+ tal:replace="structure options/settingNameInput" />
Modified: z3c.reference/trunk/src/z3c/reference/browser/widget.py
===================================================================
--- z3c.reference/trunk/src/z3c/reference/browser/widget.py 2007-09-21 10:25:43 UTC (rev 79786)
+++ z3c.reference/trunk/src/z3c/reference/browser/widget.py 2007-09-21 10:26:06 UTC (rev 79787)
@@ -150,11 +150,13 @@
ref = None
openerView = getOpenerView(ref, self.request,
self.context.settingName)
+ openerView.prefix = self.name
contents = openerView()
removeName = self.name + '.remove'
targetName = self.name + '.target'
formDataName = self.name + '.formData'
+ settingNameFieldName = self.name + '.settingName'
intidInput = renderElement(u'input',
type='hidden',
name=targetName,
@@ -173,6 +175,12 @@
id=formDataName,
value=self.formDataValue,
extra=self.extra)
+ settingNameInput = renderElement(u'input',
+ type='hidden',
+ name=settingNameFieldName,
+ id=settingNameFieldName,
+ value = self.context.settingName,
+ extra=self.extra)
linkTag = renderElement(self.refTag,
href = self.referenceEditorURL,
name=self.name,
@@ -192,7 +200,9 @@
linkTag=linkTag,
intidInput=intidInput,
formDataInput=formDataInput,
- refIdInput=refIdInput)
+ refIdInput=refIdInput,
+ settingNameInput=settingNameInput,
+ )
def _getFormValue(self):
res = super(ViewReferenceWidget,self)._getFormValue()
More information about the Checkins
mailing list