source: main/trunk/model-cols-dev/pei-jones/collect/photos/transform/pages/document.xsl@ 27948

Last change on this file since 27948 was 27948, checked in by davidb, 11 years ago

First cut at a collection specificially designed to annotate the photos of the Pei Jones collection

File size: 8.0 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:gsf="http://www.greenstone.org/greenstone3/schema/ConfigFormat" xmlns:gslib="http://www.greenstone.org/skinning" xmlns:java="http://xml.apache.org/xslt/java" xmlns:util="xalan://org.greenstone.gsdl3.util.XSLTUtil" exclude-result-prefixes="java util gsf" extension-element-prefixes="java util" version="1.0">
2
3 <xsl:template name="customImageFileDownload">
4 <div class="ui-state-default ui-corner-all" style="margin:5px;">
5 <!-- Add image file download button -->
6 <xsl:variable name="assocfilepath">
7 <xsl:value-of disable-output-escaping="yes" select="/page/pageResponse/document/metadataList/metadata[@name = 'assocfilepath']"/>
8 </xsl:variable>
9 <xsl:variable name="image_file">
10 <xsl:value-of disable-output-escaping="yes" select="(.//metadataList)[last()]/metadata[@name = 'Source']"/>
11 </xsl:variable>
12
13 <a id="btnDownloadImage" style="padding: 3px; text-decoration: none;">
14 <xsl:attribute name="href">
15 <xsl:text>cgi-bin/file-download.pl?filename=</xsl:text>
16 <xsl:value-of select="$image_file"/>
17 <xsl:text>&amp;site=localsite&amp;c=pjpaged&amp;assoc=</xsl:text>
18 <xsl:value-of select="$assocfilepath"/>
19 </xsl:attribute>
20 Download Image File
21 </a>
22 </div>
23 </xsl:template>
24
25 <xsl:template name="editBar">
26 <table style="width:100%"><tr>
27 <td id="editBarLeft" style="width:70%"><xsl:text> </xsl:text></td>
28 <td id="editBarRight">
29 <div style="text-align:center;">
30 <div class="ui-state-default ui-corner-all" style="margin:5px;">
31 <a href="{$library_name}?a=g&amp;sa=documentbasket&amp;c=&amp;s=DisplayDocumentList&amp;rt=r&amp;p.c={/page/pageResponse/collection/@name}&amp;docToEdit={/page/pageResponse/document/documentNode/@nodeID}" style="padding: 3px; text-decoration:none;"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'doc.edit_structure')"/></a>
32 </div>
33 <div class="ui-state-default ui-corner-all" style="margin:5px;">
34 <a id="editContentButton" style="padding: 3px; text-decoration:none;">
35 <xsl:attribute name="href">
36 <xsl:value-of select="$library_name"/>
37 <xsl:text>/collection/</xsl:text>
38 <xsl:value-of select="$collName"/>
39 <xsl:text>/document/</xsl:text>
40 <xsl:choose>
41 <xsl:when test="count(//documentNode) &gt; 0">
42 <xsl:value-of select="/page/pageResponse/document/documentNode/@nodeID"/>
43 </xsl:when>
44 <xsl:otherwise>
45 <xsl:value-of select="/page/pageResponse/document/@nodeID"/>
46 </xsl:otherwise>
47 </xsl:choose>
48 <xsl:if test="not(/page/pageRequest/paramList/param[@name = 'docEdit']/@value = '1')">
49 <xsl:text>?ed=1&amp;docEdit=1&amp;dt=hierarchy</xsl:text>
50 </xsl:if>
51 </xsl:attribute>
52 <xsl:choose>
53 <xsl:when test="/page/pageRequest/paramList/param[@name = 'docEdit']/@value = '1'">
54 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'doc.hide_editor')"/>
55 </xsl:when>
56 <xsl:otherwise>
57 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'doc.edit_content')"/>
58 </xsl:otherwise>
59 </xsl:choose>
60 </a>
61 </div>
62 <xsl:call-template name="customImageFileDownload"/>
63 </div>
64 </td>
65 </tr></table>
66 <gslib:langfrag name="dse"/>
67 </xsl:template>
68
69 <xsl:template name="wrappedSectionImage">
70 <gsf:variable name="screenImageWidth"><gsf:metadata name="ScreenWidth"/></gsf:variable>
71 <gsf:variable name="screenImageHeight"><gsf:metadata name="ScreenHeight"/></gsf:variable>
72 <gsf:variable name="imageWidth"><gsf:metadata name="ImageWidth"/></gsf:variable>
73 <gsf:variable name="imageHeight"><gsf:metadata name="ImageHeight"/></gsf:variable>
74
75 <xsl:choose>
76 <xsl:when test="metadataList/metadata[@name = 'Screen'] and metadataList/metadata[@name = 'SourceFile'] and ($imageWidth div $screenImageWidth &gt; 1.2)">
77 <div id="image{@nodeID}">
78 <div class="zoomImage" id="wrap{util:replace(@nodeID, '.', '_')}" style="position:relative; width: {$screenImageWidth}px; height: {$screenImageHeight}px;">
79 <div id="small{util:replace(@nodeID, '.', '_')}" style="position:relative; width: {$screenImageWidth}px; height: {$screenImageHeight}px;">
80 <!--<gsf:image type="screen"/>-->
81 <xsl:call-template name="customScreenImage"/>
82 </div>
83 <div id="mover{util:replace(@nodeID, '.', '_')}" style="border: 1px solid green; position: absolute; top: 0; left: 0; width: 598px; height: 598px; overflow: hidden; z-index: 100; background: white; display: none;">
84 <div id="overlay{util:replace(@nodeID, '.', '_')}" style="width: 600px; height: 600px; position: absolute; top: 0; left: 0; z-index: 200;">
85 <xsl:text> </xsl:text>
86 </div>
87 <div id="large{util:replace(@nodeID, '.', '_')}" style="position: relative; width: {$imageWidth}px; height: {$imageHeight}px;">
88 <gsf:image type="source"/>
89 </div>
90 </div>
91 </div>
92 <script type="text/javascript">
93 <xsl:text disable-output-escaping="yes">
94 {
95 var nodeID = "</xsl:text><xsl:value-of select="@nodeID"/><xsl:text disable-output-escaping="yes">";
96 nodeID = nodeID.replace(/\./g, "_");
97
98 var bigHeight = </xsl:text><xsl:value-of select="$imageHeight"/><xsl:text disable-output-escaping="yes">;
99 var smallHeight = </xsl:text><xsl:value-of select="$screenImageHeight"/><xsl:text disable-output-escaping="yes">;
100
101 var multiplier = bigHeight / smallHeight;
102
103 $("#wrap" + nodeID).anythingZoomer({
104 smallArea: "#small" + nodeID,
105 largeArea: "#large" + nodeID,
106 zoomPort: "#overlay" + nodeID,
107 mover: "#mover" + nodeID,
108 expansionSize:50,
109 speedMultiplier:multiplier
110 });
111
112 $("#zoomOptions input").attr("checked", false);
113 $("#zoomOptions").css("display", null);
114 }
115 </xsl:text>
116 </script>
117 </div>
118 </xsl:when>
119 <xsl:otherwise>
120 <!-- this is where -->
121 <div id="image{@nodeID}">
122 <xsl:attribute name="style">
123 <xsl:choose>
124 <xsl:when test="/page/pageRequest/paramList/param[@name = 'view']/@value = 'text'">
125 <xsl:text>display:none;</xsl:text>
126 </xsl:when>
127 <xsl:otherwise>
128 <xsl:text>display:block;</xsl:text>
129 </xsl:otherwise>
130 </xsl:choose>
131 </xsl:attribute>
132 <xsl:call-template name="sectionImage"/>
133 <xsl:text> </xsl:text>
134 </div>
135 </xsl:otherwise>
136 </xsl:choose>
137 </xsl:template>
138
139 <!-- custom screen image template so we can add "toAnnotate" class to each paged image-->
140 <xsl:template name="customScreenImage" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
141
142 <gsf:variable name="screenImageWidth" xmlns:gsf="http://www.greenstone.org/greenstone3/schema/ConfigFormat"><gsf:metadata name="ScreenWidth"/></gsf:variable>
143 <gsf:variable name="screenImageHeight" xmlns:gsf="http://www.greenstone.org/greenstone3/schema/ConfigFormat"><gsf:metadata name="ScreenHeight"/></gsf:variable>
144 <gsf:variable name="imageWidth" xmlns:gsf="http://www.greenstone.org/greenstone3/schema/ConfigFormat"><gsf:metadata name="ImageWidth"/></gsf:variable>
145 <gsf:variable name="imageHeight" xmlns:gsf="http://www.greenstone.org/greenstone3/schema/ConfigFormat"><gsf:metadata name="ImageHeight"/></gsf:variable>
146
147
148 <xsl:variable name="ScreenName">Screen</xsl:variable>
149
150 <gsf:link type="source">
151 <img style="border: 1px solid #000;">
152 <xsl:attribute name="src">
153 <xsl:value-of disable-output-escaping="yes" select="/page/pageResponse/collection/metadataList/metadata[@name='httpPath']"/>
154 <xsl:text>/index/assoc/</xsl:text>
155 <xsl:value-of disable-output-escaping="yes" select="/page/pageResponse/document/metadataList/metadata[@name = 'assocfilepath']"/>
156 <xsl:text>/</xsl:text>
157 <xsl:value-of disable-output-escaping="yes" select="(.//metadataList)[last()]/metadata[@name = $ScreenName]"/>
158 </xsl:attribute>
159 </img>
160 </gsf:link>
161 </xsl:template>
162
163</xsl:stylesheet>
Note: See TracBrowser for help on using the repository browser.