Changeset 24784

Show
Ignore:
Timestamp:
20.10.2011 15:56:06 (8 years ago)
Author:
sjm84
Message:

More Pei Jones collection changes

Location:
main/trunk/model-cols-dev/peijones
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • main/trunk/model-cols-dev/peijones/etc/collectionConfig.bak

    r24769 r24784  
    113113                <script src="sites/localsite/collect/peijones/js/annotator/pkg/annotator.markdown.min.js"><xsl:text> </xsl:text></script> 
    114114                 
     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 --> 
    115121                <!--<script src="interfaces/{$interface_name}/js/jquery-1.4.2.js" type="text/javascript"><xsl:text> </xsl:text></script>--> 
    116122                <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"/> 
    117123                <script type="text/javascript"> 
    118                     <xsl:text disable-output-escaping="yes">       
     124                    <xsl:text disable-output-escaping="yes"> 
     125                        _zoomEnabled = true; 
    119126                        function readyImagesForZoom()       
    120                         {        
     127                        {  
    121128                            var noZoom = document.getElementById("noZoom"); 
    122129                            var wrap = document.getElementById("wrap"); 
    123                              
    124130                            if(!noZoom || !wrap) 
    125131                            { 
    126132                                return; 
    127133                            } 
    128                              
    129                             noZoom.style.display = "none"; 
    130                             wrap.style.display = ""; 
    131134                            var smallImageDiv = document.getElementById("small"); 
    132135                            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; 
    136139                            $("#wrap").anythingZoomer({         
    137140                                expansionSize:50,   
    138141                                speedMultiplier:multiplier    
    139                             });       
     142                            });      
     143 
     144                            noZoom.onclick = function(){addZoom();} 
     145                            document.getElementById("overlay").onclick = function(){removeZoom();}                           
     146                             
     147                            removeZoom(); 
    140148                        }             
    141149                        function addZoom()   
    142                         {     
     150                        { 
     151                            if(!_zoomEnabled) 
     152                            { 
     153                                return; 
     154                            } 
     155                             
    143156                            var wrapper = document.getElementById("wrap");   
    144157                            var noZoom = document.getElementById("noZoom");  
     
    152165                            wrapper.style.display = "block";  
    153166                            var option = document.getElementById("zoomOption"); 
    154                             option.setAttribute("onclick", "removeZoom();");   
     167                            if(option) 
     168                            { 
     169                                option.setAttribute("onclick", "removeZoom();");   
     170                            } 
    155171                        }            
    156172                        function removeZoom() 
    157173                        { 
     174                            if(!_zoomEnabled) 
     175                            { 
     176                                return; 
     177                            } 
     178                         
    158179                            var wrapper = document.getElementById("wrap"); 
    159180                            var noZoom = document.getElementById("noZoom"); 
     
    167188                            noZoom.style.display = "block"; 
    168189                            var option = document.getElementById("zoomOption"); 
    169                             option.setAttribute("onclick", "addZoom();"); 
    170                         }      
     190                            if(option) 
     191                            { 
     192                                option.setAttribute("onclick", "addZoom();"); 
     193                            } 
     194                        }     
    171195                    </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&amp;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 &amp;&amp; note.id &amp;&amp; note.id &gt; 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&amp;site=localsite&amp;c=" + gs.cgiParams.c + "&amp;d=" + gs.cgiParams.d + "&amp;metaname=gsimg.photoNote&amp;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&amp;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 &amp;&amp; note.id &amp;&amp; note.id &gt; 0) ? note.id - 1 : _posCount; 
     267                             
     268                            var saveURL = gs.siteMetadata.siteURL.replace("8080","9090") + "cgi-bin/metadata-server.pl?a=set-metadata&amp;site=localsite&amp;c=" + gs.cgiParams.c + "&amp;d=" + gs.cgiParams.d + "&amp;metaname=gsimg.photoNote&amp;metavalue=" + jsonVal + "&amp;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 &lt; 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 &lt; divs.length; i++) 
     315                            { 
     316                                if(divs[i].getAttribute("class") &amp;&amp; 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> 
    172326                </script> 
    173327                <script text="text/javascript"> 
     
    197351                </script> 
    198352            </xsl:template> 
    199             <xsl:template match="documentNode" mode="document"> 
     353             
     354            <!--<xsl:template match="documentNode" mode="document">--> 
    200355                <!-- Get the photo notes for this document node --> 
    201                 <gsf:variable-struct name="photoNotes"> 
     356                <!--<gsf:variable-struct name="photoNotes"> 
    202357                    <gsf:metadata multiple="true" name="gsimg.photoNote" separator=", "/> 
    203                 </gsf:variable-struct> 
     358                </gsf:variable-struct>--> 
    204359                 
    205360                <!-- Get details about the image for zooming --> 
    206                 <h3>    
     361                <!--<h3>    
    207362                    <gsf:choose-metadata> 
    208363                        <gsf:metadata name="dc.Title"/> 
     
    237392                    <xsl:text>largeImageHeight =</xsl:text><xsl:value-of select="$imageHeight"/><xsl:text>;</xsl:text> 
    238393                    <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> 
    239396                </script> 
    240397                <div id="noZoom" style="display:block;"> 
     
    245402                        <div id="small" style="width: {$screenImageWidth}; height: {$screenImageHeight};"><gsf:metadata name="screenicon"/></div> 
    246403                        <div id="mover"> 
    247                             <div id="overlay"><xsl:text/></div> 
     404                            <div id="overlay"><xsl:text> </xsl:text></div> 
    248405                            <div id="large"> 
    249406                                <img style="width: {$imageWidth}; height: {$imageHeight};"> 
     
    255412                        </div> 
    256413                    </div> 
     414                    <input type="button" value="Tag Photo!" style="margin-left:30px;" onclick="AddNote();" /> 
    257415                </xsl:if>    
    258             </xsl:template>    
     416            </xsl:template>--> 
     417             
    259418        </format> 
    260419    </display> 
  • main/trunk/model-cols-dev/peijones/etc/collectionConfig.xml

    r24769 r24784  
    7373            <option name="-buttonname" value="Source"/> 
    7474        </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> 
    76142    </browse> 
    77143    <display> 
    78144        <format> 
    79             <gsf:option name="TOC" value="false"/>    
     145            <gsf:option name="sideBar" value="false"/>    
    80146            <xsl:template name="additionalHeaderContent"> 
    81147                <!-- jQuery must be included before Annotator --> 
     
    351417                </script> 
    352418            </xsl:template> 
    353             <xsl:template match="documentNode" mode="document"> 
     419             
     420            <xsl:template name="documentImage"> 
    354421                <!-- Get the photo notes for this document node --> 
    355422                <gsf:variable-struct name="photoNotes"> 
     
    398465                </div> 
    399466                <xsl:if test="$imageHeight != -1"> 
    400                     <div id="wrap" style="display:none"> 
     467                    <div id="wrap" style="display:none; width: {$screenImageWidth}; height: {$screenImageHeight};"> 
    401468                        <div id="small" style="width: {$screenImageWidth}; height: {$screenImageHeight};"><gsf:metadata name="screenicon"/></div> 
    402469                        <div id="mover"> 
     
    413480                    <input type="button" value="Tag Photo!" style="margin-left:30px;" onclick="AddNote();" /> 
    414481                </xsl:if>    
    415             </xsl:template>    
     482            </xsl:template> 
     483             
    416484        </format> 
    417485    </display> 
  • main/trunk/model-cols-dev/peijones/style/style.css

    r24779 r24784  
    3636    FOR THE MOVER 
    3737*/ 
    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; } 
    4141#mover                          { border: 1px solid blue; position: absolute; top: 0; left: 0; width: 198px; height: 198px; overflow: hidden; z-index: 100; background: white; display: none; } 
    4242#overlay                        {  width: 200px; height: 200px; position: absolute; top: 0; left: 0; z-index: 200; }