Changeset 33146 for main/trunk/greenstone3
- Timestamp:
- 2019-06-11T19:46:35+12:00 (5 years ago)
- Location:
- main/trunk/greenstone3/web/interfaces/default/js
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone3/web/interfaces/default/js/classifier_scripts.js
r33145 r33146 11 11 } 12 12 return false; 13 }14 15 // TODO: Is there a better solution16 function _basicToggleSection(sectionID) {17 // Leave this function here, even though it's empty.18 // This function is here because:19 // - it mirrors the identically named version in document_scripts20 // - and this allows map_scripts to override it without knowing whether it's21 // overriding classifier_scripts::toggleSection() or document_scripts::toggleSection().22 23 // This method is not meant to call toggleSection. If anything it would be the other way around24 // (as occurs in doc_scripts.js). But this method has to remain empty for classifier_scripts.js25 // since map_scripts largely repeats classifier_scripts.js::toggleSection() code.26 13 } 27 14 … … 59 46 } 60 47 updateOpenClassifiers(); 48 if(typeof mapEnabled !== 'undefined'){ 49 updateMap(); 50 } 61 51 } 62 52 else … … 163 153 dmcheckout(); 164 154 } 165 updateOpenClassifiers(); 155 updateOpenClassifiers(); 156 if(typeof mapEnabled !== 'undefined'){ 157 getSubClassifier(sectionID); 158 } 166 159 }) 167 160 .error(function() -
main/trunk/greenstone3/web/interfaces/default/js/document_scripts.js
r33128 r33146 1 1 /** Javascript file for viewing documents */ 2 3 //-------TODO--------//4 // map-scripts.js needs these, but non-map viewing does not. Yet if we add these to map_scripts,5 // then in classifier mode, map_scripts will use classifier_scripts.js which already has these6 // So for now, we add them into this file for when map_scripts is in doc view mode and includes document_scripts.js.7 // It seems suboptimal, as these variables and function will be wasted when in regular non-map mode.8 // But unable to think of any other solution at present.9 var inProgress = new Array();10 var openClassifiers = new Array();11 var busy = false;12 13 14 15 function updateOpenClassifiers()16 {17 var oc = "";18 var first = true;19 for(var key in openClassifiers)20 {21 if(first)22 {23 first = false;24 }25 else26 {27 oc += ",";28 }29 30 oc += key;31 }32 33 if(oc != undefined)34 {35 window.location.hash = oc;36 }37 }38 39 //---------------//40 2 41 3 /** NOTE, this file uses inline templates which look for httpPath, assocfilepath, Source, Thumb, Title metadata. These need to be added into any xsl file that uses this javascript (using <gsf:metadata name="xx" hidden="true"/> if they are not already being collected. */ … … 187 149 } 188 150 189 // TODO: 190 // DO NOT "MERGE" _basicToggleSection into toggleSection! 191 // map_scripts.js calls _basicToggleSection as it redefines toggleSection() to do (more) stuff. 151 192 152 function toggleSection(sectionID, callback, tocDisabled) 193 {194 _basicToggleSection(sectionID, callback, tocDisabled);195 }196 function _basicToggleSection(sectionID, callback, tocDisabled)197 153 { 198 154 var docElem = gs.jqGet("doc" + sectionID); -
main/trunk/greenstone3/web/interfaces/default/js/map-scripts.js
r33145 r33146 1 var mapEnabled = true; // variable to detect when map-scripts have been included into document_scripts.js and classifier_scripts.js 2 1 3 //var newLat, newLng = 0; 2 4 var _docList = new Array(); … … 18 20 function initializeMapScripts() 19 21 { 20 modifyFunctions();21 22 setUpMap(); 22 23 … … 876 877 return indexName + ":" + beforeDec + "+AND+" + indexName + ":" + afterDec; 877 878 } 878 879 // This function "overrides" (or rather, redefines) toggleSection in both classifier_scripts.js and document_scripts.js880 // However, classifier_scripts.js::toggleSection() only took one parameter, sectionID, whereas881 // document_scripts.js::toggleSection() took 3 params (sectionID, callback, tocDisabled).882 // So to be compatible with both, need map-scripts::toggleSection() here to support all 3 in that order.883 function modifyFunctions()884 {885 toggleSection = function(sectionID, callback, tocDisabled)886 {887 _basicToggleSection(sectionID, callback, tocDisabled);888 889 var section = gs.jqGet("div" + sectionID);890 var sectionToggle = gs.jqGet("toggle" + sectionID);891 892 if(sectionToggle == undefined)893 {894 return;895 }896 897 //If the div exists898 // Test if 'section' exists.899 // ==> Because we're using jQuery to do this we need to test the length of the object returned900 // http://stackoverflow.com/questions/920236/how-can-i-detect-if-a-selector-returns-null901 if(section.length !== 0)902 {903 if(isExpanded(sectionID))904 {905 section.css("display", "none");906 sectionToggle.attr("src", gs.imageURLs.expand);907 908 if(openClassifiers[sectionID].length !== 0) //if(openClassifiers[sectionID] != undefined)909 {910 delete openClassifiers[sectionID];911 }912 }913 else914 {915 section.css("display", "block");916 sectionToggle.attr("src", gs.imageURLs.collapse);917 openClassifiers[sectionID] = true;918 }919 updateOpenClassifiers();920 updateMap();921 }922 else923 {924 httpRequest(sectionID);925 }926 927 }928 929 httpRequest = function(sectionID)930 {931 if(!inProgress[sectionID])932 {933 inProgress[sectionID] = true;934 935 var sectionToggle = gs.jqGet("toggle" + sectionID);936 sectionToggle.attr("src", gs.imageURLs.loading);937 938 var url = gs.xsltParams.library_name + "/collection/" + gs.cgiParams.c + "/browse/" + sectionID.replace(/\./g, "/") + "?excerptid=div" + sectionID;939 940 if(gs.cgiParams.berrybasket == "on")941 {942 url = url + "&berrybasket=on";943 }944 945 if(url.indexOf("#") != -1)946 {947 url = url.substring(0, url.indexOf("#"));948 }949 950 $.ajax(url)951 .success(function(responseText)952 {953 var newDiv = $("<div>");954 var sibling = gs.jqGet("title" + sectionID);955 sibling.after(newDiv);956 957 newDiv.html(responseText);958 sectionToggle.attr("src", gs.imageURLs.collapse);959 openClassifiers[sectionID] = true;960 961 if(gs.cgiParams.berrybasket == "on")962 {963 checkout();964 }965 else if(gs.cgiParams.documentbasket == "on")966 {967 dmcheckout();968 }969 updateOpenClassifiers();970 getSubClassifier(sectionID);971 })972 .error(function()973 {974 sectionToggle.attr("src", gs.imageURLs.expand);975 })976 .complete(function()977 {978 inProgress[sectionID] = false;979 busy = false;980 });981 }982 }983 }
Note:
See TracChangeset
for help on using the changeset viewer.