src/pyams_content/component/paragraph/zmi/video.py
changeset 527 5dd1aa8bedd9
parent 489 dcdb0ce828f8
child 544 6928ddfc1c0f
--- a/src/pyams_content/component/paragraph/zmi/video.py	Wed Apr 11 16:44:46 2018 +0200
+++ b/src/pyams_content/component/paragraph/zmi/video.py	Wed Apr 11 16:46:31 2018 +0200
@@ -38,6 +38,7 @@
 from pyams_content.features.renderer.zmi.widget import RendererFieldWidget
 from pyams_form.group import NamedWidgetsGroup
 from pyams_pagelet.pagelet import pagelet_config
+from pyams_skin.event import get_json_form_refresh_event, get_json_widget_refresh_event
 from pyams_utils.adapter import adapter_config
 from pyams_viewlet.viewlet import viewlet_config
 from pyams_zmi.form import AdminDialogAddForm
@@ -106,6 +107,8 @@
 class VideoParagraphPropertiesEditForm(BaseParagraphPropertiesEditForm):
     """Video paragraph properties edit form"""
 
+    prefix = 'video_properties.'
+
     legend = _("Edit video properties")
     dialog_class = 'modal-large'
     icon_css_class = 'fa fa-fw fa-film'
@@ -188,33 +191,12 @@
         if 'data' in updated:
             # we have to commit transaction to be able to handle blobs...
             ITransactionManager(self.context).get().commit()
-            form = VideoParagraphPropertiesInnerEditForm(self.context, self.request)
-            form.update()
-            output.setdefault('events', []).append({
-                'event': 'myams.refresh',
-                'options': {
-                    'object_id': '{0}_{1}_{2}'.format(
-                        self.context.__class__.__name__,
-                        getattr(form.getContent(), '__name__', 'noname').replace('++', ''),
-                        form.id),
-                    'content': form.render()
-                }
-            })
+            output.setdefault('events', []).append(
+                get_json_form_refresh_event(self.context, self.request, VideoParagraphPropertiesInnerEditForm))
         elif 'renderer' in updated:
-            form = VideoParagraphPropertiesInnerEditForm(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,
+                                              VideoParagraphPropertiesInnerEditForm, 'renderer'))
         return output