75 lines
3 KiB
XML
75 lines
3 KiB
XML
<tal:comment replace="nothing">Single row.</tal:comment>
|
|
<tr metal:define-macro="row" valign="top"
|
|
tal:attributes="style python: (rowIndex==-1) and 'display: none' or ''">
|
|
<td align="center" tal:repeat="fieldInfo widget/fieldsd">
|
|
<tal:show define="widget python: fieldInfo[1];
|
|
tagCss python: 'noStyle';
|
|
widgetName python: '%s*%d' % (widget['name'], rowIndex)">
|
|
<metal:call use-macro="app/ui/widgets/show/macros/field"/>
|
|
</tal:show>
|
|
</td>
|
|
<tal:comment replace="nothing">Icon for removing the row</tal:comment>
|
|
<td tal:condition="python: layoutType=='edit'"
|
|
tal:attributes="align dright">
|
|
<img style="cursor:pointer"
|
|
tal:attributes="src string:$appUrl/ui/delete.png;
|
|
title python: 'Delete';
|
|
onClick python: 'deleteRow(\'list_%s\',this)' % name"/>
|
|
</td>
|
|
</tr>
|
|
|
|
<tal:comment replace="nothing">The whole table, edit or view.</tal:comment>
|
|
<table metal:define-macro="table"
|
|
tal:define="isEdit python: layoutType == 'edit'"
|
|
tal:condition="python: isEdit or value"
|
|
tal:attributes="id python: 'list_%s' % name;
|
|
class python: isEdit and 'grid' or 'list'">
|
|
<tal:comment replace="nothing">Header</tal:comment>
|
|
<tr valign="bottom">
|
|
<th tal:repeat="fieldInfo widget/fieldsd"
|
|
tal:content="structure python: _(fieldInfo[1]['labelId'])">
|
|
</th>
|
|
<tal:comment replace="nothing">Icon for adding a new row.</tal:comment>
|
|
<th tal:condition="isEdit">
|
|
<img style="cursor:pointer"
|
|
tal:attributes="src string:$appUrl/ui/plus.png;
|
|
title python: _('add_ref');
|
|
onClick python: 'insertRow(\'list_%s\')' % name"/>
|
|
</th>
|
|
</tr>
|
|
<tal:comment replace="nothing">Template row (edit only)</tal:comment>
|
|
<tal:templateRow define="rowIndex python:-1" condition="isEdit">
|
|
<metal:call use-macro="app/ui/widgets/list/macros/row"/>
|
|
</tal:templateRow>
|
|
<tr height="7px" tal:condition="isEdit"><td></td></tr>
|
|
<tal:comment replace="nothing">Rows of data</tal:comment>
|
|
<tal:rows define="rows python: inRequest and requestValue or value"
|
|
repeat="row rows">
|
|
<tal:row define="rowIndex repeat/row/index">
|
|
<metal:call use-macro="app/ui/widgets/list/macros/row"/>
|
|
</tal:row>
|
|
</tal:rows>
|
|
</table>
|
|
|
|
<tal:comment replace="nothing">View</tal:comment>
|
|
<metal:view define-macro="view">
|
|
<metal:call use-macro="app/ui/widgets/list/macros/table"/>
|
|
</metal:view>
|
|
|
|
<tal:comment replace="nothing">Edit</tal:comment>
|
|
<metal:edit define-macro="edit">
|
|
<tal:comment replace="nothing">
|
|
The following input makes Appy aware that this field is in the request.
|
|
</tal:comment>
|
|
<input type="hidden" tal:attributes="name name" value="">
|
|
<metal:call use-macro="app/ui/widgets/list/macros/table"/>
|
|
</metal:edit>
|
|
|
|
<tal:comment replace="nothing">Cell</tal:comment>
|
|
<metal:cell define-macro="cell">
|
|
<metal:call use-macro="app/ui/widgets/list/macros/table"/>
|
|
</metal:cell>
|
|
|
|
<tal:comment replace="nothing">Search</tal:comment>
|
|
<metal:search define-macro="search"></metal:search>
|