web/facet.py
branchstable
changeset 2149 6a631ec5cc71
parent 2130 caa5acbecc08
child 2152 edec2c9055e5
equal deleted inserted replaced
2148:2b2b9626a98f 2149:6a631ec5cc71
     8 """
     8 """
     9 __docformat__ = "restructuredtext en"
     9 __docformat__ = "restructuredtext en"
    10 
    10 
    11 from itertools import chain
    11 from itertools import chain
    12 from copy import deepcopy
    12 from copy import deepcopy
    13 from datetime import date
    13 from datetime import date, datetime
    14 
    14 
    15 from logilab.mtconverter import html_escape
    15 from logilab.mtconverter import html_escape
    16 
    16 
    17 from logilab.common.graph import has_path
    17 from logilab.common.graph import has_path
    18 from logilab.common.decorators import cached
    18 from logilab.common.decorators import cached
   681         self.w(u'<div id="%s"></div>' % sliderid)
   681         self.w(u'<div id="%s"></div>' % sliderid)
   682         self.w(u'</div>\n')
   682         self.w(u'</div>\n')
   683 
   683 
   684 
   684 
   685 class DateFacetRangeWidget(FacetRangeWidget):
   685 class DateFacetRangeWidget(FacetRangeWidget):
       
   686 
   686     formatter = 'function (value) {return (new Date(parseFloat(value))).strftime(DATE_FMT);}'
   687     formatter = 'function (value) {return (new Date(parseFloat(value))).strftime(DATE_FMT);}'
       
   688 
       
   689     def round_max_value(self, d):
       
   690         'round to upper value to avoid filtering out the max value'
       
   691         return datetime(d.year, d.month, d.day + 1)
       
   692 
   687     def __init__(self, facet, minvalue, maxvalue):
   693     def __init__(self, facet, minvalue, maxvalue):
       
   694         maxvalue = self.round_max_value(maxvalue)
   688         super(DateFacetRangeWidget, self).__init__(facet,
   695         super(DateFacetRangeWidget, self).__init__(facet,
   689                                                    datetime2ticks(minvalue),
   696                                                    datetime2ticks(minvalue),
   690                                                    datetime2ticks(maxvalue))
   697                                                    datetime2ticks(maxvalue))
   691         fmt = facet.req.property_value('ui.date-format')
   698         fmt = facet.req.property_value('ui.date-format')
   692         facet.req.html_headers.define_var('DATE_FMT', fmt)
   699         facet.req.html_headers.define_var('DATE_FMT', fmt)