Update of 
/var/cvs/contributions/didactor2/src/portalpages/templates/portalpages/frontoffice
In directory james.mmbase.org:/tmp/cvs-serv27301/frontoffice

Modified Files:
        index.jsp 
Log Message:
sigh sigh sigh


See also: 
http://cvs.mmbase.org/viewcvs/contributions/didactor2/src/portalpages/templates/portalpages/frontoffice


Index: index.jsp
===================================================================
RCS file: 
/var/cvs/contributions/didactor2/src/portalpages/templates/portalpages/frontoffice/index.jsp,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- index.jsp   1 Nov 2006 10:47:33 -0000       1.9
+++ index.jsp   15 Feb 2008 11:00:42 -0000      1.10
@@ -1,166 +1,16 @@
-<[EMAIL PROTECTED] uri="http://java.sun.com/jsp/jstl/fmt"; prefix="fmt" %>
-<[EMAIL PROTECTED] uri="http://www.mmbase.org/mmbase-taglib-2.0"; prefix="mm"%>
-<[EMAIL PROTECTED] uri="http://www.didactor.nl/ditaglib_1.0"; prefix="di" %>
-<[EMAIL PROTECTED] import="java.util.HashMap"%>
-<mm:content postprocessor="reducespace" expires="0">
-<mm:cloud jspvar="cloud">
-
-  <[EMAIL PROTECTED] file="/shared/setImports.jsp" %>
-  <fmt:bundle 
basename="nl.didactor.component.education.EducationMessageBundle">
-  <link rel="stylesheet" type="text/css" href="<mm:treefile 
page="/portalpages/css/base.css" objectlist="$includePath" referids="$referids" 
/>" />
-  <mm:import id="gfx_item_none"><mm:treefile page="/gfx/spacer.gif" 
objectlist="$includePath" referids="$referids" /></mm:import>
-  <mm:import id="gfx_item_opened"><mm:treefile 
page="/gfx/icon_arrow_tab_open.gif" objectlist="$includePath" 
referids="$referids" /></mm:import>
-  <mm:import id="gfx_item_closed"><mm:treefile 
page="/gfx/icon_arrow_tab_closed.gif" objectlist="$includePath" 
referids="$referids" /></mm:import>
-  <script type="text/javascript">
-<!-- 
-  var ITEM_NONE = "<mm:write referid="gfx_item_none" />";
-  var ITEM_OPENED = "<mm:write referid="gfx_item_opened" />";
-  var ITEM_CLOSED = "<mm:write referid="gfx_item_closed" />";
-  var currentnumber = -1;
-  var contenttype = new Array();
-  var contentnumber = new Array();
-  
-  function addContent( type, number ) {
-    contenttype[contenttype.length] = type;
-    contentnumber[contentnumber.length] = number;
-    if ( contentnumber.length == 1 ) {
-      currentnumber = contentnumber[0];
-    }
-  }
-  
-  function nextContent() {
-    for(var count = 0; count <= contentnumber.length; count++) {
-         if ( contentnumber[count] == currentnumber ) {
-           if ( count < contentnumber.length ) {
-             var opentype = contenttype[count+1];
-             var opennumber = contentnumber[count+1];
-           }
-         }
-       }
-       openContent( opentype, opennumber );
-    openOnly('div'+opennumber,'img'+opennumber);
-  }
-  
-  function previousContent() {
-    for(var count = 0; count <= contentnumber.length; count++) {
-         if ( contentnumber[count] == currentnumber ) {
-           if ( count > 0 ) {
-             var opentype = contenttype[count-1];
-             var opennumber = contentnumber[count-1];
-           }
-         }
-       }
-    openContent( opentype, opennumber );
-    openOnly('div'+opennumber,'img'+opennumber);
-  }
-  
-  function openContent( type, number ) {
-    if ( number > 0 ) {
-      currentnumber = number;
-    }
-    switch ( type ) {
-      case "portalpagesnodes":
-         
-       //    note that document.content is not supported by mozilla! 
-       //    so use frames['content'] instead
-         
-        frames['content'].location.href='<mm:treefile 
page="/portalpages/frontoffice/show_node.jsp" objectlist="$includePath" 
referids="$referids" escapeamps="false"/>'+'&node='+number;
-        break;
-      case "simplecontents":
-        frames['content'].location.href='<mm:treefile 
page="/portalpages/frontoffice/show_content.jsp" objectlist="$includePath" 
referids="$referids" escapeamps="false"/>'+'&node='+number;
-        break;
-    }
-  }
-  
-  function openClose(div, img) {
-    var realdiv = document.getElementById(div);
-    var realimg = document.getElementById(img);
-    
-    if (realdiv != null) {
-      if (realdiv.getAttribute("opened") == "1") {
-        realdiv.setAttribute("opened", "0");
-        realdiv.style.display = "none";
-        realimg.src = ITEM_CLOSED;
-      } else {
-        realdiv.setAttribute("opened", "1");
-        realdiv.style.display = "block";
-        realimg.src = ITEM_OPENED;
-      }
-    }
-  }
-  
-  function openOnly(div, img) {
-    var realdiv = document.getElementById(div);
-    var realimg = document.getElementById(img);
-    // alert("openOnly("+div+","+img+"); - "+realdiv);
-    if (realdiv != null) {
-        realdiv.setAttribute("opened", "1");
-        realdiv.style.display = "block";
-        realimg.src = ITEM_OPENED;
-        
-        var className = realdiv.className;
-        if (className) {
-            // ignore "lbLevel" in classname to get the level depth
-            var level = className.substring(7,className.length);
-            // alert("level = "+level);
-            var findparent = realdiv;
-            var findparentClass = className;
-            if (level > 1) {
-                // also open parents
-                do {
-                    findparent = findparent.parentNode;
-                    findparentClass = findparent.className || "";
-                } while (findparent && findparentClass.indexOf("lbLevel") != 
0);
-                if (findparent) {
-                    var divid = findparent.id;
-                    var imgid = "img"+divid.substring(3,divid.length);
-                    openOnly(divid,imgid);
-                }
-            }
-        }        
-    }
-    else { // find enclosing div
-        var finddiv = realimg;
-        while (finddiv != null && (! finddiv.className || 
finddiv.className.substring(0,7) != "lbLevel")) {
-            finddiv = finddiv.parentNode;
-            // if (finddiv.className) alert(finddiv.className.substring(0,7));
-        }
-        if (finddiv != null) {
-            var divid = finddiv.id;
-            var imgid = "img"+divid.substring(3,divid.length);
-            openOnly(divid,imgid);
-        }
-    }
-  }
-  
-  function closeAll() {
-    var divs = document.getElementsByTagName("div");
-    for (i=0; i<divs.length; i++) {
-      var div = divs[i];
-      var cl = "" + div.className;
-      if (cl.match("lbLevel")) {
-        divs[i].style.display = "none";
-      }
-    }
-  }
-  
-  function removeButtons() {
-    // Remove all the buttons in front of divs that have no children
-    var imgs = document.getElementsByTagName("img");
-    for (i=0; i<imgs.length; i++) {
-      var img = imgs[i];
-      var cl = "" + img.className;
-      if (cl.match("imgClose")) {
-        if (img.getAttribute("haschildren") != "1") {
-          img.src = ITEM_NONE;
-        }
-      }
-    }
-  }
-  
-  //-->
+<jsp:root version="2.0"
+          xmlns:c="http://java.sun.com/jsp/jstl/core";
+          xmlns:jsp="http://java.sun.com/JSP/Page";
+          xmlns:mm="http://www.mmbase.org/mmbase-taglib-2.0";
+          xmlns:di="http://www.didactor.nl/ditaglib_1.0";
+          >
+  <mm:content>
+    <mm:cloud>
+    <mm:link page="/education/js/frontend_tree.jsp" referids="$referids">
+      <script type="text/javascript" src="${_}">
+        <!-- help IE -->
   </script>
-  <% int openDivs = 0; %>
+    </mm:link>
   <div class="rows">
     <div class="navigationbar">
       <div class="pathbar">
@@ -168,212 +18,56 @@
           <mm:field name="name"/>
         </mm:node>
       </div>
-      <!-- menu left previous,next (vorige,volgende) -->
       <div class="stepNavigator">
-        <br/><br/>
-        <a href="javascript:previousContent();"><img src="<mm:treefile 
write="true" page="/gfx/icon_arrow_last.gif" objectlist="$includePath" />" 
width="14" height="14" border="0" title="<di:translate 
key="portalpages.previos"/>" alt="<di:translate key="portalpages.previos"/>" 
/></a>
-        <a href="javascript:previousContent();" class="path"><di:translate 
key="portalpages.previos"/></a><img src="gfx/spacer.gif" width="15" height="1" 
title="" alt="" /><a href="javascript:nextContent();" 
class="path"><di:translate key="portalpages.next"/></a>
-        <a href="javascript:nextContent();"><img src="<mm:treefile 
write="true" page="/gfx/icon_arrow_next.gif" objectlist="$includePath" />" 
width="14" height="14" border="0" title="<di:translate 
key="portalpages.next"/>" alt="<di:translate key="portalpages.next"/>" /></a>
+            <di:include page="/education/prev_next.jsp" />
       </div>
     </div>
     
     <div class="folders">
       <div class="folderLesBody">
-
-       <%-- get first, usually named "system" tree root (unvisible), from 
PPcontainer --%>
-        <mm:listnodes type="portalpagescontainers">    
-          <mm:first>  
-            <mm:field id="containernode" name="number" write="false"/>
-          </mm:first>   
-        </mm:listnodes> 
-        
-       <%-- get node provider --%>
-        <mm:node number="$containernode" notfound="skip">
-          <script type="text/javascript">
-            <!-- 
-            addContent('<mm:nodeinfo type="type"/>','<mm:field 
name="number"/>');
-            //-->
-          </script>
-          
-                     <mm:import id="previousnumber"><mm:field 
name="number"/></mm:import>
-                     <mm:import id="presenttime"><mm:time 
time="now"/></mm:import>
-          <mm:import id="firstroot">1</mm:import>
-          
-          <mm:import id="previousDepth" jspvar="jsp_previousDepth" 
vartype="Integer" >-10</mm:import>
-          
-         <!-- get all related node to root from portalpages (PP) -->
+            <mm:listnodes type="portalpagescontainers" max="1">
                      <mm:relatednodescontainer type="portalpagesnodes" 
role="related">
           
-            <%-- show only active pages, because this constraint will not work 
in tree, 
-                 in the code below will not be possible to use grow and shrink 
-                 (we will do this by hand) --%>
-                       <mm:constraint field="active" value="0"/>
+                <mm:constraint field="active" value="true"/>
             <mm:sortorder field="order_number" direction="up" />
          
            <!-- main div for all root portal pages -->   
-            <div id="div<mm:write referid="previousnumber"/>" class="lbLevel1">
-            
-                     <mm:tree type="portalpagesnodes" role="childppnn" 
orderby="order_number" directions="up" searchdir="destination" maxdepth="3">
-            
-              <mm:import id="currentDepth" jspvar="jsp_currentDepth" 
vartype="Integer" ><mm:depth /></mm:import>
-              <mm:import id="nodetype"><mm:nodeinfo type="type" /></mm:import> 
      
-                         <mm:import id="nodenumber"><mm:field 
name="number"/></mm:import>
-              
-              <mm:node number="$nodenumber">
-                <mm:import id="nodeActive"><mm:field name="active" 
/></mm:import>       
-              </mm:node>
-
-              <mm:compare referid="nodeActive" value="0">
-              
-                <mm:import jspvar="depth" vartype="Integer"><mm:depth 
/></mm:import>
-                
-               <!-- do nothing for first root node --> 
-                <mm:compare referid="firstroot" value="0">    
-                
-                 <!-- close div when depth shrink -->
-                  <mm:islessthan referid="currentDepth"  
referid2="previousDepth" >
-                    </div>
-                    <% openDivs--; %>
-                  </mm:islessthan>
-                  
-                  <mm:isgreaterthan referid="currentDepth"  
referid2="previousDepth" >
+                <div id="div${previousnumber}" class="lbLevel1">
+                  <mm:treecontainer
+                      role="childppnn"  searchdirs="destination"
+                      type="portalpagesnodes">
+                    <mm:sortorder field="order_number" direction="up" />
+                    <mm:constraint field="active" value="1" />
+                    <mm:tree maxdepth="3">
                   
-                   <%-- list contents --%>
-                    <% openDivs++; %>
-                   <!-- open div when depth grow -->
-                           <div id="div<mm:write referid="previousnumber"/>" 
class="lbLevel<mm:depth/>">
+                      <mm:nodeinfo type="type" id="nodetype" write="false" />
                     
-                                 <script type="text/javascript">
-                                   document.getElementById("img<mm:write 
referid="previousnumber" />").setAttribute("haschildren", 1);
-                                 </script> 
+                      <div id="div" class="lbLevel">
                  
-                           <mm:listcontainer 
path="portalpagesnodes,simplecontents">
-                         <mm:constraint field="portalpagesnodes.number" 
value="${previousnumber}"/> 
-                         <mm:constraint value="${presenttime}" 
field="simplecontents.online_date" operator="LESS" />
-                               <mm:constraint value="${presenttime}" 
field="simplecontents.offline_date" operator="GREATER" />
-                             <mm:list>
-                                                       <div style="padding: 
0px 0px 0px <%= 10 + (jsp_previousDepth.intValue()+1) * 8 %>px;">
-                          <script type="text/javascript">
-                            <!--
-                            addContent('simplecontents','<mm:field 
name="simplecontents.number"/>');
-                            //-->
-                          </script>
-                                                       <img class="imgClosed" 
src="<mm:write referid="gfx_item_none" />" 
-                               id="img<mm:field 
name="simplecontents.number"/>" 
-                               onclick="openClose('div<mm:field 
name="simplecontents.number"/>','img<mm:field name="simplecontents.number"/>')" 
+                        <mm:relatednodescontainer path="simplecontents">
+                          <mm:constraint value="${presenttime}" 
field="online_date" operator="LESS" />
+                          <mm:constraint value="${presenttime}" 
field="offline_date" operator="GREATER" />
+                          <mm:relatednodes>
+                            <div style="padding: 0px 0px 0px  10 + px;">
+                              <img class="imgClosed" src=""
+                                   id="img${_node}"
+                                   
onclick="openClose('div${_node}','img${_node}')"
                                style="margin: 0px 4px 0px -18px; padding: 0px 
0px 0px 0px" title="" alt="" />
-                          <a href="javascript:openContent('simplecontents', 
'<mm:field name="simplecontents.number"/>' ); openOnly('div<mm:field 
name="simplecontents.number"/>','img<mm:field 
name="simplecontents.number"/>');" 
+                              <a 
href="javascript:openContent('simplecontents', '${_node}' ); 
openOnly('div${_node}','img${_node}');"
                              style="padding-left: 0px"><mm:field 
name="simplecontents.title"/></a>
                                                      </div>
-                                   </mm:list> 
-                               </mm:listcontainer> 
-                         </mm:isgreaterthan>
-                </mm:compare><%-- "firstroot=0" --%>
-
-                <!-- show portal page -->
-                         <mm:remove referid="previousnumber"/>
-                         <mm:import id="previousnumber"><mm:field 
name="number"/></mm:import>
-                         <mm:import jspvar="depth" vartype="Integer"><mm:depth 
/></mm:import>
-                
-                         <div style="padding: 0px 0px 0px <%= 18 + 
depth.intValue() * 8 %>px;">
-                           <script type="text/javascript">
-                                         <!--
-                                         addContent('<mm:nodeinfo 
type="type"/>','<mm:field name="number"/>');
-                                         //-->
-                                       </script>
-                                       <img class="imgClosed" src="<mm:write 
referid="gfx_item_closed" />" 
-                       id="img<mm:field name="number"/>" 
onclick="openClose('div<mm:field name="number"/>','img<mm:field 
name="number"/>')" 
-                       style="margin: 0px 4px 0px -18px; padding: 0px 0px 0px 
0px" title="" alt="" />
-                  <a href="javascript:openContent('<mm:nodeinfo 
type="type"/>', '<mm:field name="number"/>' ); openOnly('div<mm:field 
name="number"/>','img<mm:field name="number"/>');" 
-                     style="padding-left: 0px"><mm:field name="name"/></a>     
  
+                          </mm:relatednodes>
+                        </mm:relatednodescontainer>
                          </div>
-                
-                <mm:import id="firstroot" reset="true">0</mm:import>
-                <mm:remove referid="haschildnodes"/>
-                
-                <%-- does this portalpage node has a subnodes (portal pages 
works only on 2 level) --%>
-                <mm:islessthan referid="currentDepth" value="3">
-                  <mm:listcontainer 
path="portalpagesnodes,childppnn,portalpagesnodes" >
-                           <mm:constraint field="portalpagesnodes.number" 
value="${nodenumber}"/>
-                           <mm:constraint field="portalpagesnodes.active" 
value="0"/>
-                           <mm:list>
-                                 <mm:first><mm:import id="haschildnodes" 
reset="true">true</mm:import></mm:first>
-                     </mm:list>
-                         </mm:listcontainer>
-                </mm:islessthan>
-                
-                <%--if there are no subnodes, there will be no subsequently 
grow event, 
-                    so show context. in oposite case, context will be shown in 
code above
-                --%>  
-                         <mm:notpresent referid="haschildnodes">
-  
-                  <%-- list contents --%>
-                           <mm:listcontainer 
path="portalpagesnodes,simplecontents">
-                       <mm:constraint field="portalpagesnodes.number" 
value="${previousnumber}"/> 
-                       <mm:constraint value="${presenttime}" 
field="simplecontents.online_date" operator="LESS" />
-                         <mm:constraint value="${presenttime}" 
field="simplecontents.offline_date" operator="GREATER" />
-                    
-                       <mm:list>
-                                       <mm:first>
-                         <div id="div<mm:write referid="previousnumber"/>" 
class="lbLevel<%=depth.intValue()+1%>">
-                                                 <script 
type="text/javascript">
-                                                   
document.getElementById("img<mm:write referid="previousnumber" 
/>").setAttribute("haschildren", 1);
-                                                 </script>                     
                
-                                         </mm:first>
-                                         <div style="padding: 0px 0px 0px <%= 
10 + (depth.intValue()+1) * 8 %>px;">
-                                                     <script 
type="text/javascript">
-                                                             <!--
-                                                             
addContent('simplecontents','<mm:field name="simplecontents.number"/>');
-                                                             //-->
-                                                     </script>
-                        <img class="imgClosed" src="<mm:write 
referid="gfx_item_none" />" 
-                             id="img<mm:field name="simplecontents.number"/>" 
-                             onclick="openClose('div<mm:field 
name="simplecontents.number"/>','img<mm:field name="simplecontents.number"/>')" 
-                             style="margin: 0px 4px 0px -18px; padding: 0px 
0px 0px 0px" title="" alt="" />
-                        <a href="javascript:openContent('simplecontents', 
'<mm:field name="simplecontents.number"/>' ); openOnly('div<mm:field 
name="simplecontents.number"/>','img<mm:field 
name="simplecontents.number"/>');" 
-                           style="padding-left: 0px"><mm:field 
name="simplecontents.title"/></a>
+                    </mm:tree>
+                  </mm:treecontainer>
                                          </div>
-                      
-                                         <mm:last>
+              </mm:relatednodescontainer>
+            </mm:listnodes>
                         </div>
-                      </mm:last>
-                      
-                             </mm:list>  
-                           </mm:listcontainer>         
-                         </mm:notpresent> 
-                
-                <mm:remove referid="previousDepth" />
-                <mm:import id="previousDepth" jspvar="jsp_previousDepth" 
vartype="integer" ><mm:depth /></mm:import>
-              </mm:compare>
-            </mm:tree>
             
-          <!-- close all not closed divs -->
-            <% while ( openDivs-- > 0 ) { %>
               </div>
-            <% } %>
             </div>
-          </mm:relatednodescontainer>
-      
-        </mm:node>
-      </div> <!-- class="folderLesBody" -->
-    </div> <!-- class="folders" -->
-  </div> <!--  class="rows" -->
-  
-  
-  <script type="text/javascript">
-    closeAll();
-    <mm:present referid="learnobject">
-                       openContent('<mm:write 
referid="learnobjecttype"/>','<mm:write referid="learnobject"/>');
-                       openOnly('div<mm:write 
referid="learnobject"/>','img<mm:write referid="learnobject"/>');
-    </mm:present>
-    <mm:notpresent referid="learnobject">
-        if (contentnumber.length >= 1) {
-            openContent(contenttype[0],contentnumber[0]);
-            openOnly('div'+contentnumber[0],'img'+contentnumber[0]);
-        }       
-    </mm:notpresent>
-  </script>
-  
-  </fmt:bundle>
-</mm:cloud>
-</mm:content>
+    </mm:cloud>
+  </mm:content>
+</jsp:root>
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to