add find-as-you-type to (static) text list
This commit is contained in:
parent
187adae7e2
commit
05af51f76b
2 changed files with 18 additions and 1 deletions
|
@ -1282,6 +1282,7 @@ Ox.List = function(options, self) {
|
||||||
} else if (key == 'selected') {
|
} else if (key == 'selected') {
|
||||||
Ox.print('setOption selected', value)
|
Ox.print('setOption selected', value)
|
||||||
setSelected(value);
|
setSelected(value);
|
||||||
|
triggerSelectEvent();
|
||||||
} else if (key == 'sort') {
|
} else if (key == 'sort') {
|
||||||
Ox.print('---sort---')
|
Ox.print('---sort---')
|
||||||
updateSort();
|
updateSort();
|
||||||
|
|
|
@ -67,7 +67,8 @@ Ox.TextList = function(options, self) {
|
||||||
key_right: function() {
|
key_right: function() {
|
||||||
var $element = that.$body.$element;
|
var $element = that.$body.$element;
|
||||||
$element[0].scrollLeft = $element[0].scrollLeft + $element.width();
|
$element[0].scrollLeft = $element[0].scrollLeft + $element.width();
|
||||||
}
|
},
|
||||||
|
keys: find
|
||||||
});
|
});
|
||||||
|
|
||||||
self.options.columns.forEach(function(v) { // fixme: can this go into a generic ox.js function?
|
self.options.columns.forEach(function(v) { // fixme: can this go into a generic ox.js function?
|
||||||
|
@ -480,6 +481,21 @@ Ox.TextList = function(options, self) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function find(data) {
|
||||||
|
// fixme: works only if items are an array
|
||||||
|
var query = data.keys,
|
||||||
|
sort = self.options.sort[0];
|
||||||
|
Ox.forEach(self.options.items, function(item, i) {
|
||||||
|
var value = (
|
||||||
|
sort.map ? sort.map(item[sort.key]) : item[sort.key]
|
||||||
|
).toLowerCase();
|
||||||
|
if (Ox.startsWith(value, query)) {
|
||||||
|
that.$body.options({selected: [item[self.unique]]});
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function getCell(id, key) {
|
function getCell(id, key) {
|
||||||
Ox.print('getCell', id, key)
|
Ox.print('getCell', id, key)
|
||||||
var $item = getItem(id);
|
var $item = getItem(id);
|
||||||
|
|
Loading…
Reference in a new issue