src/pyams_content/shared/imagemap/zmi/paragraph.py
changeset 527 5dd1aa8bedd9
parent 507 7320a5522ee1
child 546 213db0cb6b4c
equal deleted inserted replaced
526:b15153f45957 527:5dd1aa8bedd9
    32 # import packages
    32 # import packages
    33 from pyams_content.component.paragraph.zmi import BaseParagraphAJAXAddForm, BaseParagraphAJAXEditForm, \
    33 from pyams_content.component.paragraph.zmi import BaseParagraphAJAXAddForm, BaseParagraphAJAXEditForm, \
    34     BaseParagraphAddMenu, BaseParagraphPropertiesEditForm
    34     BaseParagraphAddMenu, BaseParagraphPropertiesEditForm
    35 from pyams_content.shared.imagemap.paragraph import ImageMapParagraph
    35 from pyams_content.shared.imagemap.paragraph import ImageMapParagraph
    36 from pyams_pagelet.pagelet import pagelet_config
    36 from pyams_pagelet.pagelet import pagelet_config
       
    37 from pyams_skin.event import get_json_form_refresh_event
    37 from pyams_template.template import template_config
    38 from pyams_template.template import template_config
    38 from pyams_utils.adapter import adapter_config
    39 from pyams_utils.adapter import adapter_config
    39 from pyams_utils.traversing import get_parent
    40 from pyams_utils.traversing import get_parent
    40 from pyams_viewlet.viewlet import viewlet_config, BaseContentProvider, Viewlet
    41 from pyams_viewlet.viewlet import viewlet_config, BaseContentProvider, Viewlet
    41 from pyams_zmi.form import AdminDialogAddForm
    42 from pyams_zmi.form import AdminDialogAddForm
    85 @pagelet_config(name='properties.html', context=IImageMapParagraph, layer=IPyAMSLayer,
    86 @pagelet_config(name='properties.html', context=IImageMapParagraph, layer=IPyAMSLayer,
    86                 permission=MANAGE_CONTENT_PERMISSION)
    87                 permission=MANAGE_CONTENT_PERMISSION)
    87 class ImagemapParagraphPropertiesEditForm(BaseParagraphPropertiesEditForm):
    88 class ImagemapParagraphPropertiesEditForm(BaseParagraphPropertiesEditForm):
    88     """Image map paragraph edit form"""
    89     """Image map paragraph edit form"""
    89 
    90 
       
    91     prefix = 'imagemap_properties.'
       
    92 
    90     @property
    93     @property
    91     def title(self):
    94     def title(self):
    92         content = get_parent(self.context, IWfSharedContent)
    95         content = get_parent(self.context, IWfSharedContent)
    93         return II18n(content).query_attribute('title', request=self.request)
    96         return II18n(content).query_attribute('title', request=self.request)
    94 
    97 
   128     """Image map paragraph properties inner edit form, JSON rendener"""
   131     """Image map paragraph properties inner edit form, JSON rendener"""
   129 
   132 
   130     def get_ajax_output(self, changes):
   133     def get_ajax_output(self, changes):
   131         output = super(ImagemapParagraphInnerAJAXEditForm, self).get_ajax_output(changes)
   134         output = super(ImagemapParagraphInnerAJAXEditForm, self).get_ajax_output(changes)
   132         if 'reference' in changes.get(IImageMapParagraph, ()):
   135         if 'reference' in changes.get(IImageMapParagraph, ()):
   133             form = ImagemapParagraphInnerEditForm(self.context, self.request)
   136             output.setdefault('events', []).append(
   134             form.update()
   137                 get_json_form_refresh_event(self.context, self.request, ImagemapParagraphInnerEditForm))
   135             content = form.getContent()
       
   136             output.setdefault('events', []).append({
       
   137                 'event': 'myams.refresh',
       
   138                 'options': {
       
   139                     'object_id': '{0}_{1}_{2}'.format(
       
   140                         content.__class__.__name__,
       
   141                         getattr(content, '__name__', 'noname').replace('++', ''),
       
   142                         form.id),
       
   143                     'content': form.render()
       
   144                 }
       
   145             })
       
   146         return output
   138         return output
   147 
   139 
   148 
   140 
   149 @viewlet_config(name='imagemap-preview', context=IImageMapParagraph, layer=IPyAMSLayer,
   141 @viewlet_config(name='imagemap-preview', context=IImageMapParagraph, layer=IPyAMSLayer,
   150                 view=ImagemapParagraphInnerEditForm, manager=IWidgetsSuffixViewletsManager, weight=1)
   142                 view=ImagemapParagraphInnerEditForm, manager=IWidgetsSuffixViewletsManager, weight=1)