Changeset 24784 for main/trunk/model-cols-dev
- Timestamp:
- 2011-10-20T15:56:06+13:00 (13 years ago)
- Location:
- main/trunk/model-cols-dev/peijones
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/model-cols-dev/peijones/etc/collectionConfig.bak
r24769 r24784 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"/> 119 120 <!-- Zoom scripts --> 115 121 <!--<script src="interfaces/{$interface_name}/js/jquery-1.4.2.js" type="text/javascript"><xsl:text> </xsl:text></script>--> 116 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"/> 117 123 <script type="text/javascript"> 118 <xsl:text disable-output-escaping="yes"> 124 <xsl:text disable-output-escaping="yes"> 125 _zoomEnabled = true; 119 126 function readyImagesForZoom() 120 { 127 { 121 128 var noZoom = document.getElementById("noZoom"); 122 129 var wrap = document.getElementById("wrap"); 123 124 130 if(!noZoom || !wrap) 125 131 { 126 132 return; 127 133 } 128 129 noZoom.style.display = "none";130 wrap.style.display = "";131 134 var smallImageDiv = document.getElementById("small"); 132 135 var smallImage = smallImageDiv.getElementsByTagName("img")[0]; 133 smallImageDiv.style.width = smallImage .clientWidth + "px";134 smallImageDiv.style.height = smallImage .clientHeight + "px";135 var multiplier = largeImageHeight / smallImage .clientHeight;136 smallImageDiv.style.width = smallImageWidth + "px"; 137 smallImageDiv.style.height = smallImageHeight + "px"; 138 var multiplier = largeImageHeight / smallImageHeight; 136 139 $("#wrap").anythingZoomer({ 137 140 expansionSize:50, 138 141 speedMultiplier:multiplier 139 }); 142 }); 143 144 noZoom.onclick = function(){addZoom();} 145 document.getElementById("overlay").onclick = function(){removeZoom();} 146 147 removeZoom(); 140 148 } 141 149 function addZoom() 142 { 150 { 151 if(!_zoomEnabled) 152 { 153 return; 154 } 155 143 156 var wrapper = document.getElementById("wrap"); 144 157 var noZoom = document.getElementById("noZoom"); … … 152 165 wrapper.style.display = "block"; 153 166 var option = document.getElementById("zoomOption"); 154 option.setAttribute("onclick", "removeZoom();"); 167 if(option) 168 { 169 option.setAttribute("onclick", "removeZoom();"); 170 } 155 171 } 156 172 function removeZoom() 157 173 { 174 if(!_zoomEnabled) 175 { 176 return; 177 } 178 158 179 var wrapper = document.getElementById("wrap"); 159 180 var noZoom = document.getElementById("noZoom"); … … 167 188 noZoom.style.display = "block"; 168 189 var option = document.getElementById("zoomOption"); 169 option.setAttribute("onclick", "addZoom();"); 170 } 190 if(option) 191 { 192 option.setAttribute("onclick", "addZoom();"); 193 } 194 } 171 195 </xsl:text> 196 </script> 197 <script text="text/javascript"> 198 <xsl:text disable-output-escaping="yes"> 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> 172 326 </script> 173 327 <script text="text/javascript"> … … 197 351 </script> 198 352 </xsl:template> 199 <xsl:template match="documentNode" mode="document"> 353 354 <!--<xsl:template match="documentNode" mode="document">--> 200 355 <!-- Get the photo notes for this document node --> 201 < gsf:variable-struct name="photoNotes">356 <!--<gsf:variable-struct name="photoNotes"> 202 357 <gsf:metadata multiple="true" name="gsimg.photoNote" separator=", "/> 203 </gsf:variable-struct> 358 </gsf:variable-struct>--> 204 359 205 360 <!-- Get details about the image for zooming --> 206 < h3>361 <!--<h3> 207 362 <gsf:choose-metadata> 208 363 <gsf:metadata name="dc.Title"/> … … 237 392 <xsl:text>largeImageHeight =</xsl:text><xsl:value-of select="$imageHeight"/><xsl:text>;</xsl:text> 238 393 <xsl:text>largeImageWidth =</xsl:text><xsl:value-of select="$imageWidth"/><xsl:text>;</xsl:text> 394 <xsl:text>smallImageHeight =</xsl:text><xsl:value-of select="$screenImageHeight"/><xsl:text>;</xsl:text> 395 <xsl:text>smallImageWidth =</xsl:text><xsl:value-of select="$screenImageWidth"/><xsl:text>;</xsl:text> 239 396 </script> 240 397 <div id="noZoom" style="display:block;"> … … 245 402 <div id="small" style="width: {$screenImageWidth}; height: {$screenImageHeight};"><gsf:metadata name="screenicon"/></div> 246 403 <div id="mover"> 247 <div id="overlay"><xsl:text /></div>404 <div id="overlay"><xsl:text> </xsl:text></div> 248 405 <div id="large"> 249 406 <img style="width: {$imageWidth}; height: {$imageHeight};"> … … 255 412 </div> 256 413 </div> 414 <input type="button" value="Tag Photo!" style="margin-left:30px;" onclick="AddNote();" /> 257 415 </xsl:if> 258 </xsl:template> 416 </xsl:template>--> 417 259 418 </format> 260 419 </display> -
main/trunk/model-cols-dev/peijones/etc/collectionConfig.xml
r24769 r24784 73 73 <option name="-buttonname" value="Source"/> 74 74 </classifier> 75 <format><gsf:template match="documentNode"><td valign="top"><gsf:link type="document"><gsf:icon type="document"/></gsf:link></td><td valign="top"><gsf:link type="source"><gsf:choose-metadata><gsf:metadata name="thumbicon"/><gsf:metadata name="srcicon"/></gsf:choose-metadata></gsf:link></td><td valign="top"><gsf:choose-metadata><gsf:metadata name="dc.Title"/><gsf:metadata name="exp.Title"/><gsf:metadata name="Title"/><gsf:default>Untitled</gsf:default></gsf:choose-metadata><gsf:switch><gsf:metadata name="Source"/><gsf:when test="exists"><br/><i>(<gsf:metadata name="Source"/>)</i></gsf:when></gsf:switch></td></gsf:template><gsf:template match="classifierNode"><td valign="top"><gsf:link type="classifier"><gsf:icon type="classifier"/></gsf:link></td><td valign="top"><gsf:metadata name="srclink"/><gsf:choose-metadata><gsf:metadata name="thumbicon"/><gsf:metadata name="srcicon"/></gsf:choose-metadata><gsf:metadata name="/srclink"/></td><td valign="top"><gsf:choose-metadata><gsf:metadata name="dc.Title"/><gsf:metadata name="exp.Title"/><gsf:metadata name="Title"/><gsf:default>Untitled</gsf:default></gsf:choose-metadata><gsf:switch><gsf:metadata name="Source"/><gsf:when test="exists"><br/><i>(<gsf:metadata name="Source"/>)</i></gsf:when></gsf:switch></td></gsf:template><gsf:template match="classifierNode" mode="horizontal"><gsf:link type="horizontal"><gsf:metadata name="Title"/></gsf:link></gsf:template></format> 75 <format> 76 <gsf:template match="documentNode"> 77 <td valign="top"> 78 <gsf:link type="document"> 79 <gsf:icon type="document"/> 80 </gsf:link> 81 </td> 82 <td valign="top"> 83 <gsf:link type="source"> 84 <gsf:choose-metadata> 85 <gsf:metadata name="thumbicon"/> 86 <gsf:metadata name="srcicon"/> 87 </gsf:choose-metadata> 88 </gsf:link> 89 </td> 90 <td valign="top"> 91 <gsf:choose-metadata> 92 <gsf:metadata name="dc.Title"/> 93 <gsf:metadata name="exp.Title"/> 94 <gsf:metadata name="Title"/> 95 <gsf:default>Untitled</gsf:default> 96 </gsf:choose-metadata> 97 <gsf:switch> 98 <gsf:metadata name="Source"/> 99 <gsf:when test="exists"> 100 <br/><i>(<gsf:metadata name="Source"/>)</i> 101 </gsf:when> 102 </gsf:switch> 103 </td> 104 </gsf:template> 105 106 <gsf:template match="classifierNode"> 107 <td valign="top"> 108 <gsf:link type="classifier"> 109 <gsf:icon type="classifier"/> 110 </gsf:link> 111 </td> 112 <td valign="top"> 113 <gsf:metadata name="srclink"/> 114 <gsf:choose-metadata> 115 <gsf:metadata name="thumbicon"/> 116 <gsf:metadata name="srcicon"/> 117 </gsf:choose-metadata> 118 <gsf:metadata name="/srclink"/> 119 </td> 120 <td valign="top"> 121 <gsf:choose-metadata> 122 <gsf:metadata name="dc.Title"/> 123 <gsf:metadata name="exp.Title"/> 124 <gsf:metadata name="Title"/> 125 <gsf:default>Untitled</gsf:default> 126 </gsf:choose-metadata> 127 <gsf:switch> 128 <gsf:metadata name="Source"/> 129 <gsf:when test="exists"> 130 <br/><i>(<gsf:metadata name="Source"/>)</i> 131 </gsf:when> 132 </gsf:switch> 133 </td> 134 </gsf:template> 135 136 <gsf:template match="classifierNode" mode="horizontal"> 137 <gsf:link type="horizontal"> 138 <gsf:metadata name="Title"/> 139 </gsf:link> 140 </gsf:template> 141 </format> 76 142 </browse> 77 143 <display> 78 144 <format> 79 <gsf:option name=" TOC" value="false"/>145 <gsf:option name="sideBar" value="false"/> 80 146 <xsl:template name="additionalHeaderContent"> 81 147 <!-- jQuery must be included before Annotator --> … … 351 417 </script> 352 418 </xsl:template> 353 <xsl:template match="documentNode" mode="document"> 419 420 <xsl:template name="documentImage"> 354 421 <!-- Get the photo notes for this document node --> 355 422 <gsf:variable-struct name="photoNotes"> … … 398 465 </div> 399 466 <xsl:if test="$imageHeight != -1"> 400 <div id="wrap" style="display:none ">467 <div id="wrap" style="display:none; width: {$screenImageWidth}; height: {$screenImageHeight};"> 401 468 <div id="small" style="width: {$screenImageWidth}; height: {$screenImageHeight};"><gsf:metadata name="screenicon"/></div> 402 469 <div id="mover"> … … 413 480 <input type="button" value="Tag Photo!" style="margin-left:30px;" onclick="AddNote();" /> 414 481 </xsl:if> 415 </xsl:template> 482 </xsl:template> 483 416 484 </format> 417 485 </display> -
main/trunk/model-cols-dev/peijones/style/style.css
r24779 r24784 36 36 FOR THE MOVER 37 37 */ 38 #wrap { width: 600px;position: relative; }39 #small { position: relative; } /* width: 100%; */40 #large { background: white; position: relative; width: 600px; }38 #wrap { position: relative; } 39 #small { position: relative; } /* width: 100%; */ 40 #large { background: white; position: relative; width: 600px; } 41 41 #mover { border: 1px solid blue; position: absolute; top: 0; left: 0; width: 198px; height: 198px; overflow: hidden; z-index: 100; background: white; display: none; } 42 42 #overlay { width: 200px; height: 200px; position: absolute; top: 0; left: 0; z-index: 200; }
Note:
See TracChangeset
for help on using the changeset viewer.