Author: jmorliaguet Date: Sun Jan 15 20:31:06 2006 New Revision: 2221 Modified: cpsskins/branches/jmo-perspectives/ui/authoring/configure.zcml cpsskins/branches/jmo-perspectives/ui/authoring/views.py cpsskins/branches/jmo-perspectives/ui/screens/editor.pt Log:
- began converting screens to the new AJAX API Modified: cpsskins/branches/jmo-perspectives/ui/authoring/configure.zcml ============================================================================== --- cpsskins/branches/jmo-perspectives/ui/authoring/configure.zcml (original) +++ cpsskins/branches/jmo-perspectives/ui/authoring/configure.zcml Sun Jan 15 20:31:06 2006 @@ -103,4 +103,17 @@ </browser:pages> + <browser:pages + layer="cpsskins" + for="cpsskins.elements.interfaces.IElement" + permission="zope.ManageContent" + class=".views.JSONViews"> + + <browser:page + name="getHint" + attribute="getHint" + /> + + </browser:pages> + </configure> Modified: cpsskins/branches/jmo-perspectives/ui/authoring/views.py ============================================================================== --- cpsskins/branches/jmo-perspectives/ui/authoring/views.py (original) +++ cpsskins/branches/jmo-perspectives/ui/authoring/views.py Sun Jan 15 20:31:06 2006 @@ -24,7 +24,9 @@ from zope.component import adapts, getUtility, createObject from zope.event import notify from zope.interface import implements, Interface +from zope.i18nmessageid import MessageFactory +from cpsskins import minjson as json from cpsskins.browser.tree.interfaces import INodeAdding, INodeRemoving from cpsskins.browser.tree.interfaces import INodeMoving, INodeOrdering from cpsskins.browser.tree.interfaces import INodeDuplicating @@ -35,38 +37,9 @@ from cpsskins.setup.interfaces import IResourceManager from cpsskins.utils import getThemeManager -class IAuthoring(Interface): - - def draw(): - """ """ - - def setSelection(selected): - """ """ - - def getSelection(): - """ """ - - def setPerspective(perspective): - """ """ - - def clonePresentation(persective): - """ """ - - def addPresentation(perspective): - """ """ - - def removePresentation(perspective): - """ """ - - def customizeFormat(name, perspective): - """ """ - - def uncustomizeFormat(name, perspective): - """ """ +_ = MessageFactory("cpsskins") class Authoring(BrowserView): - adapts(IElement) - implements(IAuthoring) def __init__(self, context, request): self.context = context @@ -253,3 +226,11 @@ duplicating = getMultiAdapter((container, request), INodeDuplicating) return str(duplicating.duplicate(element)) +class JSONViews(BrowserView): + + def _encode(self, data): + return json.write({'data': data}) + + def getHint(self, msgid): + return self._encode({'hint': _(msgid)}) + Modified: cpsskins/branches/jmo-perspectives/ui/screens/editor.pt ============================================================================== --- cpsskins/branches/jmo-perspectives/ui/screens/editor.pt (original) +++ cpsskins/branches/jmo-perspectives/ui/screens/editor.pt Sun Jan 15 20:31:06 2006 @@ -29,38 +29,30 @@ <div id="actionPad"> - <!-- model: - {"hint":"Site designers are in charge of the overall site's design. - They manage resources and settings."} - --> + <ins class="model" cite="@@getHint?msgid=hint-site-designer"></ins> <a href="#" onclick="javascript: new CPSSkins.switchPerspective('site-designer')">Site designer</a> - <!-- model: - {"hint":"Layout designers define the layout structure of pages."} - --> + <ins class="model" cite="@@getHint?msgid=hint-layout-designer"></ins> <a href="#" onclick="javascript: new CPSSkins.switchPerspective('layout-designer')">Layout designer</a> - <!-- model: - {"hint":"Page designers are in charge of the site's graphic design. - They also define the areas in which content authors will add - the site's content."} - --> + <ins class="model" cite="@@getHint?msgid=hint-page-designer"></ins> <a href="#" onclick="javascript: new CPSSkins.switchPerspective('page-designer')">Page designer</a> - <!-- model: - {"hint":"Content authors add content to pages in different contexts."} - --> + <ins class="model" cite="@@getHint?msgid=hint-content-author"></ins> <a href="#" onclick="javascript: new CPSSkins.switchPerspective('content-author')">Content author</a> - <cpsskins:view widget="tooltip" showdelay="1500"></cpsskins:view> + <ins class="view"> + {"widget": {"type": "tooltip"}, + "show_effect": {"transition": "fadein", "delay": 500} + } + </ins> </div> - <cpsskins:view - widget="panel" - perspectives="page-designer,layout-designer,content-author" - url="@@perspectiveSelector.html"> - </cpsskins:view> + <ins class="view"> + {"widget": {"type": "panel", "url": "@@perspectiveSelector.html"}, + "perspectives": ["page-designer", "layout-designer", "content-author"]} + </ins> </div> @@ -68,46 +60,58 @@ <div id="editArea"> <!-- top tabs --> - <cpsskins:view - widget="panel" - perspectives="page-designer,layout-designer" - url="@@themeTabs.html"> - </cpsskins:view> - - <cpsskins:view - widget="panel" - perspectives="page-designer,layout-designer" - url="@@pageTabs.html"> - </cpsskins:view> - - <cpsskins:view - widget="panel" - fadein="true" - perspectives="content-author" - url="@@locationSelector.html"> - </cpsskins:view> + <ins class="view"> + {"widget": {"type": "panel", "url": "@@themeTabs.html"}, + "perspectives": ["page-designer", "layout-designer"]} + </ins> + + <ins class="view"> + {"widget": {"type": "panel", "url": "@@pageTabs.html"}, + "perspectives": ["page-designer", "layout-designer"]} + </ins> + + <ins class="view"> + {"widget": {"type": "panel", "url": "@@locationSelector.html"}, + "perspectives": ["content-author"]}, + "show_effect": {"transition": "fadein"} + </ins> <!-- rendered pages --> - <cpsskins:view - widget="panel" - perspectives="page-designer" - url="@@renderPage.html?engine=page-designer" - css="/++skin++cpsskins/@@/++resource++page-designer.css"> - </cpsskins:view> - - <cpsskins:view - widget="panel" - perspectives="layout-designer" - url="@@renderPage.html?engine=layout-designer" - css="/++skin++cpsskins/@@/++resource++layout-designer.css"> - </cpsskins:view> - - <cpsskins:view - widget="panel" - perspectives="content-author" - url="@@renderPage.html?engine=content-author" - css="/++skin++cpsskins/@@/++resource++content-author.css"> - </cpsskins:view> + <ins class="view"> + {"widget": { + "type": "panel", + "url": "@@renderPage.html?engine=page-designer", + "css": "/++skin++cpsskins/@@/++resource++page-designer.css" + }, + "perspectives": ["page-designer"]} + </ins> + + <ins class="view"> + {"widget": { + "type": "panel", + "url": "@@renderPage.html?engine=layout-designer", + "css": "/++skin++cpsskins/@@/++resource++layout-designer.css" + }, + "perspectives": ["page-designer"]} + </ins> + + <ins class="view"> + {"widget": { + "type": "panel", + "url": "@@renderPage.html?engine=layout-designer", + "css": "/++skin++cpsskins/@@/++resource++layout-designer.css" + }, + "perspectives": ["page-designer"]} + </ins> + + <ins class="view"> + {"widget": { + "type": "panel", + "url": "@@renderPage.html?engine=content-author", + "css": "/++skin++cpsskins/@@/++resource++content-author.css" + }, + "perspectives": ["content-author"]} + </ins> <!-- Contextual menu --> <cpsskins:view widget="contextmenu" controller="menuactions"> @@ -157,24 +161,29 @@ <!-- Main area for other screens --> <div id="mainArea"> - <cpsskins:view - widget="panel" - perspectives="site-designer" - url="@@site-designer.html" - css="/++skin++cpsskins/@@/++resource++site-designer.css"> - </cpsskins:view> + <ins class="view"> + {"widget": { + "type": "panel", + "url": "@@site-designer.html", + "css": "/++skin++cpsskins/@@/++resource++site-designer.css" + }, + "perspectives": ["site-designer"] + } + </ins> </div> <!-- Bottom area --> <div class="floatingFooter"> - <cpsskins:view - widget="panel" - fadein="true" - perspectives="page-designer,layout-designer,content-author" - url="@@portletFactory.html"> - </cpsskins:view> + <ins class="view"> + {"widget": { + "type": "panel", + "url": "@@portletFactory.html" + }, + "perspectives": ["page-designer", "layout-designer", "content-author"] + } + </ins> </div> -- http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins