[Solved] Has Anyone Made a Date-Range-Slider?

from dateutil.relativedelta import relativedelta

# Usual DASH stuff


        dcc.RangeSlider(
            id = 'datetime_RangeSlider',
            updatemode = 'mouseup', #don't let it update till mouse released
            min = unix_time_millis(d.datetime.min()),
            max = unix_time_millis(d.datetime.max()),
            value = [unix_time_millis(d.datetime.min()),
                         unix_time_millis(d.datetime.max())],
            #TODO add markers for key dates
            marks=get_marks_from_start_end(d.datetime.min(),
                                           d.datetime.max()),
        ),

def get_marks_from_start_end(start, end):
    ''' Returns dict with one item per month
    {1440080188.1900003: '2015-08',
    '''
    result = []
    current = start
    while current <= end:
        result.append(current)
        current += relativedelta(months=1)
    return {unix_time_millis(m):(str(m.strftime('%Y-%m'))) for m in result}

worked for me.

4 Likes