[Search] Timeout length & indexed check

Changed timeout to 0 ms. Changed check for
already indexed to an empty return.
This commit is contained in:
slhale
2015-08-12 11:03:10 -07:00
parent 3555f41f3e
commit 515470fa6a

View File

@@ -39,7 +39,7 @@ define(
*
* @constructor
* @param $q Angular's $q, for promise consolidation.
* @param $timeout Angular's $timeout, for delayed funtion execution.
* @param $timeout Angular's $timeout, for delayed function execution.
* @param {ObjectService} objectService The service from which
* domain objects can be gotten.
* @param {WorkerService} workerService The service which allows
@@ -127,30 +127,32 @@ define(
nodes.forEach(function (node) {
var id = node && node.getId && node.getId();
// If we have not yet indexed this item, index it
if (!indexed[id]) {
// Index each item with the web worker
indexItem(node);
indexed[id] = true;
if (node && node.hasCapability && node.hasCapability('composition')) {
// This node has children
// Make sure that this is async, so doesn't block up page
$timeout(function () {
// Get the children...
node.useCapability('composition').then(function (children) {
$timeout(function () {
// ... then index the children
if (children.constructor === Array) {
indexItems(children);
} else {
indexItems([children]);
}
}, 100);
});
}, 100);
}
// If we have already indexed this item, stop here
if (indexed[id]) {
return;
}
// Index each item with the web worker
indexItem(node);
indexed[id] = true;
// If this node has children, index those
if (node && node.hasCapability && node.hasCapability('composition')) {
// Make sure that this is async, so doesn't block up page
$timeout(function () {
// Get the children...
node.useCapability('composition').then(function (children) {
$timeout(function () {
// ... then index the children
if (children.constructor === Array) {
indexItems(children);
} else {
indexItems([children]);
}
}, 0);
});
}, 0);
}
// Watch for changes to this item, in case it gets new children