rearrange concept information shown on a node view

git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@1277 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
helmutm 2006-07-29 22:09:13 +00:00
parent 2d21f273ad
commit 77321e7029
7 changed files with 108 additions and 60 deletions

View file

@ -1,9 +1,34 @@
<metal:data define-macro="conceptdata">
<div tal:attributes="class string:content-$level;">
<h3 tal:attributes="ondblclick item/openEditWindow">
<span i18n:translate="">Concept</span>:
<div class="subcolumn">
<div style="margin-right: 50px">
<metal:fields use-macro="item/template/macros/conceptparents" />
</div>
<fieldset class="box"
style="margin: 30px 20px 15px 30px">
<metal:fields use-macro="item/template/macros/concepttitle" />
<metal:fields use-macro="item/template/macros/conceptfields" />
</fieldset>
<div style="margin-right: 50px">
<metal:fields use-macro="item/template/macros/conceptchildren" />
</div>
</div>
<div class="subcolumn"
style="position: relative; top: 60px">
<metal:fields use-macro="item/template/macros/conceptresources" />
</div>
</div>
</metal:data>
<metal:title define-macro="concepttitle">
<h1 tal:attributes="ondblclick item/openEditWindow">
<span tal:content="item/title">Title</span>
</h3>
</h1>
</metal:title>
<metal:fields define-macro="conceptfields">
<table tal:attributes="ondblclick item/openEditWindow">
<tr tal:repeat="field item/fieldData">
<td><span tal:content="field/title"
@ -11,46 +36,55 @@
<td tal:content="structure field/widget"></td>
</tr>
</table>
<metal:listing use-macro="item/template/macros/conceptlisting2" />
</div>
</metal:data>
</metal:fields>
<metal:listing define-macro="conceptlisting">
<div>
<h3 tal:attributes="class string:content-$level;
ondblclick item/openEditWindow">
<span i18n:translate="">Concept</span>:
<span tal:content="item/title">Title</span>
</h3>
<metal:listing define-macro="conceptlisting2">
<div tal:attributes="class string:content-$level;
ondblclick python: item.openEditWindow('configure.html')">
<h4>Parents</h4>
<metal:parents define-macro="conceptparents">
<fieldset tal:attributes="class string:content-$level box;
ondblclick python: item.openEditWindow('configure.html')">
<legend>Parents</legend>
<div tal:repeat="related item/parents">
<a href="#"
tal:attributes="href string:${view/url}/.target${related/uniqueId}"
tal:content="related/title">Concept Title</a>
</div>
</div>
<div tal:attributes="class string:content-$level;
ondblclick python: item.openEditWindow('configure.html')">
<h4>Children</h4>
</fieldset>
</metal:parents>
<metal:children define-macro="conceptchildren">
<fieldset tal:attributes="class string:content-$level box;
ondblclick python: item.openEditWindow('configure.html')">
<legend>Children</legend>
<div tal:repeat="related item/children">
<a href="#"
tal:attributes="href string:${view/url}/.target${related/uniqueId}"
tal:content="related/title">Concept Title</a>
</div>
</div>
<div tal:attributes="class string:content-$level;
ondblclick python: item.openEditWindow('resources.html')">
<h4>Resources</h4>
</fieldset>
</metal:children>
<metal:resources define-macro="conceptresources">
<fieldset tal:attributes="class string:content-$level box;
ondblclick python: item.openEditWindow('resources.html')">
<legend>Resources</legend>
<div tal:repeat="related item/resources">
<a href="#"
tal:attributes="href string:${view/url}/.target${related/uniqueId}"
tal:content="related/title">Resource Title</a>
</div>
</div>
</fieldset>
</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>

View file

@ -13,11 +13,11 @@
<!-- resources -->
<resource name="node.css" file="node.css" />
<resource name="node.js" file="node.js" />
<resource name="loops.css" file="loops.css" />
<resource name="loops.js" file="loops.js" />
<!-- macros -->
<page
for="*"
name="loops_macros"
@ -162,21 +162,21 @@
for="loops.interfaces.IConcept"
class=".concept.ConceptConfigureView"
permission="zope.ManageContent">
<page
name="configure.html"
template="concept_related.pt"
menu="zmi_views" title="Related Concepts"
/>
<page
name="resources.html"
template="concept_resources.pt"
menu="zmi_views" title="Resources"
/>
</pages>
<page
name="edit.html"
for="loops.interfaces.IConcept"
@ -243,9 +243,9 @@
template="resource_configure.pt"
menu="zmi_views" title="Configure"
/>
</pages>
<zope:adapter
for="loops.interfaces.IResource
zope.publisher.interfaces.browser.IBrowserRequest"
@ -262,7 +262,7 @@
permission="zope.View"
class=".resource.DocumentView"
attribute="show" />
<addform
label="Add Document"
name="AddLoopsDocument.html"
@ -304,14 +304,14 @@
permission="zope.View"
template="document.pt"
class=".resource.DocumentView" />
<menuItem
for="loops.interfaces.IDocument"
action="document.html"
permission="zope.View"
menu="zmi_views" title="View"
/>
<zope:adapter
for="loops.interfaces.IDocument
zope.publisher.interfaces.browser.IBrowserRequest"
@ -331,7 +331,7 @@
template="add.pt"
permission="zope.ManageContent"
/>
<addMenuItem
class="loops.resource.MediaAsset"
title="Media Asset"
@ -365,7 +365,7 @@
menu="zmi_views" action="upload.html" title="Upload"
filter="nothing"
/>
<zope:adapter
for="loops.interfaces.IMediaAsset
zope.publisher.interfaces.browser.IBrowserRequest"
@ -405,13 +405,13 @@
permission="zope.ManageContent"
menu="zmi_views" title="Contents"
/>
<!-- import/export -->
<pages for="loops.interfaces.IViewManager"
class=".external.NodesExportImport"
permission="zope.ManageContent">
<page name="exportimport.html"
template="exportimport.pt"
menu="zmi_views" title="Export/Import" />
@ -435,7 +435,7 @@
permission="zope.ManageContent"
menu="zmi_views" title="Contents"
/>
<containerViews
for="loops.interfaces.INode"
index="zope.ManageContent"
@ -449,7 +449,7 @@
fields="title description nodeType viewName body"
template="add.pt"
permission="zope.ManageContent">
<widget field="description" height="2" />
<widget field="body" height="8" />
@ -498,7 +498,7 @@
<page name="index.html" template="selectAdd.pt" />
<page name="action.html" attribute="action" />
</view>
<page
name="configure.html"
for="loops.interfaces.INode"
@ -513,7 +513,7 @@
permission="zope.ManageContent"
menu="zmi_views" title="Configure"
/>
<editform
label="Edit Media Asset"
name="edit_target.html"
@ -544,7 +544,7 @@
permission="zope.View"
menu="zmi_views" title="View"
/>
<defaultView
for="loops.interfaces.INode"
name="node.html"
@ -569,7 +569,7 @@
attribute="targetDefaultView"
permission="zope.View"
/>
<!-- vocabulary, traversing, and other stuff -->
<zope:adapter factory="loops.browser.common.LoopsTerms"
@ -618,5 +618,5 @@
zope.publisher.interfaces.browser.IBrowserRequest"
provides="cybertools.browser.configurator.IViewConfigurator"
/>
</configure>

View file

@ -6,9 +6,9 @@
<metal:settings fill-slot="settings"
tal:define="dummy python:
controller.macros.register('css', resourceName='node.css', media='all');" />
controller.macros.register('css', resourceName='loops.css', media='all');" />
<div class="box" metal:fill-slot="navigators">
<h4>Navigation</h4>
<tal:menu define="item view/menu;
@ -16,7 +16,7 @@
condition="item">
<div class="body">
<metal:menu use-macro="views/node_macros/menu" />
</div>
</div>
</tal:menu>
</div>

View file

@ -5,8 +5,8 @@
<head>
<metal:js fill-slot="ecmascript_slot">
<script type="text/javascript"
src="node.js"
tal:attributes="src string:${context/++resource++node.js}">
src="loops.js"
tal:attributes="src string:${context/++resource++loops.js}">
</script>
<metal:use use-macro="views/ajax.dojo/main"
tal:condition="nothing" />

View file

@ -2,7 +2,7 @@
$Id$
settings specific for view / node objects
*/
.box {
@ -37,6 +37,20 @@
border: none;
}
.subcolumn {
display: inline-block;
float: left;
}
.box {
margin: 5px;
padding: 5px;
}
.box h1, .box h2, .box h3 {
border-bottom: None;
}
.box div.body div.menu-3 {
padding-left: 1.5em;
}

View file

@ -6,11 +6,11 @@
<metal:settings fill-slot="settings"
tal:define="dummy python:
controller.macros.register('css', resourceName='node.css', media='all');
controller.macros.register('css', resourceName='loops.css', media='all');
dummy python:
controller.macros.register('js', resourceName='node.js');" />
controller.macros.register('js', resourceName='loops.js');" />
<metal:block fill-slot="actions" />
@ -30,11 +30,11 @@
condition="item">
<div class="body">
<metal:menu use-macro="views/node_macros/menu" />
</div>
</div>
</tal:menu>
</div>
</body>
</html>
</tal:show>