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" /> ' % imgsrc) |
553 self.w(u'<img src="%s" /> ' % 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>') |