web/facet.py
changeset 203 60cd67acf7fd
parent 0 b97547f5f1fa
child 346 5bbb01a133ae
equal deleted inserted replaced
202:74f319aff847 203:60cd67acf7fd
   305         selected = frozenset(typed_eid(eid) for eid in self.req.list_form_param(self.id))
   305         selected = frozenset(typed_eid(eid) for eid in self.req.list_form_param(self.id))
   306         for label, value in vocab:
   306         for label, value in vocab:
   307             if value is None:
   307             if value is None:
   308                 wdg.append(FacetSeparator(label))
   308                 wdg.append(FacetSeparator(label))
   309             else:
   309             else:
   310                 wdg.append(FacetItem(label, value, value in selected))
   310                 wdg.append(FacetItem(self.req, label, value, value in selected))
   311         return wdg
   311         return wdg
   312     
   312     
   313     def vocabulary(self):
   313     def vocabulary(self):
   314         """return vocabulary for this facet, eg a list of 2-uple (label, value)
   314         """return vocabulary for this facet, eg a list of 2-uple (label, value)
   315         """
   315         """
   530         self.w(u'</div>\n')
   530         self.w(u'</div>\n')
   531 
   531 
   532 
   532 
   533 class FacetItem(HTMLWidget):
   533 class FacetItem(HTMLWidget):
   534 
   534 
   535     selected_img = "http://static.simile.mit.edu/exhibit/api-2.0/images/black-check.png"
   535     selected_img = "black-check.png"
   536     unselected_img = "http://static.simile.mit.edu/exhibit/api-2.0/images/no-check-no-border.png"
   536     unselected_img = "no-check-no-border.png"
   537 
   537 
   538     def __init__(self, label, value, selected=False):
   538     def __init__(self, req, label, value, selected=False):
       
   539         self.req = req
   539         self.label = label
   540         self.label = label
   540         self.value = value
   541         self.value = value
   541         self.selected = selected
   542         self.selected = selected
   542 
   543 
   543     def _render(self):
   544     def _render(self):
   544         if self.selected:
   545         if self.selected:
   545             cssclass = ' facetValueSelected'
   546             cssclass = ' facetValueSelected'
   546             imgsrc = self.selected_img
   547             imgsrc = self.req.datadir_url + self.selected_img
   547         else:
   548         else:
   548             cssclass = ''
   549             cssclass = ''
   549             imgsrc = self.unselected_img            
   550             imgsrc = self.req.datadir_url + self.unselected_img            
   550         self.w(u'<div class="facetValue facetCheckBox%s" cubicweb:value="%s">\n'
   551         self.w(u'<div class="facetValue facetCheckBox%s" cubicweb:value="%s">\n'
   551                % (cssclass, html_escape(unicode(self.value))))
   552                % (cssclass, html_escape(unicode(self.value))))
   552         self.w(u'<img src="%s" />&nbsp;' % imgsrc)
   553         self.w(u'<img src="%s" />&nbsp;' % imgsrc)
   553         self.w(u'<a href="javascript: {}">%s</a>' % html_escape(self.label))
   554         self.w(u'<a href="javascript: {}">%s</a>' % html_escape(self.label))
   554         self.w(u'</div>')
   555         self.w(u'</div>')