Author: jmorliaguet Date: Sun May 14 22:11:30 2006 New Revision: 3133 Modified: cpsskins/branches/paris-sprint-2006/standard/filters/style/style_editor.js cpsskins/branches/paris-sprint-2006/standard/filters/style/style_editor.pt cpsskins/branches/paris-sprint-2006/standard/filters/style/views.py cpsskins/branches/paris-sprint-2006/ui/editing/views.py cpsskins/branches/paris-sprint-2006/ui/panels/element_editor.pt cpsskins/branches/paris-sprint-2006/ui/screens/elementeditor/configure.zcml cpsskins/branches/paris-sprint-2006/ui/screens/elementeditor/element-editor.css
Log: - saving work. settings can be edited Modified: cpsskins/branches/paris-sprint-2006/standard/filters/style/style_editor.js ============================================================================== --- cpsskins/branches/paris-sprint-2006/standard/filters/style/style_editor.js (original) +++ cpsskins/branches/paris-sprint-2006/standard/filters/style/style_editor.js Sun May 14 22:11:30 2006 @@ -2,10 +2,11 @@ CPSSkins.addActions({ 'selectTag': function(info) { var target = info.target; - var style_id = CPSSkins.getModelById('element-editor').getData().form.format; + var data = CPSSkins.getModelById('element-editor').getData(); + var uri = data.form.uri; + var style_id = data.form.format; var selector = getSelectorInContext(target, $('previewArea'), style_id); - - CPSSkins.getModelById('style-editor').updateData({selector: selector, style_id: style_id}); + CPSSkins.getModelById('style-editor').updateData({selector: selector, uri: uri}); }, 'updateLabel': function(info) { Modified: cpsskins/branches/paris-sprint-2006/standard/filters/style/style_editor.pt ============================================================================== --- cpsskins/branches/paris-sprint-2006/standard/filters/style/style_editor.pt (original) +++ cpsskins/branches/paris-sprint-2006/standard/filters/style/style_editor.pt Sun May 14 22:11:30 2006 @@ -17,7 +17,7 @@ <a i18n:translate="" tal:repeat="type widget_types" tal:content="string:widget.$type" - tal:attributes="href string:javascript:CPSSkins.getModelById('style-editor').updateData({'widget': '$type', 'selector': ''});" /> + tal:attributes="href string:javascript:CPSSkins.getModelById('style-editor').updateData({widget: '$type', selector: ''});" /> </div> <table width="100%"> @@ -34,4 +34,5 @@ </td> </tr> </table> + </div> Modified: cpsskins/branches/paris-sprint-2006/standard/filters/style/views.py ============================================================================== --- cpsskins/branches/paris-sprint-2006/standard/filters/style/views.py (original) +++ cpsskins/branches/paris-sprint-2006/standard/filters/style/views.py Sun May 14 22:11:30 2006 @@ -26,6 +26,8 @@ from cpsskins import minjson as json from cpsskins import utils from cpsskins.elements.interfaces import IFormattable +from cpsskins.relations.interfaces import IRelatable +from cpsskins.setup.interfaces import IResourceManager from cpsskins.standard.formats.style import IStyle from cpsskins.utils import getThemeManager @@ -52,13 +54,14 @@ """ data = self.data widget_type = data.get(u'widget', u'') - style_id = data.get(u'style_id') if not widget_type: return u'' widget = getUtility(configuration.IWidget, widget_type) markup = widget.view(None, None).renderPreview() markup = utils.insertCSSClass(markup, utils.camelize(widget_type)) - markup = utils.insertCSSClass(markup, u'style' + str(style_id)) + + style_id = unicode(IRelatable(self.context)) + markup = utils.insertCSSClass(markup, u'style' + style_id) return markup def getModelDef(self): @@ -78,7 +81,7 @@ 'widget': '', 'selector': '', 'fields': [], - 'style_id': '', + 'uri': '', }, }) @@ -111,8 +114,9 @@ def setFormData(self): data = self.data selector = data.get(u'selector') - style_id = data.get(u'style_id') - style = self.tmutil.getElementById(style_id) + uri = data.get(u'uri') + resources = getUtility(IResourceManager) + style = resources.resolve(uri, context=self.context) if selector is None: raise ValueError("The CSS selector is not set.") @@ -139,16 +143,18 @@ data = self.data selector = data.get(u'selector', u'') widget = data.get(u'widget', u'') - style_id = data.get(u'style_id') + uri = data.get(u'uri') + resources = getUtility(IResourceManager) data = { 'widget': widget, 'selector': selector, 'fields': [], - 'style_id': style_id, + 'uri': uri, } - if style_id and selector: - style = self.tmutil.getElementById(style_id) + + if uri and selector: + style = resources.resolve(uri, context=self.context) fields = [] sel = style.get(selector) if sel is None: Modified: cpsskins/branches/paris-sprint-2006/ui/editing/views.py ============================================================================== --- cpsskins/branches/paris-sprint-2006/ui/editing/views.py (original) +++ cpsskins/branches/paris-sprint-2006/ui/editing/views.py Sun May 14 22:11:30 2006 @@ -20,7 +20,7 @@ from zope.location.traversing import LocationPhysicallyLocatable from zope.location.pickling import locationCopy from zope.app.zapi import queryMultiAdapter, getMultiAdapter, getParent -from zope.component import queryUtility, getUtility +from zope.component import getUtility from zope.interface import implements, Interface from zope.formlib import form from zope.security.proxy import removeSecurityProxy @@ -157,6 +157,7 @@ setting = None for f in formattable.getFormats(resolve=False): + uri = IIdentifiable(f).getURI() format = f is_setting = ISetting.providedBy(f) if is_setting: @@ -170,7 +171,7 @@ if is_setting: setting = format - formats.append({'name': format_name, 'id': f.identifier}) + formats.append({'name': format_name, 'id': f.identifier, 'uri': uri}) viewer = getMultiAdapter((context, request), IViewer) preview = viewer() Modified: cpsskins/branches/paris-sprint-2006/ui/panels/element_editor.pt ============================================================================== --- cpsskins/branches/paris-sprint-2006/ui/panels/element_editor.pt (original) +++ cpsskins/branches/paris-sprint-2006/ui/panels/element_editor.pt Sun May 14 22:11:30 2006 @@ -9,10 +9,11 @@ display_id display/identifier; setting nocall:info/setting; edited nocall:info/edited; + edited_type edited/type:resourcename; setting_info edited/@@getSettingInfo"> - <a class="back" - href="javascript:CPSSkins.getControllerById('main-editor-perspectives').goBack()">Back to the editor</a> + <a class="next" + href="javascript:CPSSkins.getControllerById('main-editor-perspectives').goBack()">To the editor</a> <h1 class="title" tal:define="title element/title"> <tal:block condition="not:title" i18n:translate="" @@ -38,7 +39,7 @@ <a i18n:translate="" tal:repeat="format info/formats" tal:attributes=" - href string:javascript:CPSSkins.getModelById('element-editor').updateData({script: '/++skin++cpsskins/++resource++style_editor.js', form: {id: $id, display: $display_id, format: ${format/id}, tab: '${format/name}'}})" + href string:javascript:CPSSkins.getModelById('element-editor').updateData({script: '/++skin++cpsskins/++resource++style_editor.js', form: {id: $id, display: $display_id, format: ${format/id}, uri: '${format/uri}', tab: '${format/name}'}})" tal:content="format/name" /> <a i18n:translate="" @@ -48,13 +49,20 @@ </div> <tal:block condition="python: mode == 'edit'"> - <span style="float:right; padding: 0.3em; background-color: #ffc; margin: 2px; border: 1px solid #fc0" tal:condition="setting"> - Warning: this is a site setting. Changes made to it may affect several site elements. - </span> <div class="form" tal:content="structure edited/@@edit.html" /> + </tal:block> + + <div class="form" tal:condition="python: mode == 'preview'" + tal:content="structure info/preview" /> + + <div class="form"> + <div tal:condition="setting"> + Warning: this is a site setting. + Changes made to it may affect several site elements. + </div> - <div class="form" tal:condition="not:setting"> - <h3>Create a setting</h3> + <div tal:condition="not:setting"> + <div>Create a setting</div> <form tal:attributes="action string:${edited/@@absolute_url}/@@createSetting" enctype="multipart/form-data" method="post"> <p> @@ -66,20 +74,19 @@ </form> </div> - <div class="form"> - <h3>Use a setting</h3> - <ul tal:define="format_type edited/type:resourcename"> - <li tal:condition="python: format_type in setting_info" - tal:repeat="setting setting_info/?format_type"> - <a href="" - tal:attributes="href string:${display/@@absolute_url}/@@useSettingAsFormat?uri=${setting/uri}" - tal:content="setting/name" /> - </li> - </ul> - </div> + <tal:block condition="python: edited_type in setting_info"> + <div>Use another setting</div> + <ul> + <li tal:repeat="setting setting_info/?edited_type"> + <a href="" + tal:attributes="href string:${display/@@absolute_url}/@@useSettingAsFormat?uri=${setting/uri}" + tal:content="setting/name" /> + </li> + </ul> + </tal:block> + </div> - </tal:block> - <div class="form" tal:condition="python: mode == 'preview'" - tal:content="structure info/preview" /> + <br/> + <br/> </tal:block> Modified: cpsskins/branches/paris-sprint-2006/ui/screens/elementeditor/configure.zcml ============================================================================== --- cpsskins/branches/paris-sprint-2006/ui/screens/elementeditor/configure.zcml (original) +++ cpsskins/branches/paris-sprint-2006/ui/screens/elementeditor/configure.zcml Sun May 14 22:11:30 2006 @@ -15,4 +15,10 @@ layer="cpsskins.browser.skin.cpsskins" /> + <resource + name="green-arrow-right.png" + file="green-arrow-right.png" + layer="cpsskins.browser.skin.cpsskins" + /> + </configure> Modified: cpsskins/branches/paris-sprint-2006/ui/screens/elementeditor/element-editor.css ============================================================================== --- cpsskins/branches/paris-sprint-2006/ui/screens/elementeditor/element-editor.css (original) +++ cpsskins/branches/paris-sprint-2006/ui/screens/elementeditor/element-editor.css Sun May 14 22:11:30 2006 @@ -19,14 +19,15 @@ color: #000; } -a.back { +a.next { border: 1px solid #ccc; background-color: #efc; - padding: 0.2em 4px 0.2em 18px; + padding: 0.2em 18px 0.2em 4px; font: 11px verdana; - float: right; - background-image: url(/++skin++cpsskins/@@/++resource++green-arrow-left.png); + float: right; + background-image: url(/++skin++cpsskins/@@/++resource++green-arrow-right.png); background-repeat: no-repeat; + background-position: 100% 0.2em; } div.tabs a { -- http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins