source: main/waeup.ikoba/trunk/layout/rules.xml @ 15049

Last change on this file since 15049 was 14172, checked in by Henrik Bettermann, 8 years ago

Fix layout.

File size: 5.7 KB
RevLine 
[10917]1<?xml version="1.0" encoding="UTF-8"?>
2<rules
3    xmlns="http://namespaces.plone.org/diazo"
4    xmlns:css="http://namespaces.plone.org/diazo/css"
5    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
6    xmlns:xi="http://www.w3.org/2001/XInclude">
7
[10936]8  <!-- Cases where we do not want themes... -->
9  <notheme if-path="/++grokui++" />  <!-- do not theme GrokUI -->
10  <notheme if-path="/_debug" /><!-- output by debugger -->
11  <notheme css:if-content="div#error-area" />
[10917]12
[11060]13  <!-- use error page if there is a <table class="layout">
[10917]14       tag in content. This tag is rendered in Zope 3 errors. -->
15  <rules css:if-content="table#layout">
16    <theme href="error-zope.html" />
[11949]17    <replace css:theme-children="#ikoba-error-message"
[10917]18             css:content-children="h3" />
19  </rules>
20  <!-- use error page if there is no <div> tag in content.
21       This happens if something in the application went wrong. -->
22  <rules css:if-not-content="div">
23    <theme href="error-zope.html" />
[11949]24    <replace css:theme-children="#ikoba-error-message"
[10917]25             css:content-children="body" />
26  </rules>
27
28  <!-- regular rules -->
[11949]29  <rules css:if-content="body.ikoba-body">
[10917]30
31    <theme href="theme.html" />
32
33    <!-- head elements -->
34    <replace css:theme="html head title"
35             css:content="html head title" />
36
37    <!-- brand (upper left) -->
[11949]38    <copy attributes="href" css:theme="a.ikoba-brand-link"
39          css:content="a.ikoba-brand-link" />
40    <replace css:theme-children="a.ikoba-brand-link"
41             css:content-children="a.ikoba-brand-link" />
[10917]42
43    <!-- left top navigation -->
[11949]44    <replace css:theme-children="ul.ikoba-navbar-left"
45             css:content-children="ul.ikoba-navbar-left" />
[10917]46
47    <!-- right side top navigation -->
[11949]48    <replace css:theme-children="ul.ikoba-navbar-right"
49             css:content-children="ul.ikoba-navbar-right" />
[10917]50
[13807]51    <!-- maintenance mode warning -->
[14172]52    <drop css:theme="div.ikoba-maintenance"
[13807]53          css:if-not-content="div.maintenance-warning" />
54    <replace css:theme-children="div.maintenance-warning"
55             css:content-children="div.maintenance-warning" />
56
[10917]57    <!-- breadcrumbs -->
[11949]58    <drop css:theme="div.ikoba-breadcrumbs-box-long"
[10917]59          css:if-not-content="ul.breadcrumb" />
[11949]60    <drop css:theme="div.ikoba-breadcrumbs-box-long"
[11030]61          css:if-content="div.wfstatus" />
[11949]62    <drop css:theme="div.ikoba-breadcrumbs-box-short"
[11030]63          css:if-not-content="ul.breadcrumb" />
[11949]64    <drop css:theme="div.ikoba-breadcrumbs-box-short"
[11030]65          css:if-not-content="div.wfstatus" />
[11949]66    <replace css:theme-children="ol.ikoba-breadcrumbs"
[10977]67             css:content-children="ul.breadcrumb" />
[10917]68
[12170]69    <!-- customer status -->
70    <drop css:theme="div.ikoba-customer-status-box"
[11030]71          css:if-not-content="div.wfstatus" />
72    <replace css:theme-children="div.wfstatus"
73             css:content-children="div.wfstatus" />
[11029]74
[10917]75    <!-- sidebar -->
76
[11949]77    <drop css:theme="div.ikoba-sidebar"
[10917]78          css:if-not-content="div.sidebar" />
[10969]79    <replace css:theme-children="div.sidebar-nav"
[10977]80             css:content-children="div.sidebar" />
[10917]81
82    <!-- content -->
83
84    <!-- drop one of the both content areas, depending on sidebar -->
85
[11949]86    <drop css:theme="div.ikoba-content-narrow"
[10917]87          css:if-not-content="div.sidebar" />
[11949]88    <drop css:theme="div.ikoba-content-wide"
[10917]89          css:if-content="div.sidebar" />
[11949]90    <replace css:theme-children="div.ikoba-content"
91             css:content-children="div.ikoba-content" />
[10917]92
93
94    <!-- scripts -->
[11949]95    <drop css:theme="script.ikoba-script-tooltip"
[11436]96          css:if-not-content="[data-toggle='tooltip']" />
[10917]97
[11949]98    <drop css:theme="script.ikoba-script-datepicker"
[11041]99          css:if-not-content="input.datepicker-le-year" />
100
[11949]101    <drop css:theme="script.ikoba-script-datatable"
102          css:if-not-content="table.ikoba-data-table" />
[11041]103
[11463]104<!--
105
[11436]106    <rules css:if-not-content="input.datepicker-le-year">
107        <drop css:theme="script.jquery-ui"
108              css:if-not-content="[data-toggle='tooltip']" />
109    </rules>
110
[11463]111-->
[10917]112<!--
113    <after css:theme-children="html head"
114           css:content="html head meta" />
115-->
116<!--
117    <after css:theme-children="html head"
118           css:content="html head base" />
119-->
120
121    <!-- top navigation -->
122    <!-- left top navigation -->
123<!--
[11949]124    <replace css:theme-children="ul.ikoba-navbar-left"
125             css:content-children="ul.ikoba-navbar-left" />
[10917]126-->
127
128    <!-- the language selector
129
[11021]130      quite tricky. We insert a <li> element at beginning of
[11949]131      ul.ikoba-navbar-right. This <li> has a header element
[10917]132      (the 'Language' button) and the a number of <li> elements
133      representing the supported languages.
134      We change the input content of format
135
136         <a href="foo" title="Lang">Abbrev</a>
137
138      to
139
140         <a href="foo">Lang</a>
141
142      creating new nodes (<xsl:element>) with attributes copied over.
143    -->
[11949]144    <before css:theme-children="ul.ikoba-navbar-right">
145      <li class="dropdown ikoba-langselect">
[10917]146        <a href="#" class="dropdown-toggle"
[11021]147           data-toggle="dropdown">
[11040]148           <img src="/static/img/earth.png" />
[11022]149        </a>
[10917]150        <ul class="dropdown-menu">
151          <xsl:for-each css:select=" .language a">
[11949]152            <li class="ikoba-language">
[10917]153              <xsl:element name="a">
154                <xsl:attribute name="href">
155                  <xsl:value-of select="@href" />
156                </xsl:attribute>
157                <xsl:value-of select="@title" />
158              </xsl:element>
159            </li>
160          </xsl:for-each>
161        </ul>
162      </li>
[11064]163    </before>
[10917]164
[11040]165    <!-- Make all data tables responsive -->
[10917]166
[11949]167    <replace css:content="table.ikoba-data-table">
[11040]168      <div class="table-responsive">
[11949]169        <xsl:apply-templates css:select="table.ikoba-data-table" mode="raw"/>
[11040]170      </div>
171    </replace>
[10917]172
[11041]173   </rules>
[10917]174
175</rules>
Note: See TracBrowser for help on using the repository browser.