Ignore:
Timestamp:
2011-10-20T15:56:06+13:00 (13 years ago)
Author:
sjm84
Message:

More Pei Jones collection changes

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  
    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; }
Note: See TracChangeset for help on using the changeset viewer.