Checks if rendered count has changed rather than relying on key char
This commit is contained in:
parent
ecf08ae1e6
commit
8e7929b874
2 changed files with 15 additions and 8 deletions
|
@ -615,7 +615,6 @@ require('./window')(function(w){
|
|||
|
||||
if (elOffsetTop > filterDropdownBottom) {
|
||||
filterDropdownEl.scrollTop = elOffsetTop - filterDropdownBottom;
|
||||
console.log(filterDropdownEl.scrollTop);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,10 +3,11 @@
|
|||
/* global droplab */
|
||||
|
||||
require('../window')(function(w){
|
||||
var charRegex = new RegExp('^.$', 'g');
|
||||
w.droplabFilter = {
|
||||
|
||||
keydownWrapper: function(e){
|
||||
var hiddenCount = 0;
|
||||
var dataHiddenCount = 0;
|
||||
var list = e.detail.hook.list;
|
||||
var data = list.data;
|
||||
var value = e.detail.hook.trigger.value.toLowerCase();
|
||||
|
@ -18,10 +19,6 @@ require('../window')(function(w){
|
|||
return;
|
||||
}
|
||||
|
||||
if (!charRegex.test(e.detail.key)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (config && config.filterFunction && typeof config.filterFunction === 'function') {
|
||||
filterFunction = config.filterFunction;
|
||||
} else {
|
||||
|
@ -32,11 +29,22 @@ require('../window')(function(w){
|
|||
};
|
||||
}
|
||||
|
||||
dataHiddenCount = data.filter(function(o) {
|
||||
return !o.droplab_hidden;
|
||||
}).length;
|
||||
|
||||
matches = data.map(function(o) {
|
||||
return filterFunction(o, value);
|
||||
});
|
||||
|
||||
hiddenCount = matches.filter(function(o) {
|
||||
return !o.droplab_hidden;
|
||||
}).length;
|
||||
|
||||
if (dataHiddenCount !== hiddenCount) {
|
||||
list.render(matches);
|
||||
list.currentIndex = 0;
|
||||
}
|
||||
},
|
||||
|
||||
init: function init(hookInput) {
|
||||
|
|
Loading…
Reference in a new issue