loops/browser/concept_macros.pt

312 lines
13 KiB
XML

<html i18n:domain="loops">
<metal:data define-macro="conceptdata">
<div tal:attributes="class string:content-$level;">
<metal:block use-macro="view/concept_macros/concepttitle" />
<metal:slot define-slot="fields">
<metal:block use-macro="view/concept_macros/conceptfields" />
</metal:slot>
<metal:slot define-slot="children">
<metal:block use-macro="view/concept_macros/conceptchildren" />
</metal:slot>
<metal:slot define-slot="resources">
<metal:block use-macro="view/concept_macros/conceptresources" />
</metal:slot>
<metal:slot define-slot="workitems">
<metal:block use-macro="view/work_macros/workitems" />
</metal:slot>
<metal:slot define-slot="querydata" />
<metal:block use-macro="view/comment_macros/comments" />
</div>
</metal:data>
<metal:title define-macro="concepttitle">
<metal:title define-macro="concepttitle_only">
<tal:actions condition="view/showObjectActions">
<div metal:use-macro="views/node_macros/object_actions" />
</tal:actions>
<h1 tal:attributes="ondblclick item/openEditWindow">
<a tal:omit-tag="python: level > 1"
tal:attributes="href request/URL"
tal:content="item/title">Title</a>
</h1>
</metal:title>
<p tal:define="description description|item/renderedDescription"
tal:condition="description">
<i tal:content="structure description">Description</i></p>
</metal:title>
<metal:fields define-macro="conceptfields">
<fieldset class="box"
tal:define="data item/getData;
values python: [v for v in data.values() if v];
fields item/fields"
tal:condition="values">
<table tal:attributes="ondblclick item/openEditWindow">
<tal:row repeat="field fields">
<tr tal:define="fieldName field/name;
value nocall:data/?fieldName;
fieldInstance python:field.getFieldInstance(
context=context, request=request);
rendererName field/displayRenderer;
renderer python:fieldInstance.getRenderer(rendererName) or
view.concept_macros[rendererName]"
tal:condition="nocall:value">
<td><b tal:content="field/title" i18n:translate="" />:</td>
<td><span metal:use-macro="renderer" /></td>
</tr>
</tal:row>
</table>
</fieldset>
</metal:fields>
<metal:textline define-macro="display_textline">
<span tal:content="structure nocall:value"></span>
</metal:textline>
<metal:textline define-macro="display_password">
<span>*****</span>
</metal:textline>
<metal:email define-macro="display_email">
<a tal:attributes="href string:mailto:$value"
tal:content="value"></a>
</metal:email>
<metal:parents define-macro="conceptparents">
<div tal:attributes="class string:content-$level;
ondblclick python: item.openEditWindow('configure.html')">
<h2 i18n:translate="">Parents</h2>
<div tal:repeat="related item/parents">
<a href="#"
tal:attributes="href python: view.getUrlForTarget(related)"
tal:content="related/title">Concept Title</a>
</div>
</div>
</metal:parents>
<metal:children define-macro="conceptchildren">
<div tal:attributes="class string:content-$level;
ondblclick python: item.openEditWindow('configure.html')"
tal:define="children python: list(item.unique(item.children()))"
tal:condition="children">
<h2 i18n:translate=""
tal:condition="show_headline|python:True">Children</h2>
<form method="post"
tal:omit-tag="not:item/editable">
<table class="listing"
metal:define-macro="children">
<tr>
<th tal:condition="item/showCheckboxes|nothing">&nbsp;</th>
<th i18n:translate="">Title</th>
<th class="center" i18n:translate="">Type</th>
<th i18n:translate="">Modification Date</th>
<th i18n:translate="">Author(s)</th>
<th i18n:translate=""
tal:condition="view/showObjectActions">Info</th>
</tr>
<tbody withHandles="true" id="children_list"
tal:attributes="dojoType python:
item.editable and 'dojo.dnd.Source' or ''">
<tal:items repeat="related children">
<tal:item define="class python: repeat['related'].odd() and 'even' or 'odd';
description related/description;
predicate related/predicateTitle;
info python: ' | '.join(
t for t in (description, predicate) if t)">
<tr tal:attributes="class string:$class dojoDndItem dojoDndHandle;
id related/uniqueId">
<td tal:condition="item/showCheckboxes|nothing"
tal:define="uid related/uniqueId"
class="checkbox">
<input type="checkbox" name="selection:list" checked
tal:attributes="value uid;" /></td>
<td valign="top">
<a tal:attributes="href python: view.getUrlForTarget(related);
title info">
<span tal:replace="related/title">Resource Title</span>
</a>
</td>
<td class="center"><span tal:content="related/typeTitle"
i18n:translate="">Type</span></td>
<td><span tal:replace="related/modified">2011-01-10</span></td>
<td tal:attributes="title related/creators">
<span tal:replace="related/lastCreator">Author</span></td>
<td class="nowrap"
tal:define="target nocall:related;
style nothing"
tal:condition="view/showObjectActions">
<div metal:use-macro="views/node_macros/object_actions" />
<input type="hidden" name="child_tokens:list"
tal:attributes="value related/uidToken" />
</td>
</tr>
</tal:item>
</tal:items>
</tbody>
</table>
<input type="hidden" name="loops.viewName" value="index.html" />
<tal:changeorder condition="item/editable">
<input type="submit" style="display: none"
name="children_change_order" id="children_change_order"
value="Save Changes"
i18n:attributes="value" />
<script language="javascript">
dojo.subscribe('/dnd/drop', function(data) {
if (data.node.id == 'children_list') {
dojo.byId('children_change_order').style.display = ''}});
</script>
</tal:changeorder>
</form>
</div>
</metal:children>
<metal:resources define-macro="conceptresources">
<div tal:attributes="class string:content-$level;
ondblclick python: item.openEditWindow('resources.html')"
tal:define="resources resources|python:list(item.resources())"
tal:condition="resources">
<h2 i18n:translate="">Resources</h2>
<form method="post"
tal:omit-tag="not:item/editable">
<table class="listing"
metal:define-macro="resources">
<tr tal:define="sortcol request/resources_sortcol|nothing;
sortdir request/resources_sortdir|string:ascending">
<th tal:condition="item/showCheckboxes|nothing">&nbsp;</th>
<th i18n:translate="">Title
<span tal:condition="python: sortcol == 'title'"
tal:attributes="class sortdir">&nbsp;&nbsp;
</span></th>
<th i18n:translate="">Type</th>
<th i18n:translate=""
tal:condition="view/useVersioning">V</th>
<th i18n:translate="">Size</th>
<th i18n:translate="">Modification Date</th>
<th i18n:translate="">Author(s)</th>
<th i18n:translate=""
tal:condition="view/showObjectActions">Info</th>
</tr>
<tbody withHandles="true" id="resources_list"
tal:attributes="dojoType python:
item.editable and 'dojo.dnd.Source' or ''">
<tal:items repeat="related resources">
<tal:item define="class python: repeat['related'].odd() and 'even' or 'odd';
description related/description;
predicate related/predicateTitle;
info python: ' | '.join(
t for t in (description, predicate) if t)">
<tr tal:attributes="class string:$class dojoDndItem dojoDndHandle;
id related/uniqueId">
<td tal:condition="item/showCheckboxes|nothing"
tal:define="uid related/uniqueId"
class="checkbox">
<input type="checkbox" name="selection:list" checked
tal:attributes="value uid;" /></td>
<td valign="top"
tal:define="icon related/icon">
<a dojoType="dojox.image.Lightbox" group="mediasset"
tal:condition="icon"
tal:attributes="href related/fullImage/src|nothing;
title related/fullImage/title|related/title">
<img tal:attributes="src icon/src" />
</a>
<a tal:attributes="href python: view.getUrlForTarget(related);
title info">
<div tal:content="related/title">Resource Title</div>
</a>
</td>
<td class="center">
<span tal:replace="related/longTypeTitle">Type</span></td>
<tal:version tal:condition="view/useVersioning">
<td class="center"
tal:define="versionId related/versionId">
<a tal:condition="not:related/versionable/notVersioned|nothing"
tal:content="versionId"
tal:omit-tag="python: versionId=='1.1'"
tal:define="url python: view.getUrlForTarget(related)"
tal:attributes="href string:${url}?loops.viewName=listversions">1.1</a>
</td>
</tal:version>
<td class="nowrap number">
<span tal:replace="related/context/sizeForDisplay">2 MB</span>
</td>
<td><span tal:replace="related/modified">2007-03-30</span></td>
<td tal:attributes="title related/creators">
<span tal:replace="related/lastCreator">Author</span></td>
<td class="nowrap center"
tal:define="target nocall:related;
style nothing"
tal:condition="view/showObjectActions">
<div metal:use-macro="views/node_macros/object_actions" />
<input type="hidden" name="resources_tokens:list"
tal:attributes="value related/uidToken" />
</td>
</tr>
</tal:item>
</tal:items>
</tbody>
</table>
<input type="hidden" name="loops.viewName" value="index.html" />
<tal:changeorder condition="item/editable">
<input type="submit" style="display: none"
name="resources_change_order" id="resources_change_order"
value="Save Changes"
i18n:attributes="value" />
<script language="javascript">
dojo.subscribe('/dnd/drop', function(data) {
if (data.node.id == 'resources_list') {
dojo.byId('resources_change_order').style.display = ''}});
</script>
</tal:changeorder>
</form>
</div>
</metal:resources>
<metal:listing define-macro="conceptlisting">
<div>
<metal:fields use-macro="item/template/macros/concepttitle" />
<metal:listing define-macro="conceptlisting2">
<metal:fields use-macro="item/template/macros/conceptparents" />
<metal:fields use-macro="item/template/macros/conceptchildren" />
<metal:fields use-macro="item/template/macros/conceptresources" />
</metal:listing>
</div>
</metal:listing>
<metal:listing define-macro="list_children">
<div tal:define="show_headline nothing">
<metal:fields use-macro="item/template/macros/concepttitle" /><br />
<metal:fields use-macro="item/template/macros/conceptchildren" />
</div>
</metal:listing>
<!-- portlets -->
<metal:actions define-macro="parents">
<div tal:repeat="concept
macro/info/view/parentsForPortlet|macro/info/parentsForPortlet">
<a tal:attributes="href python: view.getUrlForTarget(concept);
title concept/relationInfo">
<span i18n:translate=""
tal:content="concept/title">Concept</span>
(<i tal:content="concept/typeTitle"
i18n:translate="">Type</i>)
</a>
</div>
</metal:actions>
</html>