prevent repeat renderings of opac sidebar (relevant subjects, authors, etc.) in Firef...
authorphasefx <phasefx@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Mon, 4 Oct 2010 17:32:09 +0000 (17:32 +0000)
committerphasefx <phasefx@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Mon, 4 Oct 2010 17:32:09 +0000 (17:32 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_1_6_1@18157 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/web/opac/skin/default/js/result_common.js
Open-ILS/web/opac/skin/default/js/sidebar_extras.js

index f93d7f6..bea7bc9 100644 (file)
@@ -7,6 +7,7 @@ var googleBooksLink = true;
 
 var resultFetchAllRecords = false;
 var resultCompiledSearch = null;
+var allRecordsReceivedAndProcessed = false;
 
 /* set up the event handlers */
 if( findCurrentPage() == MRESULT || findCurrentPage() == RRESULT ) {
@@ -15,7 +16,7 @@ if( findCurrentPage() == MRESULT || findCurrentPage() == RRESULT ) {
        G.evt.result.copyCountsReceived.push(resultDisplayCopyCounts);
        G.evt.result.allRecordsReceived.push(resultBuildCaches, resultDrawSubjects, 
       resultDrawAuthors, resultDrawSeries, function(){unHideMe($('result_info_2'))},
-         fetchGoogleBooksLink);
+         fetchGoogleBooksLink, function() { allRecordsReceivedAndProcessed = true; });
 
        attachEvt('result','lowHits',resultLowHits);
        attachEvt('result','zeroHits',resultZeroHits);
@@ -599,6 +600,8 @@ function resultBuildFormatIcons( row, rec, is_mr ) {
 }
 
 function fetchGoogleBooksLink () {
+    if (allRecordsReceivedAndProcessed) { return; }
+
     if (isbnList && googleBooksLink) {
         var scriptElement = document.createElement("script");
         scriptElement.setAttribute("id", "jsonScript");
index cb35d88..0f268b9 100644 (file)
@@ -6,6 +6,8 @@ var authorCache = {};
 var seriesCache = {};
 
 function resultBuildCaches(records) {
+    if (allRecordsReceivedAndProcessed) { return; }
+
        for( var r in records ) {
                var rec = records[r];
                for( var s in rec.subject() ) 
@@ -17,6 +19,7 @@ function resultBuildCaches(records) {
 
 function resultSortSubjects(a, b) { return -(a.count - b.count); } /* sort in reverse */
 function resultDrawSubjects() {
+    if (allRecordsReceivedAndProcessed) { return; }
 
        var subjs = [];
        for( var s in subjectCache )
@@ -34,6 +37,8 @@ function resultDrawSubjects() {
 }
 
 function resultDrawAuthors() {
+    if (allRecordsReceivedAndProcessed) { return; }
+
        var auths = new Array();
        for( var s in authorCache ) auths.push(s);
 
@@ -45,6 +50,8 @@ function resultDrawAuthors() {
 }
 
 function resultDrawSeries() {
+    if (allRecordsReceivedAndProcessed) { return; }
+
        var sers = new Array();
        for( var s in seriesCache ) sers.push(s);
        resultDrawSidebarTrees(