web/facet.py
changeset 8170 8663f451c763
parent 8104 71d9fb78b772
child 8190 2a3c1b787688
equal deleted inserted replaced
8163:f0a0bfc4a0c8 8170:8663f451c763
   420         }
   420         }
   421     visible = True
   421     visible = True
   422     context = ''
   422     context = ''
   423     needs_update = False
   423     needs_update = False
   424     start_unfolded = True
   424     start_unfolded = True
       
   425     allow_hide = True
   425     cw_rset = None # ensure facets have a cw_rset attribute
   426     cw_rset = None # ensure facets have a cw_rset attribute
   426 
   427 
   427     def __init__(self, req, select=None, filtered_variable=None,
   428     def __init__(self, req, select=None, filtered_variable=None,
   428                  **kwargs):
   429                  **kwargs):
   429         super(AbstractFacet, self).__init__(req, **kwargs)
   430         super(AbstractFacet, self).__init__(req, **kwargs)
  1442     def _render(self):
  1443     def _render(self):
  1443         w = self.w
  1444         w = self.w
  1444         title = xml_escape(self.facet.title)
  1445         title = xml_escape(self.facet.title)
  1445         facetid = make_uid(self.facet.__regid__)
  1446         facetid = make_uid(self.facet.__regid__)
  1446         w(u'<div id="%s" class="facet">\n' % facetid)
  1447         w(u'<div id="%s" class="facet">\n' % facetid)
  1447         w(u'<div class="facetTitle" cubicweb:facetName="%s">%s</div>\n' %
  1448         cssclass = 'facetTitle'
  1448           (xml_escape(self.facet.__regid__), title))
  1449         if self.facet.allow_hide:
       
  1450             cssclass += ' hideFacetBody'
       
  1451         w(u'<div class="%s" cubicweb:facetName="%s">%s</div>\n' %
       
  1452           (cssclass, xml_escape(self.facet.__regid__), title))
  1449         if self.facet._support_and_compat():
  1453         if self.facet._support_and_compat():
  1450             self._render_and_or(w)
  1454             self._render_and_or(w)
  1451         cssclass = 'facetBody vocabularyFacet'
  1455         cssclass = 'facetBody vocabularyFacet'
  1452         if not self.facet.start_unfolded:
  1456         if not self.facet.start_unfolded:
  1453             cssclass += ' hidden'
  1457             cssclass += ' hidden'
  1499     def _render(self):
  1503     def _render(self):
  1500         w = self.w
  1504         w = self.w
  1501         title = xml_escape(self.facet.title)
  1505         title = xml_escape(self.facet.title)
  1502         facetid = make_uid(self.facet.__regid__)
  1506         facetid = make_uid(self.facet.__regid__)
  1503         w(u'<div id="%s" class="facet">\n' % facetid)
  1507         w(u'<div id="%s" class="facet">\n' % facetid)
  1504         w(u'<div class="facetTitle" cubicweb:facetName="%s">%s</div>\n' %
  1508         cssclass = 'facetTitle'
  1505                (xml_escape(self.facet.__regid__), title))
  1509         if self.facet.allow_hide:
       
  1510             cssclass += ' hideFacetBody'
       
  1511         w(u'<div class="%s" cubicweb:facetName="%s">%s</div>\n' %
       
  1512                (cssclass, xml_escape(self.facet.__regid__), title))
  1506         w(u'<input name="%s" type="text" value="%s" />\n' % (facetid, self.value or u''))
  1513         w(u'<input name="%s" type="text" value="%s" />\n' % (facetid, self.value or u''))
  1507         w(u'</div>\n')
  1514         w(u'</div>\n')
  1508 
  1515 
  1509 
  1516 
  1510 class FacetRangeWidget(htmlwidgets.HTMLWidget):
  1517 class FacetRangeWidget(htmlwidgets.HTMLWidget):
  1558             'formatter': self.formatter,
  1565             'formatter': self.formatter,
  1559             })
  1566             })
  1560         title = xml_escape(self.facet.title)
  1567         title = xml_escape(self.facet.title)
  1561         facetname = xml_escape(facetname)
  1568         facetname = xml_escape(facetname)
  1562         w(u'<div id="%s" class="facet rangeFacet">\n' % facetid)
  1569         w(u'<div id="%s" class="facet rangeFacet">\n' % facetid)
  1563         w(u'<div class="facetTitle" cubicweb:facetName="%s">%s</div>\n' %
  1570         cssclass = 'facetTitle'
  1564           (facetname, title))
  1571         if facet.allow_hide:
       
  1572             cssclass += ' hideFacetBody'
       
  1573         w(u'<div class="%s" cubicweb:facetName="%s">%s</div>\n' %
       
  1574           (cssclass, facetname, title))
  1565         cssclass = 'facetBody'
  1575         cssclass = 'facetBody'
  1566         if not self.facet.start_unfolded:
  1576         if not self.facet.start_unfolded:
  1567             cssclass += ' hidden'
  1577             cssclass += ' hidden'
  1568         w(u'<div class="%s">\n' % cssclass)
  1578         w(u'<div class="%s">\n' % cssclass)
  1569         w(u'<span id="%s_inf"></span> - <span id="%s_sup"></span>'
  1579         w(u'<span id="%s_inf"></span> - <span id="%s_sup"></span>'