--- a/src/pyams_content/component/paragraph/zmi/frame.py Wed Apr 11 16:44:46 2018 +0200
+++ b/src/pyams_content/component/paragraph/zmi/frame.py Wed Apr 11 16:46:31 2018 +0200
@@ -34,12 +34,13 @@
from pyams_content.component.association.zmi import AssociationsTable
from pyams_content.component.paragraph.frame import FrameParagraph
from pyams_content.component.paragraph.zmi import BaseParagraphAJAXAddForm, BaseParagraphAJAXEditForm, \
- BaseParagraphAddMenu, BaseParagraphPropertiesEditForm
+ BaseParagraphAddMenu, BaseParagraphPropertiesEditForm, get_json_paragraph_toolbar_refresh_event
from pyams_content.component.paragraph.zmi.container import ParagraphContainerTable, \
ParagraphTitleToolbarViewletManager
from pyams_content.features.renderer.zmi import BaseRenderedContentRenderer
from pyams_content.features.renderer.zmi.widget import RendererFieldWidget
from pyams_pagelet.pagelet import pagelet_config
+from pyams_skin.event import get_json_switched_table_refresh_event, get_json_widget_refresh_event
from pyams_utils.adapter import adapter_config, ContextRequestAdapter
from pyams_utils.traversing import get_parent
from pyams_viewlet.viewlet import viewlet_config
@@ -127,6 +128,8 @@
class FrameParagraphPropertiesEditForm(BaseParagraphPropertiesEditForm):
"""Framed text paragraph properties edit form"""
+ prefix = 'frame_properties.'
+
legend = _("Edit framed text paragraph properties")
dialog_class = 'modal-large'
icon_css_class = 'fa fa-fw fa-list-alt'
@@ -159,28 +162,12 @@
if 'body' in changes.get(IFrameParagraph, ()):
# refresh associations count markers
parent = get_parent(self.context, IAssociationTarget)
- table = ParagraphContainerTable(parent, self.request)
- viewlet = ParagraphTitleToolbarViewletManager(parent, self.request, table)
- viewlet.update()
- output.setdefault('events', []).append({
- 'event': 'myams.refresh',
- 'options': {
- 'handler': 'PyAMS_content.paragraphs.updateToolbar',
- 'object_name': self.context.__name__,
- 'toolbar_tag': viewlet.render()
- }
- })
+ output.setdefault('events', []).append(
+ get_json_paragraph_toolbar_refresh_event(parent, self.request,
+ ParagraphContainerTable, ParagraphTitleToolbarViewletManager))
# refresh associations table
- associations_table = AssociationsTable(self.context, self.request)
- associations_table.update()
- output.setdefault('events', []).append({
- 'event': 'myams.refresh',
- 'options': {
- 'handler': 'PyAMS_content.associations.refreshAssociations',
- 'object_id': associations_table.id,
- 'table': associations_table.render()
- }
- })
+ output.setdefault('events', []).append(
+ get_json_switched_table_refresh_event(self.context, self.request, AssociationsTable))
return output
@@ -209,20 +196,8 @@
output = super(FrameParagraphInnerAJAXEditForm, self).get_ajax_output(changes)
updated = changes.get(IFrameParagraph, ())
if 'renderer' in updated:
- form = FrameParagraphInnerEditForm(self.context, self.request)
- form.update()
- output.setdefault('events', []).append({
- 'event': 'myams.refresh',
- 'options': {
- 'handler': 'MyAMS.skin.refreshWidget',
- 'parent_id': '{0}_{1}_{2}'.format(
- self.context.__class__.__name__,
- getattr(form.getContent(), '__name__', 'noname').replace('++', ''),
- form.id),
- 'widget_name': form.widgets['renderer'].name,
- 'content': form.widgets['renderer'].render()
- }
- })
+ output.setdefault('events', []).append(
+ get_json_widget_refresh_event(self.context, self.request, FrameParagraphInnerEditForm, 'renderer'))
return output