git://git.onelab.eu
/
myslice.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
84be8d9
)
plugin.hazelnut: fixed issue with filtering
author
Loic Baron
<loic.baron@lip6.fr>
Mon, 28 Oct 2013 10:50:36 +0000
(11:50 +0100)
committer
Loic Baron
<loic.baron@lip6.fr>
Mon, 28 Oct 2013 10:50:36 +0000
(11:50 +0100)
plugins/hazelnut/static/js/hazelnut.js
patch
|
blob
|
history
diff --git
a/plugins/hazelnut/static/js/hazelnut.js
b/plugins/hazelnut/static/js/hazelnut.js
index
dcd4e1f
..
7c042b1
100644
(file)
--- a/
plugins/hazelnut/static/js/hazelnut.js
+++ b/
plugins/hazelnut/static/js/hazelnut.js
@@
-23,6
+23,9
@@
this.received_all_query = false;
this.received_query = false;
this.received_all_query = false;
this.received_query = false;
+ // We need to remember the active filter for datatables filtering
+ this.filters = Array();
+
// an internal buffer for records that are 'in' and thus need to be checked
this.buffered_records_to_check = [];
// an internal buffer for keeping lines and display them in one call to fnAddData
// an internal buffer for records that are 'in' and thus need to be checked
this.buffered_records_to_check = [];
// an internal buffer for keeping lines and display them in one call to fnAddData
@@
-126,9
+129,9
@@
*/
$.fn.dataTableExt.afnFiltering.push(function( oSettings, aData, iDataIndex ) {
/* No filtering if the table does not match */
*/
$.fn.dataTableExt.afnFiltering.push(function( oSettings, aData, iDataIndex ) {
/* No filtering if the table does not match */
- if (oSettings.nTable.id !=
"hazelnut-" + self.options.plugin_uuid
)
+ if (oSettings.nTable.id !=
self.options.plugin_uuid + '__table'
)
return true;
return true;
- return
this
._hazelnut_filter.call(self, oSettings, aData, iDataIndex);
+ return
self
._hazelnut_filter.call(self, oSettings, aData, iDataIndex);
});
/* Processing hidden_columns */
});
/* Processing hidden_columns */
@@
-271,14
+274,16
@@
on_filter_added: function(filter)
{
on_filter_added: function(filter)
{
- // XXX
- console.log(filter);
+ this.filters.push(filter);
this.redraw_table();
},
on_filter_removed: function(filter)
{
this.redraw_table();
},
on_filter_removed: function(filter)
{
- // XXX
+ // Remove corresponding filters
+ this.filters = $.grep(this.filters, function(x) {
+ return x != filter;
+ });
this.redraw_table();
},
this.redraw_table();
},
@@
-451,19
+456,8
@@
*/
_hazelnut_filter: function(oSettings, aData, iDataIndex)
{
*/
_hazelnut_filter: function(oSettings, aData, iDataIndex)
{
- var cur_query = this.current_query;
- if (!cur_query) return true;
var ret = true;
var ret = true;
-
- /* We have an array of filters : a filter is an array (key op val)
- * field names (unless shortcut) : oSettings.aoColumns = [ sTitle ]
- * can we exploit the data property somewhere ?
- * field values (unless formatting) : aData
- * formatting should leave original data available in a hidden field
- *
- * The current line should validate all filters
- */
- $.each (cur_query.filters, function(index, filter) {
+ $.each (this.filters, function(index, filter) {
/* XXX How to manage checkbox ? */
var key = filter[0];
var op = filter[1];
/* XXX How to manage checkbox ? */
var key = filter[0];
var op = filter[1];