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 <!-- ***************************************************************************  -->