Changeset 26871 for main


Ignore:
Timestamp:
2013-02-11T15:30:50+13:00 (11 years ago)
Author:
davidb
Message:

Support for Panoramas added

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

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