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="/">
8 <xsl:when test="system-property('xsl:vendor')='Transformiix'">
10 <xsl:apply-templates/>
13 <xsl:apply-templates mode="html"/>
18 <xsl:template match="doc" mode="html">
19 <html xmlns="http://www.w3.org/1999/xhtml">
21 <meta http-equiv="refresh" content="5;url=menu.pl?action=display"/>
23 <body style="background-color: #eee; color: #333;">
24 <div style="margin-top: 2em; margin-left: auto; margin-right: auto; border: solid 0.1em #f88; width: 30em; background-color:#fff; font-size: 0.8em;font-family: Verdana, Arial, Helvetica; padding: 2em;">
25 <h2>XUL-Menü ist aktiviert</h2>
26 <h3>Nur der Firefox-Browser mag das XUL-Menü.</h3>
27 Wir schalten auf die kompatiblere <a href="menu.pl?action=display">HTML-Variante</a> um.
28 <h3>Only the Firefox-Browser likes the XUL-Menu.</h3>
29 We switch to the <a href="menu.pl?action=display">HTML-Version</a> now.
35 <!-- main document structure -->
36 <!-- ******************************************************************* -->
37 <xsl:template match="doc">
38 <xsl:processing-instruction name="xml-stylesheet">href="xslt/style1.css" type="text/css"</xsl:processing-instruction>
39 <xsl:variable name="callback"><xsl:value-of select='/doc/callback'/></xsl:variable>
40 <xsl:variable name="title">
41 LX-Office Version <xsl:value-of select='/doc/version'/>
42 - <xsl:value-of select='/doc/name'/>
43 - <xsl:value-of select='/doc/db'/>
45 <!-- <xsl:call-template name="style"/>-->
46 <window title="{$title}">
48 <xsl:call-template name="script"/>
50 <xsl:apply-templates select="menu"/>
51 <xsl:apply-templates select="favorites"/>
54 <vbox id="sidebar" style="overflow:hidden">
56 <xsl:apply-templates mode="tree" select="menu"/>
58 <xsl:call-template name="ArtikelSuche"/>
59 <!--<iframe src="xslt/trans.xml" flex="1" id="uhr"/>-->
61 <splitter state="open" collapse="before" resizeafter="farthest"><grippy/></splitter>
62 <html:iframe id="main_window" src="{$callback}" flex="1" style="border:0px"/>
66 <!-- ******************************************************************* -->
70 <!-- ******************************************************************* -->
71 <xsl:template match="menu"><menubar id="sample-menubar" flex="1"><xsl:apply-templates/></menubar></xsl:template>
72 <!-- ******************************************************************* -->
75 <!-- favorites toolbar -->
76 <!-- ******************************************************************* -->
77 <xsl:template match="favorites">
78 <toolbar id="favoriten" >
79 <xsl:call-template name="specialbuttons"/>
81 <xsl:for-each select="link">
82 <xsl:variable name="name" select="@name"/>
84 <xsl:when test="/*//item[@id=$name]/item">
85 <toolbarbutton type="menu" label="{$name}" tooltiptext="A simple popup" link="{/*//item[@id=$name]/@link}" oncommand="openLink(event)">
86 <image src="image/icons/24x24/{/*//item[@id=$name]/@id}.png" width="24" height="24" />
87 <menupopup id="file-popup">
88 <xsl:apply-templates select="/*//item[@id=$name]/*"/>
93 <toolbarbutton label="{$name}" tooltiptext="A simple popup" link="{/*//item[@id=$name]/@link}" oncommand="openLink(event)" lxid="{/*//item[@id=$name]/@id}">
94 <image src="image/icons/24x24/{/*//item[@id=$name]/@id}.png" width="24" height="24" />
99 <toolbarspring flex="1"/>
100 <xsl:call-template name="searchbox"/>
104 <!-- ******************************************************************* -->
107 <!-- template for the top menu items
108 ********************************************************************************* -->
109 <xsl:template match="item">
111 <xsl:when test="item">
112 <menu id="{@name}_menu" label="{@name}" class="menu-iconic" image="image/icons/16x16/{@id}.png">
113 <menupopup id="file-popup">
114 <xsl:apply-templates/>
119 <menuitem target="{@target}" link="{@link}" label="{@name}" oncommand="openLink(event)" class="menuitem-iconic" image="image/icons/16x16/{@id}.png" lxid="{@id}" onclick="openLinkNewTab(event)"/>
123 <!-- *************************************************************************** -->
126 <!-- templates for the treeview
127 ********************************************************************************** -->
128 <xsl:template match="menu" mode="tree">
130 <label value="Hauptmenü"/>
132 <tree flex="1" onselect="openTreeLink(event)" style="margin:0px;" hidecolumnpicker="true">
134 <treecol hideheader="true" id="menuepunkt" primary="true" flex="1" />
137 <xsl:apply-templates mode="tree"/>
142 <xsl:template match="item" mode="tree">
144 <xsl:when test="item">
145 <treeitem container="true" open="false">
147 <treecell label="{@name}" src="image/icons/16x16/{@id}.png"/>
150 <xsl:apply-templates mode="tree"/>
155 <treeitem link="{@link}">
157 <treecell label="{@name}" src="image/icons/16x16/{@id}.png"/>
163 <!-- *************************************************************************** -->
166 <!-- template fuer die uhr
167 ******************************************************************************** -->
168 <xsl:template name="uhr">
171 <!-- *************************************************************************** -->
175 ******************************************************************************** -->
176 <xsl:template name="script">
177 <html:script type="text/ecmascript">
179 function openLink(event)
181 var path=event.target.getAttribute("link")
182 if(event.target.getAttribute("target")=="_top")
188 var bf=document.getElementsByTagNameNS("http://www.w3.org/1999/xhtml","iframe").item(0)
189 bf.setAttribute("src",path)
193 function openLinkNewTab(event)
195 if(event.button!=1) return
196 var path=event.target.getAttribute("link")
197 if(event.target.getAttribute("target")=="_top")
203 window.open(path,"_new","")
209 function openLinkNewWindow(event)
211 var path=event.target.getAttribute("link")
212 window.open(path,"_blank","")
215 function openTreeLink(event)
217 var tree=event.target
218 var selIndex=tree.currentIndex
219 var item=tree.view.getItemAtIndex(selIndex)
220 var link=item.getAttribute("link")
221 if(link) document.getElementById("main_window").setAttribute("src",link)
224 function updateClock()
227 var sec=d.getSeconds()
228 var min=d.getMinutes()
229 var std=(d.getHours() % 12 ) + min/60
230 document.getElementById("std").setAttribute("transform","rotate("+std*30+",20,20)")
231 document.getElementById("min").setAttribute("transform","rotate("+min*6+",20,20)")
232 document.getElementById("sec").setAttribute("transform","rotate("+sec*6+",20,20)")
237 document.getElementById("main_window").contentWindow.print()
241 var t=document.getElementById("searchboxtext").value
242 document.getElementById("desc").value=t
243 document.getElementById("sb").click()
246 function checkEnter(event){
247 if(event.keyCode==13) doSearch()
249 //setInterval("updateClock()",1000)
251 document.getElementById("main_window").contentWindow.history.back()
253 function MyGoForward(){
254 document.getElementById("main_window").contentWindow.history.forward()
258 <!-- *************************************************************************** -->
260 <!-- special buttons ( logout , print, open new window )
261 The tooltips, like tooltiptext="Neues Fenster", do not appear in my Firefox/Prism browsers. Why?
262 https://developer.mozilla.org/en/XUL_Tutorial/Popup_Menus
263 https://developer.mozilla.org/en/XUL/Attribute/tooltiptext
264 **************************************************************************** -->
265 <xsl:template name="specialbuttons">
266 <toolbarbutton image="image/icons/24x24/Batch Printing.png" oncommand="PrintW(event)" tooltiptext="Drucken"/>
267 <toolbarbutton image="image/icons/24x24/Neues Fenster.png" tooltiptext="Neues Fenster" link="menuXML.pl?action=display" target="_top" oncommand="openLinkNewWindow(event)"/>
268 <toolbarbutton image="image/icons/24x24/Program--Logout.png" link="{/*//item[@id='Program--Logout']/@link}" target="_top" oncommand="openLink(event)" tooltiptext="Abmelden"/>
270 <toolbarbutton image="image/icons/24x24/leftarrow_24.png" tooltiptext="Schritt zurück" oncommand="MyGoBack()"/>
271 <toolbarbutton image="image/icons/24x24/rightarrow_24.png" tooltiptext="Schritt vor" oncommand="MyGoForward()"/>
273 <!-- *************************************************************************** -->
277 **************************************************************************** -->
278 <xsl:template name="searchbox">
279 <vbox style="padding-top:2px">
281 <textbox style="font-size:11px;margin-right:0px" width="200px" id="searchboxtext" onkeypress="checkEnter(event)"/>
282 <toolbarbutton type="toolbar" width="20" height="20" style="padding:5px !important" image="image/icons/16x16/CRM--Schnellsuche.png" flex="0" oncommand="doSearch()"/>
287 <!-- *************************************************************************** -->
290 <!-- hidden form for article search
291 **************************************************************************** -->
292 <xsl:template name="ArtikelSuche">
293 <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">
294 <input name="partnumber" size="20"/>
295 <input name="description" flex="1" id="desc"/>
296 <input name="partsgroup" size="20"/>
297 <input name="make" size="20"/>
298 <input class="submit" type="submit" name="action" value="Weiter" id="sb"/>
299 <div style="display:none" >
300 <input class="submit" type="submit" name="action" value="Top 100"/>
301 <input type="hidden" name="serialnumber" size="20"/>
302 <input type="hidden" name="ean" size="20"/>
303 <input type="hidden" name="searchitems" value="part"/>
304 <input type="hidden" name="title" value="Waren"/>
305 <input type="hidden" name="revers" value="0"/>
306 <input type="hidden" name="lastsort" value=""/>
307 <input type="hidden" name="model" size="20"/>
308 <input type="hidden" name="drawing" size="20"/>
309 <input type="hidden" name="microfiche" size="20"/>
310 <input name="itemstatus" class="radio" type="radio" value="active" checked="true"/>
311 <input name="itemstatus" class="radio" type="radio" value="onhand"/>
312 <input name="itemstatus" class="radio" type="radio" value="short"/>
313 <input name="itemstatus" class="radio" type="radio" value="obsolete"/>
314 <input name="itemstatus" class="radio" type="radio" value="orphaned"/>
315 <input name="bought" class="checkbox" type="checkbox" value="1"/>
316 <input name="sold" class="checkbox" type="checkbox" value="1"/>
317 <input name="onorder" class="checkbox" type="checkbox" value="1"/>
318 <input name="ordered" class="checkbox" type="checkbox" value="1"/>
319 <input name="rfq" class="checkbox" type="checkbox" value="1"/>Anfrage
320 <input name="quoted" class="checkbox" type="checkbox" value="1"/>Angeboten
321 <input type="hidden" name="transdatefrom" id="transdatefrom" size="11" title="dd.mm.yy"/>
322 <input type="button" name="transdatefrom" id="trigger1" value="?"/>
323 <input name="transdateto" id="transdateto" size="11" title="dd.mm.yy"/>
324 <input type="button" name="transdateto" id="trigger2" value="?"/>
325 <input name="l_partnumber" class="checkbox" type="checkbox" value="Y" checked="true"/>Artikelnummer
326 <input name="l_description" class="checkbox" type="checkbox" value="Y" checked="true"/>Artikelbeschreibung
327 <input name="l_serialnumber" class="checkbox" type="checkbox" value="Y"/>Seriennummer
328 <input name="l_unit" class="checkbox" type="checkbox" value="Y" checked="true"/>Maszeinheit
329 <input name="l_listprice" class="checkbox" type="checkbox" value="Y"/>Listenpreis
330 <input name="l_sellprice" class="checkbox" type="checkbox" value="Y" checked="true"/>Verkaufspreis
331 <input name="l_lastcost" class="checkbox" type="checkbox" value="Y" checked="true"/>Einkaufspreis
332 <input name="l_linetotal" class="checkbox" type="checkbox" value="Y" checked="true"/>Zeilensumme
333 <input name="l_priceupdate" class="checkbox" type="checkbox" value="Y"/>Erneuert am
334 <input name="l_bin" class="checkbox" type="checkbox" value="Y"/>Lagerplatz
335 <input name="l_rop" class="checkbox" type="checkbox" value="Y"/>Mindestlagerbestand
336 <input name="l_weight" class="checkbox" type="checkbox" value="Y"/>Gewicht
337 <input name="l_image" class="checkbox" type="checkbox" value="Y"/>Grafik
338 <input name="l_drawing" class="checkbox" type="checkbox" value="Y"/>Zeichnung
339 <input name="l_microfiche" class="checkbox" type="checkbox" value="Y"/>Mikrofilm
340 <input name="l_partsgroup" class="checkbox" type="checkbox" value="Y"/>Warengruppe
341 <input name="l_subtotal" class="checkbox" type="checkbox" value="Y"/>Zwischensumme
342 <input name="l_soldtotal" class="checkbox" type="checkbox" value="Y"/>Verkaufte Anzahl
343 <input name="l_deliverydate" class="checkbox" type="checkbox" value="Y"/>Lieferdatum
344 <input type="hidden" name="nextsub" value="generate_report"/>
345 <input type="hidden" name="revers" value="0"/>
346 <input type="hidden" name="lastsort" value=""/>
347 <input type="hidden" name="sort" value="description"/>
348 <input type="hidden" name="ndxs_counter" value="0"/>
352 <!-- *************************************************************************** -->