Re: [Zope] properties UI suggestion
Hi Evan, i just downloaded your changed property.dtml file (and the rest). It seems it was somehow (slightly) mutilated in the transfer to zope.org. A new version is appended. It works ok now. Rik <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <html lang="en"> <head> <title>Properties</title> <base href="http://www.zope.org/Members/4am/ChangePropertyTypes/properties.dtml/"> </head> <body bgcolor="#FFFFFF" link="#000099" vlink="#555555"> <dtml-var manage_tabs> <dtml-if Principia-Version> <p> <em>You are currently working in version <dtml-var Principia-Version></em> </p> </dtml-if Principia-Version> <P> Properties allow you to assign simple values to Zope objects. </P> <form action="<dtml-var URL1>" method="POST"> <dtml-if propertyMap> <p> The following properties are defined for this item. <dtml-if property_extensible_schema__> To <a href="#addpropform"> add a new property</a>, enter a name, type and value for the new property and click the "Add" button. </dtml-if> To change property values, edit the values and click "Save Changes". </p> <table border="0" cellspacing="0" cellpadding="2"> <dtml-in propertyMap mapping> <tr> <td align="left" valign="top" width="16"> <dtml-if "'d' in _['sequence-item'].get('mode', 'awd')"> <input type="checkbox" name="ids:list" value="<dtml-var id html_quote>" ID="cb-<dtml-var id>"> <dtml-else> </dtml-if> </td> <td align="left" valign="top"> <strong><LABEL FOR="cb-<dtml-var id>"><dtml-var "propertyLabel(id)"></LABEL></strong> </td> <td align="left" valign="top"> <dtml-if "'w' in _['sequence-item'].get('mode', 'awd')"> <dtml-if "type == 'int'"> <input type="text" name="<dtml-var id>:<dtml-var type>" size="35" value="<dtml-if "hasProperty(id)"><dtml-var "'%s' % getProperty(id)" html_quote></dtml-if>"> <dtml-elif "type == 'long'"> <input type="text" name="<dtml-var id>:<dtml-var type>" size="35" value="<dtml-if "hasProperty(id)"><dtml-var "('%s' % getProperty(id))[:-1]" html_quote></dtml-if>"> <dtml-elif "type in ('float', 'date')"> <input type="text" name="<dtml-var id>:<dtml-var type>" size="35" value="<dtml-var "getProperty(id)" html_quote>"> <dtml-elif "type=='string'"> <input type="text" name="<dtml-var id>:string" size="35" value="<dtml-var "getProperty(id)" html_quote>"> <dtml-elif "type=='boolean'"> <input type="checkbox" name="<dtml-var id>:boolean" size="35" <dtml-if "getProperty(id)">CHECKED</dtml-if>> <dtml-elif "type=='tokens'"> <input type="text" name="<dtml-var id>:tokens" size="35" value="<dtml-in "getProperty(id)"><dtml-var sequence-item html_quote> </dtml-in>"> <dtml-elif "type=='text'"> <textarea name="<dtml-var id>:text" rows="6" cols="35"><dtml-var "getProperty(id)" html_quote></textarea> <dtml-elif "type=='lines'"> <textarea name="<dtml-var id>:lines" rows="6" cols="35"><dtml-in "getProperty(id)"><dtml-var sequence-item html_quote><dtml-if sequence-end><dtml-else><dtml-var "'\n'"></dtml-if></dtml-in></textarea> <dtml-elif "type=='selection'"> <dtml-if "_.has_key(select_variable)"> <select name="<dtml-var id>"> <dtml-in "_[select_variable]"> <option <dtml-if "_['sequence-item']==getProperty(id)">SELECTED</dtml-if> ><dtml-var sequence-item html_quote></option> </dtml-in> </select> <dtml-else> No value for <dtml-var select_variable>. </dtml-if> <dtml-elif "type=='multiple selection'"> <dtml-if "_.has_key(select_variable)"> <select name="<dtml-var id>:list" multiple size="<dtml-var "_.min(7, _.len(_[select_variable]))">"> <dtml-in "_[select_variable]"> <option<dtml-if "_['sequence-item'] in getProperty(id)"> SELECTED</dtml-if >><dtml-var sequence-item html_quote></option> </dtml-in> </select> <dtml-else> No value for <dtml-var select_variable>. </dtml-if> <dtml-else> <em>Unknown property type</em> </dtml-if> <dtml-else> <table border="1"> <tr><td><dtml-var "getProperty(id)" html_quote></td></tr> </table> </dtml-if> </td> <td align="left" valign="top"> <dtml-if "'d' in _['sequence-item'].get('mode', 'awd')"> <select name="&dtml-id;-type"> <dtml-in expr="('boolean', 'date', 'float', 'int', 'lines', 'long', 'string' , 'text', 'tokens', 'selection', 'multiple selection')"> <dtml-let SELECTED="('', 'SELECTED')[type==_['sequence-item']]"> <option &dtml-SELECTED;>&dtml-sequence-item;</option> </dtml-let> </dtml-in> </select> <dtml-else>(&dtml-type;) </dtml-if> </td> </tr> </dtml-in> <tr> <td align="left" valign="top" colspan="2"> </td> <td align="left" valign="top" colspan="2"> <input type="submit" name="manage_editProperties:method" value="Save Changes"> <input type="submit" name="manage_delProperties:method" value="Delete"> <input type="submit" name="manage_propertyTypeForm:method" value="Change Types"> </td> </tr> </table> <dtml-else> <p> There are currently no properties defined for this item. <dtml-if property_extensible_schema__> To add a property, click the "Add..." button. </dtml-if> </p> </dtml-if> </form> <dtml-if property_extensible_schema__> <a name="addpropform"> <form action="<dtml-var URL1>/manage_addProperty" method="POST"> <p> To add a new property, enter a name, type and value for the new property and click the "Add" button. For "selection" and "multiple selection" properties enter the name of a selection variable in the "Value" field. The selection variable is a property or method that returns a list of strings from which the selection(s) can be chosen. </p> <table> <tr> <th align="left" valign="top">Id</th> <td align="left" valign="top"><input type="text" name="id" size="20"></td> <th align="left" valign="top">Type</th> <td align="left" valign="top"> <select name="type"> <option>boolean</option> <option>date</option> <option>float</option> <option>int</option> <option>lines</option> <option>long</option> <option SELECTED>string</option> <option>text</option> <option>tokens</option> <option>selection</option> <option>multiple selection</option> </select> </td> </tr> <tr> <th align="left" valign="top">Value</th> <td colspan=2 align="left" valign="top"> <input type="text" name="value" size="30"> </td> <td align="right" valign="top"> <input type=type="submit" value=" Add "> </td> </tr> </table> </form> </dtml-if> </body> </html>
participants (1)
-
Rik Hoekstra