Changeset 26871

Show
Ignore:
Timestamp:
11.02.2013 15:30:50 (7 years ago)
Author:
davidb
Message:

Support for Panoramas added

Location:
main/trunk/greenstone3/web/interfaces/default
Files:
5 modified

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone3/web/interfaces/default/style/core.css

    r26570 r26871  
    810810} 
    811811 
     812.pano_canvas_full{ 
     813    margin:0px auto; 
     814    width:900px; 
     815    height:500px; 
     816} 
     817 
     818.pano_canvas_fullscreen{ 
     819    margin:0px auto; 
     820    width:1280px; 
     821    height:720px; 
     822} 
     823 
     824.pano_canvas_half{ 
     825    z-index: 1; 
     826    float: right; 
     827    width:450px; 
     828    height:500px; 
     829    background-color:#000000; 
     830} 
     831 
     832.navigate-point { 
     833    z-index: 97; 
     834    position: absolute; 
     835    overflow: hidden; 
     836    width: 80px; 
     837    height: 80px; 
     838    margin-left: -40px; 
     839    margin-top: -40px; 
     840    background-image: url("../images/navMarker.png"); 
     841    cursor: pointer; 
     842} 
     843 
     844.fullscreenToggle{ 
     845    z-index: 2; 
     846    position: relative; 
     847    float: right; 
     848    top: 28px; 
     849    left: 128px; 
     850    padding: 5px; 
     851} 
     852 
    812853dl dt { font-weight:bold; 
    813854      padding-top:10px; } 
  • main/trunk/greenstone3/web/interfaces/default/transform/classifiertools.xsl

    r26280 r26871  
    171171        <xsl:if test="/page/pageResponse/format[@type='display' or @type='browse' or @type='search']/gsf:option[@name='mapEnabled']/@value = 'true'"> 
    172172            <xsl:if test="metadataList/metadata[@name='Latitude' or @name='Longitude']"> 
    173                 <xsl:call-template name="mapFeatures"/> 
     173                <xsl:call-template name="mapFeaturesIcon"/> 
    174174            </xsl:if> 
    175175        </xsl:if> 
    176     </xsl:template> 
    177  
    178     <xsl:template name="mapFeatures"> 
     176 
     177 
     178        <xsl:if test="/page/pageResponse/format/gsf:option[@name='panoramaViewerEnabled']/@value = 'true'"> 
     179          <xsl:if test=" metadataList/metadata[@name = 'Latitude'] and metadataList/metadata[@name = 'Longitude'] and metadataList/metadata[@name = 'PhotoType']='Panorama'"> 
     180                    <xsl:call-template name="panoramaViewerFeaturesIcon"/> 
     181                  </xsl:if> 
     182        </xsl:if> 
     183 
     184    </xsl:template> 
     185 
     186    <xsl:template name="mapFeaturesIcon"> 
    179187        <td style="padding-left:5px; padding-right:5px;" valign="top"> 
    180188            <a href="javascript:focusDocument('{@nodeID}');"><img src="interfaces/{$interface_name}/images/map_marker.png"/></a> 
    181189        </td> 
    182190    </xsl:template> 
     191 
     192 
     193    <xsl:template name="panoramaViewerFeaturesIcon"> 
     194                <td style="padding-left:5px; padding-right:5px;" valign="top"> 
     195                        <a href="javascript:switchPanorama('{@nodeID}');"> 
     196                                <img src="interfaces/default/images/map_marker.png"/> 
     197                        </a> 
     198                </td> 
     199        </xsl:template> 
     200 
    183201</xsl:stylesheet> 
  • main/trunk/greenstone3/web/interfaces/default/transform/layouts/header.xsl

    r26614 r26871  
    7979 
    8080        <xsl:if test="/page/pageResponse/format[@type='display' or @type='browse' or @type='search']/gsf:option[@name='mapEnabled']/@value = 'true'"> 
    81             <xsl:call-template name="map-scripts"/> 
    82         </xsl:if> 
     81          <xsl:call-template name="map-scripts"/> 
     82        </xsl:if> 
     83         
     84        <xsl:if test="/page/pageResponse/format/gsf:option[@name='mapEnabledOpenLayers']/@value = 'true'"> 
     85          <xsl:call-template name="openlayers-map-scripts"/> 
     86        </xsl:if> 
     87 
     88 
     89        <xsl:if test="/page/pageResponse/format/gsf:option[@name='panoramaViewerEnabled']/@value = 'true'"> 
     90          <xsl:call-template name="panoramaViewer-scripts"/> 
     91        </xsl:if> 
     92 
    8393         
    8494        <xsl:if test="/page/pageRequest/userInformation and (util:contains(/page/pageRequest/userInformation/@groups, 'administrator') or util:contains(/page/pageRequest/userInformation/@groups, 'all-collections-editor') or util:contains(/page/pageRequest/userInformation/@groups, $thisCollectionEditor))"> 
    85             <xsl:call-template name="init-direct-edit"/> 
    86             <script type="text/javascript" src="interfaces/{$interface_name}/js/debug_scripts.js"><xsl:text> </xsl:text></script> 
     95          <xsl:call-template name="init-direct-edit"/> 
     96          <script type="text/javascript" src="interfaces/{$interface_name}/js/debug_scripts.js"><xsl:text> </xsl:text></script> 
    8797        </xsl:if> 
    8898         
     
    500510        <script type="text/javascript">$(window).load(initializeMapScripts);</script> 
    501511    </xsl:template> 
     512 
     513    <xsl:template name="openlayers-map-scripts"> 
     514        <script src="interfaces/{interface_name}/js/OpenLayers.js" type="text/javascript"><xsl:text> </xsl:text></script> 
     515    </xsl:template> 
     516 
     517    <xsl:template name="panoramaViewer-scripts"> 
     518           <script src="interfaces/{$interface_name}/js/three45.min.js" type="text/javascript"><xsl:text> </xsl:text></script> 
     519       <script src="interfaces/{$interface_name}/js/Tween.js" type="text/javascript"><xsl:text> </xsl:text></script> 
     520       <script src="interfaces/{$interface_name}/js/THREEx.FullScreen.js" type="text/javascript"><xsl:text> </xsl:text></script> 
     521       <script src="interfaces/{$interface_name}/js/Detector.js" type="text/javascript"><xsl:text> </xsl:text></script> 
     522       <script src="interfaces/{$interface_name}/js/RequestAnimationFrame.js" type="text/javascript"><xsl:text> </xsl:text></script> 
     523       <script src="interfaces/{$interface_name}/js/OpenLayers.js" type="text/javascript"><xsl:text> </xsl:text></script> 
     524       <script src="interfaces/{$interface_name}/js/panoramaMarker.js" type="text/javascript"><xsl:text> </xsl:text></script> 
     525       <script src="interfaces/{$interface_name}/js/panoramaViewer.js" type="text/javascript"><xsl:text> </xsl:text></script> 
     526       <script type="text/javascript">$(window).load(initPanoramaViewer);$(window).load(_animate);</script> 
     527    </xsl:template> 
     528 
    502529</xsl:stylesheet> 
  • main/trunk/greenstone3/web/interfaces/default/transform/pages/classifier.xsl

    r26091 r26871  
    134134            <xsl:call-template name="mapFeaturesJSONNodes"/> 
    135135        </xsl:if> 
     136         
     137        <xsl:if test="/page/pageResponse/format/gsf:option[@name='panoramaViewerEnabled']/@value = 'true'"> 
     138            <xsl:call-template name="panoramaViewerFeaturesJSONNodes"/> 
     139        </xsl:if> 
     140         
    136141    </xsl:template> 
    137142     
    138143    <xsl:template name="classifierResultsPre"> 
    139144        <xsl:if test="/page/pageResponse/format[@type='display' or @type='browse' or @type='search']/gsf:option[@name='mapEnabled']/@value = 'true'"> 
    140             <xsl:call-template name="mapFeaturesMap"/> 
     145          <xsl:call-template name="mapFeaturesMap"/> 
     146        </xsl:if> 
     147        <xsl:if test="/page/pageResponse/format/gsf:option[@name='panoramaViewerEnabled']/@value = 'true'"> 
     148          <xsl:call-template name="panoramaViewerFeatures"/> 
    141149        </xsl:if> 
    142150    </xsl:template> 
     
    167175     
    168176    <xsl:template name="mapFeaturesMap"> 
    169         <div id="map_canvas" class="map_canvas_half"><xsl:text> </xsl:text></div> 
    170     </xsl:template> 
     177      <div id="map_canvas" class="map_canvas_half"><xsl:text> </xsl:text></div> 
     178    </xsl:template> 
     179 
     180    <xsl:template name="panoramaViewerFeaturesJSONNodes"> 
     181                <div id="jsonPanoNodes" style="display:none;"> 
     182                        <xsl:text>[</xsl:text> 
     183                        <xsl:for-each select="//documentNode"> 
     184                                <xsl:if test="metadataList/metadata[@name = 'Latitude'] and metadataList/metadata[@name = 'Longitude'] and metadataList/metadata[@name = 'PhotoType']='Panorama'"> 
     185                                        <xsl:text>{</xsl:text> 
     186                                        <xsl:text disable-output-escaping="yes">"nodeID":"</xsl:text><xsl:value-of select="@nodeID"/><xsl:text disable-output-escaping="yes">",</xsl:text> 
     187                                        <xsl:text disable-output-escaping="yes">"source":"</xsl:text><xsl:value-of disable-output-escaping="yes" select="metadataList/metadata[@name = 'Source']"/>"<xsl:text>,</xsl:text> 
     188                                        <xsl:text disable-output-escaping="yes">"lat":</xsl:text><xsl:value-of disable-output-escaping="yes" select="metadataList/metadata[@name = 'Latitude']"/><xsl:text>,</xsl:text> 
     189                                        <xsl:text disable-output-escaping="yes">"lng":</xsl:text><xsl:value-of disable-output-escaping="yes" select="metadataList/metadata[@name = 'Longitude']"/> 
     190                                        <xsl:text>}</xsl:text> 
     191                                        <xsl:if test="not(position() = count(//documentNode))"> 
     192                                                <xsl:text>,</xsl:text> 
     193                                        </xsl:if> 
     194                                </xsl:if> 
     195                        </xsl:for-each> 
     196                        <xsl:text>]</xsl:text> 
     197                </div> 
     198                <!-- Although these aren't visible, they are necessary because it forces Greenstone to include this metadata in the page xml --> 
     199                <gsf:metadata name="Latitude" hidden="true"/> 
     200                <gsf:metadata name="Longitude" hidden="true"/> 
     201                <gsf:metadata name="SourceFile" hidden="true"/> 
     202                <gsf:metadata name="assocfilepath" hidden="true"/> 
     203        <gsf:metadata name="PhotoType" hidden="true"/> 
     204        <gsf:metadata name="cv.rotation" hidden="true"/> 
     205        </xsl:template> 
     206     
     207    <xsl:template name="panoramaViewerFeatures"> 
     208 
     209 
     210      <div id="asdf"> 
     211        <div id="pano-container" class="pano_canvas_half" style="position: relative"> 
     212          <div style="position: absolute; top: 0px; right: 0px;"><a id="gofullscreen" style="background-color: #008000;" href="">Go Fullscreen</a></div> 
     213          <xsl:text> </xsl:text> 
     214        </div> 
     215      </div> 
     216 
     217 
     218 
     219 
     220      <gsf:script> 
     221<![CDATA[ 
     222        var cgiargs = '<xsl:template name="mainTemplate"> \ 
     223        <html> \ 
     224            <head> \ 
     225                <xsl:call-template name="create-html-header"/> \ 
     226            </head> \ 
     227            \ 
     228            <body><xsl:call-template name="textDirectionAttribute"/><xsl:call-template name="actionClass"/> \ 
     229                <div id="containerXX"> \ 
     230                    <div id="gs_contentXX"> \ 
     231                        <xsl:apply-templates select="/page"/> \ 
     232                    </div> \ 
     233                </div> \ 
     234            </body> \ 
     235        </html> \ 
     236          </xsl:template> \ 
     237          \ 
     238          <xsl:template match="/page/pageResponse"> \ 
     239        <xsl:call-template name="panoramaViewerFeaturesJSONNodes"/> \ 
     240        <div id="asdf"> \ 
     241              <div id="pano-container" class="pano_canvas_fullscreen"> \ 
     242                <xsl:text> </xsl:text> \ 
     243             </div> \ 
     244           </div> \ 
     245          </xsl:template>'; 
     246 
     247          // encodeURIComponent(cgiargs); 
     248          // cgiargs.replace(/ /g,"%20") 
     249 
     250          var full_url = document.location + "?ilt=" + escape(cgiargs); 
     251          $('#gofullscreen').attr('href',full_url); 
     252]]> 
     253      </gsf:script> 
     254 
     255 
     256    </xsl:template> 
     257 
    171258</xsl:stylesheet> 
    172259 
  • main/trunk/greenstone3/web/interfaces/default/transform/pages/query.xsl

    r26639 r26871  
    527527            <xsl:call-template name="mapFeaturesIcon"/> 
    528528        </xsl:if> 
     529 
     530        <xsl:if test="/page/pageResponse/format/gsf:option[@name='panoramaViewerEnabled']/@value = 'true'"> 
     531          <xsl:if test=" metadataList/metadata[@name = 'Latitude'] and metadataList/metadata[@name = 'Longitude']"> 
     532                    <xsl:call-template name="panoramaViewerFeaturesIcon"/> 
     533                  </xsl:if> 
     534        </xsl:if> 
     535 
    529536    </xsl:template> 
    530537 
     
    571578        </td> 
    572579    </xsl:template> 
     580 
     581    <xsl:template name="panoramaViewerFeaturesIcon"> 
     582                <td style="padding-left:5px; padding-right:5px;" valign="top"> 
     583                        <a href="javascript:switchPanorama('{@nodeID}');"> 
     584                                <img src="interfaces/default/images/map_marker.png"/> 
     585                        </a> 
     586                </td> 
     587        </xsl:template> 
    573588</xsl:stylesheet>