add Ox.getIndex and Ox.getObject; Ox.List: use Ox.getIndex when updating item value
This commit is contained in:
parent
38b7072822
commit
62c65026b1
2 changed files with 18 additions and 6 deletions
|
@ -1834,7 +1834,9 @@ Ox.List = function(options, self) {
|
|||
self.options.items[pos][key] = value;
|
||||
} else if (self.items) {
|
||||
// items array was passed to initialize the list
|
||||
self.items[Ox.getIndexById(self.items, id)][key] = value;
|
||||
self.items[
|
||||
Ox.getIndex(self.items, self.options.unique, id)
|
||||
][key] = value;
|
||||
updateItems = true;
|
||||
}
|
||||
data[key] = value;
|
||||
|
|
|
@ -494,6 +494,13 @@ Ox.flatten = function(array) {
|
|||
return ret;
|
||||
};
|
||||
|
||||
// FIXME: add docs and tests
|
||||
Ox.getIndex = function(array, key, value) {
|
||||
return Ox.indexOf(array, function(obj) {
|
||||
return obj[key] === value;
|
||||
});
|
||||
};
|
||||
|
||||
/*@
|
||||
Ox.getIndexById <f> Returns the first array index of an object with a given id
|
||||
(array, id) -> <n> Index (or `-1`)
|
||||
|
@ -505,9 +512,13 @@ Ox.getIndexById <f> Returns the first array index of an object with a given id
|
|||
-1
|
||||
@*/
|
||||
Ox.getIndexById = function(array, id) {
|
||||
return Ox.indexOf(array, function(obj) {
|
||||
return obj.id === id;
|
||||
});
|
||||
return Ox.getIndex(array, 'id', id);
|
||||
};
|
||||
|
||||
// FIXME: add docs and tests
|
||||
Ox.getObject = function(array, key, value) {
|
||||
var index = Ox.getIndex(array, key, value);
|
||||
return index > -1 ? array[index] : null;
|
||||
};
|
||||
|
||||
/*@
|
||||
|
@ -521,8 +532,7 @@ Ox.getObjectById <f> Returns the first object in an array with a given id
|
|||
null
|
||||
@*/
|
||||
Ox.getObjectById = function(array, id) {
|
||||
var index = Ox.getIndexById(array, id);
|
||||
return index > -1 ? array[index] : null;
|
||||
return Ox.getObject(array, 'id', id);
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in a new issue