root/main/trunk/greenstone3/web/interfaces/oran/transform/layouts/main.xsl @ 23135

Revision 23135, 11.7 KB (checked in by sjb48, 9 years ago)

Can now drag a metadata item and have it maintain selection

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   
9    xmlns:lxslt="http://xml.apache.org/xslt"
10    xmlns:result="http://www.example.com/results"
11    xmlns:exsl="http://exslt.org/common"
12
13    extension-element-prefixes="java util result exsl"
14    exclude-result-prefixes="util java util">
15
16    <xsl:include href="xml-to-gui.xsl"/>
17    <xsl:include href="xml-to-gui-templates.xsl"/>
18
19    <!-- put the URL or path of your site here site -->
20    <!-- eg 'http://www.example.com/mysite' or '/mysite'  -->
21    <xsl:template name="siteURL"><xsl:value-of select="/page/pageResponse/metadataList/metadata[@name='siteURL']"/></xsl:template>
22
23
24    <!-- the output format for this layout is html -->
25    <xsl:output method="html"/> 
26
27    <!-- the main layout is defined here -->
28    <xsl:template match="/">
29
30        <html>
31
32            <head>
33                <title><xsl:call-template name="pageTitle"/> :: <xsl:call-template name="siteName"/></title>
34                <link rel="stylesheet" href="interfaces/{$interface_name}/style/core.css" type="text/css"/>
35                <!-- <script type="text/javascript" src="interfaces/oran/js/jquery.js"><xsl:text> </xsl:text></script> -->
36                <script type="text/javascript" src="interfaces/oran/js/jquery-1.4.2.js"><xsl:text> </xsl:text></script>
37                <!-- <script type="text/javascript" src="interfaces/oran/js/jquery-ui-1.8.2.custom.min.js"><xsl:text> </xsl:text></script> -->
38                <script type="text/javascript" src="interfaces/oran/js/jquery-ui-1.8rc1/ui/jquery-ui.js"><xsl:text> </xsl:text></script>
39                <script type="text/javascript" src="interfaces/oran/js/jquery.selectboxes.js"><xsl:text> </xsl:text></script>
40                <!-- <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/jquery-ui.js"><xsl:text> </xsl:text></script> -->
41                <!-- <script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"><xsl:text> </xsl:text></script> -->
42                <!-- <script type="text/javascript" src="interfaces/oran/js/jquery-ui-1.8rc1/jquery-1.4.1.js"><xsl:text> </xsl:text></script> -->
43
44                <xsl:call-template name="berryBasketHeadTags"/>
45            </head>
46           
47            <body><xsl:call-template name="textDirectionAttribute"/><xsl:call-template name="actionClass"/>
48
49                <xsl:call-template name="displayErrorsIfAny"/>
50
51                <div id="container"><div id="container2"><div id="container3"><div id="container4">
52
53                    <div id="gs_banner">
54
55                        <!-- show the title -->
56                        <div id="breadcrumbs"><xsl:call-template name="breadcrumbs"/><xsl:text> </xsl:text></div>
57                        <h2><xsl:call-template name="pageTitle"/></h2>
58
59                        <xsl:if test="/page/pageResponse/collection">
60                            <!-- show home, help, preferences links -->
61                            <ul id="bannerLinks">
62
63                                <!-- preferences -->
64                                <li>
65                                    <a href="{$library_name}?a=p&amp;amp;sa=pref&amp;amp;c={$collName}">
66                                        <xsl:attribute name="title"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref_tip')"/></xsl:attribute>
67                                        <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref_b')"/>
68                                    </a>
69                                </li>
70
71                                <!-- help -->
72                                <li>
73                                    <a href="{$library_name}?a=p&amp;amp;sa=help&amp;amp;c={$collName}">
74                                        <xsl:attribute name="title"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'help_tip')"/></xsl:attribute>
75                                        <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'help_b')"/>
76                                    </a>
77                                </li>
78
79                                <li>
80                                    <a href="{$library_name}?a=p&amp;amp;sa=home">
81                                        <xsl:attribute name="title"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'home_tip')"/></xsl:attribute>
82                                        <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'home_b')"/>
83                                    </a>
84                                </li>
85
86                            </ul>
87                        </xsl:if>
88
89                        <!-- show the available 'services' (browse, search, etc.) -->
90                        <xsl:if test="/page/pageResponse/collection/serviceList/service">
91                            <ul id="nav">
92                                <!-- show browse service, if it exists -->
93                                <xsl:if test="/page/pageResponse/collection/serviceList/service[@type='browse']">
94                                    <xsl:for-each select="/page/pageResponse/collection/serviceList/service[@type='browse']">
95                                        <xsl:call-template name="navigationTab"/>
96                                    </xsl:for-each>
97                                </xsl:if>
98
99                                <!-- show search services (collapsed) if they exist -->
100                                <xsl:if test="/page/pageResponse/collection/serviceList/service[@type='query']">
101                                    <xsl:for-each select="/page/pageResponse/collection/serviceList">
102
103                                        <!--
104                                            using collapsedNavigationTab instead of navigationTab collapses
105                                            all the services of the given type onto one tab
106                                        -->
107                                        <xsl:call-template name="collapsedNavigationTab">
108                                            <xsl:with-param name="type">query</xsl:with-param>
109                                        </xsl:call-template>
110                                    </xsl:for-each>
111                                </xsl:if>
112
113                                <!-- all other services -->
114                                <xsl:for-each select="/page/pageResponse/collection/serviceList/service[not(@type='query') and not(@type='browse')]">
115                                    <xsl:call-template name="navigationTab"/>
116                                </xsl:for-each>
117
118                            </ul>
119                        </xsl:if>
120
121                    </div>
122
123<!-- *************************************************************************************** -->
124
125    <!-- <xsl:variable name="foo"> -->
126    <!-- <xsl:value-of select="/page/pageRequest/paramList[@name='formatedit']"/> -->
127
128    <xsl:if test="/page/pageRequest/paramList/param[(@name='formatedit') and (@value='1')]">
129
130<!-- Sam2's div code -->
131
132    <script type="text/javascript" src="interfaces/oran/js/gui_div.js"><xsl:text> </xsl:text></script>
133   
134    <xsl:call-template name="xml-to-gui-templates">
135        <xsl:with-param name="node-set" select="test"/>
136        <xsl:with-param name="metadataSets" select="//metadataSetList"/>
137    </xsl:call-template>
138
139    <xsl:variable name="fmt1">
140        <xsl:call-template name="xml-to-string">
141            <xsl:with-param name="node-set" select="//format[@type='browse']"/>
142          </xsl:call-template>
143    </xsl:variable>
144
145    <xsl:variable name="meta">
146        <xsl:call-template name="xml-to-string">
147            <xsl:with-param name="node-set" select="//metadataSetList"/>
148          </xsl:call-template>
149    </xsl:variable>
150
151    <style type="text/css">
152        .placeholder{margin-left: 10px; border: dashed 1px #ccc; background-color:#FFFFCC; height:20px; }
153
154        .placeholder_td{margin-left: 10px; border: dashed 1px #ccc; background-color:#FFFFCC; width:20px; }
155
156        .header { background-color: #AFCCAF; border: solid 1px #117711; padding: 5px; padding-left: 10px;}
157
158        .resizable { width: 150px; height: 150px; padding: 0.5em; }
159       
160        .block { margin-left: 15px; border-left: dashed 1px black;}
161
162        .droppable { background-color: #99dd99;}
163        .droppable_hl { border: dashed 1px #ccc; background-color:#FFFFCC; }
164
165        <!-- .gsf_metadata { border: solid 2px #0000BB; background-color: #440077; } -->
166
167        <!-- .gsf_choose_metadata { border: solid 1px #000000; background-color: #223344; } -->
168    </style>
169
170    <link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/themes/base/jquery-ui.css"/>
171
172    <table width="100%" border="1">
173
174    <td width="75%">
175
176    <div id="formatStatement">
177
178    <xsl:call-template name="xml-to-gui">
179        <xsl:with-param name="node-set" select="//format[@type='browse']"/>
180        <xsl:with-param name="metadataSets" select="//metadataSetList"/>
181    </xsl:call-template>
182
183    </div>
184    </td>   
185
186
187    <td width="25%" valign="top">
188        <h2> Elements to add </h2>
189        <div class="header element_type_gsf_template css_gsf_template" title="gsf:template">TEMPLATE</div>
190        <!-- <script type="text/javascript">
191        <xsl:text disable-output-escaping="yes">
192        var index = gsf_template_element.indexOf("<div class=\"");
193        var a = gsf_template_element.slice(0, index + "<div class=\"".length);
194        var b = gsf_template_element.slice(index + "<div class=\"".length + 1);
195        var c = a.concat(".element_type_gsf_template", b);
196        document.write(c);
197        </xsl:text>
198        </script> -->
199        <div class="header element_type_gsf_choose_metadata css_gsf_choose_metadata" title="gsf:choose-metadata">CHOOSE-METADATA</div>
200        <div class="draggable_gsf_metadata gsf_metadata css_gsf_metadata block leaf" title="gsf:metadata"><table class="header"><tbody><tr><td class="header"><xsl:call-template name="meta-to-combo">
201                        <xsl:with-param name="metadataSets" select="//metadataSetList"/>
202                        <xsl:with-param name="current" select="ex.Title"/>
203                     </xsl:call-template></td><td class="header"><a href="#" class="remove ui-icon ui-icon-closethick" title="Click me to remove"/></td></tr></tbody></table></div>
204        <!-- <div class="header element_type_gsf_metadata css_gsf_metadata" title="gsf:metadata">METADATA</div> -->
205        <!-- <div class="header element_type_gsf_link css_gsf_link" title="gsf:link">LINK</div> -->
206        <div class="draggable_gsf_link css_gsf_link block" title="gsf:link"><table class="header"><tbody><tr><td class="header">LINK<select>
207                            <option value = "document" selected = "document">Document</option>
208                            <option value = "classifier">Classifier</option>
209                            <option value = "source">Source</option>
210                            <option value = "horizontal">Horizontal</option>
211                </select></td><td><a href="#" class="minmax ui-icon ui-icon-minusthick">[-]</a></td><td><a href="#" class="remove ui-icon ui-icon-closethick">[x]</a></td></tr></tbody></table></div>
212        <div class="header element_type_gsf_switch css_gsf_switch" title="gsf:switch">SWITCH</div>
213        <div class="header element_type_gsf_when css_gsf_when" title="gsf:when">WHEN</div>
214        <div class="header element_type_gsf_otherwise css_gsf_otherwise" title="gsf:otherwise">OTHERWISE</div>
215        <div class="header element_type_gsf_icon css_gsf_icon" title="gsf:icon">ICON</div>
216        <br/>
217        <div class="element_type_text css_text" title="text">TEXT</div>
218        <div class="element_type_table css_table" title="gsf:table">NEW TABLE</div>
219        <div class="element_type_tr css_tr" title="gsf:row">NEW TABLE ROW</div>
220        <div class="element_type_td css_td" title="gsf:column">NEW TABLE COLUMN</div>
221
222    </td>
223    </table>
224
225    <!-- <xsl:variable name="tok" select="fn:tokenize($fmt,'/s+')"/> -->
226
227    <div id="format">
228        <p>
229          <b>Format string here</b>
230          <i>
231              <xsl:value-of select="$fmt1"/>
232          </i>
233        </p>
234    </div>
235    <!--    <p>
236          <i>
237              <xsl:value-of select="$meta"/>
238          </i>
239        </p>
240      </div> -->
241      </xsl:if>
242
243<!-- *************************************************************************************** -->
244
245                    <div id="gs_content">
246                        <!--
247                            show the content of the page.
248                            to customise this part, edit the xsl file for the page you want to edit
249                        -->
250                        <xsl:apply-templates select="/page"/>
251
252                    </div>
253
254                    <div id="gs_footer">
255                        <xsl:call-template name="poweredByGS3TextBar"/>
256                    </div>
257
258                    <div class="corner" id="cornerTopLeft"><xsl:text> </xsl:text></div>
259                    <div class="corner" id="cornerTopRight"><xsl:text> </xsl:text></div>
260                    <div class="corner" id="cornerBottomLeft"><xsl:text> </xsl:text></div>
261                    <div class="corner" id="cornerBottomRight"><xsl:text> </xsl:text></div>
262
263                </div></div></div></div>
264
265            </body>
266        </html>
267    </xsl:template>
268
269</xsl:stylesheet>
270
271
Note: See TracBrowser for help on using the browser.