src/pyams_content/component/paragraph/zmi/__init__.py
changeset 555 8e8a14452567
parent 550 9658debb49a3
child 563 0d2e0946ed64
equal deleted inserted replaced
554:120ce09ade94 555:8e8a14452567
    15 
    15 
    16 # import standard library
    16 # import standard library
    17 
    17 
    18 # import interfaces
    18 # import interfaces
    19 from pyams_content.component.paragraph.interfaces import IParagraphContainerTarget, IBaseParagraph, IParagraphFactory, \
    19 from pyams_content.component.paragraph.interfaces import IParagraphContainerTarget, IBaseParagraph, IParagraphFactory, \
    20     IParagraphFactorySettings
    20     IParagraphFactorySettings, IParagraphRenderer
    21 from pyams_content.component.paragraph.zmi.interfaces import IParagraphContainerView
    21 from pyams_content.component.paragraph.zmi.interfaces import IParagraphContainerView
    22 from pyams_content.interfaces import MANAGE_TOOL_PERMISSION
    22 from pyams_content.interfaces import MANAGE_TOOL_PERMISSION
    23 from pyams_content.shared.common.interfaces import IWfSharedContent
    23 from pyams_content.shared.common.interfaces import IWfSharedContent
    24 from pyams_form.interfaces.form import IFormHelp, check_submit_button
    24 from pyams_form.interfaces.form import IFormHelp, check_submit_button
    25 from pyams_i18n.interfaces import II18n
    25 from pyams_i18n.interfaces import II18n
    29 from pyams_zmi.interfaces.menu import IPropertiesMenu
    29 from pyams_zmi.interfaces.menu import IPropertiesMenu
    30 from pyams_zmi.layer import IAdminLayer
    30 from pyams_zmi.layer import IAdminLayer
    31 
    31 
    32 # import packages
    32 # import packages
    33 from pyams_content.component.paragraph.zmi.container import ParagraphContainerTable, ParagraphContainerBaseTable
    33 from pyams_content.component.paragraph.zmi.container import ParagraphContainerTable, ParagraphContainerBaseTable
       
    34 from pyams_content.features.renderer.zmi import BaseRenderedContentRenderer
    34 from pyams_form.form import AJAXEditForm, AJAXAddForm
    35 from pyams_form.form import AJAXEditForm, AJAXAddForm
    35 from pyams_form.help import FormHelp
    36 from pyams_form.help import FormHelp
    36 from pyams_form.schema import ActionButton, CloseButton
    37 from pyams_form.schema import ActionButton, CloseButton
    37 from pyams_form.security import ProtectedFormObjectMixin
    38 from pyams_form.security import ProtectedFormObjectMixin
    38 from pyams_pagelet.pagelet import pagelet_config
    39 from pyams_pagelet.pagelet import pagelet_config
   203 
   204 
   204 class IParagraphEditFormButtons(Interface):
   205 class IParagraphEditFormButtons(Interface):
   205     """Paragraph edit form buttons"""
   206     """Paragraph edit form buttons"""
   206 
   207 
   207     preview = ActionButton(name='preview', title=_("Preview"),
   208     preview = ActionButton(name='preview', title=_("Preview"),
   208                            label_css_class='fa fa-fw fa-eye',
   209                            label_css_class='fa fa-fw fa-binoculars',
   209                            url='preview.html',
   210                            url='content-preview.html',
   210                            modal_target=True)
   211                            modal_target=True)
   211 
   212 
   212     close = CloseButton(name='close', title=_("Cancel"))
   213     close = CloseButton(name='close', title=_("Cancel"))
   213 
   214 
   214     submit = button.Button(name='submit', title=_("Submit"), condition=check_submit_button)
   215     submit = button.Button(name='submit', title=_("Submit"), condition=check_submit_button)
   240         output = super(BaseParagraphAJAXEditForm, self).get_ajax_output(changes)
   241         output = super(BaseParagraphAJAXEditForm, self).get_ajax_output(changes)
   241         if 'title' in changes.get(IBaseParagraph, ()):
   242         if 'title' in changes.get(IBaseParagraph, ()):
   242             output.setdefault('events', []).append(
   243             output.setdefault('events', []).append(
   243                 get_json_paragraph_refresh_event(self.context, self.request))
   244                 get_json_paragraph_refresh_event(self.context, self.request))
   244         return output
   245         return output
       
   246 
       
   247 
       
   248 #
       
   249 # Base paragraph renderer
       
   250 #
       
   251 
       
   252 @adapter_config(context=(IBaseParagraph, IPyAMSLayer), provides=IParagraphRenderer)
       
   253 class BaseParagraphRenderer(BaseRenderedContentRenderer):
       
   254     """Base paragraph renderer"""