Remove callback function for when redirect. Rename early return condition checking function

This commit is contained in:
root 2020-02-06 01:06:23 -04:00
parent 274d8d8bb9
commit 91c44a3fd1

View File

@ -1003,7 +1003,8 @@ define(['jquery', 'zimArchiveLoader', 'util', 'uiUtil', 'cookies','abstractFiles
if (dirEntry.isRedirect()) { if (dirEntry.isRedirect()) {
// Update expectedArticleURLToBeDisplayed before redirect. // Update expectedArticleURLToBeDisplayed before redirect.
selectedArchive.resolveRedirect(dirEntry, function (resolvedDirEntry) { selectedArchive.resolveRedirect(dirEntry, function (resolvedDirEntry) {
updatedExpectedURLOnRedirect(resolvedDirEntry, readArticle); expectedArticleURLToBeDisplayed = resolvedDirEntry.namespace + "/" + resolvedDirEntry.url;
readArticle(resolvedDirEntry);
}); });
} else { } else {
params.isLandingPage = false; params.isLandingPage = false;
@ -1019,7 +1020,7 @@ define(['jquery', 'zimArchiveLoader', 'util', 'uiUtil', 'cookies','abstractFiles
* Check whether the given URL from given dirEntry equals the expectedArticleURLToBeDisplayed * Check whether the given URL from given dirEntry equals the expectedArticleURLToBeDisplayed
* @param {DirEntry} dirEntry The directory entry of the article to read * @param {DirEntry} dirEntry The directory entry of the article to read
*/ */
function entryIsToExpectedBeDisplayed(dirEntry) { function isDirEntryExpectedToBeDisplayed(dirEntry) {
var curArticleURL = dirEntry.namespace + "/" + dirEntry.url; var curArticleURL = dirEntry.namespace + "/" + dirEntry.url;
if (expectedArticleURLToBeDisplayed !== curArticleURL) { if (expectedArticleURLToBeDisplayed !== curArticleURL) {
@ -1030,18 +1031,6 @@ define(['jquery', 'zimArchiveLoader', 'util', 'uiUtil', 'cookies','abstractFiles
return true; return true;
} }
/**
* Update the expectedArticleURLToBeDisplayed after redirect. Fires up the callback function with resolvedDirEntry
* @param {*} resolvedDirEntry The resolvedDirEntry returned from resolvedRedirect() function.
* @param {*} callback The callback function after updating the expectedArticleURLToBeDisplayed.
*/
function updatedExpectedURLOnRedirect(resolvedDirEntry, callback){
expectedArticleURLToBeDisplayed = resolvedDirEntry.namespace + "/" + resolvedDirEntry.url;
console.debug("On redirect, update expectedArticleURLToBeDisplayed to be :" + expectedArticleURLToBeDisplayed);
callback(resolvedDirEntry);
}
/** /**
* Read the article corresponding to the given dirEntry * Read the article corresponding to the given dirEntry
* @param {DirEntry} dirEntry The directory entry of the article to read * @param {DirEntry} dirEntry The directory entry of the article to read
@ -1054,7 +1043,7 @@ define(['jquery', 'zimArchiveLoader', 'util', 'uiUtil', 'cookies','abstractFiles
// Early return if article's title is not expected to be displayed // Early return if article's title is not expected to be displayed
// Cause an issue if the current dirEntry is redirected from another dirEntry since the urlExpecedToBedisplayed is not updated // Cause an issue if the current dirEntry is redirected from another dirEntry since the urlExpecedToBedisplayed is not updated
// before redirecting. // before redirecting.
if(! entryIsToExpectedBeDisplayed(dirEntry)){ if(! isDirEntryExpectedToBeDisplayed(dirEntry)){
console.debug(dirEntry, " is not expected to be displayed. Early retrun in readArticle().") console.debug(dirEntry, " is not expected to be displayed. Early retrun in readArticle().")
return; return;
} }
@ -1100,7 +1089,8 @@ define(['jquery', 'zimArchiveLoader', 'util', 'uiUtil', 'cookies','abstractFiles
if (dirEntry.isRedirect()) { if (dirEntry.isRedirect()) {
// Update expectedArticleURLToBeDisplayed before redirect then call readArticle. // Update expectedArticleURLToBeDisplayed before redirect then call readArticle.
selectedArchive.resolveRedirect(dirEntry, function (resolvedDirEntry) { selectedArchive.resolveRedirect(dirEntry, function (resolvedDirEntry) {
updatedExpectedURLOnRedirect(resolvedDirEntry, readArticle) expectedArticleURLToBeDisplayed = resolvedDirEntry.namespace + "/" + resolvedDirEntry.url;
readArticle(resolvedDirEntry)
}); });
} else { } else {
// Line below was inserted to prevent the spinner being hidden, possibly by an async function, when pressing the Random button in quick succession // Line below was inserted to prevent the spinner being hidden, possibly by an async function, when pressing the Random button in quick succession