visualsearch.js - 如何显示facet onclick?

时间:2012-02-24 14:37:09

标签: javascript backbone.js

关于最精彩的javascript插件的另一个问题:visualsearch.js  : - )

根据我的用户反馈,真正遗漏的一个功能是,可能会以某种方式知道哪些是可用的方面。我的方面很多,当点击搜索框时,有一个方面列表(可能是分组的)真的很不错。

我查看了带注释的源代码,特别是search_parser.jssearch_box.js

我想我要在VS-search-inner id的元素上触发click事件。或许另一种方法是处理解析函数......我有点困惑。

我还注意到showFacetCategoryMenu,目前尚未使用,可能会实现我正在搜索的功能(如果已修改)。

所以,总之,我的问题是:

  1. 任何人都可以让我朝着正确的方向前进吗?
  2. 为了实现“show available facets”功能,
  3. 哪个是正确的地方?

2 个答案:

答案 0 :(得分:1)

更新了最新0.3.0代码的答案:

showFacets: true

  

0.3.0 2012年9月20日添加showFacets:true以显示搜索文本时自动显示所有可用构面的选项   盒子是专注的。您还可以传递多个方面名称   withoutCategory,如下所示:searchQuery.withoutCategory(' country',   '帐户'。)

答案 1 :(得分:0)

我刚刚发现在最新版本的visualsearch.js(0.2.2)中有类似于我需要的内容:

  // Show a menu which adds pre-defined facets to the search box. This is unused for now.
  showFacetCategoryMenu : function(e) {
    e.preventDefault();
    e.stopPropagation();
    if (this.facetCategoryMenu && this.facetCategoryMenu.modes.open == 'is') {
      return this.facetCategoryMenu.close();
    }

    var items = [
      {title: 'Account', onClick: _.bind(this.addFacet, this, 'account', '')},
      {title: 'Project', onClick: _.bind(this.addFacet, this, 'project', '')},
      {title: 'Filter', onClick: _.bind(this.addFacet, this, 'filter', '')},
      {title: 'Access', onClick: _.bind(this.addFacet, this, 'access', '')}
    ];

    var menu = this.facetCategoryMenu || (this.facetCategoryMenu = new dc.ui.Menu({
      items       : items,
      standalone  : true
    }));

    this.$('.VS-icon-search').after(menu.render().open().content);
    return false;
  }

希望这也可以帮助其他人。