source: main/trunk/model-cols-dev/peijones/transform/pages/document.xsl@ 24708

Last change on this file since 24708 was 24708, checked in by papitha, 13 years ago

Tag Photo - Save functionality modified.

File size: 9.2 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:gslib="http://www.greenstone.org/skinning"
7 xmlns:gsf="http://www.greenstone.org/greenstone3/schema/ConfigFormat"
8 extension-element-prefixes="java util"
9 exclude-result-prefixes="java util gsf">
10
11 <!-- use the 'main' layout -->
12 <xsl:import href="layouts/main.xsl"/>
13
14 <!-- style includes global params interface_name, library_name -->
15 <xsl:include href=".old/berrytools.xsl"/>
16
17 <xsl:variable name="bookswitch">
18 <xsl:choose>
19 <xsl:when test="/page/pageRequest/paramList/param[@name='book']/@value">
20 <xsl:value-of select="/page/pageRequest/paramList/param[@name='book']/@value"/>
21 </xsl:when>
22 <xsl:otherwise>off</xsl:otherwise>
23 </xsl:choose>
24 </xsl:variable>
25
26 <!-- the page content -->
27 <xsl:template match="/page/pageResponse/document">
28
29 <xsl:if test="$bookswitch = 'off'">
30 <div id="bookdiv" style="visibility:hidden; height:0px; display:inline;"><xsl:text> </xsl:text></div>
31
32 <script type="text/javascript" src="interfaces/{$interface_name}/js/document_scripts.js"><xsl:text> </xsl:text></script>
33
34 <script type="text/javascript" src="sites/localsite/collect/peijones/js/documentmaker/BrowserDetect.js"><xsl:text> </xsl:text></script>
35 <script type="text/javascript" src="sites/localsite/collect/peijones/js/documentmaker/PhotoNotes-1.5.js"><xsl:text> </xsl:text></script>
36 <link rel="stylesheet" type="text/css" href="sites/localsite/collect/peijones/style/PhotoNotes-1.5.css"/>
37 <div class="Photo fn-container" id="PhotoContainer">
38 <img src="sites/localsite/collect/peijones/images/photo/0_PAColl-0671-01korokijones.jpg" />
39 </div>
40
41 <input type="button" value="Tag Photo!" style="margin-left:30px;" onclick="AddNote();" />
42 <script type="text/javascript">
43 <xsl:text disable-output-escaping="yes">
44 /* create the Photo Note Container */
45 var notes = new PhotoNoteContainer(document.getElementById('PhotoContainer'));
46 var posCount = 0;
47
48 function deleteFunction(note)
49 {
50 var callback =
51 {
52 success: function(response)
53 {
54 var updateCallback =
55 {
56 success: function(response){},
57 failed: function(){}
58 };
59
60 var updateURL = gs.siteMetadata.siteURL.replace("8080","9090") + gs.xsltParams.library_name + "?a=s&amp;sa=c";
61 YAHOO.util.Connect.asyncRequest("GET", updateURL, updateCallback);
62 },
63 failed: function(){},
64 };
65
66 var url = gs.siteMetadata.siteURL.replace("8080","9090") + "cgi-bin/metadata-server.pl?a=remove-metadata&amp;site=localsite&amp;c=" + gs.cgiParams.c + "&amp;d=" + gs.cgiParams.d + "&amp;metaname=gsimg.photoNote";
67 YAHOO.util.Connect.asyncRequest("GET", url, callback);
68 return true;
69 }
70
71 function saveFunction(note)
72 {
73 var callback =
74 {
75 success: function(response)
76 {
77 var updateURL = gs.siteMetadata.siteURL.replace("8080","9090") + gs.xsltParams.library_name + "?a=s&amp;sa=c";
78
79 var updateCallback =
80 {
81 success: function(response){},
82 failed: function(reponse){ alert("Failed to update Greenstone server with: " + updateURL);}
83 };
84
85
86 YAHOO.util.Connect.asyncRequest("GET", updateURL, updateCallback);
87 },
88 failed: function(reponse){ alert("Failed in saveFunction() with note id: " + note.id)},
89 };
90
91 var jsonVal = '{"caption":"' + note.text + '", "area":{"x":' + note.rect.left + ', "y":' + note.rect.top + ', "width":' + note.rect.width + ', "height":' + note.rect.height + '}}';
92 var metaposStr = (note &amp;&amp; note.id &amp;&amp; note.id &gt; 0) ? note.id - 1 : posCount;
93
94 var saveURL = gs.siteMetadata.siteURL.replace("8080","9090") + "cgi-bin/metadata-server.pl?a=set-metadata&amp;site=localsite&amp;c=" + gs.cgiParams.c + "&amp;d=" + gs.cgiParams.d + "&amp;metaname=gsimg.photoNote&amp;metavalue=" + jsonVal + "&amp;metapos=" + metaposStr;
95 YAHOO.util.Connect.asyncRequest("GET", saveURL, callback);
96
97 return 1;
98 }
99
100 function getNotes()
101 {
102 if(gs.variables.photoNotes == null || gs.variables.photoNotes == undefined)
103 {
104 console.log("No photo notes");
105 return;
106 }
107
108 for(var i = 0; i &lt; gs.variables.photoNotes.length; i++)
109 {
110 var note = gs.variables.photoNotes[i];
111 if(!note)
112 {
113 continue;
114 }
115 var newNote = new PhotoNote(note.caption, i+1, new PhotoNoteRect(note.area.x,note.area.y,note.area.width,note.area.height));
116 newNote.onsave = saveFunction;
117 newNote.ondelete = deleteFunction;
118 notes.AddNote(newNote);
119 posCount++;
120 }
121 }
122
123 function AddNote()
124 {
125 var newNote = new PhotoNote('Add note text here...',posCount+1,new PhotoNoteRect(10,10,50,50));
126 newNote.onsave = saveFunction;
127 newNote.ondelete = deleteFunction;
128 notes.AddNote(newNote);
129 posCount++;
130
131 newNote.Select();
132 }
133 window.onload = function(){getNotes(); readyImagesForZoom();};
134 </xsl:text>
135 </script>
136
137 <!-- Adds the realistic books javascript if necessary ( *** in document-scripts.xsl *** ) -->
138 <xsl:if test="/page/pageResponse/collection[@name = $collName]/metadataList/metadata[@name = 'tidyoption'] = 'tidy'">
139 <script type="text/javascript">
140 <xsl:text disable-output-escaping="yes">
141 if(document.URL.indexOf("book=on") != -1)
142 {
143 loadBook();
144 }
145 </xsl:text>
146 </script>
147 </xsl:if>
148
149 <!-- show the little berries for this document -->
150 <xsl:call-template name="documentBerryForDocumentPage"/>
151
152 <table id="rightSidebar">
153 <tr><td>
154 <xsl:call-template name="viewOptions"/>
155 <table class="viewOptions"><tr>
156 <!-- Zoomer on/off button -->
157 <xsl:if test="/page/pageRequest/paramList/param[@name = 'zoom']/@value = 'on'">
158 <td>
159 <img src="sites/localsite/collect/peijones/images/zoom.png"/>
160 <input id="zoomOption" type="checkbox" class="optionCheckBox">
161 <xsl:choose>
162 <xsl:when test="/page/pageRequest/paramList/param[@name = 'zoom']/@value = 'on'">
163 <xsl:attribute name="onclick">
164 <xsl:text>removeZoom();</xsl:text>
165 </xsl:attribute>
166 <xsl:attribute name="checked">true</xsl:attribute>
167 <script type="text/javascript">function init(){readyImagesForZoom();} window.onload = init;</script>
168 </xsl:when>
169 <xsl:otherwise>
170 <xsl:attribute name="onclick">
171 <xsl:text>addZoom();</xsl:text>
172 </xsl:attribute>
173 </xsl:otherwise>
174 </xsl:choose>
175 </input>
176 </td>
177 </xsl:if>
178 </tr></table>
179 </td></tr>
180 <tr><td>
181 <!-- the sidebar -->
182 <div id="contentsArea">
183 <!-- show the berry basket if it's turned on -->
184 <gslib:berryBasket/>
185
186 <!-- the book's cover image -->
187 <xsl:choose>
188 <xsl:when test="/page/pageResponse/format[@type='display']/gsf:option[@name='coverImage']/@value='true'">
189 <div id="coverImage" class="visible"><gslib:coverImage/></div>
190 </xsl:when>
191 <xsl:otherwise>
192 <div id="coverImage" class="hidden"><gslib:coverImage/></div>
193 </xsl:otherwise>
194 </xsl:choose>
195
196 <!-- the contents (if enabled) -->
197 <xsl:choose>
198 <xsl:when test="/page/pageResponse/format[@type='display']/gsf:option[@name='TOC']/@value='true'">
199 <div id="tableOfContents" class="visible">
200 <xsl:apply-templates select="documentNode" mode="TOC"/>
201 </div>
202 </xsl:when>
203 <xsl:otherwise>
204 <div id="tableOfContents" class="hidden">
205 <xsl:apply-templates select="documentNode" mode="TOC"/>
206 </div>
207 </xsl:otherwise>
208 </xsl:choose>
209 </div>
210 </td></tr>
211 </table>
212 </xsl:if>
213
214 <!-- display the document -->
215 <xsl:choose>
216 <xsl:when test="@external != ''">
217 <xsl:call-template name="externalPage">
218 <xsl:with-param name="external" select="@external"/>
219 </xsl:call-template>
220 </xsl:when>
221 <xsl:when test="$bookswitch = 'flashxml'">
222 <xsl:apply-templates mode="flashxml"/>
223 </xsl:when>
224 <xsl:when test="$bookswitch = 'on'">
225 <!-- *** in document-scripts.xsl *** -->
226 <div id="bookdiv" style="display:inline;"><xsl:text> </xsl:text></div>
227 <script type="text/javascript">
228 <xsl:text disable-output-escaping="yes">
229 if(document.URL.indexOf("book=on") != -1)
230 {
231 loadBook();
232 }
233 </xsl:text>
234 </script>
235 </xsl:when>
236 <xsl:otherwise>
237 <div id="gs-document-text" class="documenttext">
238 <xsl:apply-templates select="documentNode" mode="document"/>
239 </div>
240 </xsl:otherwise>
241 </xsl:choose>
242
243 <div class="clear"><xsl:text> </xsl:text></div>
244
245 </xsl:template>
246</xsl:stylesheet>
247
Note: See TracBrowser for help on using the repository browser.