source: main/trunk/model-sites-dev/pei-jones/transform/pages/document.xsl@ 28171

Last change on this file since 28171 was 28171, checked in by sjm84, 11 years ago

Allow for missing dc.Titles

File size: 10.1 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) and (not(/page/pageResponse/format[@type='display']/gsf:option[@name='disableZoom']) or /page/pageResponse/format[@type='display']/gsf:option[@name='disableZoom']/@value='false')">
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:text>float:left;</xsl:text>
132 </xsl:attribute>
133 <xsl:call-template name="sectionImage"/>
134 <xsl:text> </xsl:text>
135 </div>
136 <div style="float:right; width:50%; margin-right:50px;">
137 <xsl:variable name="editable">
138 <xsl:choose>
139 <xsl:when test="/page/pageRequest/userInformation">
140 <xsl:text>editable</xsl:text>
141 </xsl:when>
142 <xsl:otherwise>
143 <xsl:text> </xsl:text>
144 </xsl:otherwise>
145 </xsl:choose>
146 </xsl:variable>
147 <script type="text/javascript" src="interfaces/{$interface_name}/js/direct-edit.js"><xsl:text> </xsl:text></script>
148 <xsl:call-template name="init-direct-edit"/>
149 <table id="meta{@nodeID}">
150 <tr>
151 <td class="metaTableCellName">dc.Title</td>
152 <td class="metaTableCell {$editable}">
153 <xsl:choose>
154 <xsl:when test="metadataList/metadata[@name='dc.Title']">
155 <xsl:value-of disable-output-escaping="yes" select="metadataList/metadata[@name='dc.Title']"/>
156 </xsl:when>
157 <xsl:otherwise>
158 <xsl:text>[No Title]</xsl:text>
159 </xsl:otherwise>
160 </xsl:choose>
161 </td>
162 </tr>
163 <tr>
164 <td class="metaTableCellName">dc.Subject</td>
165 <td class="metaTableCell {$editable}">
166 <xsl:choose>
167 <xsl:when test="metadataList/metadata[@name='dc.Subject']">
168 <xsl:value-of disable-output-escaping="yes" select="metadataList/metadata[@name='dc.Subject']"/>
169 </xsl:when>
170 <xsl:otherwise>
171 <xsl:text>[No Subject]</xsl:text>
172 </xsl:otherwise>
173 </xsl:choose>
174 </td>
175 </tr>
176 </table>
177 <xsl:if test="/page/pageRequest/userInformation">
178 <button id="quickSaveButton">Save Changes</button>
179 <script type="text/javascript">
180 <xsl:text disable-output-escaping="yes">
181 $(window).load(function()
182 {
183 $("#quickSaveButton").click(save);
184 });
185 </xsl:text>
186 </script>
187 </xsl:if>
188 </div>
189 <div style="clear:both;"><xsl:text> </xsl:text></div>
190 </xsl:otherwise>
191 </xsl:choose>
192 </xsl:template>
193
194 <!-- custom screen image template so we can add "toAnnotate" class to each paged image-->
195 <xsl:template name="customScreenImage" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
196
197 <gsf:variable name="screenImageWidth" xmlns:gsf="http://www.greenstone.org/greenstone3/schema/ConfigFormat"><gsf:metadata name="ScreenWidth"/></gsf:variable>
198 <gsf:variable name="screenImageHeight" xmlns:gsf="http://www.greenstone.org/greenstone3/schema/ConfigFormat"><gsf:metadata name="ScreenHeight"/></gsf:variable>
199 <gsf:variable name="imageWidth" xmlns:gsf="http://www.greenstone.org/greenstone3/schema/ConfigFormat"><gsf:metadata name="ImageWidth"/></gsf:variable>
200 <gsf:variable name="imageHeight" xmlns:gsf="http://www.greenstone.org/greenstone3/schema/ConfigFormat"><gsf:metadata name="ImageHeight"/></gsf:variable>
201
202 <xsl:variable name="ScreenName">Screen</xsl:variable>
203
204 <gsf:link type="source">
205 <img style="border: 1px solid #000;">
206 <xsl:attribute name="src">
207 <xsl:value-of disable-output-escaping="yes" select="/page/pageResponse/collection/metadataList/metadata[@name='httpPath']"/>
208 <xsl:text>/index/assoc/</xsl:text>
209 <xsl:value-of disable-output-escaping="yes" select="/page/pageResponse/document/metadataList/metadata[@name = 'assocfilepath']"/>
210 <xsl:text>/</xsl:text>
211 <xsl:value-of disable-output-escaping="yes" select="(.//metadataList)[last()]/metadata[@name = $ScreenName]"/>
212 </xsl:attribute>
213 </img>
214 </gsf:link>
215 </xsl:template>
216
217</xsl:stylesheet>
Note: See TracBrowser for help on using the repository browser.