179 attributes = super(PictogramsTable, self).data_attributes |
179 attributes = super(PictogramsTable, self).data_attributes |
180 attributes['table'] = { |
180 attributes['table'] = { |
181 'id': self.id, |
181 'id': self.id, |
182 'data-ams-location': absolute_url(IPictogramContainer(self.context), self.request), |
182 'data-ams-location': absolute_url(IPictogramContainer(self.context), self.request), |
183 'data-ams-tablednd-drag-handle': 'td.sorter', |
183 'data-ams-tablednd-drag-handle': 'td.sorter', |
184 'data-ams-tablednd-drop-target': 'set-pictograms-order.json', |
184 'data-ams-tablednd-drop-target': 'set-pictograms-order.json' |
185 'data-ams-visibility-switcher': 'switch-pictogram-visibility.json' |
|
186 } |
185 } |
|
186 attributes.setdefault('td', {}).update({ |
|
187 'data-ams-attribute-switcher': self.get_switcher_target |
|
188 }) |
187 return attributes |
189 return attributes |
|
190 |
|
191 @staticmethod |
|
192 def get_switcher_target(element, column): |
|
193 if column.__name__ == 'show-hide': |
|
194 return 'switch-pictogram-visibility.json' |
188 |
195 |
189 @reify |
196 @reify |
190 def values(self): |
197 def values(self): |
191 return list(super(PictogramsTable, self).values) |
198 return list(super(PictogramsTable, self).values) |
192 |
199 |
212 order = list(map(str, json.loads(request.params.get('names')))) |
219 order = list(map(str, json.loads(request.params.get('names')))) |
213 request.context.updateOrder(order) |
220 request.context.updateOrder(order) |
214 return {'status': 'success'} |
221 return {'status': 'success'} |
215 |
222 |
216 |
223 |
|
224 @adapter_config(name='show-hide', context=(IPictogramContainerTarget, IPyAMSLayer, PictogramsTable), |
|
225 provides=IColumn) |
|
226 class PictogramsTableShowHideColumn(ProtectedFormObjectMixin, VisibilitySwitcherColumn): |
|
227 """Pictograms container visibility switcher column""" |
|
228 |
|
229 |
|
230 @view_config(name='switch-pictogram-visibility.json', context=IPictogramContainer, request_type=IPyAMSLayer, |
|
231 permission=MANAGE_CONTENT_PERMISSION, renderer='json', xhr=True) |
|
232 def switch_pictogram_visibility(request): |
|
233 """Set pictogram visibility""" |
|
234 return switch_element_visibility(request, IPictogramContainer) |
|
235 |
|
236 |
217 @adapter_config(name='image', context=(IPictogramContainerTarget, IPyAMSLayer, PictogramsTable), provides=IColumn) |
237 @adapter_config(name='image', context=(IPictogramContainerTarget, IPyAMSLayer, PictogramsTable), provides=IColumn) |
218 class PictogramsTableImageColumn(GetAttrColumn): |
238 class PictogramsTableImageColumn(GetAttrColumn): |
219 """Pictogram image column""" |
239 """Pictogram image column""" |
220 |
240 |
221 header = '' |
241 header = '' |
229 if pictogram is not None: |
249 if pictogram is not None: |
230 image = II18n(pictogram).query_attribute('image', request=self.request) |
250 image = II18n(pictogram).query_attribute('image', request=self.request) |
231 if image: |
251 if image: |
232 return render_image(image, 48, 48, self.request, timestamp=True) |
252 return render_image(image, 48, 48, self.request, timestamp=True) |
233 return '--' |
253 return '--' |
234 |
|
235 |
|
236 @adapter_config(name='show-hide', context=(IPictogramContainerTarget, IPyAMSLayer, PictogramsTable), |
|
237 provides=IColumn) |
|
238 class PictogramsTableShowHideColumn(ProtectedFormObjectMixin, VisibilitySwitcherColumn): |
|
239 """Pictograms container visibility switcher column""" |
|
240 |
|
241 |
|
242 @view_config(name='switch-pictogram-visibility.json', context=IPictogramContainer, request_type=IPyAMSLayer, |
|
243 permission=MANAGE_CONTENT_PERMISSION, renderer='json', xhr=True) |
|
244 def switch_pictogram_visibility(request): |
|
245 """Set pictogram visibility""" |
|
246 return switch_element_visibility(request, IPictogramContainer) |
|
247 |
254 |
248 |
255 |
249 @adapter_config(name='name', context=(IPictogramContainerTarget, IPyAMSLayer, PictogramsTable), provides=IColumn) |
256 @adapter_config(name='name', context=(IPictogramContainerTarget, IPyAMSLayer, PictogramsTable), provides=IColumn) |
250 class PictogramsTableNameColumn(I18nColumn, I18nAttrColumn): |
257 class PictogramsTableNameColumn(I18nColumn, I18nAttrColumn): |
251 """Pictograms table name column""" |
258 """Pictograms table name column""" |