src/pyams_content/component/paragraph/zmi/frame.py
changeset 1398 fc32ec8a8f53
parent 1285 a869fd818ea7
--- a/src/pyams_content/component/paragraph/zmi/frame.py	Fri Jul 03 14:42:15 2020 +0200
+++ b/src/pyams_content/component/paragraph/zmi/frame.py	Fri Jul 03 18:43:46 2020 +0200
@@ -10,8 +10,6 @@
 # FOR A PARTICULAR PURPOSE.
 #
 
-__docformat__ = 'restructuredtext'
-
 from z3c.form import button
 from z3c.form.interfaces import INPUT_MODE
 from zope.interface import Interface, implementer
@@ -20,15 +18,20 @@
 from pyams_content.component.association.zmi import AssociationsTable
 from pyams_content.component.association.zmi.interfaces import IAssociationsParentForm
 from pyams_content.component.paragraph.frame import FrameParagraph
-from pyams_content.component.paragraph.interfaces import IBaseParagraph, IParagraphContainerTarget, IParagraphTitle
-from pyams_content.component.paragraph.interfaces.frame import FRAME_PARAGRAPH_TYPE, IFrameParagraph
-from pyams_content.component.paragraph.zmi import BaseParagraphAJAXAddForm, BaseParagraphAJAXEditForm, \
-    BaseParagraphAddForm, BaseParagraphAddMenu, BaseParagraphPropertiesEditForm, IParagraphInnerEditFormButtons, \
+from pyams_content.component.paragraph.interfaces import IBaseParagraph, \
+    IParagraphContainerTarget, IParagraphTitle
+from pyams_content.component.paragraph.interfaces.frame import FRAME_PARAGRAPH_TYPE, \
+    IFrameParagraph
+from pyams_content.component.paragraph.zmi import BaseParagraphAJAXAddForm, \
+    BaseParagraphAJAXEditForm, BaseParagraphAddForm, BaseParagraphAddMenu, \
+    BaseParagraphPropertiesEditForm, IParagraphInnerEditFormButtons, \
     get_json_paragraph_refresh_event, get_json_paragraph_toolbar_refresh_event
 from pyams_content.component.paragraph.zmi.container import ParagraphContainerTable, \
     ParagraphTitleToolbarViewletManager
-from pyams_content.component.paragraph.zmi.interfaces import IParagraphContainerView, IParagraphInnerEditor
+from pyams_content.component.paragraph.zmi.interfaces import IParagraphContainerView, \
+    IParagraphInnerEditor
 from pyams_content.interfaces import MANAGE_CONTENT_PERMISSION
+from pyams_content.zmi import pyams_content
 from pyams_form.form import ajax_config
 from pyams_form.interfaces.form import IInnerForm
 from pyams_i18n.interfaces import II18n
@@ -38,12 +41,16 @@
 from pyams_skin.interfaces.viewlet import IToolbarAddingMenu
 from pyams_skin.layer import IPyAMSLayer
 from pyams_utils.adapter import ContextRequestAdapter, adapter_config
+from pyams_utils.fanstatic import get_resource_path
 from pyams_utils.html import html_to_text
 from pyams_utils.text import get_text_start
 from pyams_utils.traversing import get_parent
 from pyams_viewlet.viewlet import viewlet_config
 from pyams_zmi.interfaces import IPropertiesEditForm
 
+
+__docformat__ = 'restructuredtext'
+
 from pyams_content import _
 
 
@@ -60,9 +67,14 @@
     """Custom configuration for 'body' widget editor"""
 
     configuration = {
+        'ams-plugins': 'pyams_content',
+        'ams-plugin-pyams_content-src': get_resource_path(pyams_content),
+        'ams-plugin-pyams_content-async': 'false',
+        'ams-tinymce-init-callback': 'PyAMS_content.TinyMCE.initEditor',
         'ams-tinymce-menubar': False,
-        'ams-tinymce-plugins': ['paste', 'lists'],
-        'ams-tinymce-toolbar': 'undo redo | pastetext | bold italic superscript | bullist numlist',
+        'ams-tinymce-plugins': ['paste', 'lists', 'charmap', 'internal_links', 'link'],
+        'ams-tinymce-toolbar': 'undo redo | pastetext | bold italic superscript | '
+                               'bullist numlist | charmap internal_links link',
         'ams-tinymce-toolbar1': False,
         'ams-tinymce-toolbar2': False,
         'ams-tinymce-height': 150
@@ -149,10 +161,12 @@
             parent = get_parent(self.context, IAssociationContainerTarget)
             output.setdefault('events', []).append(
                 get_json_paragraph_toolbar_refresh_event(parent, self.request,
-                                                         ParagraphContainerTable, ParagraphTitleToolbarViewletManager))
+                                                         ParagraphContainerTable,
+                                                         ParagraphTitleToolbarViewletManager))
             # refresh associations table
             output.setdefault('events', []).append(
-                get_json_switched_table_refresh_event(self.context, self.request, AssociationsTable))
+                get_json_switched_table_refresh_event(self.context, self.request,
+                                                      AssociationsTable))
         return output