Window (Objekt): Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Sed (Diskussion | Beiträge) K (→Beispiele) |
Sed (Diskussion | Beiträge) K (→Beispiele) |
||
Zeile 102: | Zeile 102: | ||
==Beispiele== | ==Beispiele== | ||
Einfaches Beispiel für die Erzeugung und Verwendung eines Trees: | Einfaches Beispiel für die Erzeugung und Verwendung eines Trees: | ||
− | + | ||
<source lang="xml"> | <source lang="xml"> | ||
Template-Pool-Tree mit dem allen Elementen:<br> | Template-Pool-Tree mit dem allen Elementen:<br> | ||
Zeile 129: | Zeile 129: | ||
Komplexes Beispiel für einen Tree, der interaktiv geöffnet und geschlossen werden kann: | Komplexes Beispiel für einen Tree, der interaktiv geöffnet und geschlossen werden kann: | ||
+ | |||
+ | (Bei diesem Beispiel sollten die Code-Zeilen um die Links und Listenelemente inline gesetzt werden) | ||
<source lang="xml"> | <source lang="xml"> | ||
<%-- | <%-- |
Version vom 13. November 2009, 12:11 Uhr
Name
Window - Aktuelles Fenster des Nutzers
Beschreibung
Das Window
-Objekt repränsentiert das aktuelle Fenster des Nutzers. Das Fenster ist ein Unter-Objekt der HTTP-Session und kapselt Objekte die zu einer HTTP-Session gehören, die aber nur für ein Browserfenster gültig sind.
Attribute
Attribut | Type | Beschreibung | ab IES Version |
---|---|---|---|
id | Number | Identifierer für dieses Window-Objekt | 1 |
Methoden
Methode | Rückgabewert | Beschreibung | ab IES Version |
---|---|---|---|
tree(String name, ID node, Boolean hide)
|
Collection <RepositoryTreeNode> | Liefert eine Liste von RepositoryTreeNode -Objekten, mit denen ein Pool-Baum dargestellt werden kann.
|
1 |
tree(String name, ID node, Boolean hide, ID root)
|
Collection <RepositoryTreeNode> | Liefert eine Liste von RepositoryTreeNode -Objekten, mit denen ein Pool -Baum dargestellt werden kann, ab einem bestimmten Pool.
|
1 |
tree(String name, ID node, Boolean hide, ID root, ID user)
|
Collection <RepositoryTreeNode> | Liefert eine Liste von RepositoryTreeNode -Objekten, mit denen ein Pool -Baum dargestellt werden kann, ab einem bestimmten Pool.
|
1 |
Collection <RepositoryTreeNode> tree(String name, ID node, Boolean hide)
- Liefert eine Liste von RepositoryTreeNode-Objekten, mit denen ein Pool-Baum dargestellt werden kann. Die Pools des Baums können auf- und zugeklappt werden. Der Zustand des Baums wird in der Session für jedes Window einzeln gespeichert.
- Parameter
-
String name
- Name für den Baum. Der Name wird verwendet um den Zustand des Baums (welche Pools sind aufgeklappt) in dem Window-Scope zu speichen. Der Name des Baumes muss mit folgenden Parametern beginnen, um anzugeben, welcher Pool-Baum verwendet werden soll.
article.<name>
user.<name>
template.<name>
role.<name>
ID node
- Mit Hilfe des Nodes wird der Baum automatisch bis zu dem Pool aufgeklappt, in dem sich der Node befinden. Dabei muss der Node kein Pool sein, sondern ganz allgemein ein Element.
Boolean hide
- Bei der Rechtevergabe von Nutzern kann angegeben werden, ob bestimmte Pools versteckt werden sollen. Mit diesem Flag wird angegeben, ob dieser Wert ausgewertet werden soll. Mit hide gleich
false
, werden auch die eigentlich zu versteckenden Pools angezeigt.
- Rückgabewert
-
- Collection <RepositoryTreeNode>
- Liste von RepositoryTreeNode-Objekten, mit denen ein Pool-Baum dargestellt werden kann.
Collection <RepositoryTreeNode> tree(String name, ID node, Boolean hide)
- Liefert eine Liste von RepositoryTreeNode-Objekten, mit denen ein Pool-Baum dargestellt werden kann, ab einem bestimmten Pool. Die Pools des Baums können auf- und zugeklappt werden. Der Zustand des Baums wird in der Session für jedes Window einzeln gespeichert.
- Parameter
-
String name
- Name für den Baum. Der Name wird verwendet um den Zustand des Baums (welche Pools sind aufgeklappt) in dem Window-Scope zu speichen. Der Name des Baumes muss mit folgenden Parametern beginnen, um anzugeben welcher Pool-Baum verwendet werden soll.
article.<name>
user.<name>
template.<name>
role.<name>
ID node
- Mit Hilfe des Nodes wird der Baum automatisch bis zu dem Pool aufgeklappt in dem sich der Node befinden. Dabei muss der Node kein Pool sein, sondern ganz allgemein ein Element.
Boolean hide
- Bei der Rechtevergabe von Nutzern kann angegeben werden, ob bestimmte Pools versteckt werden sollen. Mit diesem Flag wird angegeben, ob dieser Wert ausgewertet werden soll. Mit hide gleich
false
, werden auch die eigentlich zu versteckenden Pools angezeigt. ID root
- Dieser Parameter gibt an, ab welchem Pool der Baum dargestellt werden soll.
- Rückgabewert
-
- Collection <RepositoryTreeNode>
- Liste von
RepositoryTreeNode
-Objekten, mit denen ein Pool-Baum dargestellt werden kann.
Collection <RepositoryTreeNode> tree(String name, ID node, Boolean hide, ID root, ID user)
- Liefert eine Liste von RepositoryTreeNode-Objekten, mit denen ein Pool-Baum dargestellt werden kann, ab einem bestimmten Pool. Die Pools des Baums können auf- und zugeklappt werden. Der Zustand des Baums wird in der Session für jedes Window einzeln gespeichert. Für den Pool des Baums existiert ein permission-Attribut, das die Rechte des aktuellen Nutzers auf den Pool angibt. Duch die Angabe eines users enthält das permission-Attribut nicht die Rechte des aktuellen Nutzers, sondern die des user.
- Parameter
-
String name
- Name für den Baum. Der Name wird verwendet um den Zustand des Baums (welche Pools sind aufgeklappt) in dem Window-Scope zu speichen. Der Name des Baumes muss mit folgenden Parametern beginnen, um anzugeben, welcher Pool-Baum verwendet werden soll.
article.<name>
user.<name>
template.<name>
role.<name>
ID node
- Mit Hilfe des Nodes wird der Baum automatisch bis zu dem Pool aufgeklappt in dem sich der Node befinden. Dabei muss der Node kein Pool sein, sondern ganz allgemein ein Element.
Boolean hide
- Bei der Rechtevergabe von Nutzern kann angegeben werden, ob bestimmte Pools versteckt werden sollen. Mit diesem Flag wird angegeben, ob dieser Wert ausgewertet werden soll. Mit hide gleich
false
, werden auch die eigentlich zu versteckenden Pools angezeigt. ID root
- Dieser Parameter gibt an, ab welchem Pool der Baum dargestellt werden soll.
- Rückgabewert
-
- Collection <RepositoryTreeNode>
- Liste von
RepositoryTreeNode
-Objekten, mit denen ein Pool-Baum dargestellt werden kann.
Beispiele
Einfaches Beispiel für die Erzeugung und Verwendung eines Trees:
Template-Pool-Tree mit dem allen Elementen:<br>
<sp:set name="_tree" object="system.window.tree('template.mytree', ${!{system.root.pool.template}}, true)"/>
<table border="1">
<tr>
<th>name</th>
<th>level</th>
<th>isFirst</th>
<th>isLast</th>
<th>isOpen</th>
<th>hasChildren</th>
</tr>
<sp:loop collection="_tree" item="line">
<tr>
<td align="left"><sp:print name="line.reference.name"/></td>
<td align="center"><sp:print name="line.level"/></td>
<td align="center"><sp:print name="line.isFirst"/></td>
<td align="center"><sp:print name="line.isLast"/></td>
<td align="center"><sp:print name="line.isOpen"/></td>
<td align="center"><sp:print name="line.hasChildren"/></td>
</tr>
</sp:loop>
</table>
Komplexes Beispiel für einen Tree, der interaktiv geöffnet und geschlossen werden kann:
(Bei diesem Beispiel sollten die Code-Zeilen um die Links und Listenelemente inline gesetzt werden)
<%--
Übergabe-Parameter:
${_rootpool}: ID des Pools, ab dem der Baum erzeugt werden soll
${_element}: ID des Elements, ab dem der Baum aufgeklappt werden soll
${_pool}: Wird durch den Klick auf einen Pool auf die entsprechende ID gesetzt
--%>
<sp:set name="_rootpool" value="${!{system.root.pool.template}}"/>
<style type="text/css">
.tree {
width: 98%;
margin : 0;
padding : 0;
float: left;
}
.tree li {
margin : 0;
padding: 1px 0 1px 0;
list-style: none;
background: none;
}
.tree ul {
list-style: none;
margin: 0;
padding: 0;
background: url(/img/tree_line_vert.gif) repeat-y 6px 0;
}
.tree ul.lastItem {
background-image: none;
}
.tree ul li {
clear: both;
padding-left: 14px;
}
.tree li.NoChild {
padding-left: 30px;
background: url(/img/tree_line_t.gif) no-repeat 14px;
}
.tree li.lastItemNoChild {
padding-left: 16px;
}
.tree ul li.lastItemNoChild {
padding-left: 30px;
background: url(/img/tree_line_l.gif) no-repeat 14px;
}
.tree a {
display: block;
padding: 1px 0 1px 0;
margin-left: 16px;
}
.tree a:link, .tree a:visited, .tree a:hover, .tree a:active {
text-decoration: none;
}
.tree li.NoChild a {
margin-left: 0;
}
.tree li.lastItemNoChild a {
margin-left: 0;
}
.tree a.treeChanger {
float: left;
width: 13px;
text-align: center;
margin-left: 0;
}
.tree .selected {
background: #ff9966;
}
.tree .selected_secondary {
background: #aeb1bc;
}
.tree a.active {
background-color: #FF9A5C;
}
</style>
<ul class="tree">
<sp:set name="_treename" value="article.popup.${_rootpool}"/>
<sp:loop collection="system.window.tree(${_treename}, ${_element}, false, ${_rootpool})" item="line">
<sp:if name="lastLevel" gt="${line.level}">
<sp:set name="k" expression="${lastLevel} - ${line.level}"/>
<sp:for index="j" from="1" to="${k}">
</ul></li>
</sp:for>
</sp:if>
<sp:set name="lastLevel" value="${line.level}"/>
<li class="<sp:if name="line.isLast" eq="true">lastItem</sp:if><sp:if name="line.hasChildren" eq="false">NoChild</sp:if>">
<sp:if name="line.hasChildren" eq="true">
<a onClick="reloadPage=1;" href="<sp:url template="${system.template}" handler="com.sitepark.ies.control.jsp.handler.TreeHandler"/>;_rootpool=<sp:print name="_rootpool"/>;_element=<sp:print name="_element"/>;_pool=<sp:print name="line.reference.id"/>;SYS_TREE_action=flip;SYS_TREE_name=<sp:print name="_treename"/>;SYS_TREE_id=<sp:print name="line.reference.id"/>" class="treeChanger">
<sp:condition><sp:if name="line.isOpen" eq="true">–</sp:if><sp:else>+</sp:else></sp:condition>
</a>
</sp:if>
<a<sp:if name="line.reference.id" eq="${_pool}"> class="selected"</sp:if> onClick="reloadPage=1;" href="<sp:url command="/forward"/>forward=<sp:print name="system.template"/>;_rootpool=<sp:print name="_rootpool"/>;_element=<sp:print name="_element"/>_pool=<sp:print name="line.reference.id"/>">
<sp:print name="line.reference.name"/>
</a>
<sp:if condition="${line.isOpen} == false || ${line.hasChildren} == false"></li></sp:if>
<sp:if condition="${line.isOpen} == true && ${line.hasChildren} == true">
<ul<sp:if name="line.isLast" eq="true"> class="lastItem"</sp:if>>
</sp:if>
</sp:loop>
<sp:for index="j" from="0" condition="${lastLevel} > 0 && ${j} < ${lastLevel}">
</ul></li>
</sp:for>
</ul>