Changeset 38003 for main/trunk/greenstone3/web
- Timestamp:
- 2023-09-04T14:59:06+12:00 (9 months ago)
- Location:
- main/trunk/greenstone3/web/interfaces/default
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone3/web/interfaces/default/js/classifier_scripts.js
r36027 r38003 18 18 var sectionToggle = gs.jqGet("toggle" + sectionID); 19 19 20 if(sectionToggle == undefined)20 if(sectionToggle.length === 0) 21 21 { 22 22 return; … … 36 36 sectionToggle.attr("src", gs.imageURLs.expand); 37 37 38 if(openClassifiers[sectionID] .length !== 0) //if(openClassifiers[sectionID] != undefined)38 if(openClassifiers[sectionID] != undefined && openClassifiers[sectionID].length !== 0) 39 39 { 40 40 delete openClassifiers[sectionID]; … … 57 57 else 58 58 { 59 httpBrowseRequest(sectionID); 60 } 59 httpBrowseRequest(sectionID, "vlist"); 60 } 61 } 62 63 function toggleHListSection(sectionID) 64 { 65 66 var parentID = getParentID(sectionID); 67 var section = document.getElementById('div' + sectionID); 68 var parent = document.getElementById('classifiernodelist'+parentID); 69 if (parent === null) { 70 console.log("couldn't find parent for "+sectionID); 71 return; 72 } 73 if(section != null) { 74 75 76 var expanding = false; 77 var sectionTitle = document.getElementById("title"+sectionID); 78 if(isExpanded(sectionID)) 79 { 80 expanding = false; 81 section.style.display = "none"; 82 83 sectionTitle.classList.remove("selectedHorizontalClassifierNode"); 84 if(openClassifiers[sectionID] != undefined && openClassifiers[sectionID].length !== 0) 85 { 86 delete openClassifiers[sectionID]; 87 } 88 } 89 else 90 { 91 expanding = true; 92 section.style.display="block"; 93 sectionTitle.classList.add("selectedHorizontalClassifierNode"); 94 openClassifiers[sectionID] = true; 95 } 96 updateOpenClassifiers(); 97 if(typeof mapEnabled !== 'undefined' /*&& mapEnabled*/){ 98 //console.log("Classifier scripts -> updateMap()"); 99 toggleMapSection({"expand": expanding, "nodeID": sectionID}); 100 updateMap(); 101 } 102 } 103 else 104 { 105 // get teh content of the section 106 httpBrowseRequest(sectionID, "hlist"); 107 } 108 // now hide the one that was already displayed (if any) 109 var children = parent.querySelectorAll('.childrenlist'); 110 for (var i = 0; i < children.length; i++) { 111 var child = children[i]; 112 var cid = child.id.substring(3); // remove 'div' from the id so we can get the section id 113 if (cid != sectionID) { 114 child.style.display="none"; 115 var childTitle = document.getElementById('title'+cid); 116 childTitle.classList.remove("selectedHorizontalClassifierNode"); 117 delete openClassifiers[cid]; 118 } 119 } 120 updateOpenClassifiers(); 121 61 122 } 62 123 … … 118 179 } 119 180 120 function httpBrowseRequest(sectionID) 181 function getParentID(sectionID) { 182 if (sectionID.lastIndexOf(".") != -1) { 183 return sectionID.substring(0, sectionID.lastIndexOf(".")); 184 } 185 return sectionID; 186 } 187 188 function httpBrowseRequest(sectionID, listType) 121 189 { 122 190 if(!inProgress[sectionID]) 123 191 { 124 inProgress[sectionID] = true; 125 192 inProgress[sectionID] = true; 193 194 if (listType != "hlist") { 126 195 var sectionToggle = gs.jqGet("toggle" + sectionID); 127 196 sectionToggle.attr("src", gs.imageURLs.loading); 128 197 } 129 198 var url = gs.xsltParams.library_name + "/collection/" + gs.cgiParams.c + "/browse/" + sectionID.replace(/\./g, "/") + "?excerptid=div" + sectionID; 130 199 131 if(gs.cgiParams.berrybasket == "on")132 {133 url = url + "&berrybasket=on";134 }135 200 if(gs.cgiParams.favouritebasket == "on") 136 201 { … … 146 211 .done(function(data) 147 212 { 148 var newDiv = $("<div>"); 213 var newDiv = $("<div>"); 214 if (listType == "hlist") { 215 var parent = gs.jqGet("classifiernodelist"+getParentID(sectionID)); 216 var title = gs.jqGet("title"+sectionID); 217 title.addClass("selectedHorizontalClassifierNode"); 218 parent.append(newDiv); 219 220 } else { 149 221 var sibling = gs.jqGet("title" + sectionID); 150 sibling.after(newDiv); 222 sibling.after(newDiv); 223 sectionToggle.attr("src", gs.imageURLs.collapse); 224 225 } 226 newDiv.html(data); 151 227 152 newDiv.html(data);153 sectionToggle.attr("src", gs.imageURLs.collapse);154 228 openClassifiers[sectionID] = true; 155 229 156 if(gs.cgiParams.berrybasket == "on")157 {158 berryCheckout();159 }160 230 if(gs.cgiParams.favouritebasket == "on") 161 231 { … … 172 242 }) 173 243 .fail(function() 174 { 175 sectionToggle.attr("src", gs.imageURLs.expand); 244 { 245 if (listType != "hlist") { 246 sectionToggle.attr("src", gs.imageURLs.expand); 247 } 176 248 }) 177 249 .always(function() … … 180 252 busy = false; 181 253 }); 182 } 183 } 254 } 255 256 } -
main/trunk/greenstone3/web/interfaces/default/transform/pages/classifier.xsl
r37680 r38003 85 85 </xsl:when> 86 86 <xsl:otherwise> 87 <table id="classifiernodelist"> 87 <table class="childrenlist" id="div{@nodeID}"> 88 89 <!--<table id="classifiernodelist">--> 88 90 <xsl:text> </xsl:text> 89 91 <xsl:call-template name="processNodeChildren"> … … 103 105 <xsl:value-of select="/page/pageRequest/paramList/param[@name = 'cl']/@value" /> 104 106 </xsl:variable> 107 105 108 <ul class="horizontalContainer"> 106 109 <xsl:for-each select='classifierNode'> 107 <li >110 <li id="title{@nodeID}"> 108 111 <xsl:attribute name="class"> 109 <xsl:if test="$selectedNode = @nodeID or starts-with($selectedNode, concat(@nodeID, '.')) or (not(contains($selectedNode, '.')) and @nodeID = concat($selectedNode, '.1'))">selectedHorizontalClassifierNode </xsl:if> 112 <!-- <xsl:if test="$selectedNode = @nodeID or starts-with($selectedNode, concat(@nodeID, '.')) or (not(contains($selectedNode, '.')) and @nodeID = concat($selectedNode, '.1'))">selectedHorizontalClassifierNode </xsl:if>--> 113 <xsl:if test="$selectedNode = @nodeID or starts-with($selectedNode, concat(@nodeID, '.')) or (@nodeID = concat($selectedNode, '.1'))">selectedHorizontalClassifierNode </xsl:if> 110 114 <xsl:text>horizontalClassifierNode</xsl:text> 111 115 </xsl:attribute> … … 129 133 </xsl:when> 130 134 <xsl:otherwise> 131 <table id="classifiernodelist"> 132 <xsl:for-each select='classifierNode'> 135 136 <div id="classifiernodelist{@nodeID}"> 137 <xsl:for-each select='classifierNode'> 138 <xsl:if test="classifierNode|documentNode"> 139 <table class="childrenlist" id="div{@nodeID}"> 133 140 <xsl:call-template name="processNodeChildren"> 134 141 <xsl:with-param name='collName' select='$collName' /> 135 142 <xsl:with-param name='serviceName' select='$serviceName' /> 136 143 </xsl:call-template> 144 </table> 145 </xsl:if> 137 146 </xsl:for-each> 138 </ table>147 </div> 139 148 </xsl:otherwise> 140 149 </xsl:choose> … … 225 234 <td> 226 235 <table class="childrenlist" id="div{@nodeID}"> 227 <xsl:apply-templates select='.' mode='process-all-children'> 236 237 <xsl:apply-templates select='.' mode='process-all-children'> 228 238 <xsl:with-param name='collName' select='$collName' /> 229 239 <xsl:with-param name='serviceName' select='$serviceName' /> … … 280 290 <xsl:choose> 281 291 <xsl:when test="@childType = 'HList'"> 292 <tr><td> 282 293 <xsl:call-template name="HList"> 283 294 <xsl:with-param name='collName' select='$collName' /> 284 295 <xsl:with-param name='serviceName' select='$serviceName' /> 285 296 </xsl:call-template> 297 </td></tr> 286 298 </xsl:when> 287 299 <xsl:otherwise> … … 370 382 --> 371 383 <xsl:template match="classifierNode[@classifierStyle = 'HList']"> 372 <gsf:link type="classifier" style="static">384 <gsf:link type="classifier"> 373 385 <gsf:metadata name="Title" /> 374 386 </gsf:link> -
main/trunk/greenstone3/web/interfaces/default/transform/shared-templates.xsl
r37703 r38003 178 178 <xsl:when test="$link-type='static'">static</xsl:when> 179 179 <xsl:when test="$link-type='javascript'">javascript</xsl:when> 180 <xsl:when test="@classifierStyle = 'HList'">static</xsl:when> 181 <xsl:when test="not(/page/pageResponse/format[@type='browse']/gsf:option[@name='turnstyleClassifiers']) or /page/pageResponse/format[@type='browse']/gsf:option[@name='turnstyleClassifiers']/@value='true'">javascript</xsl:when> 180 <xsl:when test="not(/page/pageResponse/format[@type='browse']/gsf:option[@name='turnstyleClassifiers']) or /page/pageResponse/format[@type='browse']/gsf:option[@name='turnstyleClassifiers']/@value='true'"><xsl:choose><xsl:when test="@classifierStyle = 'HList' and util:oidIsTopChild(@nodeID)">static</xsl:when><xsl:when test="@classifierStyle = 'HList'">hlistjavascript</xsl:when><xsl:otherwise>javascript</xsl:otherwise></xsl:choose></xsl:when> 182 181 <xsl:otherwise>static</xsl:otherwise> 183 182 </xsl:choose> … … 187 186 <xsl:value-of select='$library_name'/>/collection/<xsl:value-of select='/page/pageResponse/collection/@name'/>/browse/<xsl:choose><xsl:when test="$node-id"><xsl:value-of select="$node-id"/></xsl:when><xsl:otherwise><xsl:value-of select='util:replace(@nodeID, ".", "/")'/></xsl:otherwise></xsl:choose> 188 187 </xsl:when> 188 <xsl:when test="$final-link-type='hlistjavascript'">javascript:toggleHListSection('<xsl:value-of select="@nodeID"/>');</xsl:when> 189 189 <xsl:otherwise>javascript:toggleSection('<xsl:value-of select="@nodeID"/>');</xsl:otherwise> 190 190 </xsl:choose>
Note:
See TracChangeset
for help on using the changeset viewer.