[jboss-svn-commits] JBL Code SVN: r9927 - in labs/jbossforums/branches/forums101P24/forums/src: bin/portal-forums-war/default_graphics/images and 3 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sat Mar 3 10:36:19 EST 2007


Author: unibrew
Date: 2007-03-03 10:36:19 -0500 (Sat, 03 Mar 2007)
New Revision: 9927

Modified:
   labs/jbossforums/branches/forums101P24/forums/src/bin/portal-forums-war/default_graphics/forums_styles.css
   labs/jbossforums/branches/forums101P24/forums/src/bin/portal-forums-war/default_graphics/images/forum_ico_new_open.gif
   labs/jbossforums/branches/forums101P24/forums/src/main/org/jboss/portlet/forums/ui/PortalUtil.java
   labs/jbossforums/branches/forums101P24/forums/src/main/org/jboss/portlet/forums/ui/ThemeHelper.java
   labs/jbossforums/branches/forums101P24/forums/src/main/org/jboss/portlet/forums/ui/view/PageNavigator.java
   labs/jbossforums/branches/forums101P24/forums/src/resources/portal-forums-war/views/forums/viewforum_body.xhtml
Log:
[JBFORUMS-169] Finishing ForumView redesign.

Modified: labs/jbossforums/branches/forums101P24/forums/src/bin/portal-forums-war/default_graphics/forums_styles.css
===================================================================
--- labs/jbossforums/branches/forums101P24/forums/src/bin/portal-forums-war/default_graphics/forums_styles.css	2007-03-03 14:58:15 UTC (rev 9926)
+++ labs/jbossforums/branches/forums101P24/forums/src/bin/portal-forums-war/default_graphics/forums_styles.css	2007-03-03 15:36:19 UTC (rev 9927)
@@ -4,6 +4,10 @@
 	font-size:11px;
 }
 
+.forumscontainer a {
+	text-decoration:underline;
+	}
+
 .forumsectionhdr {
 	border-bottom: 1px solid #a1a1a1;
 	text-align:right;

Modified: labs/jbossforums/branches/forums101P24/forums/src/bin/portal-forums-war/default_graphics/images/forum_ico_new_open.gif
===================================================================
(Binary files differ)

Modified: labs/jbossforums/branches/forums101P24/forums/src/main/org/jboss/portlet/forums/ui/PortalUtil.java
===================================================================
--- labs/jbossforums/branches/forums101P24/forums/src/main/org/jboss/portlet/forums/ui/PortalUtil.java	2007-03-03 14:58:15 UTC (rev 9926)
+++ labs/jbossforums/branches/forums101P24/forums/src/main/org/jboss/portlet/forums/ui/PortalUtil.java	2007-03-03 15:36:19 UTC (rev 9927)
@@ -24,6 +24,7 @@
 import java.io.StringWriter;
 import java.net.URLEncoder;
 import java.text.SimpleDateFormat;
+import java.util.Calendar;
 import java.util.Date;
 import java.util.Iterator;
 import java.util.Locale;
@@ -530,7 +531,9 @@
         {
             User user = PortalUtil.getUser();
             String property = PortalUtil.userProperty(user.getProperties(), "INFO_USER_LAST_LOGIN_DATE");
-            return PortalUtil.getSDF().parse(property);
+            Calendar calendar = Calendar.getInstance();
+            calendar.setTimeInMillis(Long.parseLong(property));
+            return calendar.getTime();
         } catch (Exception e)
         {
             JSFUtil.handleException(e);

Modified: labs/jbossforums/branches/forums101P24/forums/src/main/org/jboss/portlet/forums/ui/ThemeHelper.java
===================================================================
--- labs/jbossforums/branches/forums101P24/forums/src/main/org/jboss/portlet/forums/ui/ThemeHelper.java	2007-03-03 14:58:15 UTC (rev 9926)
+++ labs/jbossforums/branches/forums101P24/forums/src/main/org/jboss/portlet/forums/ui/ThemeHelper.java	2007-03-03 15:36:19 UTC (rev 9927)
@@ -23,6 +23,7 @@
 
 import java.util.Locale;
 import java.util.ResourceBundle;
+import java.util.Date;
 
 import javax.faces.component.UIViewRoot;
 import javax.faces.context.FacesContext;
@@ -131,7 +132,16 @@
        
        if(!isAnonymous)
        {
-           folderTypeURL = folderType.folderNew;
+           Date lastPostDate = topic.getLastPostDate();
+           Date lastLoginDate = PortalUtil.getUserLastLoginDate();
+           
+           if (lastPostDate==null || lastLoginDate==null || lastPostDate.compareTo(lastLoginDate)<=0)
+           {
+               folderTypeURL = folderType.folder;
+           } else
+           {
+                folderTypeURL = folderType.folderNew;
+           }
        }
        else
        {

Modified: labs/jbossforums/branches/forums101P24/forums/src/main/org/jboss/portlet/forums/ui/view/PageNavigator.java
===================================================================
--- labs/jbossforums/branches/forums101P24/forums/src/main/org/jboss/portlet/forums/ui/view/PageNavigator.java	2007-03-03 14:58:15 UTC (rev 9926)
+++ labs/jbossforums/branches/forums101P24/forums/src/main/org/jboss/portlet/forums/ui/view/PageNavigator.java	2007-03-03 15:36:19 UTC (rev 9927)
@@ -24,6 +24,8 @@
 import java.io.Serializable;
 import java.util.Collection;
 import java.util.ArrayList;
+import java.util.SortedSet;
+import java.util.TreeSet;
 
 /*
  * Created on May 11, 2006
@@ -33,6 +35,9 @@
  */
 public abstract class PageNavigator implements Serializable
 {
+    
+    public static final int PAGINATION_SIZE = 8;
+    
     /**
      * 
      */    
@@ -41,6 +46,8 @@
     private int currentPage = 0;
     private int numberOfEntries=0;
     private Collection page = null;
+    private SortedSet currentPaginationLeft = null;
+    private SortedSet currentPaginationRight = null;
     
     /**
      * 
@@ -62,6 +69,36 @@
         double pageCountDbl = numberOfEntries/pageSizeDbl;
         this.totalPages = (int)Math.ceil(pageCountDbl);
         
+        this.currentPaginationLeft = new TreeSet();
+        this.currentPaginationRight = new TreeSet();
+        
+        // Initializing pagination so that selected page will be in the middle.
+        if (currentPage >= totalPages)
+        {
+            for (int i=2;i<=PAGINATION_SIZE && i<=totalPages;i++)
+            {
+                this.currentPaginationRight.add(Integer.valueOf(i));
+            }
+        } else {
+            int counter = 1;
+            for (int j=1;j<totalPages && counter<PAGINATION_SIZE;j++)
+            {
+                if ( (currentPage+1) -j > 0) {
+                    this.currentPaginationLeft.add(Integer.valueOf( (currentPage+1) -j ));
+                    counter++;
+                    if (counter==PAGINATION_SIZE)
+                    {
+                        break;
+                    }
+                }
+                if ( (currentPage+1) +j <= totalPages)
+                {
+                    counter++;
+                    this.currentPaginationRight.add(Integer.valueOf( (currentPage+1) +j ));
+                }
+            }
+        }
+        
         this.page = initializePage();
     }
     
@@ -196,4 +233,13 @@
     {
         this.currentPage = currentPage;
     }
+    
+    public Object[] getCurrentPaginationLeft() {
+        return this.currentPaginationLeft.toArray();
+    }
+    
+    public Object[] getCurrentPaginationRight() {
+        return this.currentPaginationRight.toArray();
+    }
+    
 }

Modified: labs/jbossforums/branches/forums101P24/forums/src/resources/portal-forums-war/views/forums/viewforum_body.xhtml
===================================================================
--- labs/jbossforums/branches/forums101P24/forums/src/resources/portal-forums-war/views/forums/viewforum_body.xhtml	2007-03-03 14:58:15 UTC (rev 9926)
+++ labs/jbossforums/branches/forums101P24/forums/src/resources/portal-forums-war/views/forums/viewforum_body.xhtml	2007-03-03 15:36:19 UTC (rev 9927)
@@ -102,64 +102,13 @@
     
     <div class="forumtitletext">
         <input type="hidden" name="f" value="#{forum.forum.id}" />
-        <h4>            
-            <h:outputLink value="#{forums:outputLink(shared.links['forum'],true)}">
-                <f:param name="f" value="#{forum.forum.id}"/>
-                <h:outputText value="#{forum.forum.name}" />
-            </h:outputLink>
+        <h4>
+            ${forum.forum.name}
         </h4>
     </div>
     
-    
-<!-- TODO:  MISSING DESIGN -->
-    <!-- page navigation -->
-    <c:if test="#{forum.pageNavigator.totalPages gt 100}">        
-        <td align="right" valign="middle" nowrap="nowrap">
-           <span class="gensmall"></span><br/>
-           <span class="nav">
-               ${resource.Goto_page}      
-               <!-- previous link -->
-               <c:if test="#{forum.pageNavigator.pageNumber gt 1}">    
-                   &#160;&#160;
-                   <h:outputLink value="#{forums:outputLink(shared.links['forum'],true)}">
-                       <f:param name="f" value="#{forum.forum.id}"/>
-                       <f:param name="page" value="#{forum.pageNavigator.currentPage-1}"/>
-                       <h:outputText value="${resource.Previous}"/>
-                   </h:outputLink>                                     
-                   &#160;&#160;    
-               </c:if>
-               <!-- actual pages -->
-               <c:forEach items="#{forum.pageNavigator.pages}" var="page" varStatus="idx">
-                   <c:choose> 
-                       <c:when test="#{forum.pageNavigator.pageNumber==page}">
-                           <b>${page}</b>
-                       </c:when>
-                       <c:otherwise>
-                           <h:outputLink value="#{forums:outputLink(shared.links['forum'],true)}">
-                               <f:param name="f" value="#{forum.forum.id}"/>
-                               <f:param name="page" value="#{page-1}"/>
-                               <h:outputText value="${page}"/>
-                           </h:outputLink>
-                       </c:otherwise>                                                      
-                   </c:choose>
-                   <c:if test="${idx.index-1 ne forum.pageNavigator.totalPages-1}">
-                       <f:verbatim>,</f:verbatim>
-                   </c:if>
-               </c:forEach>
-               <!-- Next link -->  
-               <c:if test="#{forum.pageNavigator.pageNumber lt forum.pageNavigator.totalPages}">               
-                   &#160;&#160;
-                   <h:outputLink value="#{forums:outputLink(shared.links['forum'],true)}">
-                       <f:param name="f" value="#{forum.forum.id}"/>
-                       <f:param name="page" value="#{forum.pageNavigator.currentPage+1}"/>
-                       <h:outputText value="${resource.Next}"/>
-                   </h:outputLink>                 
-                   &#160;&#160;
-               </c:if>
-           </span>
-        </td>
-    </c:if>
-
+    <!-- PAGINATION -->
+    <c:if test="#{forum.pageNavigator.totalPages gt 1}">
     <div class="forumpagination">
         <ul>
             <li class="disablepage">
@@ -168,21 +117,87 @@
                     <f:param value="${forum.pageNavigator.totalPages}"/>
                 </h:outputFormat>
             </li>
-            <li class="disablepage">First</li>
-            <li class="disablepage">&lt; Previous</li>
-            <li class="currentpage">1</li>
-            <li><a href="#">2</a></li>
-            <li><a href="#">3</a></li>
-            <li><a href="#">4</a></li>
-            <li><a href="#">5</a></li>
-            <li><a href="#">6</a></li>
-            <li><a href="#">7</a></li>
-            <li><a href="#">8</a></li>
-            <li><a href="#">Next &gt;</a></li>
-            <li><a href="#">Last</a></li>
+            
+            <c:choose>
+                <c:when test="#{forum.pageNavigator.currentPage eq 0}">
+                    <li class="disablepage">
+                        ${resource.First}
+                    </li>
+                    <li class="disablepage">
+                        &#60; ${resource.Previous}
+                    </li>
+                </c:when>
+                <c:otherwise>
+                    <li>
+                        <h:outputLink value="#{forums:outputLink(shared.links['forum'],true)}">
+                            <f:param name="f" value="#{forum.forum.id}"/>
+                            <f:param name="page" value="0"/>
+                            <h:outputText value="${resource.First}"/>
+                        </h:outputLink>    
+                    </li>
+                    <li>
+                        <h:outputLink value="#{forums:outputLink(shared.links['forum'],true)}">
+                            <f:param name="f" value="#{forum.forum.id}"/>
+                            <f:param name="page" value="${forum.pageNavigator.currentPage-1}"/>
+                            <h:outputText value="&#60; ${resource.Previous}"/>
+                        </h:outputLink>    
+                    </li>
+                </c:otherwise>
+            </c:choose>
+            
+            <c:forEach items="#{forum.pageNavigator.currentPaginationLeft}" var="pageNumber">
+                <li>
+                    <h:outputLink value="#{forums:outputLink(shared.links['forum'],true)}">
+                        <f:param name="f" value="#{forum.forum.id}"/>
+                        <f:param name="page" value="${pageNumber-1}"/>
+                        <h:outputText value="${pageNumber}"/>
+                    </h:outputLink>  
+                </li>
+            </c:forEach>
+            
+            <li class="currentpage">
+                ${forum.pageNavigator.currentPage+1}
+            </li>
+            
+            <c:forEach items="#{forum.pageNavigator.currentPaginationRight}" var="pageNumber">
+                <li>
+                    <h:outputLink value="#{forums:outputLink(shared.links['forum'],true)}">
+                        <f:param name="f" value="#{forum.forum.id}"/>
+                        <f:param name="page" value="${pageNumber-1}"/>
+                        <h:outputText value="${pageNumber}"/>
+                    </h:outputLink>  
+                </li>
+            </c:forEach>
+            
+            <c:choose>
+                <c:when test="#{forum.pageNavigator.currentPage eq (forum.pageNavigator.totalPages-1) }">
+                    <li class="disablepage">
+                        ${resource.Next} &#62;
+                    </li>
+                    <li class="disablepage">
+                        ${resource.Last}
+                    </li>
+                </c:when>
+                <c:otherwise>
+                    <li>
+                        <h:outputLink value="#{forums:outputLink(shared.links['forum'],true)}">
+                            <f:param name="f" value="#{forum.forum.id}"/>
+                            <f:param name="page" value="${forum.pageNavigator.currentPage+1}"/>
+                            <h:outputText value="${resource.Next} &#62;"/>
+                        </h:outputLink>
+                    </li>
+                    <li>
+                        <h:outputLink value="#{forums:outputLink(shared.links['forum'],true)}">
+                            <f:param name="f" value="#{forum.forum.id}"/>
+                            <f:param name="page" value="${forum.pageNavigator.totalPages-1}"/>
+                            <h:outputText value="${resource.Last}"/>
+                        </h:outputLink>
+                    </li>
+                </c:otherwise>
+            </c:choose>
         </ul>
     </div>
-<!-- TODO: MISSING DESING - END -->
+    </c:if>
 
     <forums:isAllowed fragment="acl://newTopic" contextData="#{forum.forum}">
     <div class="actionbuttons">
@@ -583,6 +598,7 @@
         </c:choose>      
     </table>
     
+    <!-- PAGINATION -->
     <c:if test="#{forum.pageNavigator.totalPages gt 1}">
     <div class="forumpagination">
         <ul>
@@ -592,23 +608,89 @@
                     <f:param value="${forum.pageNavigator.totalPages}"/>
                 </h:outputFormat>
             </li>
-            <li class="disablepage">First</li>
-            <li class="disablepage">&lt; Previous</li>
-            <li class="currentpage">1</li>
-            <li><a href="#">2</a></li>
-            <li><a href="#">3</a></li>
-            <li><a href="#">4</a></li>
-            <li><a href="#">5</a></li>
-            <li><a href="#">6</a></li>
-            <li><a href="#">7</a></li>
-            <li><a href="#">8</a></li>
-            <li><a href="#">Next &gt;</a></li>
-            <li><a href="#">Last</a></li>
+            
+            <c:choose>
+                <c:when test="#{forum.pageNavigator.currentPage eq 0}">
+                    <li class="disablepage">
+                        ${resource.First}
+                    </li>
+                    <li class="disablepage">
+                        &#60; ${resource.Previous}
+                    </li>
+                </c:when>
+                <c:otherwise>
+                    <li>
+                        <h:outputLink value="#{forums:outputLink(shared.links['forum'],true)}">
+                            <f:param name="f" value="#{forum.forum.id}"/>
+                            <f:param name="page" value="0"/>
+                            <h:outputText value="${resource.First}"/>
+                        </h:outputLink>    
+                    </li>
+                    <li>
+                        <h:outputLink value="#{forums:outputLink(shared.links['forum'],true)}">
+                            <f:param name="f" value="#{forum.forum.id}"/>
+                            <f:param name="page" value="${forum.pageNavigator.currentPage-1}"/>
+                            <h:outputText value="&#60; ${resource.Previous}"/>
+                        </h:outputLink>    
+                    </li>
+                </c:otherwise>
+            </c:choose>
+            
+            <c:forEach items="#{forum.pageNavigator.currentPaginationLeft}" var="pageNumber">
+                <li>
+                    <h:outputLink value="#{forums:outputLink(shared.links['forum'],true)}">
+                        <f:param name="f" value="#{forum.forum.id}"/>
+                        <f:param name="page" value="${pageNumber-1}"/>
+                        <h:outputText value="${pageNumber}"/>
+                    </h:outputLink>  
+                </li>
+            </c:forEach>
+            
+            <li class="currentpage">
+                ${forum.pageNavigator.currentPage+1}
+            </li>
+            
+            <c:forEach items="#{forum.pageNavigator.currentPaginationRight}" var="pageNumber">
+                <li>
+                    <h:outputLink value="#{forums:outputLink(shared.links['forum'],true)}">
+                        <f:param name="f" value="#{forum.forum.id}"/>
+                        <f:param name="page" value="${pageNumber-1}"/>
+                        <h:outputText value="${pageNumber}"/>
+                    </h:outputLink>  
+                </li>
+            </c:forEach>
+            
+            <c:choose>
+                <c:when test="#{forum.pageNavigator.currentPage eq (forum.pageNavigator.totalPages-1) }">
+                    <li class="disablepage">
+                        ${resource.Next} &#62;
+                    </li>
+                    <li class="disablepage">
+                        ${resource.Last}
+                    </li>
+                </c:when>
+                <c:otherwise>
+                    <li>
+                        <h:outputLink value="#{forums:outputLink(shared.links['forum'],true)}">
+                            <f:param name="f" value="#{forum.forum.id}"/>
+                            <f:param name="page" value="${forum.pageNavigator.currentPage+1}"/>
+                            <h:outputText value="${resource.Next} &#62;"/>
+                        </h:outputLink>
+                    </li>
+                    <li>
+                        <h:outputLink value="#{forums:outputLink(shared.links['forum'],true)}">
+                            <f:param name="f" value="#{forum.forum.id}"/>
+                            <f:param name="page" value="${forum.pageNavigator.totalPages-1}"/>
+                            <h:outputText value="${resource.Last}"/>
+                        </h:outputLink>
+                    </li>
+                </c:otherwise>
+            </c:choose>
         </ul>
     </div>
     </c:if>
     
-    <!-- newtopic, forum, and page navigation -->
+    <!-- NEWTOPIC -->
     <forums:isAllowed fragment="acl://newTopic" contextData="#{forum.forum}">
     <div class="actionbuttons">
         <ul>
@@ -635,6 +717,7 @@
     </div>
     </forums:isAllowed>
     
+    <!-- MODERATION -->
     <c:if test="#{shared.anonymous==false}">
     <forums:isAllowed fragment="acl://moderateForum" contextData="#{forum.forum}">
     <div class="modtools">
@@ -655,6 +738,7 @@
     </forums:isAllowed>
     </c:if>
     
+    <!-- ADMINISTRATION -->
     <c:if test="#{shared.anonymous==false}">
     <forums:isAllowed fragment="acl://lockForums" contextData="#{forum.forum}" >
     <div class="admintools">
@@ -796,60 +880,11 @@
             </forums:isAllowedChoose>
             
         </div>
+        
+    </h:form>
     
+    <ui:include src="/views/jumpbox.xhtml" />
     
-    
-
-         <!-- page navigation --> 
-         <c:if test="#{forum.pageNavigator.totalPages gt 100}">        
-	         <td align="right" valign="middle" nowrap="nowrap">
-	         	<span class="gensmall"></span><br/>
-	         	<span class="nav">
-	         		${resource.Goto_page}      
-	         		<!-- previous link -->
-	         		<c:if test="#{forum.pageNavigator.pageNumber gt 1}">   	
-		         		&#160;&#160;
-		         		<h:outputLink value="#{forums:outputLink(shared.links['forum'],true)}">
-		         		    <f:param name="f" value="#{forum.forum.id}"/>
-			       		    <f:param name="page" value="#{forum.pageNavigator.currentPage-1}"/>
-		         			<h:outputText value="${resource.Previous}"/>
-		         		</h:outputLink>         			         		
-	         			&#160;&#160;	
-	         		</c:if>
-	         		<!-- actual pages -->
-	         		<c:forEach items="#{forum.pageNavigator.pages}" var="page" varStatus="idx">
-	         		    <c:choose> 
-	         		    	<c:when test="#{forum.pageNavigator.pageNumber==page}">
-		         				<b>${page}</b>
-		         			</c:when>
-		         			<c:otherwise>
-		       					<h:outputLink value="#{forums:outputLink(shared.links['forum'],true)}">
-		       						<f:param name="f" value="#{forum.forum.id}"/>
-		       						<f:param name="page" value="#{page-1}"/>
-		       						<h:outputText value="${page}"/>
-		       					</h:outputLink>
-		       				</c:otherwise>		       						       				
-		       			</c:choose>
-		       			<c:if test="${idx.index-1 ne forum.pageNavigator.totalPages-1}">
-		       				<f:verbatim>,</f:verbatim>
-		       			</c:if>
-	       			</c:forEach>
-	       			<!-- Next link -->  
-	       			<c:if test="#{forum.pageNavigator.pageNumber lt forum.pageNavigator.totalPages}">     			
-		         		&#160;&#160;
-		         		<h:outputLink value="#{forums:outputLink(shared.links['forum'],true)}">
-		         		    <f:param name="f" value="#{forum.forum.id}"/>
-			       		    <f:param name="page" value="#{forum.pageNavigator.currentPage+1}"/>
-		         			<h:outputText value="${resource.Next}"/>
-		         		</h:outputLink>         		
-		         		&#160;&#160;
-	         		</c:if>
-	         	</span>
-	         </td>
-	      </c:if>
-
-    </h:form>
-    
     </forums:isAllowed>
     </forums:isAllowed>
 	</c:if>




More information about the jboss-svn-commits mailing list