# HG changeset patch # User Thierry Florac # Date 1528900477 -7200 # Node ID fecfd4969c4f339d8743f3ef53ff5e61daeb91a9 # Parent 43f6de0d1543f4b02e3be524ece98b451abd40a1# Parent a63bc2aa60bbf37f26f911931877d7456e3713e1 Merge branch doc-dc diff -r 43f6de0d1543 -r fecfd4969c4f src/pyams_content/shared/imagemap/zmi/area.py --- a/src/pyams_content/shared/imagemap/zmi/area.py Wed Jun 13 16:32:17 2018 +0200 +++ b/src/pyams_content/shared/imagemap/zmi/area.py Wed Jun 13 16:34:37 2018 +0200 @@ -9,6 +9,8 @@ # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS # FOR A PARTICULAR PURPOSE. # +from pyams_skin.event import get_json_table_row_refresh_event +from pyams_utils.traversing import get_parent __docformat__ = 'restructuredtext' @@ -24,7 +26,7 @@ # import packages from pyams_content.shared.imagemap import ImageMapArea -from pyams_content.shared.imagemap.zmi.container import ImagemapAreasContainerView +from pyams_content.shared.imagemap.zmi.container import ImagemapAreasContainerView, ImagemapAreasTable from pyams_content.shared.imagemap.zmi.widget import ImgareaInputFieldWidget from pyams_form.form import AJAXAddForm, ajax_config from pyams_pagelet.pagelet import pagelet_config @@ -125,3 +127,11 @@ fields['area'].widgetFactory = ImgareaInputFieldWidget edit_permission = MANAGE_CONTENT_PERMISSION + + def get_ajax_output(self, changes): + output = super(self.__class__, self).get_ajax_output(changes) + if changes: + container = get_parent(self.context, IWfImageMap) + output.setdefault('events', []).append( + get_json_table_row_refresh_event(container, self.request, ImagemapAreasTable, self.context)) + return output diff -r 43f6de0d1543 -r fecfd4969c4f src/pyams_content/shared/imagemap/zmi/container.py --- a/src/pyams_content/shared/imagemap/zmi/container.py Wed Jun 13 16:32:17 2018 +0200 +++ b/src/pyams_content/shared/imagemap/zmi/container.py Wed Jun 13 16:34:37 2018 +0200 @@ -89,11 +89,12 @@ @property def data_attributes(self): attributes = super(ImagemapAreasTable, self).data_attributes - attributes['table'] = { + attributes.setdefault('table', {}).update({ + 'id': self.id, 'data-ams-location': absolute_url(self.context, self.request), 'data-ams-datatable-sort': 'false', 'data-ams-datatable-pagination': 'false' - } + }) return attributes @reify