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) |