Skip to content

Commit

Permalink
Very granular reporting
Browse files Browse the repository at this point in the history
  • Loading branch information
Jaifroid committed May 3, 2020
1 parent 167e75b commit 1e10807
Showing 1 changed file with 16 additions and 6 deletions.
22 changes: 16 additions & 6 deletions www/js/lib/zimArchive.js
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,7 @@ define(['zimfile', 'zimDirEntry', 'util', 'utf8'],
)
);
var dirEntries = [];
var inProgressResults = [];

function searchNextVariant() {
if (prefixVariants.length === 0 || dirEntries.length >= resultSize) {
Expand All @@ -176,12 +177,18 @@ define(['zimfile', 'zimDirEntry', 'util', 'utf8'],
if (!params.cancelSearch && !noInterim) callback(dirEntries, true);
var prefix = prefixVariants[0];
prefixVariants = prefixVariants.slice(1);
that.findDirEntriesWithPrefixCaseSensitive(prefix, resultSize - dirEntries.length, function (newDirEntries) {
dirEntries.push.apply(dirEntries, newDirEntries);
if (!params.cancelSearch) {
searchNextVariant();
that.findDirEntriesWithPrefixCaseSensitive(prefix, resultSize - dirEntries.length, function (newDirEntries, interim) {
if (interim) {
inProgressResults = inProgressResults.concat(newDirEntries);
if (!params.cancelSearch) callback(inProgressResults, true);
} else {
params.cancelSearch = false;
dirEntries.push.apply(dirEntries, newDirEntries);
if (!params.cancelSearch) {
inProgressResults = dirEntries;
searchNextVariant();
} else {
params.cancelSearch = false;
}
}
});
}
Expand Down Expand Up @@ -211,8 +218,11 @@ define(['zimfile', 'zimDirEntry', 'util', 'utf8'],
return dirEntries;
return that._file.dirEntryByTitleIndex(index).then(function(dirEntry) {
var title = dirEntry.getTitleOrUrl();
if (~title.indexOf(prefix) && dirEntry.namespace === "A")
if (~title.indexOf(prefix) && dirEntry.namespace === "A") {
dirEntries.push(dirEntry);
// Report interim result
callback(dirEntry, true);
}
return addDirEntries(index + 1);
});
};
Expand Down

0 comments on commit 1e10807

Please sign in to comment.