Checkboxen mit <label>-Anweisungen versehen, damit der Benutzer auch auf den dazugehö...
[kivitendo-erp.git] / xslt / xulmenu.xsl
1 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
2     xmlns:html="http://www.w3.org/1999/xhtml" 
3     xmlns:svg="http://www.w3.org/2000/svg"
4     xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
5 <xsl:output media-type="application/vnd.mozilla.xul+xml"/>
6 <xsl:template match="/">
7   <xsl:choose>
8     <xsl:when test="system-property('xsl:vendor')='Transformiix'">
9
10       <xsl:apply-templates/>
11     </xsl:when>
12     <xsl:otherwise>
13       <xsl:apply-templates mode="html"/>
14     </xsl:otherwise>
15   </xsl:choose>
16 </xsl:template>
17
18 <xsl:template match="doc" mode="html">
19   <html xmlns="http://www.w3.org/1999/xhtml">
20     <head>
21       <meta http-equiv="refresh" content="2;url=menuv3.pl?action=display&amp;login={/doc/login}&amp;password={/doc/password}"/>
22     </head>
23     <body>
24 Ihr Browser unterstuetzt kein XUL!<br/>
25 wenn die automatische weiterleitung nicht funktioniert klicken sie <a href="menuv3.pl?action=display&amp;login={/doc/login}&amp;password={/doc/password}">hier</a>
26     </body>
27   </html>
28 </xsl:template>
29
30 <!-- main document structure -->
31 <!-- ******************************************************************* -->
32 <xsl:template match="doc">
33 <xsl:processing-instruction
34 name="xml-stylesheet">href="xslt/style1.css" type="text/css"</xsl:processing-instruction>
35   <window>
36     <html:title>
37       LX-Office Version <xsl:value-of select='/doc/version'/> 
38       - <xsl:value-of select='/doc/name'/> 
39       - <xsl:value-of select='/doc/db'/>
40     </html:title>
41    <!-- <xsl:call-template name="style"/>-->
42     <xsl:call-template name="script"/>
43     <toolbox>
44       <xsl:apply-templates select="menu"/>
45       <xsl:apply-templates select="favorites"/>
46     </toolbox>
47     <hbox flex="1">
48       <vbox id="sidebar" style="overflow:hidden">
49
50         <xsl:apply-templates mode="tree" select="menu"/>
51
52         <xsl:call-template name="ArtikelSuche"/>
53         <!--<iframe src="xslt/trans.xml" flex="1" id="uhr"/>-->
54       </vbox>
55       <splitter/>
56           <html:iframe id="main_window" src="{/*//item[@id='Programm--Version']/@link}" flex="1" style="border:0px"/>
57     </hbox>
58   </window>
59 </xsl:template>
60 <!-- ******************************************************************* -->
61
62
63 <!-- the top menu -->
64 <!-- ******************************************************************* -->
65 <xsl:template match="menu"><menubar id="sample-menubar" flex="1"><xsl:apply-templates/></menubar></xsl:template>
66 <!-- ******************************************************************* -->
67
68
69 <!-- favorites toolbar -->
70 <!-- ******************************************************************* -->
71 <xsl:template match="favorites">
72   <toolbar id="favoriten" >
73     <xsl:call-template name="specialbuttons"/>
74     <toolbarseparator/>
75     <xsl:for-each select="link">
76       <xsl:variable name="name" select="@name"/>
77       <xsl:choose>
78         <xsl:when test="/*//item[@id=$name]/item">
79           <toolbarbutton type="menu" label="{$name}" tooltiptext="A simple popup" link="{/*//item[@id=$name]/@link}" oncommand="openLink(event)">
80             <image src="image/icons/24x24/{/*//item[@id=$name]/@id}.png" width="24" height="24" />
81             <menupopup id="file-popup">
82               <xsl:apply-templates select="/*//item[@id=$name]/*"/>
83             </menupopup>
84           </toolbarbutton>
85         </xsl:when>
86         <xsl:otherwise>
87           <toolbarbutton label="{$name}" tooltiptext="A simple popup" link="{/*//item[@id=$name]/@link}" oncommand="openLink(event)" lxid="{/*//item[@id=$name]/@id}">
88             <image src="image/icons/24x24/{/*//item[@id=$name]/@id}.png" width="24" height="24" />
89           </toolbarbutton>
90         </xsl:otherwise>
91       </xsl:choose>
92     </xsl:for-each>
93     <toolbarspring flex="1"/>
94     <xsl:call-template name="searchbox"/>
95
96   </toolbar>
97 </xsl:template>
98 <!-- ******************************************************************* -->
99
100
101 <!-- template for the top menu items
102 *********************************************************************************  -->
103 <xsl:template match="item"><xsl:choose><xsl:when test="item"><menu id="{@name}_menu" label="{@name}" class="menu-iconic" image="image/icons/16x16/{@id}.png"><menupopup id="file-popup"><xsl:apply-templates/></menupopup></menu></xsl:when><xsl:otherwise><menuitem target="{@target}" link="{@link}" label="{@name}" oncommand="openLink(event)" class="menuitem-iconic" image="image/icons/16x16/{@id}.png" lxid="{@id}" onclick="openLinkNewTab(event)"/></xsl:otherwise></xsl:choose></xsl:template>
104 <!-- ***************************************************************************  -->
105
106
107 <!-- templates for the treeview 
108 **********************************************************************************   -->
109 <xsl:template match="menu" mode="tree">
110 <toolbar>
111 <label value="Hauptmenue"/>
112 </toolbar>
113   <tree flex="1" onselect="openTreeLink(event)" style="margin:0px;" hidecolumnpicker="true">
114     <treecols>
115         <treecol hideheader="true" id="menuepunkt"  primary="true" flex="1" />
116     </treecols>
117     <treechildren>
118       <xsl:apply-templates mode="tree"/>
119     </treechildren>
120   </tree>
121 </xsl:template>
122
123 <xsl:template match="item" mode="tree">
124   <xsl:choose>
125     <xsl:when test="item">
126         <treeitem container="true" open="false">
127           <treerow>
128             <treecell label="{@name}" src="image/icons/16x16/{@id}.png"/>
129           </treerow>
130           <treechildren>
131             <xsl:apply-templates mode="tree"/>
132           </treechildren>
133         </treeitem>
134     </xsl:when>
135     <xsl:otherwise>
136     <treeitem link="{@link}">
137       <treerow>
138         <treecell label="{@name}" src="image/icons/16x16/{@id}.png"/>
139       </treerow>
140     </treeitem>
141     </xsl:otherwise>
142   </xsl:choose>
143 </xsl:template>
144 <!-- ***************************************************************************  -->
145
146
147 <!-- template fuer die uhr
148 ********************************************************************************  -->
149 <xsl:template name="uhr">
150
151 </xsl:template>
152 <!-- ***************************************************************************  -->
153
154
155 <!-- scripts 
156 ********************************************************************************  -->
157 <xsl:template name="script">
158   <html:script type="text/ecmascript">
159   
160   function openLink(event)
161     {
162     var path=event.target.getAttribute("link")
163     if(event.target.getAttribute("target")=="_top")
164       {
165         window.location=path
166       }
167       else
168       {
169         var bf=document.getElementsByTagNameNS("http://www.w3.org/1999/xhtml","iframe").item(0)
170         bf.setAttribute("src",path)
171       }
172     }
173     
174   function openLinkNewTab(event)
175     {
176     if(event.button!=1) return
177     var path=event.target.getAttribute("link")
178     if(event.target.getAttribute("target")=="_top")
179       {
180         window.location=path
181       }
182       else
183       {
184 window.open(path,"_new","")
185  
186       }
187     }
188     
189     
190   function openLinkNewWindow(event)
191     {
192       var path=event.target.getAttribute("link")
193       window.open(path,"_new","")
194     }
195   
196   function openTreeLink(event)
197     {
198       var tree=event.target
199       var selIndex=tree.currentIndex
200       var item=tree.view.getItemAtIndex(selIndex)
201       var link=item.getAttribute("link")
202       if(link) document.getElementById("main_window").setAttribute("src",link)
203     }  
204   
205   function updateClock()
206     {
207       var d= new Date()
208       var sec=d.getSeconds() 
209       var min=d.getMinutes() 
210       var std=(d.getHours() % 12 ) + min/60
211       document.getElementById("std").setAttribute("transform","rotate("+std*30+",20,20)")
212       document.getElementById("min").setAttribute("transform","rotate("+min*6+",20,20)")
213       document.getElementById("sec").setAttribute("transform","rotate("+sec*6+",20,20)")
214     }
215   
216   function PrintW()
217     {
218       document.getElementById("main_window").contentWindow.print()
219     }
220   
221   function doSearch(){
222   var t=document.getElementById("searchboxtext").value
223   document.getElementById("desc").value=t
224   document.getElementById("sb").click()
225   
226   }
227   function checkEnter(event){
228   if(event.keyCode==13) doSearch()
229   }
230   //setInterval("updateClock()",1000)
231   function MyGoBack(){
232 document.getElementById("main_window").contentWindow.history.back()
233 }
234   function MyGoForward(){
235 document.getElementById("main_window").contentWindow.history.forward()
236 }
237   </html:script>
238 </xsl:template>
239 <!-- ***************************************************************************  -->
240
241 <!-- special buttons ( logout , print, open new window )
242 ****************************************************************************  -->
243 <xsl:template name="specialbuttons">
244   <toolbarbutton image="image/icons/24x24/Batch Printing.png" tooltiptext="hallo" oncommand="PrintW(event)"/>
245   <toolbarbutton image="image/icons/24x24/Neues Fenster.png" tooltip="Neues Fenster" link="menuXML.pl?action=display&amp;login={/doc/login}&amp;password={/doc/password}" target="_top" oncommand="openLinkNewWindow(event)"/>
246   <toolbarbutton label="Logout" link="{/*//item[@id='Programm--Logout']/@link}" target="_top" oncommand="openLink(event)">
247     <image src="image/icons/24x24/Programm--Logout.png" width="24" height="24" />
248   </toolbarbutton>
249 <toolbarseparator/>
250  <toolbarbutton label="back" tooltiptext="hallo" oncommand="MyGoBack()"/>
251   <toolbarbutton label="forward" tooltip="Neues Fenster" oncommand="MyGoForward()"/>
252 </xsl:template>
253 <!-- ***************************************************************************  -->
254
255
256 <!-- searchbox
257 ****************************************************************************  -->
258 <xsl:template name="searchbox">
259 <vbox style="padding-top:2px">
260   <hbox>
261
262     <textbox height="22px" style="font-size:12px;margin-right:0px" width="200px" id="searchboxtext" onkeypress="checkEnter(event)"/>
263 <toolbarbutton type="toolbar" width="20" height="20" style="padding:5px !important"
264 image="image/icons/16x16/CRM--Schnellsuche.png" flex="0" oncommand="doSearch()"/>
265 </hbox>
266
267 </vbox>
268 </xsl:template>
269 <!-- ***************************************************************************  -->
270
271
272 <!-- hidden form for article search
273 ****************************************************************************  -->
274 <xsl:template name="ArtikelSuche">
275   <form id="aform" method="post" action="ic.pl" xmlns="http://www.w3.org/1999/xhtml" target="main_window" style="font-family:arial;font-size:12px;display:none">
276   <input name="partnumber" size="20"/>
277   <input name="description" flex="1" id="desc"/>
278   <input name="partsgroup" size="20"/>
279   <input name="make" size="20"/>
280   <input class="submit" type="submit" name="action" value="Weiter" id="sb"/>
281   <div style="display:none" >    
282   <input class="submit" type="submit" name="action" value="Top 100"/> 
283     <input type="hidden" name="serialnumber" size="20"/>  
284     <input type="hidden" name="ean" size="20"/>     
285     <input type="hidden" name="searchitems" value="part"/>
286     <input type="hidden" name="title" value="Waren"/>
287     <input type="hidden" name="revers" value="0"/>
288     <input type="hidden" name="lastsort" value=""/>
289     <input type="hidden" name="model" size="20"/>
290     <input type="hidden" name="drawing" size="20"/>
291     <input type="hidden" name="microfiche" size="20"/>
292     <input  name="itemstatus" class="radio" type="radio" value="active" checked="true"/>
293     <input name="itemstatus" class="radio" type="radio" value="onhand"/>
294     <input  name="itemstatus" class="radio" type="radio" value="short"/>
295     <input  name="itemstatus" class="radio" type="radio" value="obsolete"/>
296     <input  name="itemstatus" class="radio" type="radio" value="orphaned"/>
297     <input  name="bought" class="checkbox" type="checkbox" value="1"/>
298     <input  name="sold" class="checkbox" type="checkbox" value="1"/>
299     <input  name="onorder" class="checkbox" type="checkbox" value="1"/>
300     <input  name="ordered" class="checkbox" type="checkbox" value="1"/>
301     <input  name="rfq" class="checkbox" type="checkbox" value="1"/>Anfrage
302     <input  name="quoted" class="checkbox" type="checkbox" value="1"/>Angeboten  
303     <input type="hidden" name="transdatefrom" id="transdatefrom" size="11" title="dd.mm.yy"/>
304     <input  type="button" name="transdatefrom" id="trigger1" value="?"/> 
305     <input name="transdateto" id="transdateto" size="11" title="dd.mm.yy"/>
306     <input type="button" name="transdateto" id="trigger2" value="?"/>
307     <input name="l_partnumber" class="checkbox" type="checkbox" value="Y" checked="true"/>Artikelnummer
308     <input name="l_description" class="checkbox" type="checkbox" value="Y" checked="true"/>Artikelbeschreibung
309     <input name="l_serialnumber" class="checkbox" type="checkbox" value="Y"/>Seriennummer
310     <input name="l_unit" class="checkbox" type="checkbox" value="Y" checked="true"/>Maszeinheit
311     <input name="l_listprice" class="checkbox" type="checkbox" value="Y"/>Listenpreis
312     <input name="l_sellprice" class="checkbox" type="checkbox" value="Y" checked="true"/>Verkaufspreis
313     <input name="l_lastcost" class="checkbox" type="checkbox" value="Y" checked="true"/>Einkaufspreis
314     <input name="l_linetotal" class="checkbox" type="checkbox" value="Y" checked="true"/>Zeilensumme
315     <input name="l_priceupdate" class="checkbox" type="checkbox" value="Y"/>Erneuert am
316     <input name="l_bin" class="checkbox" type="checkbox" value="Y"/>Lagerplatz
317     <input name="l_rop" class="checkbox" type="checkbox" value="Y"/>Mindestlagerbestand
318     <input name="l_weight" class="checkbox" type="checkbox" value="Y"/>Gewicht
319     <input name="l_image" class="checkbox" type="checkbox" value="Y"/>Grafik
320     <input name="l_drawing" class="checkbox" type="checkbox" value="Y"/>Zeichnung
321     <input name="l_microfiche" class="checkbox" type="checkbox" value="Y"/>Mikrofilm
322     <input name="l_partsgroup" class="checkbox" type="checkbox" value="Y"/>Warengruppe
323     <input name="l_subtotal" class="checkbox" type="checkbox" value="Y"/>Zwischensumme
324     <input name="l_soldtotal" class="checkbox" type="checkbox" value="Y"/>Verkaufte Anzahl
325     <input name="l_deliverydate" class="checkbox" type="checkbox" value="Y"/>Lieferdatum
326     <input type="hidden" name="nextsub" value="generate_report"/>
327     <input type="hidden" name="login" value="{/doc/login}"/>
328     <input type="hidden" name="password" value="{/doc/password}"/>
329     <input type="hidden" name="revers" value="0"/>
330     <input type="hidden" name="lastsort" value=""/>
331     <input type="hidden" name="sort" value="description"/>
332     <input type="hidden" name="ndxs_counter" value="0"/>
333   </div>
334   </form>
335 </xsl:template>
336 <!-- ***************************************************************************  -->
337 </xsl:stylesheet>