Ignore:
Timestamp:
2011-10-19T13:13:24+13:00 (13 years ago)
Author:
papitha
Message:

Changes done to Zoom and Tag Photo

Location:
main/trunk/model-cols-dev/peijones
Files:
4 edited

Legend:

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

    r24730 r24769  
    5656            <plugin name="NulPlugin"/>
    5757            <plugin name="OAIPlugin"/>
     58            <plugin name="HTMLImagePlugin"/>
    5859            <plugin name="MetadataXMLPlugin"/>
    5960            <plugin name="ArchivesInfPlugin"/>
     
    7576    </browse>
    7677    <display>
    77         <format><gsf:option name="TOC" value="false"/>   <xsl:template name="additionalHeaderContent">    <script src="interfaces/{$interface_name}/js/jquery-1.4.2.js" type="text/javascript"><xsl:text> </xsl:text></script>    <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"/>    <script type="text/javascript">     <xsl:text disable-output-escaping="yes">      function readyImagesForZoom()      {       document.getElementById("noZoom").style.display = "none";       document.getElementById("wrap").style.display = "";       var smallImageDiv = document.getElementById("small");       var smallImage = smallImageDiv.getElementsByTagName("img")[0];       smallImageDiv.style.width = smallImage.clientWidth + "px";       smallImageDiv.style.height = smallImage.clientHeight + "px";       var multiplier = largeImageHeight / smallImage.clientHeight;       $("#wrap").anythingZoomer({        expansionSize:50,        speedMultiplier:multiplier       });      }            function addZoom()      {       var wrapper = document.getElementById("wrap");       var noZoom = document.getElementById("noZoom");              noZoom.style.display = "none";       wrapper.style.display = "block";              var option = document.getElementById("zoomOption");       option.setAttribute("onclick", "removeZoom();");      }            function removeZoom()      {       var wrapper = document.getElementById("wrap");       var noZoom = document.getElementById("noZoom");              wrapper.style.display = "none";       noZoom.style.display = "block";              var option = document.getElementById("zoomOption");       option.setAttribute("onclick", "addZoom();");      }     </xsl:text>    </script>   </xsl:template>   <xsl:template match="documentNode" mode="document">   <gsf:variable-struct name="photoNotes"><gsf:metadata multiple="true" name="gsimg.photoNote" separator=", "/></gsf:variable-struct>   <h3>   <gsf:choose-metadata>     <gsf:metadata name="dc.Title"/>     <gsf:metadata name="ex.Title"/>   </gsf:choose-metadata>     </h3>   <xsl:variable name="imageWidth"><gsf:metadata name="ImageWidth"/>   </xsl:variable><xsl:variable name="imageHeight"><gsf:metadata name="ImageHeight"/>   </xsl:variable><xsl:variable name="screenImageWidth">   <gsf:metadata name="ScreenWidth"/>   </xsl:variable><xsl:variable name="screenImageHeight"><gsf:metadata name="ScreenHeight"/></xsl:variable><script type="text/javascript"><xsl:text>largeImageHeight =</xsl:text><xsl:value-of select="$imageHeight"/><xsl:text>;</xsl:text><xsl:text>largeImageWidth =</xsl:text><xsl:value-of select="$imageWidth"/><xsl:text>;</xsl:text></script><div id="noZoom" style="display:block;"><gsf:metadata name="screenicon"/></div><div id="wrap" style="display:none"><div id="small" style="width: {$screenImageWidth}; height: {$screenImageHeight};"><gsf:metadata name="screenicon"/></div><div id="mover"><div id="overlay"><xsl:text/></div><div id="large"><img style="width: {$imageWidth}; height: {$imageHeight};"><xsl:attribute name="src"><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"/></xsl:attribute></img></div></div></div></xsl:template>    </format>
     78        <format>
     79            <gsf:option name="TOC" value="false"/>   
     80            <xsl:template name="additionalHeaderContent">
     81                <!-- jQuery must be included before Annotator -->
     82                <script src="sites/localsite/collect/peijones/js/annotator/lib/vendor/jquery.js"><xsl:text> </xsl:text></script>
     83
     84                <!-- If you're sure your users will only be using browsers modern
     85                     enough to have their own JSON.parse and JSON.stringify
     86                     implementations you can skip this -->
     87                <script src="sites/localsite/collect/peijones/js/annotator/lib/vendor/json2.js"><xsl:text> </xsl:text></script>
     88
     89                <!-- The main Annotator script -->
     90                <script src="sites/localsite/collect/peijones/js/annotator/pkg/annotator.min.js"><xsl:text> </xsl:text></script>
     91
     92                <!-- Annotator's styling and images -->
     93                <link rel="stylesheet" type="text/css" href="sites/localsite/collect/peijones/js/annotator/pkg/annotator.min.css"/>
     94
     95                <!-- The following plugins are entirely optional -->
     96
     97                <!-- The Store plugin. Saves annotations to a remote backend -->
     98                <script src="sites/localsite/collect/peijones/js/annotator/pkg/annotator.store.min.js"><xsl:text> </xsl:text></script>
     99
     100                <!-- The Auth plugin. Allows users of Annotator to authenticate themselves
     101                     to the remote backend -->
     102                <script src="sites/localsite/collect/peijones/js/annotator/pkg/annotator.auth.min.js"><xsl:text> </xsl:text></script>
     103
     104                <!-- The Permissions plugin. See who created which annotation and create
     105                     annotations as a specified user -->
     106                <script src="sites/localsite/collect/peijones/js/annotator/pkg/annotator.permissions.min.js"><xsl:text> </xsl:text></script>
     107
     108                <!-- The Tags plugin. Edit and display tag keywords on annotations -->
     109                <script src="sites/localsite/collect/peijones/js/annotator/pkg/annotator.tags.min.js"><xsl:text> </xsl:text></script>
     110
     111                <!-- The Markdown plugin. Treat annotation text as Markdown -->
     112                <script src="sites/localsite/collect/peijones/js/annotator/lib/vendor/showdown.js"><xsl:text> </xsl:text></script>
     113                <script src="sites/localsite/collect/peijones/js/annotator/pkg/annotator.markdown.min.js"><xsl:text> </xsl:text></script>
     114               
     115                <!--<script src="interfaces/{$interface_name}/js/jquery-1.4.2.js" type="text/javascript"><xsl:text> </xsl:text></script>-->
     116                <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                <script type="text/javascript">
     118                    <xsl:text disable-output-escaping="yes">     
     119                        function readyImagesForZoom()     
     120                        {       
     121                            var noZoom = document.getElementById("noZoom");
     122                            var wrap = document.getElementById("wrap");
     123                           
     124                            if(!noZoom || !wrap)
     125                            {
     126                                return;
     127                            }
     128                           
     129                            noZoom.style.display = "none";
     130                            wrap.style.display = "";
     131                            var smallImageDiv = document.getElementById("small");
     132                            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                            $("#wrap").anythingZoomer({       
     137                                expansionSize:50, 
     138                                speedMultiplier:multiplier   
     139                            });     
     140                        }           
     141                        function addZoom() 
     142                        {   
     143                            var wrapper = document.getElementById("wrap"); 
     144                            var noZoom = document.getElementById("noZoom");
     145                           
     146                            if(!noZoom || !wrapper)
     147                            {
     148                                return;
     149                            }
     150                           
     151                            noZoom.style.display = "none"; 
     152                            wrapper.style.display = "block";
     153                            var option = document.getElementById("zoomOption");
     154                            option.setAttribute("onclick", "removeZoom();"); 
     155                        }           
     156                        function removeZoom()
     157                        {
     158                            var wrapper = document.getElementById("wrap");
     159                            var noZoom = document.getElementById("noZoom");
     160                           
     161                            if(!noZoom || !wrapper)
     162                            {
     163                                return;
     164                            }
     165                           
     166                            wrapper.style.display = "none";
     167                            noZoom.style.display = "block";
     168                            var option = document.getElementById("zoomOption");
     169                            option.setAttribute("onclick", "addZoom();");
     170                        }     
     171                    </xsl:text>   
     172                </script>
     173                <script text="text/javascript">
     174                    <xsl:text disable-output-escaping="yes">
     175                        function initAnnotator()
     176                        {
     177                            jQuery(function ($) {
     178                            //alert(typeof $.fn.annotator);
     179                            if (typeof $.fn.annotator !== 'function') {
     180                                alert("Ooops! it looks like you haven't built the Annotator concatenation file. " +
     181                                "Either download a tagged release from GitHub, or modify the Cakefile to point " +
     182                                "at your copy of the YUI compressor and run `cake package`.");
     183                            } else {
     184                            // This is the important bit: how to create the annotator and add
     185                            // plugins
     186                            $('#gs-document-text').annotator()
     187                                .annotator('addPlugin', 'Permissions')
     188                                .annotator('addPlugin', 'Markdown')
     189                                //.annotator('addPlugin', 'Auth')
     190                                .annotator('addPlugin', 'Tags');
     191
     192                            $('#gs-document-text').data('annotator').plugins['Permissions'].setUser("");
     193                            }
     194                            });
     195                        }
     196                    </xsl:text>
     197                </script>
     198            </xsl:template>
     199            <xsl:template match="documentNode" mode="document">
     200                <!-- Get the photo notes for this document node -->
     201                <gsf:variable-struct name="photoNotes">
     202                    <gsf:metadata multiple="true" name="gsimg.photoNote" separator=", "/>
     203                </gsf:variable-struct>
     204               
     205                <!-- Get details about the image for zooming -->
     206                <h3>   
     207                    <gsf:choose-metadata>
     208                        <gsf:metadata name="dc.Title"/>
     209                        <gsf:metadata name="ex.Title"/>
     210                    </gsf:choose-metadata>
     211                </h3>
     212                <xsl:variable name="imageWidth">
     213                    <gsf:choose-metadata>
     214                        <gsf:metadata name="ImageWidth"/>
     215                        <gsf:default>-1</gsf:default>                       
     216                    </gsf:choose-metadata>
     217                </xsl:variable>
     218                <xsl:variable name="imageHeight">
     219                    <gsf:choose-metadata>
     220                        <gsf:metadata name="ImageHeight"/>
     221                        <gsf:default>-1</gsf:default>                       
     222                    </gsf:choose-metadata>
     223                </xsl:variable>
     224                <xsl:variable name="screenImageWidth">
     225                    <gsf:choose-metadata>
     226                        <gsf:metadata name="ScreenWidth"/>
     227                        <gsf:default>-1</gsf:default>                       
     228                    </gsf:choose-metadata>
     229                </xsl:variable>
     230                <xsl:variable name="screenImageHeight">
     231                    <gsf:choose-metadata>
     232                        <gsf:metadata name="ScreenHeight"/>
     233                        <gsf:default>-1</gsf:default>                       
     234                    </gsf:choose-metadata>
     235                </xsl:variable>
     236                <script type="text/javascript">
     237                    <xsl:text>largeImageHeight =</xsl:text><xsl:value-of select="$imageHeight"/><xsl:text>;</xsl:text>
     238                    <xsl:text>largeImageWidth =</xsl:text><xsl:value-of select="$imageWidth"/><xsl:text>;</xsl:text>
     239                </script>
     240                <div id="noZoom" style="display:block;">
     241                    <gsf:metadata name="screenicon"/>
     242                </div>
     243                <xsl:if test="$imageHeight != -1">
     244                    <div id="wrap" style="display:none">
     245                        <div id="small" style="width: {$screenImageWidth}; height: {$screenImageHeight};"><gsf:metadata name="screenicon"/></div>
     246                        <div id="mover">
     247                            <div id="overlay"><xsl:text/></div>
     248                            <div id="large">
     249                                <img style="width: {$imageWidth}; height: {$imageHeight};">
     250                                    <xsl:attribute name="src">
     251                                        <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"/>
     252                                    </xsl:attribute>
     253                                </img>
     254                            </div>
     255                        </div>
     256                    </div>
     257                </xsl:if>   
     258            </xsl:template>   
     259        </format>
    78260    </display>
    79261    <replaceListRef id="gs2-standard"/>
  • main/trunk/model-cols-dev/peijones/etc/collectionConfig.xml

    r24730 r24769  
    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"/>
    115119               
    116                
     120                <!-- Zoom scripts -->
    117121                <!--<script src="interfaces/{$interface_name}/js/jquery-1.4.2.js" type="text/javascript"><xsl:text> </xsl:text></script>-->
    118122                <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;
    121126                        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                            }
    125134                            var smallImageDiv = document.getElementById("small");
    126135                            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;
    130139                            $("#wrap").anythingZoomer({       
    131140                                expansionSize:50, 
    132141                                speedMultiplier:multiplier   
    133                             });     
     142                            });     
     143
     144                            noZoom.onclick = function(){addZoom();}
     145                            document.getElementById("overlay").onclick = function(){removeZoom();}                         
     146                           
     147                            removeZoom();
    134148                        }           
    135149                        function addZoom() 
    136                         {   
     150                        {
     151                            if(!_zoomEnabled)
     152                            {
     153                                return;
     154                            }
     155                           
    137156                            var wrapper = document.getElementById("wrap"); 
    138157                            var noZoom = document.getElementById("noZoom");
     158                           
     159                            if(!noZoom || !wrapper)
     160                            {
     161                                return;
     162                            }
     163                           
    139164                            noZoom.style.display = "none"; 
    140165                            wrapper.style.display = "block";
    141166                            var option = document.getElementById("zoomOption");
    142                             option.setAttribute("onclick", "removeZoom();"); 
     167                            if(option)
     168                            {
     169                                option.setAttribute("onclick", "removeZoom();"); 
     170                            }
    143171                        }           
    144172                        function removeZoom()
    145173                        {
     174                            if(!_zoomEnabled)
     175                            {
     176                                return;
     177                            }
     178                       
    146179                            var wrapper = document.getElementById("wrap");
    147180                            var noZoom = document.getElementById("noZoom");
     181                           
     182                            if(!noZoom || !wrapper)
     183                            {
     184                                return;
     185                            }
     186                           
    148187                            wrapper.style.display = "none";
    149188                            noZoom.style.display = "block";
    150189                            var option = document.getElementById("zoomOption");
    151                             option.setAttribute("onclick", "addZoom();");
    152                         }     
     190                            if(option)
     191                            {
     192                                option.setAttribute("onclick", "addZoom();");
     193                            }
     194                        }   
    153195                    </xsl:text>   
    154                 </script>   -->
     196                </script>
    155197                <script text="text/javascript">
    156198                    <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&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>
     326                </script>
     327                <script text="text/javascript">
     328                    <xsl:text disable-output-escaping="yes">
     329                        function initAnnotator()
    158330                        {
    159331                            jQuery(function ($) {
    160                             alert(typeof $.fn.annotator);
     332                            //alert(typeof $.fn.annotator);
    161333                            if (typeof $.fn.annotator !== 'function') {
    162334                                alert("Ooops! it looks like you haven't built the Annotator concatenation file. " +
     
    169341                                .annotator('addPlugin', 'Permissions')
    170342                                .annotator('addPlugin', 'Markdown')
    171                                 .annotator('addPlugin', 'Auth')
     343                                //.annotator('addPlugin', 'Auth')
    172344                                .annotator('addPlugin', 'Tags');
    173345
    174                             $('#gs-document-text').data('annotator').plugins['Permissions'].setUser("Bloggs");
     346                            $('#gs-document-text').data('annotator').plugins['Permissions'].setUser("");
    175347                            }
    176348                            });
    177349                        }
    178                         window.onload = init;
    179350                    </xsl:text>
    180351                </script>
    181352            </xsl:template>
    182             <!--
    183353            <xsl:template match="documentNode" mode="document">
     354                <!-- Get the photo notes for this document node -->
    184355                <gsf:variable-struct name="photoNotes">
    185356                    <gsf:metadata multiple="true" name="gsimg.photoNote" separator=", "/>
    186357                </gsf:variable-struct>
     358               
     359                <!-- Get details about the image for zooming -->
    187360                <h3>   
    188361                    <gsf:choose-metadata>
     
    192365                </h3>
    193366                <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>
    195371                </xsl:variable>
    196372                <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>
    198377                </xsl:variable>
    199378                <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>
    201383                </xsl:variable>
    202384                <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>
    204389                </xsl:variable>
    205390                <script type="text/javascript">
    206391                    <xsl:text>largeImageHeight =</xsl:text><xsl:value-of select="$imageHeight"/><xsl:text>;</xsl:text>
    207392                    <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>
    208395                </script>
    209396                <div id="noZoom" style="display:block;">
    210397                    <gsf:metadata name="screenicon"/>
    211398                </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>
    222411                        </div>
    223412                    </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>   
    227416        </format>
    228417    </display>
  • main/trunk/model-cols-dev/peijones/transform/pages/about.xsl

    r24764 r24769  
    309309   
    310310    </td></tr>
    311     <tr><td><button id="switchImageDisplay" style="display:none; float:right;">Flip Photos</button></td></tr>
     311    <tr><td><button id="switchImageDisplay" style="display:none; float:right;">Flip Book</button></td></tr>
    312312    </tbody></table>
    313313
  • main/trunk/model-cols-dev/peijones/transform/pages/document.xsl

    r24764 r24769  
    3131       
    3232            <script type="text/javascript" src="interfaces/{$interface_name}/js/document_scripts.js"><xsl:text> </xsl:text></script>
    33            
    34         <script type="text/javascript" src="sites/localsite/collect/peijones/js/documentmaker/BrowserDetect.js"><xsl:text> </xsl:text></script>
    35         <script type="text/javascript" src="sites/localsite/collect/peijones/js/documentmaker/PhotoNotes-1.5.js"><xsl:text> </xsl:text></script>
    36         <link rel="stylesheet" type="text/css" href="sites/localsite/collect/peijones/style/PhotoNotes-1.5.css"/>
    37        
    38         <!--
    39         <div class="Photo fn-container" id="PhotoContainer">
    40             <img src="sites/localsite/collect/peijones/images/photo/0_PAColl-0671-01korokijones.jpg" />
    41         </div>
    42 
    43         <input type="button" value="Tag Photo!" style="margin-left:30px;" onclick="AddNote();" />
    44         -->
    45        
    46         <script type="text/javascript">
    47             <xsl:text disable-output-escaping="yes">
    48                 /* create the Photo Note Container */
    49                 var notes = new PhotoNoteContainer(document.getElementById('PhotoContainer'));
    50                 var posCount = 0;
    51                
    52                 function deleteFunction(note)
    53                 {
    54                     var callback =
    55                     {
    56                         success: function(response)
    57                         {
    58                             var updateURL = gs.siteMetadata.siteURL.replace("8080","9090") + gs.xsltParams.library_name + "?a=s&amp;sa=c";
    59                        
    60                             var updateCallback =
    61                             {
    62                                 success: function(response){},
    63                                 failed: function(){alert("Failed in deleteFunction() to update Greenstone server with: " + updateURL);}
    64                             };
    65                            
    66    
    67                             YAHOO.util.Connect.asyncRequest("GET", updateURL, updateCallback);
    68                         },
    69                         failed: function(){ alert("Failed in deleteFunction() with note id: " + note.id)},
    70                     };
    71                    
    72                     var status = true;
    73                    
    74                     if (note &amp;&amp; note.id &amp;&amp; note.id &gt; 0) {
    75                         var metaposStr =  note.id - 1;
    76                    
    77                         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;
    78                         YAHOO.util.Connect.asyncRequest("GET", url, callback);
    79                     }
    80                     else {
    81                         alert("Failed to find valid note data to delete");
    82                         status = false;
    83                     }
    84                    
    85                     return status;
    86                 }
    87                
    88                 function saveFunction(note)
    89                 {
    90                     var callback =
    91                     {
    92                         success: function(response)
    93                         {
    94                             var updateURL = gs.siteMetadata.siteURL.replace("8080","9090") + gs.xsltParams.library_name + "?a=s&amp;sa=c";
    95                        
    96                             var updateCallback =
    97                             {
    98                                 success: function(response){},
    99                                 failed: function(reponse){ alert("Failed in saveFunction() to update Greenstone server with: " + updateURL);}
    100                             };
    101                            
    102                            
    103                             YAHOO.util.Connect.asyncRequest("GET", updateURL, updateCallback);
    104                         },
    105                         failed: function(reponse){ alert("Failed in saveFunction() with note id: " + note.id)},
    106                     };
    107                    
    108                     var jsonVal = '{"caption":"' + note.text + '", "area":{"x":' + note.rect.left + ', "y":' + note.rect.top + ', "width":' + note.rect.width + ', "height":' + note.rect.height + '}}';
    109                     var metaposStr = (note &amp;&amp; note.id &amp;&amp; note.id &gt; 0) ? note.id - 1 : posCount;
    110                    
    111                     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;
    112                     YAHOO.util.Connect.asyncRequest("GET", saveURL, callback);
    113                    
    114                     return 1;
    115                 }               
    116                
    117                 function getNotes()
    118                 {
    119                     if(gs.variables.photoNotes == null || gs.variables.photoNotes == undefined)
    120                     {
    121                         console.log("No photo notes");
    122                         return;
    123                     }
    124                    
    125                     for(var i = 0; i &lt; gs.variables.photoNotes.length; i++)
    126                     {
    127                         var note = gs.variables.photoNotes[i];
    128                         if(!note)
    129                         {
    130                             continue;
    131                         }
    132                         var newNote = new PhotoNote(note.caption, i+1, new PhotoNoteRect(note.area.x,note.area.y,note.area.width,note.area.height));
    133                         newNote.onsave = saveFunction;
    134                         newNote.ondelete = deleteFunction;
    135                         notes.AddNote(newNote);
    136                         posCount++;
    137                     }
    138                 }
    139                
    140                 function AddNote()
    141                 {
    142                     var newNote = new PhotoNote('Add note text here...',posCount+1,new PhotoNoteRect(10,10,50,50));
    143                     newNote.onsave = saveFunction;
    144                     newNote.ondelete = deleteFunction;
    145                     notes.AddNote(newNote);
    146                     posCount++;
    147                    
    148                     newNote.Select();
    149                 }
    150                 window.onload = function(){getNotes(); readyImagesForZoom(); initAnnotator();};
    151             </xsl:text>
    152         </script>
    15333           
    15434            <!-- Adds the realistic books javascript if necessary ( *** in document-scripts.xsl *** ) -->
Note: See TracChangeset for help on using the changeset viewer.