src/pyams_content/component/paragraph/zmi/html.py
changeset 527 5dd1aa8bedd9
parent 497 32f7f9950df3
child 538 0bd011d47c0b
--- a/src/pyams_content/component/paragraph/zmi/html.py	Wed Apr 11 16:44:46 2018 +0200
+++ b/src/pyams_content/component/paragraph/zmi/html.py	Wed Apr 11 16:46:31 2018 +0200
@@ -36,11 +36,10 @@
 from pyams_content.component.association.zmi import AssociationsTable
 from pyams_content.component.paragraph.html import HTMLParagraph, RawParagraph
 from pyams_content.component.paragraph.zmi import BaseParagraphAJAXAddForm, BaseParagraphAJAXEditForm, \
-    BaseParagraphAddMenu, BaseParagraphPropertiesEditForm
-from pyams_content.component.paragraph.zmi.container import ParagraphContainerTable, \
-    ParagraphTitleToolbarViewletManager
+    BaseParagraphAddMenu, BaseParagraphPropertiesEditForm, get_json_paragraph_toolbar_refresh_event
 from pyams_form.security import ProtectedFormObjectMixin
 from pyams_pagelet.pagelet import pagelet_config
+from pyams_skin.event import get_json_switched_table_refresh_event
 from pyams_skin.viewlet.menu import MenuDivider
 from pyams_template.template import template_config
 from pyams_utils.adapter import adapter_config
@@ -119,6 +118,8 @@
 class RawParagraphPropertiesEditForm(BaseParagraphPropertiesEditForm):
     """Raw HTML paragraph properties edit form"""
 
+    prefix = 'raw_properties.'
+
     legend = _("Edit raw HTML paragraph properties")
     icon_css_class = 'fa fa-fw fa-code'
 
@@ -234,6 +235,8 @@
 class HTMLParagraphPropertiesEditForm(BaseParagraphPropertiesEditForm):
     """Rich text paragraph properties edit form"""
 
+    prefix = 'html_properties.'
+
     legend = _("Edit rich text paragraph properties")
     dialog_class = 'modal-max'
     icon_css_class = 'fa fa-fw fa-html5'
@@ -264,28 +267,11 @@
         if 'body' in changes.get(IHTMLParagraph, ()):
             # 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))
             # 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
 
 
@@ -315,28 +301,11 @@
         if 'body' in changes.get(IHTMLParagraph, ()):
             # 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))
             # 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