如何在Algolia中创建相对日期/时间过滤器(即"前一天"," 2天前"," 3天前")?

时间:2017-01-09 12:38:07

标签: javascript algolia

在我的点击中,我有一个包含添加的道具..当我尝试在添加日期时设置过滤器时,会显示常用日期列表。我如何制作一个过滤器,说明.. 1天前,2天前,1周前等..然后过滤结果。

所以我没有将完整的日期列表显示为过滤器,而是根据我的需要对其进行个性化设置。

脚本:

//Algolia Widget for Date Added.
search.addWidget(
  instantsearch.widgets.menu({
    container: '#added-menu',
    attributeName: 'added',
    limit: 10,
    templates: {
      header: 'Added'
    }
  })
);

//Date added will display the whole list of common dates. 

1 个答案:

答案 0 :(得分:0)

更新:我能够找到处理相对日期的解决方案,它是在algolia文档中找到的名为numericSelector的过滤器。情况是,我只需要复制旧应用程序中的相对日期。

这里有约束条件:

  • 使用相对时间/日期过滤器。
  • 不要在点击中显示常用日期。
  • 使用下拉列表。

    search.addWidget(
      instantsearch.widgets.numericSelector({
       container: '#added-menu',
        attributeName: 'added',
        templates: {
          header: 'Added'
        },
        operator: '>=',
        options: [
          {label: 'Anytime', value: 0 },
          {label: 'Today', value: daysBefore(1) },
          {label: 'Within 3 Days', value: daysBefore(3)},
          {label: 'Within 1 week', value: daysBefore(7)},
          {label: 'Within 2 weeks', value: daysBefore(14)},
          {label: 'Within 1 Month', value: daysBefore(30)},
          {label: 'Within 3 Months', value: daysBefore(90)},
          {label: 'Within 6 Months', value: daysBefore(183)}
        ]
      })
    );

<强>剩余天数() 是一个返回当前日期减去的函数 天数然后转换为linux时间戳。