src/pyams_content/component/paragraph/zmi/pictogram.py
changeset 873 5f40601f9cb0
parent 844 36af332b6dd0
child 891 f69af721c84b
equal deleted inserted replaced
872:c9f708af6069 873:5f40601f9cb0
   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"""