- Timestamp:
- 2011-10-19T13:13:24+13:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/model-cols-dev/peijones/etc/collectionConfig.xml
r24730 r24769 113 113 <script src="sites/localsite/collect/peijones/js/annotator/pkg/annotator.markdown.min.js"><xsl:text> </xsl:text></script> 114 114 115 <!-- Photo note scripts --> 116 <script type="text/javascript" src="sites/localsite/collect/peijones/js/documentmaker/BrowserDetect.js"><xsl:text> </xsl:text></script> 117 <script type="text/javascript" src="sites/localsite/collect/peijones/js/documentmaker/PhotoNotes-1.5.js"><xsl:text> </xsl:text></script> 118 <link rel="stylesheet" type="text/css" href="sites/localsite/collect/peijones/style/PhotoNotes-1.5.css"/> 115 119 116 120 <!-- Zoom scripts --> 117 121 <!--<script src="interfaces/{$interface_name}/js/jquery-1.4.2.js" type="text/javascript"><xsl:text> </xsl:text></script>--> 118 122 <script src="sites/localsite/collect/peijones/js/documentmaker/zoomer.jquery.js" type="text/javascript"><xsl:text> </xsl:text></script> <link href="sites/localsite/collect/peijones/style/style.css" rel="stylesheet" type="text/css"/> 119 <!--<script type="text/javascript"> 120 <xsl:text disable-output-escaping="yes"> 123 <script type="text/javascript"> 124 <xsl:text disable-output-escaping="yes"> 125 _zoomEnabled = true; 121 126 function readyImagesForZoom() 122 { 123 document.getElementById("noZoom").style.display = "none"; 124 document.getElementById("wrap").style.display = ""; 127 { 128 var noZoom = document.getElementById("noZoom"); 129 var wrap = document.getElementById("wrap"); 130 if(!noZoom || !wrap) 131 { 132 return; 133 } 125 134 var smallImageDiv = document.getElementById("small"); 126 135 var smallImage = smallImageDiv.getElementsByTagName("img")[0]; 127 smallImageDiv.style.width = smallImage .clientWidth + "px";128 smallImageDiv.style.height = smallImage .clientHeight + "px";129 var multiplier = largeImageHeight / smallImage .clientHeight;136 smallImageDiv.style.width = smallImageWidth + "px"; 137 smallImageDiv.style.height = smallImageHeight + "px"; 138 var multiplier = largeImageHeight / smallImageHeight; 130 139 $("#wrap").anythingZoomer({ 131 140 expansionSize:50, 132 141 speedMultiplier:multiplier 133 }); 142 }); 143 144 noZoom.onclick = function(){addZoom();} 145 document.getElementById("overlay").onclick = function(){removeZoom();} 146 147 removeZoom(); 134 148 } 135 149 function addZoom() 136 { 150 { 151 if(!_zoomEnabled) 152 { 153 return; 154 } 155 137 156 var wrapper = document.getElementById("wrap"); 138 157 var noZoom = document.getElementById("noZoom"); 158 159 if(!noZoom || !wrapper) 160 { 161 return; 162 } 163 139 164 noZoom.style.display = "none"; 140 165 wrapper.style.display = "block"; 141 166 var option = document.getElementById("zoomOption"); 142 option.setAttribute("onclick", "removeZoom();"); 167 if(option) 168 { 169 option.setAttribute("onclick", "removeZoom();"); 170 } 143 171 } 144 172 function removeZoom() 145 173 { 174 if(!_zoomEnabled) 175 { 176 return; 177 } 178 146 179 var wrapper = document.getElementById("wrap"); 147 180 var noZoom = document.getElementById("noZoom"); 181 182 if(!noZoom || !wrapper) 183 { 184 return; 185 } 186 148 187 wrapper.style.display = "none"; 149 188 noZoom.style.display = "block"; 150 189 var option = document.getElementById("zoomOption"); 151 option.setAttribute("onclick", "addZoom();"); 152 } 190 if(option) 191 { 192 option.setAttribute("onclick", "addZoom();"); 193 } 194 } 153 195 </xsl:text> 154 </script> -->196 </script> 155 197 <script text="text/javascript"> 156 198 <xsl:text disable-output-escaping="yes"> 157 function init() 199 200 var _posCount = 0; 201 var _notes; 202 function initNotes() 203 { 204 /* create the Photo Note Container */ 205 _notes = new PhotoNoteContainer(document.getElementById("noZoom")); 206 getNotes(); 207 } 208 209 function deleteFunction(note) 210 { 211 var callback = 212 { 213 success: function(response) 214 { 215 var updateURL = gs.siteMetadata.siteURL.replace("8080","9090") + gs.xsltParams.library_name + "?a=s&sa=c"; 216 217 var updateCallback = 218 { 219 success: function(response){}, 220 failed: function(){alert("Failed in deleteFunction() to update Greenstone server with: " + updateURL);} 221 }; 222 223 224 YAHOO.util.Connect.asyncRequest("GET", updateURL, updateCallback); 225 }, 226 failed: function(){ alert("Failed in deleteFunction() with note id: " + note.id)}, 227 }; 228 229 var status = true; 230 231 if (note && note.id && note.id > 0) { 232 var metaposStr = note.id - 1; 233 234 var url = gs.siteMetadata.siteURL.replace("8080","9090") + "cgi-bin/metadata-server.pl?a=remove-metadata&site=localsite&c=" + gs.cgiParams.c + "&d=" + gs.cgiParams.d + "&metaname=gsimg.photoNote&metapos=" + metaposStr; 235 YAHOO.util.Connect.asyncRequest("GET", url, callback); 236 } 237 else { 238 alert("Failed to find valid note data to delete"); 239 status = false; 240 } 241 242 return status; 243 } 244 245 function saveFunction(note) 246 { 247 var callback = 248 { 249 success: function(response) 250 { 251 var updateURL = gs.siteMetadata.siteURL.replace("8080","9090") + gs.xsltParams.library_name + "?a=s&sa=c"; 252 253 var updateCallback = 254 { 255 success: function(response){}, 256 failed: function(reponse){ alert("Failed in saveFunction() to update Greenstone server with: " + updateURL);} 257 }; 258 259 260 YAHOO.util.Connect.asyncRequest("GET", updateURL, updateCallback); 261 }, 262 failed: function(reponse){ alert("Failed in saveFunction() with note id: " + note.id)}, 263 }; 264 265 var jsonVal = '{"caption":"' + note.text + '", "area":{"x":' + note.rect.left + ', "y":' + note.rect.top + ', "width":' + note.rect.width + ', "height":' + note.rect.height + '}}'; 266 var metaposStr = (note && note.id && note.id > 0) ? note.id - 1 : _posCount; 267 268 var saveURL = gs.siteMetadata.siteURL.replace("8080","9090") + "cgi-bin/metadata-server.pl?a=set-metadata&site=localsite&c=" + gs.cgiParams.c + "&d=" + gs.cgiParams.d + "&metaname=gsimg.photoNote&metavalue=" + jsonVal + "&metapos=" + metaposStr; 269 YAHOO.util.Connect.asyncRequest("GET", saveURL, callback); 270 271 return 1; 272 } 273 274 function getNotes() 275 { 276 if(gs.variables.photoNotes == null || gs.variables.photoNotes == undefined) 277 { 278 console.log("No photo notes"); 279 return; 280 } 281 282 for(var i = 0; i < gs.variables.photoNotes.length; i++) 283 { 284 var note = gs.variables.photoNotes[i]; 285 if(!note) 286 { 287 continue; 288 } 289 var newNote = new PhotoNote(note.caption, i+1, new PhotoNoteRect(note.area.x,note.area.y,note.area.width,note.area.height)); 290 newNote.onsave = saveFunction; 291 newNote.ondelete = deleteFunction; 292 _notes.AddNote(newNote); 293 _posCount++; 294 } 295 296 addNoteOverAndOutHandlers(); 297 } 298 299 function AddNote() 300 { 301 var newNote = new PhotoNote('Add note text here...',_posCount+1,new PhotoNoteRect(10,10,50,50)); 302 newNote.onsave = saveFunction; 303 newNote.ondelete = deleteFunction; 304 _notes.AddNote(newNote); 305 _posCount++; 306 307 addNoteOverAndOutHandlers(); 308 newNote.Select(); 309 } 310 311 function addNoteOverAndOutHandlers() 312 { 313 var divs = document.getElementsByTagName("DIV"); 314 for(var i = 0; i < divs.length; i++) 315 { 316 if(divs[i].getAttribute("class") && divs[i].getAttribute("class").search("fn-area") != -1) 317 { 318 divs[i].onmouseover = function(){_zoomEnabled = false;} 319 divs[i].onmouseout = function(){_zoomEnabled = true;} 320 } 321 } 322 } 323 324 window.onload = function(){initNotes(); readyImagesForZoom(); initAnnotator();}; 325 </xsl:text> 326 </script> 327 <script text="text/javascript"> 328 <xsl:text disable-output-escaping="yes"> 329 function initAnnotator() 158 330 { 159 331 jQuery(function ($) { 160 alert(typeof $.fn.annotator);332 //alert(typeof $.fn.annotator); 161 333 if (typeof $.fn.annotator !== 'function') { 162 334 alert("Ooops! it looks like you haven't built the Annotator concatenation file. " + … … 169 341 .annotator('addPlugin', 'Permissions') 170 342 .annotator('addPlugin', 'Markdown') 171 .annotator('addPlugin', 'Auth')343 //.annotator('addPlugin', 'Auth') 172 344 .annotator('addPlugin', 'Tags'); 173 345 174 $('#gs-document-text').data('annotator').plugins['Permissions'].setUser(" Bloggs");346 $('#gs-document-text').data('annotator').plugins['Permissions'].setUser(""); 175 347 } 176 348 }); 177 349 } 178 window.onload = init;179 350 </xsl:text> 180 351 </script> 181 352 </xsl:template> 182 <!--183 353 <xsl:template match="documentNode" mode="document"> 354 <!-- Get the photo notes for this document node --> 184 355 <gsf:variable-struct name="photoNotes"> 185 356 <gsf:metadata multiple="true" name="gsimg.photoNote" separator=", "/> 186 357 </gsf:variable-struct> 358 359 <!-- Get details about the image for zooming --> 187 360 <h3> 188 361 <gsf:choose-metadata> … … 192 365 </h3> 193 366 <xsl:variable name="imageWidth"> 194 <gsf:metadata name="ImageWidth"/> 367 <gsf:choose-metadata> 368 <gsf:metadata name="ImageWidth"/> 369 <gsf:default>-1</gsf:default> 370 </gsf:choose-metadata> 195 371 </xsl:variable> 196 372 <xsl:variable name="imageHeight"> 197 <gsf:metadata name="ImageHeight"/> 373 <gsf:choose-metadata> 374 <gsf:metadata name="ImageHeight"/> 375 <gsf:default>-1</gsf:default> 376 </gsf:choose-metadata> 198 377 </xsl:variable> 199 378 <xsl:variable name="screenImageWidth"> 200 <gsf:metadata name="ScreenWidth"/> 379 <gsf:choose-metadata> 380 <gsf:metadata name="ScreenWidth"/> 381 <gsf:default>-1</gsf:default> 382 </gsf:choose-metadata> 201 383 </xsl:variable> 202 384 <xsl:variable name="screenImageHeight"> 203 <gsf:metadata name="ScreenHeight"/> 385 <gsf:choose-metadata> 386 <gsf:metadata name="ScreenHeight"/> 387 <gsf:default>-1</gsf:default> 388 </gsf:choose-metadata> 204 389 </xsl:variable> 205 390 <script type="text/javascript"> 206 391 <xsl:text>largeImageHeight =</xsl:text><xsl:value-of select="$imageHeight"/><xsl:text>;</xsl:text> 207 392 <xsl:text>largeImageWidth =</xsl:text><xsl:value-of select="$imageWidth"/><xsl:text>;</xsl:text> 393 <xsl:text>smallImageHeight =</xsl:text><xsl:value-of select="$screenImageHeight"/><xsl:text>;</xsl:text> 394 <xsl:text>smallImageWidth =</xsl:text><xsl:value-of select="$screenImageWidth"/><xsl:text>;</xsl:text> 208 395 </script> 209 396 <div id="noZoom" style="display:block;"> 210 397 <gsf:metadata name="screenicon"/> 211 398 </div> 212 <div id="wrap" style="display:none"> 213 <div id="small" style="width: {$screenImageWidth}; height: {$screenImageHeight};"><gsf:metadata name="screenicon"/></div> 214 <div id="mover"> 215 <div id="overlay"><xsl:text/></div> 216 <div id="large"> 217 <img style="width: {$imageWidth}; height: {$imageHeight};"> 218 <xsl:attribute name="src"> 219 <xsl:value-of disable-output-escaping="yes" select="/page/pageResponse/collection/metadataList/metadata[@name='httpPath']"/>/index/assoc/<gsf:metadata name="assocfilepath"/>/<gsf:metadata name="srclinkFile"/> 220 </xsl:attribute> 221 </img> 399 <xsl:if test="$imageHeight != -1"> 400 <div id="wrap" style="display:none"> 401 <div id="small" style="width: {$screenImageWidth}; height: {$screenImageHeight};"><gsf:metadata name="screenicon"/></div> 402 <div id="mover"> 403 <div id="overlay"><xsl:text> </xsl:text></div> 404 <div id="large"> 405 <img style="width: {$imageWidth}; height: {$imageHeight};"> 406 <xsl:attribute name="src"> 407 <xsl:value-of disable-output-escaping="yes" select="/page/pageResponse/collection/metadataList/metadata[@name='httpPath']"/>/index/assoc/<gsf:metadata name="assocfilepath"/>/<gsf:metadata name="srclinkFile"/> 408 </xsl:attribute> 409 </img> 410 </div> 222 411 </div> 223 412 </div> 224 </div>225 226 </xsl:template> -->413 <input type="button" value="Tag Photo!" style="margin-left:30px;" onclick="AddNote();" /> 414 </xsl:if> 415 </xsl:template> 227 416 </format> 228 417 </display>
Note:
See TracChangeset
for help on using the changeset viewer.