source: main/trunk/greenstone3/web/interfaces/default/transform/panorama-viewer-tools.xsl@ 33148

Last change on this file since 33148 was 33148, checked in by wy59, 5 years ago
  1. Untested changes to Panorama viewer related xsl and js files to incorporate Coordinate meta wherever Latitude and Longitude meta was referred to. There's no way to test as we have no existing or tutorial collection making use of the Panorama Viewer to hand, however, a lot of the code added to deal with Coordinates is identical to other Coordinate insertions where Lat Long was used in classifier.xsl, document.xsl and map-tools.xsl and map-scripts.js. 2. Added new and removed finished TODOs.
File size: 4.6 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<xsl:stylesheet version="1.0"
3 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
4 xmlns:java="http://xml.apache.org/xslt/java"
5 xmlns:util="xalan://org.greenstone.gsdl3.util.XSLTUtil"
6 xmlns:gsf="http://www.greenstone.org/greenstone3/schema/ConfigFormat"
7 extension-element-prefixes="java util"
8 exclude-result-prefixes="java util gsf">
9
10 <xsl:template name="panoramaViewerFeaturesJSONNodes">
11 <div id="jsonPanoNodes" style="display:none;">
12 <xsl:text>[</xsl:text>
13 <xsl:for-each select="//documentNode">
14 <xsl:if test="metadataList/metadata[@name = 'PhotoType']='Panorama' and (metadataList/metadata[@name = 'Coordinate'] or (metadataList/metadata[@name = 'Latitude'] and metadataList/metadata[@name = 'Longitude']))">
15 <xsl:text>{</xsl:text>
16 <xsl:text disable-output-escaping="yes">"nodeID":"</xsl:text><xsl:value-of select="@nodeID"/><xsl:text disable-output-escaping="yes">",</xsl:text>
17 <xsl:text disable-output-escaping="yes">"source":"</xsl:text><xsl:value-of disable-output-escaping="yes" select="metadataList/metadata[@name = 'Source']"/>"
18 <xsl:if test="metadataList/metadata[@name = 'Latitude'] and metadataList/metadata[@name = 'Longitude']">
19 <xsl:text disable-output-escaping="yes">,</xsl:text>
20 <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>
21 <xsl:text disable-output-escaping="yes">"lng":</xsl:text><xsl:value-of disable-output-escaping="yes" select="metadataList/metadata[@name = 'Longitude']"/>
22 </xsl:if>
23 <xsl:if test="metadataList/metadata[@name = 'Coordinate']">
24 <xsl:text disable-output-escaping="yes">,</xsl:text>
25 <xsl:text disable-output-escaping="yes">"coords":</xsl:text>
26 <xsl:text>[</xsl:text>
27 <xsl:for-each select="metadataList/metadata[@name = 'Coordinate']">
28 <xsl:text disable-output-escaping="yes">"</xsl:text>
29 <xsl:value-of disable-output-escaping="yes" select="current()"/>
30 <xsl:text disable-output-escaping="yes">"</xsl:text>
31 <xsl:text disable-output-escaping="yes">,</xsl:text>
32 </xsl:for-each>
33 <xsl:text>]</xsl:text>
34 </xsl:if>
35 <xsl:text>}</xsl:text>
36 <xsl:if test="not(position() = count(//documentNode))">
37 <xsl:text>,</xsl:text>
38 </xsl:if>
39 </xsl:if>
40 </xsl:for-each>
41 <xsl:text>]</xsl:text>
42 </div>
43 <!-- Although these aren't visible, they are necessary because it forces Greenstone to include this metadata in the page xml -->
44 <gsf:metadata name="Latitude" hidden="true"/>
45 <gsf:metadata name="Longitude" hidden="true"/>
46 <gsf:metadata name="Coordinate" hidden="true"/>
47 <gsf:metadata name="Image" hidden="true"/>
48 <gsf:metadata name="SourceFile" hidden="true"/>
49 <gsf:metadata name="assocfilepath" hidden="true"/>
50 <gsf:metadata name="PhotoType" hidden="true"/>
51 <gsf:metadata name="cv.rotation" hidden="true"/>
52 <gsf:metadata name="ex.Angle" hidden="true"/>
53 <gsf:metadata name="Angle" hidden="true"/>
54
55 </xsl:template>
56
57 <xsl:template name="panoramaViewerFeatures">
58
59 <div id="asdf">
60 <div id="pano-container" class="pano_canvas_half" style="position: relative">
61 <div style="position: absolute; top: 0px; right: 0px;"><a id="gofullscreen" style="background-color: #008000;" href="">Go Fullscreen</a></div>
62 <xsl:text> </xsl:text>
63 </div>
64 </div>
65
66
67
68
69 <gsf:script>
70<![CDATA[
71 var cgiargs = '<xsl:template name="mainTemplate"> \
72 <html> \
73 <head> \
74 <xsl:call-template name="create-html-header"/> \
75 </head> \
76 \
77 <body><xsl:call-template name="textDirectionAttribute"/><xsl:call-template name="actionClass"/> \
78 <div id="container"> \
79 <div id="gs_content"> \
80 <xsl:apply-templates select="/page"/> \
81 </div> \
82 </div> \
83 </body> \
84 </html> \
85 </xsl:template> \
86 \
87 <xsl:template match="/page/pageResponse"> \
88 <xsl:call-template name="panoramaViewerFeaturesJSONNodes"/> \
89 <div id="asdf"> \
90 <div id="pano-container" class="pano_canvas_fullscreen"> \
91 <xsl:text> </xsl:text> \
92 </div> \
93 </div> \
94 </xsl:template>';
95
96 // encodeURIComponent(cgiargs);
97 // cgiargs.replace(/ /g,"%20")
98
99 var full_url = document.location + "?ilt=" + escape(cgiargs);
100 $('#gofullscreen').attr('href',full_url);
101]]>
102 </gsf:script>
103
104
105 </xsl:template>
106
107
108 <xsl:template name="panoramaViewerFeaturesIcon">
109 <td style="padding-left:5px; padding-right:5px;" valign="top">
110 <a href="javascript:switchPanorama('{@nodeID}');">
111 <img src="interfaces/default/images/map_marker.png"/>
112 </a>
113 </td>
114 </xsl:template>
115
116</xsl:stylesheet>
117
Note: See TracBrowser for help on using the repository browser.