You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rave.apache.org by mf...@apache.org on 2012/04/23 15:51:04 UTC

svn commit: r1329241 [4/6] - in /rave/trunk: ./ rave-components/rave-web/src/main/java/org/apache/rave/portal/web/util/ rave-portal-resources/src/main/resources/ rave-portal-resources/src/main/webapp/WEB-INF/jsp/layouts/ rave-portal-resources/src/main/...

Modified: rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/widget.jsp
URL: http://svn.apache.org/viewvc/rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/widget.jsp?rev=1329241&r1=1329240&r2=1329241&view=diff
==============================================================================
--- rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/widget.jsp (original)
+++ rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/widget.jsp Mon Apr 23 13:51:02 2012
@@ -19,214 +19,269 @@
 <%@ page language="java" trimDirectiveWhitespaces="true" %>
 <%@ include file="/WEB-INF/jsp/includes/taglibs.jsp" %>
 <fmt:setBundle basename="messages"/>
-<header>
-    <nav class="topnav">
-        <ul class="horizontal-list">
-            <c:if test="${not empty referringPageId}">
-                <li>
-                    <a href="<spring:url value="/app/store?referringPageId=${referringPageId}" />">
-                        <fmt:message key="page.widget.backToStore"/>
-                    </a>
-                </li>
-            </c:if>
-            <li>
+<div class="navbar navbar-fixed-top">
+    <div class="navbar-inner">
+        <div class="container">
+            <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
+                <span class="icon-bar"></span>
+                <span class="icon-bar"></span>
+                <span class="icon-bar"></span>
+            </a>
+            <span class="brand"><c:out value="${widget.title}"/></span>
+            <div class="nav-collapse">
+                <ul class="nav pull-right">
+                     <c:if test="${not empty referringPageId}">
+                        <li>
+                            <a href="<spring:url value="/app/store?referringPageId=${referringPageId}" />">
+                                <fmt:message key="page.widget.backToStore"/>
+                            </a>
+                        </li>
+                    </c:if>
+                    <li>
+                        <c:choose>
+                            <c:when test="${empty referringPageId}">
+                                <spring:url value="/index.html" var="gobackurl"/>
+                            </c:when>
+                            <c:otherwise>
+                                <spring:url value="/app/page/view/${referringPageId}" var="gobackurl"/>
+                            </c:otherwise>
+                        </c:choose>
+                        <a href="<c:out value="${gobackurl}"/>"><fmt:message key="page.general.back"/></a>
+                    </li>
+                    <sec:authorize url="/app/admin/">
+                        <li>
+                            <a href="<spring:url value="/app/admin/"/>">
+                                <fmt:message key="page.general.toadmininterface"/>
+                            </a>
+                        </li>
+                    </sec:authorize>
+                    <li>
+                        <a href="<spring:url value="/j_spring_security_logout" htmlEscape="true" />">
+                            <fmt:message key="page.general.logout"/></a>
+                    </li>
+                </ul>
+            </div>
+        </div>
+    </div>
+</div>
+
+<div id="na_content" class="container-fluid">
+    <div class="row-fluid detail-widget">
+        <div class="span3">
+            <div class="detail-widget-preview">
+                <c:if test="${not empty widget.screenshotUrl}">
+                    <div class="detailWidgetScreenshot">
+                        <img src="${widget.screenshotUrl}"
+                             alt="<fmt:message key="page.general.screenshot"/>"
+                             title="<c:out value="${widget.title}"/> <fmt:message key="page.general.screenshot"/>"/>
+                    </div>
+                </c:if>
+                <c:if test="${not empty widget.thumbnailUrl}">
+                    <div class="detailWidgetThumbnail">
+                        <img src="<c:out value="${widget.thumbnailUrl}"/>" title="<c:out value="${widget.title}"/>"
+                             alt="<fmt:message key="page.general.thumbnail"/>"/>
+                    </div>
+                </c:if>
                 <c:choose>
-                    <c:when test="${empty referringPageId}">
-                        <spring:url value="/index.html" var="gobackurl"/>
+                    <c:when test="${widget.widgetStatus eq 'PUBLISHED'}">
+                        <div id="widgetAdded_${widget.entityId}" class="detailWidgetAdd">
+                            <button class="btn btn-primary btn-large storeItemButton"
+                                    id="addWidget_${widget.entityId}"
+                                    onclick="rave.api.rpc.addWidgetToPage({widgetId: ${widget.entityId}, pageId: ${referringPageId}, redirectAfterAdd:true});">
+                                <fmt:message key="page.widget.addToPage"/>
+                            </button>
+                        </div>
+                    </c:when>
+                    <c:when test="${widget.widgetStatus eq 'PREVIEW'}">
+                        <div class="alert-message info">
+                            <p><fmt:message key="widget.widgetStatus.PREVIEW"/></p>
+                        </div>
                     </c:when>
-                    <c:otherwise>
-                        <spring:url value="/app/page/view/${referringPageId}" var="gobackurl"/>
-                    </c:otherwise>
                 </c:choose>
-                <a href="<c:out value="${gobackurl}"/>"><fmt:message key="page.general.back"/></a>
-            </li>
-            <sec:authorize url="/app/admin/">
-                <li>
-                    <a href="<spring:url value="/app/admin/"/>">
-                        <fmt:message key="page.general.toadmininterface"/>
-                    </a>
-                </li>
-            </sec:authorize>
-            <li>
-                <a href="<spring:url value="/j_spring_security_logout" htmlEscape="true" />">
-                    <fmt:message key="page.general.logout"/></a>
-            </li>
-        </ul>
-    </nav>
-    <h1><c:out value="${widget.title}"/></h1>
-</header>
-
-
-<div id="content">
-
-    <div class="widget-content">
-
-        <h2>
-            <c:set var="widgetHasTitleUrl" value="${not empty widget.titleUrl}"/>
-            <c:if test="${widgetHasTitleUrl}"><a href="<c:out value="${widget.titleUrl}"/>" rel="external">
-            </c:if>
-            <span id="widget-${widget.entityId}-title"><c:out value="${widget.title}"/></span>
-            <c:if test="${widgetHasTitleUrl}"></a></c:if>
-        </h2>
-
-        <div class="detailWidgetPreview">
-            <c:if test="${not empty widget.screenshotUrl}">
-                <div class="detailWidgetScreenshot">
-                    <img src="${widget.screenshotUrl}"
-                         alt="<fmt:message key="page.general.screenshot"/>"
-                         title="<c:out value="${widget.title}"/> <fmt:message key="page.general.screenshot"/>"/>
+            </div>
+        </div>
+        <div class="span8 detail-widget-main">
+           <h2>
+                <c:set var="widgetHasTitleUrl" value="${not empty widget.titleUrl}"/>
+                <c:if test="${widgetHasTitleUrl}"><a href="<c:out value="${widget.titleUrl}"/>" rel="external">
+                </c:if>
+                <span id="widget-${widget.entityId}-title"><c:out value="${widget.title}"/></span>
+                <c:if test="${widgetHasTitleUrl}"></a></c:if>
+           </h2>
+           <div class="row-fluid">
+                <c:if test="${widget.disableRendering}">
+                    <div class="storeWidgetDisabled">
+                        <span class="widget-disabled-icon-store ui-icon ui-icon-alert"
+                              title="<fmt:message key="widget.chrome.disabled"/>"></span>
+                        <c:out value="${widget.disableRenderingMessage}" escapeXml="true"/>
+                    </div>
+                </c:if>
+                <c:if test="${not empty widget.author}">
+                    <p class="storeWidgetAuthor">
+                        <fmt:message key="widget.author"/>
+                        <c:out value=" "/><%-- intentional empty String in the c:out --%>
+                        <c:choose>
+                            <c:when test="${not empty widget.authorEmail}">
+                                <a href="mailto:<c:out value="${widget.authorEmail}"/>"><c:out
+                                        value="${widget.author}"/></a>
+                            </c:when>
+                            <c:otherwise><c:out value="${widget.author}"/></c:otherwise>
+                        </c:choose>
+                    </p>
+                </c:if>
+
+                <c:if test="${not empty widget.description}">
+                    <p class="storeWidgetDesc"><c:out value="${widget.description}"/></p>
+                </c:if>
+           </div>
+           <div class="row-fluid">
+                <div>
+                    <h3><fmt:message key="page.widget.rate"/></h3>
+                    <form class="hidden">
+                        <input type="hidden" id="rate-${widget.entityId}"
+                               value="${widgetsStatistics[widget.entityId]!=null?widgetsStatistics[widget.entityId].userRating:"-1"}">
+                    </form>
+                    <div id="rating-${widget.entityId}" class="ratingButtons btn-group" data-toggle="buttons-radio">
+                        <button id="like-${widget.entityId}" class="widgetLikeButton btn btn-small ${widgetsStatistics[widget.entityId].userRating==10? 'active btn-success':''}"
+                                ${widgetsStatistics[widget.entityId].userRating==10 ? " checked='true'":""}
+                                name="rating-${widget.entityId}"><i class="icon-plus"></i></button>
+                        <button id="dislike-${widget.entityId}" class="widgetDislikeButton btn btn-small ${widgetsStatistics[widget.entityId].userRating==0? 'active btn-danger':''}"
+                                ${widgetsStatistics[widget.entityId].userRating==0 ? " checked='true'":""}
+                                name="rating-${widget.entityId}"><i class="icon-minus"></i></button>
+                        <!-- Displaying the likes and dislikes rating along with total votes -->
+                    </div>
+                    <br>
+                    <div>
+                        <span class="widgetLikeCount">
+                            <c:set var="widgetLikes">
+                                ${widgetsStatistics[widget.entityId]!=null?widgetsStatistics[widget.entityId].totalLike:"0"}
+                            </c:set>
+                            <span><fmt:message key="page.widget.rate.likes"/></span>
+                            <span id="totalLikes-${widget.entityId}" data-rave-widget-likes="${widgetLikes}">
+                                ${widgetLikes}
+                            </span>
+                        </span>
+                        <span class="widgetDislikeCount">
+                            <c:set var="widgetDislikes">
+                                ${widgetsStatistics[widget.entityId]!=null?widgetsStatistics[widget.entityId].totalDislike:"0"}
+                            </c:set>
+                            <span><fmt:message key="page.widget.rate.dislikes"/></span>
+                            <span id="totalDislikes-${widget.entityId}" data-rave-widget-dislikes="${widgetDislikes}">
+                                ${widgetDislikes}
+                            </span>
+                        </span>
+                    </div>
                 </div>
-            </c:if>
-            <c:if test="${not empty widget.thumbnailUrl}">
-                <div class="detailWidgetThumbnail">
-                    <img src="<c:out value="${widget.thumbnailUrl}"/>" title="<c:out value="${widget.title}"/>"
-                         alt="<fmt:message key="page.general.thumbnail"/>"/>
+                <div class="detail-widget-users">
+                    <p><c:set var="widgetUserCountGreaterThanZero"
+                           value="${widgetStatistics != null && widgetStatistics.totalUserCount > 0}"/>
+                    <c:if test="${widgetUserCountGreaterThanZero}"><a href="javascript:void(0);"
+                                                                      onclick="rave.displayUsersOfWidget(${widget.entityId});"></c:if>
+                    <fmt:formatNumber groupingUsed="true" value="${widgetStatistics.totalUserCount}"/>&nbsp;<fmt:message
+                            key="page.widget.usercount"/>
+                    <c:if test="${widgetUserCountGreaterThanZero}"></a></c:if>
+                    </p>
                 </div>
-            </c:if>
-
-        </div>
-
-        <div class="detailWidgetInfo">
+           </div>
 
-            <c:choose>
-                <c:when test="${widget.widgetStatus eq 'PUBLISHED'}">
-                    <div id="widgetAdded_${widget.entityId}" class="detailWidgetAdd">
-                        <button class="storeItemButton"
-                                id="addWidget_${widget.entityId}"
-                                onclick="rave.api.rpc.addWidgetToPage({widgetId: ${widget.entityId}, pageId: ${referringPageId}, redirectAfterAdd:true});">
-                            <fmt:message key="page.widget.addToPage"/>
+            <div class="row-fluid">
+                <%--//Tag section--%>
+                <div class="widgetTags">
+                    <c:if test="${not empty widget.tags}">
+                        <h3><fmt:message key="page.widget.tags.title"/></h3>
+                        <div class="detail-widget-tags">
+                                <c:forEach var="tag" items="${widget.tags}">
+                               <span class="label"><c:out value="${tag.tag.keyword}"/></span>
+                                </c:forEach>
+                        </div>
+                    </c:if>
+                    <div id="tagInput" class="form-inline hide">
+                        <label for="tags"><fmt:message key="page.widget.tags.add"/> </label>
+                        <input type="text" id="tags" data-provide="typeahead" />
+                        <button id="tag-new-${widget.entityId}" class="btn tagNewButton" title="Add Tag">
+                            <i class="icon-tag"></i>
                         </button>
                     </div>
-                </c:when>
-                <c:when test="${widget.widgetStatus eq 'PREVIEW'}">
-                    <div class="alert-message info">
-                        <p><fmt:message key="widget.widgetStatus.PREVIEW"/></p>
-                    </div>
-                </c:when>
-            </c:choose>
-            <c:if test="${widget.disableRendering}">
-                <div class="storeWidgetDisabled">
-                    <span class="widget-disabled-icon-store ui-icon ui-icon-alert"
-                          title="<fmt:message key="widget.chrome.disabled"/>"></span>
-                    <c:out value="${widget.disableRenderingMessage}" escapeXml="true"/>
+                    <a href="#tagInput" data-toggle="basic-slide" data-toggle-text="Hide tag form">Add tags <i class="icon-arrow-right"></i></a>
                 </div>
-            </c:if>
-            <c:if test="${not empty widget.author}">
-                <p class="storeWidgetAuthor">
-                    <fmt:message key="widget.author"/>
-                    <c:out value=" "/><%-- intentional empty String in the c:out --%>
-                    <c:choose>
-                        <c:when test="${not empty widget.authorEmail}">
-                            <a href="mailto:<c:out value="${widget.authorEmail}"/>"><c:out
-                                    value="${widget.author}"/></a>
-                        </c:when>
-                        <c:otherwise><c:out value="${widget.author}"/></c:otherwise>
-                    </c:choose>
-                </p>
-            </c:if>
-
-            <c:if test="${not empty widget.description}">
-                <p class="storeWidgetDesc"><c:out value="${widget.description}"/></p>
-            </c:if>
-
-            <div class="widgetRating">
-                <fmt:message key="page.widget.rate"/>
-                <div id="radio" class="ratingButtons">
-                    <input type="radio" id="like-${widget.entityId}" class="widgetLikeButton widgetRatingButton"
-                           value="10"
-                           name="rating-${widget.entityId}"${widgetStatistics.userRating=='10'?" checked='true'":""}>
-                    <label for="like-${widget.entityId}">${widgetStatistics.totalLike}</label>
-                    <input type="radio" id="dislike-${widget.entityId}"
-                           class="widgetDislikeButton widgetRatingButton" value="0"
-                           name="rating-${widget.entityId}"${widgetStatistics.userRating=='0'?" checked='true'":""}>
-                    <label for="dislike-${widget.entityId}">${widgetStatistics.totalDislike}</label>
-                </div>
-            </div>
-            <div class="widgetUserCount">
-                <c:set var="widgetUserCountGreaterThanZero"
-                       value="${widgetStatistics != null && widgetStatistics.totalUserCount > 0}"/>
-                <c:if test="${widgetUserCountGreaterThanZero}"><a href="javascript:void(0);"
-                                                                  onclick="rave.displayUsersOfWidget(${widget.entityId});"></c:if>
-                <fmt:formatNumber groupingUsed="true" value="${widgetStatistics.totalUserCount}"/>&nbsp;<fmt:message
-                        key="page.widget.usercount"/>
-                <c:if test="${widgetUserCountGreaterThanZero}"></a></c:if>
+                <c:if test="${not empty widget.categories}">
+                    <div class="widgetCategories">
+                        <fmt:message key="widget.categories"/>
+                        <table id="categoriesRow">
+                            <tr>
+                                <c:forEach var="category" items="${widget.categories}">
+                                    <td class="storeWidgetDesc"><c:out value="${category.text}"/></td>
+                                </c:forEach>
+                            </tr>
+                        </table>
+                    </div>
+                </c:if>
             </div>
-        </div>
 
-        <%--//Tag section--%>
-        <div class="widgetTags">
-            <c:if test="${not empty widget.tags}">
-                <fmt:message key="page.widget.tags.title"/>
-                <table id="tagsRow">
-                    <tr>
-                        <c:forEach var="tag" items="${widget.tags}">
-                        <td class="storeWidgetDesc"><c:out value="${tag.tag.keyword}"/></td>
-                        </c:forEach>
-                     </tr>
-                </table>
-            </c:if>
-
-            <div id="tagInput">
-                <fmt:message key="page.widget.tags.add"/> </br>
-                <input id="tags">
-                <button id="tag-new-${widget.entityId}" class="tagNewButton"></button>
+            <div class="row-fluid">
+                <div class="widgetComments">
+                    <h3><fmt:message key="page.widget.comments"/></h3>
+                    <div class="new-comment form-inline well">
+                        <div class="row-fluid">
+                        <textarea id="newComment-${widget.entityId}" class="span11"></textarea>&nbsp;
+                        <button id="comment-new-${widget.entityId}" class="btn commentNewButton" title="Add Comment"><i class="icon-comment"></i></button>
+                    </div>                     </div>
+                    <c:if test="${not empty widget.comments}">
+                        <ul class="comments">
+                            <c:forEach var="comment" items="${widget.comments}">
+                                <li class="comment">
+                                    <fmt:formatDate value="${comment.createdDate}" type="both" var="commentDate"/>
+                                    <p class="comment-heading">
+                                        <span class="commenter">
+                                            <c:choose>
+                                                <c:when test="${not empty comment.user.displayName}">
+                                                    <c:out value="${comment.user.displayName}"/>
+                                                </c:when>
+                                                <c:otherwise><c:out value="${comment.user.username}"/></c:otherwise>
+                                            </c:choose>
+                                        </span>
+                                        <span class="comment-date">
+                                            <c:out value=" - ${commentDate} "/>
+                                        </span>
+                                        <c:if test="${userProfile.entityId eq comment.user.entityId}">
+                                            <button id="comment-delete-${comment.entityId}" class="btn btn-danger btn-mini commentDeleteButton"
+                                                    value="Delete" title="Delete comment" data-widget id="<c:out value="${comment.widgetId}"/>">
+                                                <i class="icon-remove icon-white"></i>
+                                            </button>
+                                            <button id="comment-edit-${comment.entityId}" class="btn btn-mini commentEditButton"
+                                                    value="Edit" title="Edit comment"
+                                                    data-widgetid="<c:out value="${comment.widgetId}"/>"
+                                                    data-toggle="modal" data-target="#editComment-dialog">
+                                                <i class="icon-pencil"></i>
+                                            </button>
+                                        </c:if>
+                                    </p>
+                                    <p class="commentText"><c:out value="${comment.text}"/></p>
+
+                                </li>
+                            </c:forEach>
+                        </ul>
+                    </c:if>
+                </div>
             </div>
         </div>
-        <c:if test="${not empty widget.categories}">
-            <div class="widgetCategories">
-                <fmt:message key="widget.categories"/>
-                <table id="categoriesRow">
-                    <tr>
-                        <c:forEach var="category" items="${widget.categories}">
-                            <td class="storeWidgetDesc"><c:out value="${category.text}"/></td>
-                        </c:forEach>
-                    </tr>
-                </table>
-            </div>
-        </c:if>
-        <div class="widgetComments">
-            <div class="new-comment">
-                <h3><fmt:message key="page.widget.comments"/></h3>
-                <textarea id="newComment-${widget.entityId}" rows="3" cols="50"></textarea>
-                <button id="comment-new-${widget.entityId}" class="commentNewButton"></button>
-            </div>
-            <c:if test="${not empty widget.comments}">
-                <ul class="comments">
-                    <c:forEach var="comment" items="${widget.comments}">
-                        <li class="comment">
-
-                            <fmt:formatDate value="${comment.createdDate}" type="both" var="commentDate"/>
-                            <c:choose>
-                                <c:when test="${not empty comment.user.displayName}">
-                                    <c:out value="${comment.user.displayName}"/>
-                                </c:when>
-                                <c:otherwise><c:out value="${comment.user.username}"/></c:otherwise>
-                            </c:choose>
-                            <c:out value=" - ${commentDate} "/>
-
-                            <c:if test="${userProfile.entityId eq comment.user.entityId}">
-                                <button id="comment-delete-${comment.entityId}" class="commentDeleteButton"
-                                        value="Delete" data-widgetid="<c:out value="${comment.widgetId}"/>"></button>
-                                <button id="comment-edit-${comment.entityId}" class="commentEditButton" value="Edit"
-                                        data-widgetid="<c:out value="${comment.widgetId}"/>"></button>
-                            </c:if>
-
-                            <p class="commentText"><c:out value="${comment.text}"/></p>
-
-                        </li>
-                    </c:forEach>
-                </ul>
-            </c:if>
-        </div>
-
-
     </div>
-
 </div>
-
+<!--@Atom Group: replace with twitter modal-->
 <fmt:message key="page.widget.comment.edit" var="editCommentTitle"/>
-<div id="editComment-dialog" title="<c:out value="${editCommentTitle}"/>" style="display: none;">
-    <textarea id="editComment" rows="3" cols="50"> </textarea>
+<div id="editComment-dialog" title="<c:out value="${editCommentTitle}"/>" class="modal hide">
+    <div class="modal-header">
+        <a class="close" data-dismiss="modal"><i class="icon-remove"></i></a>
+        <h3><c:out value="${editCommentTitle}"/></h3>
+    </div>
+    <div class="modal-body">
+        <textarea id="editComment" rows="5"> </textarea>
+    </div>
+    <div class="modal-footer">
+        <a href="#" class="btn" data-dismiss="modal">Cancel</a>
+            <button id="updateComment" value="Update" class="btn btn-primary">Update</button>
+        </a>
+    </div>
 </div>
 
 <portal:register-init-script location="${'AFTER_RAVE'}">

Modified: rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/tags/admin_paging.tag
URL: http://svn.apache.org/viewvc/rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/tags/admin_paging.tag?rev=1329241&r1=1329240&r2=1329241&view=diff
==============================================================================
--- rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/tags/admin_paging.tag (original)
+++ rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/tags/admin_paging.tag Mon Apr 23 13:51:02 2012
@@ -23,40 +23,42 @@ under the License.
 <%--@elvariable id="searchResult" type="org.apache.rave.portal.model.util.SearchResult"--%>
 <c:if test="${searchResult.pageSize lt searchResult.totalResults}">
     <%-- offset is 0 based, pages 1 based --%>
-    <ul class="paging">
-        <c:if test="${searchResult.currentPage gt 1}">
-            <c:url var="pageUrl" value="">
-                <c:if test="${not empty searchTerm}"><c:param name="searchTerm" value="${searchTerm}"/></c:if>
-                <c:if test="${not empty selectedWidgetType}"><c:param name="widgettype" value="${selectedWidgetType}"/></c:if>
-                <c:if test="${not empty selectedWidgetStatus}"><c:param name="widgetstatus" value="${selectedWidgetStatus}"/></c:if>
-                <c:param name="offset" value="${(searchResult.currentPage - 2)  * searchResult.pageSize}"/>
-            </c:url>
-            <li><a href="<c:out value="${pageUrl}"/>">&lt;</a></li>
-        </c:if>
-        <c:forEach var="i" begin="1" end="${searchResult.numberOfPages}">
-            <c:choose>
-                <c:when test="${i eq searchResult.currentPage}">
-                    <li><span class="currentPage">${i}</span></li>
-                </c:when>
-                <c:otherwise>
-                    <c:url var="pageUrl" value="">
-                        <c:if test="${not empty searchTerm}"><c:param name="searchTerm" value="${searchTerm}"/></c:if>
-                        <c:if test="${not empty selectedWidgetType}"><c:param name="widgettype" value="${selectedWidgetType}"/></c:if>
-                        <c:if test="${not empty selectedWidgetStatus}"><c:param name="widgetstatus" value="${selectedWidgetStatus}"/></c:if>
-                        <c:param name="offset" value="${(i - 1) * searchResult.pageSize}"/>
-                    </c:url>
-                    <li><a href="<c:out value="${pageUrl}"/>">${i}</a></li>
-                </c:otherwise>
-            </c:choose>
-        </c:forEach>
-        <c:if test="${searchResult.currentPage lt searchResult.numberOfPages}">
-            <c:url var="pageUrl" value="">
-                <c:if test="${not empty searchTerm}"><c:param name="searchTerm" value="${searchTerm}"/></c:if>
-                <c:if test="${not empty selectedWidgetType}"><c:param name="widgettype" value="${selectedWidgetType}"/></c:if>
-                <c:if test="${not empty selectedWidgetStatus}"><c:param name="widgetstatus" value="${selectedWidgetStatus}"/></c:if>
-                <c:param name="offset" value="${(searchResult.currentPage)  * searchResult.pageSize}"/>
-            </c:url>
-            <li><a href="<c:out value="${pageUrl}"/>">&gt;</a></li>
-        </c:if>
-    </ul>
+    <div class="pagination">
+        <ul>
+            <c:if test="${searchResult.currentPage gt 1}">
+                <c:url var="pageUrl" value="">
+                    <c:if test="${not empty searchTerm}"><c:param name="searchTerm" value="${searchTerm}"/></c:if>
+                    <c:if test="${not empty selectedWidgetType}"><c:param name="widgettype" value="${selectedWidgetType}"/></c:if>
+                    <c:if test="${not empty selectedWidgetStatus}"><c:param name="widgetstatus" value="${selectedWidgetStatus}"/></c:if>
+                    <c:param name="offset" value="${(searchResult.currentPage - 2)  * searchResult.pageSize}"/>
+                </c:url>
+                <li><a href="<c:out value="${pageUrl}"/>">&lt;</a></li>
+            </c:if>
+            <c:forEach var="i" begin="1" end="${searchResult.numberOfPages}">
+                <c:choose>
+                    <c:when test="${i eq searchResult.currentPage}">
+                        <li class="active"><a href="#">${i}</a></li>
+                    </c:when>
+                    <c:otherwise>
+                        <c:url var="pageUrl" value="">
+                            <c:if test="${not empty searchTerm}"><c:param name="searchTerm" value="${searchTerm}"/></c:if>
+                            <c:if test="${not empty selectedWidgetType}"><c:param name="widgettype" value="${selectedWidgetType}"/></c:if>
+                            <c:if test="${not empty selectedWidgetStatus}"><c:param name="widgetstatus" value="${selectedWidgetStatus}"/></c:if>
+                            <c:param name="offset" value="${(i - 1) * searchResult.pageSize}"/>
+                        </c:url>
+                        <li><a href="<c:out value="${pageUrl}"/>">${i}</a></li>
+                    </c:otherwise>
+                </c:choose>
+            </c:forEach>
+            <c:if test="${searchResult.currentPage lt searchResult.numberOfPages}">
+                <c:url var="pageUrl" value="">
+                    <c:if test="${not empty searchTerm}"><c:param name="searchTerm" value="${searchTerm}"/></c:if>
+                    <c:if test="${not empty selectedWidgetType}"><c:param name="widgettype" value="${selectedWidgetType}"/></c:if>
+                    <c:if test="${not empty selectedWidgetStatus}"><c:param name="widgetstatus" value="${selectedWidgetStatus}"/></c:if>
+                    <c:param name="offset" value="${(searchResult.currentPage)  * searchResult.pageSize}"/>
+                </c:url>
+                <li><a href="<c:out value="${pageUrl}"/>">&gt;</a></li>
+            </c:if>
+        </ul>
+    </div>
 </c:if>

Modified: rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/tags/admin_tabsheader.tag
URL: http://svn.apache.org/viewvc/rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/tags/admin_tabsheader.tag?rev=1329241&r1=1329240&r2=1329241&view=diff
==============================================================================
--- rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/tags/admin_tabsheader.tag (original)
+++ rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/tags/admin_tabsheader.tag Mon Apr 23 13:51:02 2012
@@ -20,32 +20,27 @@
 <%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
 <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
 <fmt:setBundle basename="messages"/>
-<div id="tabsHeader">
+<%--@elvariable id="tabs" type="org.apache.rave.portal.web.model.NavigationMenu"--%>
+<c:if test="${not empty tabs}">
     <nav>
-        <%--@elvariable id="tabs" type="org.apache.rave.portal.web.model.NavigationMenu"--%>
-        <c:if test="${not empty tabs}">
-            <ul id="tabs" class="rave-ui-tabs">
+        <div class="tabbable tabs-left">
+            <ul class="nav nav-tabs">
                 <c:forEach items="${tabs.navigationItems}" var="navItem">
                     <c:choose>
                         <c:when test="${navItem.selected}">
-                            <li class="rave-ui-tab rave-ui-tab-selected">
-                                <div class="page-title">
-                                    <a href="<spring:url value="${navItem.url}"/>"><fmt:message
-                                            key="${navItem.name}"/></a>
-                                </div>
+                            <li class="active">
+                                <a href="<spring:url value="${navItem.url}"/>"><fmt:message key="${navItem.name}"/></a>
                             </li>
                         </c:when>
                         <c:otherwise>
-                            <li class="rave-ui-tab">
-                                <div class="page-title">
-                                    <a href="<spring:url value="${navItem.url}"/>"><fmt:message
-                                            key="${navItem.name}"/></a>
-                                </div>
+                            <li>
+                                <a href="<spring:url value="${navItem.url}"/>"><fmt:message key="${navItem.name}"/></a>
                             </li>
                         </c:otherwise>
                     </c:choose>
                 </c:forEach>
             </ul>
-        </c:if>
+        </div>
     </nav>
-</div>
\ No newline at end of file
+</c:if>
+

Modified: rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/tags/header.tag
URL: http://svn.apache.org/viewvc/rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/tags/header.tag?rev=1329241&r1=1329240&r2=1329241&view=diff
==============================================================================
--- rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/tags/header.tag (original)
+++ rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/tags/header.tag Mon Apr 23 13:51:02 2012
@@ -21,17 +21,25 @@
 <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
 <%@ attribute name="pageTitle" required="false" description="The title of the page" %>
 <fmt:setBundle basename="messages"/>
-
-<header>
-    <nav class="topnav">
-        <%--@elvariable id="topnav" type="org.apache.rave.portal.web.model.NavigationMenu"--%>
-        <c:if test="${not empty topnav}">
-            <ul class="horizontal-list">
-                <c:forEach items="${topnav.navigationItems}" var="navItem">
-                    <li><a href="<spring:url value="${navItem.url}"/>"><fmt:message key="${navItem.name}"/></a></li>
-                </c:forEach>
-            </ul>
-        </c:if>
-    </nav>
-    <h1><c:out value="${pageTitle}"/></h1>
-</header>
+<c:if test="${not empty topnav}">
+    <div class="navbar navbar-fixed-top">
+        <div class="navbar-inner">
+            <div class="container">
+                <%--@elvariable id="topnav" type="org.apache.rave.portal.web.model.NavigationMenu"--%>
+                <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </a>
+                <span class="brand"><c:out value="${pageTitle}"/></span>
+                <div class="nav-collapse">
+                    <ul class="nav pull-right">
+                        <c:forEach items="${topnav.navigationItems}" var="navItem">
+                            <li><a href="<spring:url value="${navItem.url}"/>"><fmt:message key="${navItem.name}"/></a></li>
+                        </c:forEach>
+                    </ul>
+                </div>
+            </div>
+        </div>
+    </div>
+</c:if>

Modified: rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/tags/rave_css.tag
URL: http://svn.apache.org/viewvc/rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/tags/rave_css.tag?rev=1329241&r1=1329240&r2=1329241&view=diff
==============================================================================
--- rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/tags/rave_css.tag (original)
+++ rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/tags/rave_css.tag Mon Apr 23 13:51:02 2012
@@ -19,4 +19,7 @@
 --%>
 <%@ include file="/WEB-INF/jsp/includes/taglibs.jsp" %>
 <rave:third_party_css />
-<link rel="stylesheet" href="<c:url value="/css/default.css" />"/>
\ No newline at end of file
+<link rel="stylesheet" href="<c:url value="/css/default.css" />"/>
+<link rel="stylesheet" href="<c:url value="/css/bootstrap/css/bootstrap.css" />"/>
+<link rel="stylesheet" href="<c:url value="/css/bootstrap/css/bootstrap-responsive.css" />"/>
+<link rel="stylesheet" href="<c:url value="/css/rave.css" />"/>
\ No newline at end of file

Modified: rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/tags/region_widget.tag
URL: http://svn.apache.org/viewvc/rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/tags/region_widget.tag?rev=1329241&r1=1329240&r2=1329241&view=diff
==============================================================================
--- rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/tags/region_widget.tag (original)
+++ rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/tags/region_widget.tag Mon Apr 23 13:51:02 2012
@@ -32,7 +32,7 @@ Template for rendering a RegionWidget in
 <div class="widget-wrapper<c:if test="${isLocked}"> widget-wrapper-locked</c:if>" id="widget-${regionWidget.entityId}-wrapper">
     <div class="widget-title-bar<c:if test="${isLocked}"> widget-title-bar-locked</c:if>">
         <c:if test="${!isLocked}">
-            <span id="widget-${regionWidget.entityId}-collapse" class="widget-toolbar-toggle-collapse" title="<fmt:message key="widget.chrome.toggle"/>"></span>
+            <div id="widget-${regionWidget.entityId}-collapse" class="widget-toolbar-toggle-collapse" title="<fmt:message key="widget.chrome.toggle"/>"></div>
         </c:if>
         <div id="widget-${regionWidget.entityId}-title" class="widget-title">
             <c:choose>
@@ -44,44 +44,61 @@ Template for rendering a RegionWidget in
                 </c:otherwise>
             </c:choose>
         </div>
+
         <%-- These are toolbar buttons --%>
-        <div id="widget-${regionWidget.entityId}-toolbar" style="float:right;" <c:if test="${isLocked}">class="hidden"</c:if>>
-            <div id="widget-${regionWidget.entityId}-widget-menu-wrapper" class="widget-menu-wrapper">
-                <span id="widget-${regionWidget.entityId}-menu-button" class="widget-menu-button ui-icon ui-icon-gear" title="<fmt:message key="widget.menu.title"/>"></span>
-                <div id="widget-${regionWidget.entityId}-menu" class="widget-menu">
+        <div id="widget-${regionWidget.entityId}-toolbar" class="widget-toolbar <c:if test="${isLocked}">hidden</c:if>">
+            <div id="widget-${regionWidget.entityId}-widget-menu-wrapper" class="dropdown widget-menu-wrapper">
+                <a id="widget-${regionWidget.entityId}-menu-button" class="dropdown-toggle" data-toggle="dropdown">
+                    <i class="icon-cog"></i>
+                </a>
+                <ul id="widget-${regionWidget.entityId}-menu" class="dropdown-menu widget-menu">
                     <%--
                         By default the edit prefs item is disabled.
                         Each provider's widget initialization will be responsible for enabling this item
                         if the widget has preferences to be edited
                     --%>
-                    <div id="widget-${regionWidget.entityId}-menu-editprefs-item" class="widget-menu-item widget-menu-item-disabled">
-                        <fmt:message key="widget.menu.editprefs"/>
-                    </div>
-                    <div id="widget-${regionWidget.entityId}-menu-maximize-item" class="widget-menu-item">
-                        <fmt:message key="widget.menu.maximize"/>
-                    </div>
-                    <div id="widget-${regionWidget.entityId}-menu-move-item" class="widget-menu-item<c:if test='${hasOnlyOnePage}'> widget-menu-item-disabled</c:if>">
-                        <fmt:message key="widget.menu.movetopage"/>
-                    </div>
-                    <div id="widget-${regionWidget.entityId}-menu-delete-item" class="widget-menu-item">
-                        <fmt:message key="widget.menu.delete"/>
-                    </div>
-                    <div id="widget-${regionWidget.entityId}-menu-about-item" class="widget-menu-item widget-menu-item-divider">
-                        <fmt:message key="widget.menu.about"/>
-                    </div>
-                </div>
+                    <li id="widget-${regionWidget.entityId}-menu-editprefs-item" class="menu-item-disabled">
+                        <a href="#">
+                            <fmt:message key="widget.menu.editprefs"/>
+                        </a>
+                    </li>
+                    <li id="widget-${regionWidget.entityId}-menu-maximize-item">
+                        <a href="#">
+                            <fmt:message key="widget.menu.maximize"/>
+                        </a>
+                    </li>
+                    <li id="widget-${regionWidget.entityId}-menu-move-item" <c:if test='${hasOnlyOnePage}'>class="menu-item-disabled"</c:if>>
+                        <a href="#">
+                            <fmt:message key="widget.menu.movetopage"/>
+                        </a>
+                    </li>
+                    <li id="widget-${regionWidget.entityId}-menu-delete-item">
+                        <a href="#">
+                            <fmt:message key="widget.menu.delete"/>
+                        </a>
+                    </li>
+                    <li class="divider"></li>
+                    <li id="widget-${regionWidget.entityId}-menu-about-item">
+                        <a href="#">
+                            <fmt:message key="widget.menu.about"/>
+                        </a>
+                    </li>
+                </ul>
             </div>
+
             <%-- the minimize widget button, which is hidden by default and only displays in maximized view --%>
-            <button id="widget-${regionWidget.entityId}-min"
-                    class="widget-toolbar-btn widget-toolbar-btn-min"></button>
+            <span id="widget-${regionWidget.entityId}-min" class="widget-toolbar-btn widget-toolbar-btn-min">
+                <i class="icon-resize-small"></i>
+            </span>
         </div>
+
         <%-- if widget is disabled then display notification in titlebar --%>
         <c:if test="${regionWidget.widget.disableRendering}">
-            <span id="widget-${regionWidget.entityId}-disabled" class="widget-disabled-icon ui-icon ui-icon-alert" title="<fmt:message key="widget.chrome.disabled"/>"></span>
+            <div id="widget-${regionWidget.entityId}-disabled" class="widget-disabled-icon ui-icon ui-icon-alert" title="<fmt:message key="widget.chrome.disabled"/>"></div>
         </c:if>
     </div>
     <div class="widget-prefs" id="widget-${regionWidget.entityId}-prefs-content"></div>
     <div class="widget" id="widget-${regionWidget.entityId}-body">
         <portal:render-widget regionWidget="${regionWidget}" />
     </div>
-</div>
+</div>
\ No newline at end of file

Modified: rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/tags/third_party_css.tag
URL: http://svn.apache.org/viewvc/rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/tags/third_party_css.tag?rev=1329241&r1=1329240&r2=1329241&view=diff
==============================================================================
--- rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/tags/third_party_css.tag (original)
+++ rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/tags/third_party_css.tag Mon Apr 23 13:51:02 2012
@@ -22,4 +22,4 @@
      Overlay this file in custom extensions of Rave if you host these files internally and don't need
      to pull them in externally.
 --%>
-<link rel="stylesheet" href="//ajax.aspnetcdn.com/ajax/jquery.ui/1.8.17/themes/base/jquery-ui.css"/>
+<link rel="stylesheet" href="//ajax.aspnetcdn.com/ajax/jquery.ui/1.8.17/themes/base/jquery-ui.css"/>
\ No newline at end of file

Modified: rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/tags/third_party_js.tag
URL: http://svn.apache.org/viewvc/rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/tags/third_party_js.tag?rev=1329241&r1=1329240&r2=1329241&view=diff
==============================================================================
--- rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/tags/third_party_js.tag (original)
+++ rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/tags/third_party_js.tag Mon Apr 23 13:51:02 2012
@@ -28,7 +28,9 @@
 <script src="//ajax.aspnetcdn.com/ajax/jquery/jquery-1.7.2.min.js"></script>
 <script src="//ajax.aspnetcdn.com/ajax/jquery.ui/1.8.17/jquery-ui.min.js"></script>
 <script src="//ajax.aspnetcdn.com/ajax/jquery.validate/1.8.1/jquery.validate.min.js"></script>
+<%-- bootstrap --%>
+<script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.0.2/bootstrap.min.js"></script>
 <%-- google css3 mediaqueries script --%>
 <!--[if lt IE 9]><script src=//css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js></script><![endif]-->
 <%-- google html5 script --%>
-<!--[if lt IE 9]><script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
+<!--[if lt IE 9]><script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
\ No newline at end of file