summaryrefslogtreecommitdiff
path: root/addons/web/static/src
diff options
context:
space:
mode:
authorXavier Morel <xmo@openerp.com>2012-03-27 16:21:16 +0200
committerXavier Morel <xmo@openerp.com>2012-03-27 16:21:16 +0200
commit5a455daa436b50eeaf0b4691554962134ff2cecc (patch)
treed8f1b5f4bb8ff09c5d4493af43d22f8ab70c7084 /addons/web/static/src
parent7527aa61b5689f460fe7c1e6ff08a81f5cd1601b (diff)
[ADD] special rendering of filtergroup (readonly) facets
bzr revid: xmo@openerp.com-20120327142116-3ftjit1afo40ou09
Diffstat (limited to 'addons/web/static/src')
-rw-r--r--addons/web/static/src/js/search.js29
1 files changed, 29 insertions, 0 deletions
diff --git a/addons/web/static/src/js/search.js b/addons/web/static/src/js/search.js
index 5ff7e66731d..84dcbafa3b1 100644
--- a/addons/web/static/src/js/search.js
+++ b/addons/web/static/src/js/search.js
@@ -304,6 +304,9 @@ openerp.web.SearchView = openerp.web.Widget.extend(/** @lends openerp.web.Search
* @param {VS.model.SearchFacet} options.model facet object to render
*/
make_visualsearch_facet: function (options) {
+ if (options.model.get('field') instanceof openerp.web.search.FilterGroup) {
+ return new openerp.web.search.FilterGroupFacet(options);
+ }
return new VS.ui.SearchFacet(options);
},
/**
@@ -628,6 +631,32 @@ openerp.web.SearchView = openerp.web.Widget.extend(/** @lends openerp.web.Search
/** @namespace */
openerp.web.search = {};
+
+openerp.web.search.FilterGroupFacet = VS.ui.SearchFacet.extend({
+ events: {
+ 'click': 'selectFacet'
+ },
+
+ render: function () {
+ this.setMode('not', 'editing');
+ this.setMode('not', 'selected');
+
+ var value = this.model.get('value');
+ this.$el.html([
+ '<div class="category oe_filter">',
+ this.model.get('category'),
+ '</div>',
+ '<div class="search_facet_input_container">',
+ value,
+ '</div>',
+ '<div class="search_facet_remove VS-icon VS-icon-cancel"></div>'
+ ].join(''));
+ // virtual input so SearchFacet code has something to play with
+ this.box = $('<input>').val(value);
+
+ return this;
+ }
+});
/**
* Registry of search fields, called by :js:class:`openerp.web.SearchView` to
* find and instantiate its field widgets.