From 34f71d7aa5b0b930180eb66f8ebed051000578b6 Mon Sep 17 00:00:00 2001 From: helmutm Date: Tue, 17 Jan 2006 19:08:23 +0000 Subject: [PATCH] Minor changes on NodeView and node.pt git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@1015 fd906abe-77d9-0310-91a1-e0d9ade77398 --- README.txt | 4 ++-- browser/node.pt | 8 +++++++- browser/node.py | 16 ++++++++++------ 3 files changed, 19 insertions(+), 9 deletions(-) diff --git a/README.txt b/README.txt index a162814..3b5eee2 100755 --- a/README.txt +++ b/README.txt @@ -216,13 +216,13 @@ Node views >>> from loops.browser.node import NodeView >>> view = NodeView(m11, TestRequest()) - >>> page = view.page() + >>> page = view.page >>> items = page.textItems() >>> for item in items: ... print item.url, item.editable http://127.0.0.1/loops/views/m1/m11/m112 False - >>> menu = view.menu() + >>> menu = view.menu >>> items = menu.menuItems() >>> for item in items: ... print item.url, view.selected(item) diff --git a/browser/node.pt b/browser/node.pt index ac27c0c..9a224ea 100644 --- a/browser/node.pt +++ b/browser/node.pt @@ -24,7 +24,7 @@ zmi=window.open('${item/url}/@@edit.html', 'zmi');; zmi.focus();; return false;;" tal:attributes="class string:content-$level; - onclick python: item.editable and onclick or ''" + ondblclick python: item.editable and onclick or ''" tal:content="structure body"> The body @@ -67,6 +67,12 @@ + +
+ Impressum +
+ diff --git a/browser/node.py b/browser/node.py index 392089b..004e95f 100644 --- a/browser/node.py +++ b/browser/node.py @@ -38,7 +38,9 @@ class NodeView(object): self.context = context self.request = request - def render(self, text): + def render(self, text=None): + if text is None: + text = self.context.body if not text: return u'' if text.startswith('<'): # seems to be HTML @@ -55,6 +57,7 @@ class NodeView(object): d = dc.modified or dc.created return d and d.strftime('%Y-%m-%d %H:%M') or '' + @Lazy def page(self): page = self.context.getPage() return page is not None and NodeView(page, self.request) or None @@ -63,17 +66,18 @@ class NodeView(object): for child in self.context.getTextItems(): yield NodeView(child, self.request) - def menuItems(self): - for child in self.context.getMenuItems(): - yield NodeView(child, self.request) - + @Lazy def menu(self): menu = self.context.getMenu() return menu is not None and NodeView(menu, self.request) or None + def menuItems(self): + for child in self.context.getMenuItems(): + yield NodeView(child, self.request) + @Lazy def body(self): - return self.render(self.context.body) + return self.render() @Lazy def url(self):